summaryrefslogtreecommitdiff
path: root/www/firefox
diff options
context:
space:
mode:
authorjmcneill <jmcneill@pkgsrc.org>2015-10-16 12:59:36 +0000
committerjmcneill <jmcneill@pkgsrc.org>2015-10-16 12:59:36 +0000
commit1cf1fb399318023ccdaf878d2b60e8ff2d705f07 (patch)
tree69aa453278ac0d073bc135c8f892f4e6dd65c30a /www/firefox
parentc642c2ddba92e8d2415fa8d834732f3733a316f6 (diff)
downloadpkgsrc-1cf1fb399318023ccdaf878d2b60e8ff2d705f07.tar.gz
NetBSD/arm fixes. Now Firefox works on my Tegra board again.
Diffstat (limited to 'www/firefox')
-rw-r--r--www/firefox/distinfo9
-rw-r--r--www/firefox/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S37
-rw-r--r--www/firefox/patches/patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp16
-rw-r--r--www/firefox/patches/patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp28
-rw-r--r--www/firefox/patches/patch-gfx_skia_trunk_src_opts_memset.arm.S49
-rw-r--r--www/firefox/patches/patch-gfx_ycbcr__row__arm.s37
-rw-r--r--www/firefox/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h37
-rw-r--r--www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h20
8 files changed, 232 insertions, 1 deletions
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 32c25b5d95c..f44183a1adf 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.218 2015/10/07 23:21:22 joerg Exp $
+$NetBSD: distinfo,v 1.219 2015/10/16 12:59:36 jmcneill Exp $
SHA1 (firefox-41.0.1.source.tar.xz) = 4f6bf34b7b286e033f401d7d4112ec6310577aae
RMD160 (firefox-41.0.1.source.tar.xz) = 527ab5c4f55f654b2570163a0b4dcc620e77bee8
@@ -33,14 +33,19 @@ SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 0a7f3167e939822013ae619540665
SHA1 (patch-dom_plugins_ipc_PluginProcessChild.cpp) = 0d10aa4c913d431fb8fa5f995f6e40cb364f069e
SHA1 (patch-dom_system_OSFileConstants.cpp) = 4fe5d4ecf6116c7163ee6d2322db8b1b783fe5ec
SHA1 (patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp) = 747354373bcaf2c76bdff71677f354d47837704b
+SHA1 (patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S) = 0379bef956f8abf2da2e059389149e133527faab
SHA1 (patch-gfx_gl_GLContextProviderGLX.cpp) = 2cc997cab71a84c1f50a791693519a0626564426
SHA1 (patch-gfx_graphite2_moz-gr-update.sh) = b987dad1bd4513b8a04fb280bd1c5280a03af746
SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 5e80b4a32a47ae44d237fec69ea87bdd612a76ce
SHA1 (patch-gfx_moz.build) = a98bda4727538f4a0f09a20b84f9dd883edaf7d9
SHA1 (patch-gfx_skia_generate__mozbuild.py) = b15b7586cfbdea112bcf4b5792663f4cdbe91560
SHA1 (patch-gfx_skia_moz.build) = 2537653a708b986d179d17ffdb56e88fe147290c
+SHA1 (patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp) = b2b38f65d27f60e2be6a49f3eae63b59bf96d0e5
+SHA1 (patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp) = 208a46fa9012546b62249b3b12650805e12f4dbc
+SHA1 (patch-gfx_skia_trunk_src_opts_memset.arm.S) = 47a0fc35dbd57c995cde20e7294f7de90dc2f07e
SHA1 (patch-gfx_thebes_gfxWindowsPlatform.cpp) = 55f978ab302dea08e13dfb1b09f460f10d4f5dc8
SHA1 (patch-gfx_thebes_moz.build) = f64917350eaf693866b0e7196cb7f1cc9e9470fc
+SHA1 (patch-gfx_ycbcr__row__arm.s) = cddf801b7ffc113a3e26bcc1f8d4a0aa3ced60c7
SHA1 (patch-gfx_ycbcr_moz.build) = 121386ef62ff7425e6f93bc624555199f2ac3485
SHA1 (patch-gfx_ycbcr_yuv__row__arm.S) = f9909ded72762b2c3547dd002707db43745f2b9d
SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = 522c46732d44be15411d39e16c89bc848d5c6f7a
@@ -104,6 +109,7 @@ SHA1 (patch-media_libvorbis_moz.build) = 927f7848305eb2341c9efa96800d30b4a1b8eaa
SHA1 (patch-media_libyuv_include_libyuv_scale__row.h) = 503b6f2065e9d548a1f01f7158d65874f4886c78
SHA1 (patch-media_mtransport_third__party_nICEr_src_util_mbslen.c) = 087e8788c72b96d2059ca82ce4282d78aed546da
SHA1 (patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = de7055f891387f96f8fd32366c7189d480354e9e
+SHA1 (patch-media_openmax__dl_dl_api_armCOMM__s.h) = 1ce4fe73581ea53f03858f97ce7d7214bcbb5f51
SHA1 (patch-media_webrtc_signaling_test_common.build) = febf2033154d64208632524732c4ef26e9247267
SHA1 (patch-media_webrtc_trunk_webrtc_build_common.gypi) = 4ff5796e15d9aa6adb8495d6f2e5a7f0445a0fac
SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi) = e47f1c64c0455f1b31011bf90346645a4ce38e52
@@ -141,6 +147,7 @@ SHA1 (patch-testing_mozharness_configs_vcs__sync_staging__build-repos.py) = dd52
SHA1 (patch-testing_mozharness_configs_vcs__sync_staging__l10n.py) = d1d6ab7d789a97a079989cc600038d4790a0e809
SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 6b926ccd793391ad7bd7101635f4b3eefe3db130
SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = f5adba2137f2d7fd4d4a6a1e8ef8625866513890
+SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h) = 4b664bb6ac2c23e8bfddd406bf76e288548e8910
SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_platform__macros.h) = 3b0973c96eadb7bff91eab211d3c159a9b22fa9c
SHA1 (patch-toolkit_library_moz.build) = 625d78e64959f78a5d0b8148749bb43a0abcbcf7
SHA1 (patch-toolkit_xre_glxtest.cpp) = cf048491778610454b914400e53072afedd96e7b
diff --git a/www/firefox/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S b/www/firefox/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S
new file mode 100644
index 00000000000..29e6f57515d
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S
@@ -0,0 +1,37 @@
+$NetBSD: patch-gfx_cairo_libpixman_src_pixman-arm-neon-asm.S,v 1.1 2015/10/16 12:59:36 jmcneill Exp $
+
+--- gfx/cairo/libpixman/src/pixman-arm-neon-asm.S.orig 2015-09-29 21:45:08.000000000 +0000
++++ gfx/cairo/libpixman/src/pixman-arm-neon-asm.S
+@@ -34,6 +34,12 @@
+ * - pixman_composite_over_n_8_0565_asm_neon
+ */
+
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
++
+ /* Prevent the stack from becoming executable for no reason... */
+ #if defined(__linux__) && defined(__ELF__)
+ .section .note.GNU-stack,"",%progbits
+@@ -3141,7 +3147,8 @@ pixman_asm_function fname
+ TMP4 .req r9
+ STRIDE .req r2
+
+- .fnstart
++ .cfi_startproc
++ UNWIND .fnstart
+ mov ip, sp
+ .save {r4, r5, r6, r7, r8, r9}
+ push {r4, r5, r6, r7, r8, r9}
+@@ -3244,7 +3251,8 @@ pixman_asm_function fname
+ .endif
+ pop {r4, r5, r6, r7, r8, r9}
+ bx lr
+- .fnend
++ UNWIND .fnend
++ .cfi_endproc
+
+ .unreq OUT
+ .unreq TOP
diff --git a/www/firefox/patches/patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp b/www/firefox/patches/patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp
new file mode 100644
index 00000000000..d7a4ade0157
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp
@@ -0,0 +1,16 @@
+$NetBSD: patch-gfx_skia_trunk_src_core_SkUtilsArm.cpp,v 1.1 2015/10/16 12:59:36 jmcneill Exp $
+
+--- gfx/skia/trunk/src/core/SkUtilsArm.cpp.orig 2015-09-29 21:44:49.000000000 +0000
++++ gfx/skia/trunk/src/core/SkUtilsArm.cpp
+@@ -47,6 +47,11 @@
+ # endif
+ #endif
+
++#if !defined(TEMP_FAILURE_RETRY)
++ // TEMP_FAILURE_RETRY is glibc specific
++# define TEMP_FAILURE_RETRY
++#endif
++
+ // A function used to determine at runtime if the target CPU supports
+ // the ARM NEON instruction set. This implementation is Linux-specific.
+ static bool sk_cpu_arm_check_neon(void) {
diff --git a/www/firefox/patches/patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp
new file mode 100644
index 00000000000..536ec63edb1
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp
@@ -0,0 +1,28 @@
+$NetBSD: patch-gfx_skia_trunk_src_opts_SkBitmapProcState__opts__arm.cpp,v 1.1 2015/10/16 12:59:36 jmcneill Exp $
+
+--- gfx/skia/trunk/src/opts/SkBitmapProcState_opts_arm.cpp.orig 2015-09-29 21:44:50.000000000 +0000
++++ gfx/skia/trunk/src/opts/SkBitmapProcState_opts_arm.cpp
+@@ -97,7 +97,11 @@ void SI8_D16_nofilter_DX_arm(const SkBit
+ "2: \n\t"
+ : [xx] "+r" (xx), [count8] "+r" (count8), [colors] "+r" (colors)
+ : [table] "r" (table), [srcAddr] "r" (srcAddr)
++#if defined(__NetBSD__)
++ : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10"
++#else
+ : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11"
++#endif
+ );
+
+ for (i = (count & 7); i > 0; --i) {
+@@ -181,7 +185,11 @@ void SI8_opaque_D32_nofilter_DX_arm(cons
+ "4: \n\t" // exit
+ : [xx] "+r" (xx), [count] "+r" (count), [colors] "+r" (colors)
+ : [table] "r" (table), [srcAddr] "r" (srcAddr)
++#if defined(__NetBSD__)
++ : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10"
++#else
+ : "memory", "cc", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11"
++#endif
+ );
+ }
+
diff --git a/www/firefox/patches/patch-gfx_skia_trunk_src_opts_memset.arm.S b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_memset.arm.S
new file mode 100644
index 00000000000..66fb59ea117
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_skia_trunk_src_opts_memset.arm.S
@@ -0,0 +1,49 @@
+$NetBSD: patch-gfx_skia_trunk_src_opts_memset.arm.S,v 1.1 2015/10/16 12:59:36 jmcneill Exp $
+
+--- gfx/skia/trunk/src/opts/memset.arm.S.orig 2015-09-29 21:44:50.000000000 +0000
++++ gfx/skia/trunk/src/opts/memset.arm.S
+@@ -13,6 +13,12 @@
+ * to aid future maintenance.
+ */
+
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
++
+ .text
+ .align 4
+ .syntax unified
+@@ -30,7 +36,8 @@
+ *
+ */
+ arm_memset16:
+- .fnstart
++ .cfi_startproc
++ UNWIND .fnstart
+ push {lr}
+
+ /* if count is equal to zero then abort */
+@@ -51,10 +58,12 @@ arm_memset16:
+
+ /* Now jump into the main loop below. */
+ b .Lwork_32
+- .fnend
++ UNWIND .fnend
++ .cfi_endproc
+
+ arm_memset32:
+- .fnstart
++ .cfi_startproc
++ UNWIND .fnstart
+ push {lr}
+
+ /* if count is equal to zero then abort */
+@@ -108,4 +117,5 @@ arm_memset32:
+
+ .Lfinish:
+ pop {pc}
+- .fnend
++ UNWIND .fnend
++ .cfi_endproc
diff --git a/www/firefox/patches/patch-gfx_ycbcr__row__arm.s b/www/firefox/patches/patch-gfx_ycbcr__row__arm.s
new file mode 100644
index 00000000000..f7d144e9eae
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_ycbcr__row__arm.s
@@ -0,0 +1,37 @@
+$NetBSD: patch-gfx_ycbcr__row__arm.s,v 1.1 2015/10/16 12:59:36 jmcneill Exp $
+
+--- gfx/ycbcr/yuv_row_arm.s.orig 2015-09-29 21:44:50.000000000 +0000
++++ gfx/ycbcr/yuv_row_arm.s
+@@ -2,6 +2,12 @@
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
++
+ .arch armv7-a
+ .fpu neon
+ /* Allow to build on targets not supporting neon, and force the object file
+@@ -74,7 +80,8 @@ YCbCr42xToRGB565_DITHER30_CONSTS_NEON:
+ .global ScaleYCbCr42xToRGB565_BilinearY_Row_NEON
+ .type ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, %function
+ .balign 64
+- .fnstart
++ .cfi_startproc
++ UNWIND .fnstart
+ ScaleYCbCr42xToRGB565_BilinearY_Row_NEON:
+ STMFD r13!,{r4-r9,r14} @ 8 words.
+ ADR r14,YCbCr42xToRGB565_DITHER03_CONSTS_NEON
+@@ -296,7 +303,8 @@ s42xbily_neon_tail:
+ s42xbily_neon_done:
+ VPOP {Q4-Q7} @ 16 words.
+ LDMFD r13!,{r4-r9,PC} @ 8 words.
+- .fnend
++ UNWIND .fnend
++ .cfi_endproc
+ .size ScaleYCbCr42xToRGB565_BilinearY_Row_NEON, .-ScaleYCbCr42xToRGB565_BilinearY_Row_NEON
+
+ #if defined(__ELF__)&&defined(__linux__)
diff --git a/www/firefox/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h b/www/firefox/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h
new file mode 100644
index 00000000000..6ab70925a05
--- /dev/null
+++ b/www/firefox/patches/patch-media_openmax__dl_dl_api_armCOMM__s.h
@@ -0,0 +1,37 @@
+$NetBSD: patch-media_openmax__dl_dl_api_armCOMM__s.h,v 1.1 2015/10/16 12:59:36 jmcneill Exp $
+
+--- media/openmax_dl/dl/api/armCOMM_s.h.orig 2015-09-29 21:44:56.000000000 +0000
++++ media/openmax_dl/dl/api/armCOMM_s.h
+@@ -11,6 +11,12 @@
+ @// This file was originally licensed as follows. It has been
+ @// relicensed with permission from the copyright holders.
+ @//
++
++#if defined(__ARM_EABI__) && !defined(__ARM_DWARF_EH__)
++#define UNWIND
++#else
++#define UNWIND @
++#endif
+
+ @//
+ @// File Name: armCOMM_s.h
+@@ -175,7 +181,8 @@
+ .object_arch armv4
+ .align 2
+ \name :
+-.fnstart
++ .cfi_startproc
++ UNWIND .fnstart
+ @ Save specified R registers
+ _M_GETRREGLIST \rreg
+ _M_PUSH_RREG
+@@ -202,7 +209,8 @@
+ .endif
+ @ Restore any saved R or D registers.
+ _M_RET
+- .fnend
++ UNWIND .fnend
++ .cfi_endproc
+ .endfunc
+ @ Reset the global stack tracking variables back to their
+ @ initial values.
diff --git a/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h b/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h
new file mode 100644
index 00000000000..92f3e0777b3
--- /dev/null
+++ b/www/firefox/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h
@@ -0,0 +1,20 @@
+$NetBSD: patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h,v 1.1 2015/10/16 12:59:36 jmcneill Exp $
+
+--- toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h.orig 2015-09-29 21:45:03.000000000 +0000
++++ toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
+@@ -76,9 +76,15 @@ typedef intptr_t Atomic64;
+ #endif
+ #endif
+
++#if defined(__NetBSD__) && defined(__arm__)
++// NetBSD/arm uses long for intptr_t, which fails -fpermissive checks. So
++// explicitly use int32 here instead.
++typedef int32 AtomicWord;
++#else
+ // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or
+ // Atomic64 routines below, depending on your architecture.
+ typedef intptr_t AtomicWord;
++#endif
+
+ // Atomically execute:
+ // result = *ptr;