summaryrefslogtreecommitdiff
path: root/www/firefox
diff options
context:
space:
mode:
authorrin <rin@pkgsrc.org>2019-02-26 12:14:12 +0000
committerrin <rin@pkgsrc.org>2019-02-26 12:14:12 +0000
commit7a29c2dfefcd2227eca357abc5221b7efb08081f (patch)
treeba4bb24f7a2bdd4a7fcd39d64d764f26974f126e /www/firefox
parent0318be4ffa347a3d617c881a4185df04ca195455 (diff)
downloadpkgsrc-7a29c2dfefcd2227eca357abc5221b7efb08081f.tar.gz
Add support for NetBSD/aarch64 and arm.
This includes patches for third_party/rust/libc 2.43, which requires hack to overwrite checksum fields in .cargo-checksum.json. These will become unnecessary if libc >= 2.45 is imported. For aarch64, - python locks up randomly when "make configure"; see lib/54017: http://gnats.netbsd.org/54017 - nodejs randomly(?) crashes sometimes. However, if you are luckly enough ;-), you will have a working binary. Bump revision.
Diffstat (limited to 'www/firefox')
-rw-r--r--www/firefox/Makefile14
-rw-r--r--www/firefox/PLIST6
-rw-r--r--www/firefox/distinfo4
-rw-r--r--www/firefox/mozilla-common.mk11
-rw-r--r--www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs16
-rw-r--r--www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_other_mod.rs26
6 files changed, 68 insertions, 9 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 18ea2e94f56..b61a7da9a20 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.359 2019/02/19 15:23:53 ryoon Exp $
+# $NetBSD: Makefile,v 1.360 2019/02/26 12:14:12 rin Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
MOZ_BRANCH= 65.0
MOZ_BRANCH_MINOR= .1
+PKGREVISION= 1
DISTNAME= firefox-${FIREFOX_VER}.source
PKGNAME= ${DISTNAME:S/.source//:S/b/beta/:S/esr//}
@@ -75,6 +76,17 @@ SUBST_VARS.sys-dic= PREFIX
post-extract:
mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S
+# XXX Hack taken from lang/rust.
+# patch(1) in NetBSD does not handle .cargo-checksum.json like long width file.
+# Replace checksum fields for following patches:
+# patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.1
+# patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_other_mod.rs,v 1.1
+ ${CP} ${WRKSRC}/third_party/rust/libc/.cargo-checksum.json \
+ ${WRKSRC}/third_party/rust/libc/.cargo-checksum.json.orig
+ ${CAT} ${WRKSRC}/third_party/rust/libc/.cargo-checksum.json.orig | \
+ ${SED} -e 's/4d9f7091af8e166943ac6f42ce85558909e5b6e61325039bff7adfbcf4b90212/7f3da734d5e2e9426051da4f406e46d9e9bed43ed2d7d048e8afc8af7ed44795/' | \
+ ${SED} -e 's/1cd66ed5967c788562d4ad626cfbeb1544f4b9267111de5f6790379b8327f28e/6ae549dd21581748b2f1d82880eaca3445c11e3354965e5b49b20342075a3e52/' \
+ > ${WRKSRC}/third_party/rust/libc/.cargo-checksum.json
pre-configure:
cd ${WRKSRC} && autoconf
diff --git a/www/firefox/PLIST b/www/firefox/PLIST
index 40dbb3e8304..abc9245a3a0 100644
--- a/www/firefox/PLIST
+++ b/www/firefox/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.136 2019/01/29 16:28:22 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.137 2019/02/26 12:14:12 rin Exp $
bin/firefox
lib/firefox/actors/AudibleAutoplayChild.jsm
lib/firefox/actors/AudioPlaybackChild.jsm
@@ -4938,8 +4938,8 @@ lib/firefox/hyphenation/hyph_sv.dic
lib/firefox/hyphenation/hyph_tr.dic
lib/firefox/hyphenation/hyph_uk.dic
lib/firefox/liblgpllibs.so
-${PLIST.avx86}lib/firefox/libmozavcodec.so
-${PLIST.avx86}lib/firefox/libmozavutil.so
+${PLIST.ffvpx}lib/firefox/libmozavcodec.so
+${PLIST.ffvpx}lib/firefox/libmozavutil.so
lib/firefox/libmozgtk.so
lib/firefox/libmozsqlite3.so
lib/firefox/libxul.so
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 87c0f9e6605..accc5e3e539 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.338 2019/02/19 15:23:53 ryoon Exp $
+$NetBSD: distinfo,v 1.339 2019/02/26 12:14:12 rin Exp $
SHA1 (firefox-65.0.1.source.tar.xz) = 5b3a64d5c843f4e23cb3220a3211077bc58cba34
RMD160 (firefox-65.0.1.source.tar.xz) = 397345aa64b18771f7f82c41c146ee19d4865343
@@ -30,6 +30,8 @@ SHA1 (patch-media_libcubeb_update.sh) = cddb5849fa2972e961e4891bc8a79a650df06d8d
SHA1 (patch-media_libpng_pngpriv.h) = c8084332560017cd7c9b519b61d125fa28af0dbc
SHA1 (patch-python_mozbuild_mozbuild_action_check__binary.py) = 8103ca9f95fe98a4461c97abcd4cafd5ae5294f0
SHA1 (patch-servo_components_style_build__gecko.rs) = dacdcb69de1c8409bda20b11afbfa49624005c72
+SHA1 (patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs) = bacab47c65bd9d3f5686426f1026edccda66942f
+SHA1 (patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_other_mod.rs) = 7af37abb3bf0674591192146476ea46ca180b5ab
SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = 082aa7830b33cb91c2606fb06059d544c70a7e62
SHA1 (patch-toolkit_library_moz.build) = 102e3713552c26f76e8b4e473846bb8fbc44b278
SHA1 (patch-toolkit_moz.configure) = 40ee147cc1d2c62dd6c83b3f67ce9e61f758ea57
diff --git a/www/firefox/mozilla-common.mk b/www/firefox/mozilla-common.mk
index 05b023f3211..5d803e71007 100644
--- a/www/firefox/mozilla-common.mk
+++ b/www/firefox/mozilla-common.mk
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.125 2019/02/21 23:56:51 gutteridge Exp $
+# $NetBSD: mozilla-common.mk,v 1.126 2019/02/26 12:14:12 rin Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
@@ -133,15 +133,18 @@ OBJDIR= ../build
CONFIGURE_DIRS= ${OBJDIR}
CONFIGURE_SCRIPT= ${WRKSRC}/configure
-PLIST_VARS+= sps vorbis tremor glskia throwwrapper mozglue avx86
+PLIST_VARS+= sps vorbis tremor glskia throwwrapper mozglue ffvpx
.include "../../mk/endian.mk"
.if ${MACHINE_ENDIAN} == "little"
PLIST.glskia= yes
.endif
-.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
-PLIST.avx86= yes # see media/libav/README_MOZILLA: only used on x86
+.if ${MACHINE_ARCH} == "aarch64" || \
+ !empty(MACHINE_ARCH:M*arm*) || \
+ ${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH} == "x86_64"
+PLIST.ffvpx= yes # see media/ffvpx/ffvpxcommon.mozbuild
.endif
.if ${MACHINE_ARCH} != "sparc64"
diff --git a/www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs b/www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
new file mode 100644
index 00000000000..04a7e63c910
--- /dev/null
+++ b/www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
@@ -0,0 +1,16 @@
+$NetBSD: patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs,v 1.1 2019/02/26 12:14:12 rin Exp $
+
+Hack for rust/libc 2.43. No need if libc >= 2.45 is imported.
+
+XXX This requires to overwrite checksum field in
+XXX third_party/rust/libc/.cargo-checksum.json
+
+--- third_party/rust/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs.orig 2019-02-25 14:11:08.927293182 +0900
++++ third_party/rust/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs 2019-02-25 17:36:14.206597084 +0900
+@@ -1,6 +1,5 @@
+ use dox::mem;
+
+-pub type c_char = i8;
+ pub type clock_t = ::c_uint;
+ pub type suseconds_t = ::c_int;
+ pub type dev_t = u64;
diff --git a/www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_other_mod.rs b/www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_other_mod.rs
new file mode 100644
index 00000000000..9ab8c38588e
--- /dev/null
+++ b/www/firefox/patches/patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_other_mod.rs
@@ -0,0 +1,26 @@
+$NetBSD: patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_other_mod.rs,v 1.1 2019/02/26 12:14:12 rin Exp $
+
+Hack for rust/libc 2.43. No need if libc >= 2.45 is imported.
+
+XXX This requires to overwrite checksum field in
+XXX third_party/rust/libc/.cargo-checksum.json
+
+--- third_party/rust/libc/src/unix/bsd/netbsdlike/netbsd/other/mod.rs.orig 2019-02-25 14:01:02.721786754 +0900
++++ third_party/rust/libc/src/unix/bsd/netbsdlike/netbsd/other/mod.rs 2019-02-25 17:36:24.225942932 +0900
+@@ -1,5 +1,15 @@
+ cfg_if! {
+- if #[cfg(any(target_arch = "sparc64",
++ if #[cfg(any(target_arch = "aarch64",
++ target_arch = "arm"))] {
++ pub type c_char = u8;
++ } else {
++ pub type c_char = i8;
++ }
++}
++
++cfg_if! {
++ if #[cfg(any(target_arch = "aarch64",
++ target_arch = "sparc64",
+ target_arch = "x86_64"))] {
+ mod b64;
+ pub use self::b64::*;