From f28493e7238226d447b7b0f89cfb8d2449401552 Mon Sep 17 00:00:00 2001 From: yopito Date: Fri, 29 Apr 2016 07:44:49 +0200 Subject: [PATCH] firefox-esr: update to 45.1.0 (#4095) --- .../patches/firefox-install-dir.patch | 10 +- srcpkgs/firefox-esr/patches/fix-ipc.patch | 55 ----------- .../patches/fix-linux-include.patch | 10 -- srcpkgs/firefox-esr/patches/fix-media.patch | 10 -- srcpkgs/firefox-esr/patches/fix-netwerk.patch | 37 -------- .../firefox-esr/patches/fix-seccomp-bpf.patch | 14 +++ srcpkgs/firefox-esr/patches/fix-toolkit.patch | 67 ------------- srcpkgs/firefox-esr/patches/fix-tools.patch | 55 +++++++---- srcpkgs/firefox-esr/patches/fix-xpcom.patch | 11 +++ srcpkgs/firefox-esr/patches/mallinfo.patch | 18 ++++ srcpkgs/firefox-esr/patches/stat.patch | 25 ----- srcpkgs/firefox-esr/template | 95 +++++++++++-------- 12 files changed, 139 insertions(+), 268 deletions(-) delete mode 100644 srcpkgs/firefox-esr/patches/fix-ipc.patch delete mode 100644 srcpkgs/firefox-esr/patches/fix-linux-include.patch delete mode 100644 srcpkgs/firefox-esr/patches/fix-media.patch delete mode 100644 srcpkgs/firefox-esr/patches/fix-netwerk.patch create mode 100644 srcpkgs/firefox-esr/patches/fix-seccomp-bpf.patch create mode 100644 srcpkgs/firefox-esr/patches/fix-xpcom.patch create mode 100644 srcpkgs/firefox-esr/patches/mallinfo.patch delete mode 100644 srcpkgs/firefox-esr/patches/stat.patch diff --git a/srcpkgs/firefox-esr/patches/firefox-install-dir.patch b/srcpkgs/firefox-esr/patches/firefox-install-dir.patch index a829abf2e09..5e897a00efc 100644 --- a/srcpkgs/firefox-esr/patches/firefox-install-dir.patch +++ b/srcpkgs/firefox-esr/patches/firefox-install-dir.patch @@ -1,5 +1,5 @@ ---- config/baseconfig.mk.orig 2014-04-28 23:05:04.491525412 +0200 -+++ config/baseconfig.mk 2014-04-28 23:05:39.922751247 +0200 +--- config/baseconfig.mk.orig 2016-03-09 19:02:40.438986365 +0100 ++++ config/baseconfig.mk 2016-03-09 19:03:07.492984916 +0100 @@ -2,10 +2,10 @@ # directly in python/mozbuild/mozbuild/base.py for gmake validation. # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending @@ -12,6 +12,6 @@ +idldir = $(datadir)/idl/$(MOZ_APP_NAME) +installdir = $(libdir)/$(MOZ_APP_NAME) +sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel - ifndef TOP_DIST - TOP_DIST = dist - endif + ifeq (.,$(DEPTH)) + DIST = dist + else diff --git a/srcpkgs/firefox-esr/patches/fix-ipc.patch b/srcpkgs/firefox-esr/patches/fix-ipc.patch deleted file mode 100644 index ba936756620..00000000000 --- a/srcpkgs/firefox-esr/patches/fix-ipc.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- ipc/chromium/src/base/file_util.h -+++ ipc/chromium/src/base/file_util.h -@@ -14,10 +14,15 @@ - #include - #elif defined(ANDROID) - #include -+#define NO_FTS - #elif defined(OS_POSIX) - #include --#include - #include -+#ifdef __GLIBC__ -+#include -+#else -+#define NO_FTS -+#endif - #endif - - #include ---- ipc/chromium/src/base/file_util_posix.cc -+++ ipc/chromium/src/base/file_util_posix.cc -@@ -8,13 +8,13 @@ - #include - #include - #include --#ifndef ANDROID -+#ifndef NO_FTS - #include - #endif - #include - #include - #include --#include -+#include - #include - #define _DARWIN_USE_64_BIT_INODE // Use 64-bit inode data structures - #include -@@ -67,7 +67,7 @@ - if (!recursive) - return (rmdir(path_str) == 0); - --#ifdef ANDROID -+#ifdef NO_FTS - // XXX Need ftsless impl for bionic - return false; - #else -@@ -140,7 +140,7 @@ - return false; - } - --#ifdef ANDROID -+#ifdef NO_FTS - // XXX Need ftsless impl for bionic - return false; - #else diff --git a/srcpkgs/firefox-esr/patches/fix-linux-include.patch b/srcpkgs/firefox-esr/patches/fix-linux-include.patch deleted file mode 100644 index 0a57d3a3136..00000000000 --- a/srcpkgs/firefox-esr/patches/fix-linux-include.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- xpcom/io/nsLocalFileUnix.cpp.orig -+++ xpcom/io/nsLocalFileUnix.cpp -@@ -28,6 +28,7 @@ - #define USE_LINUX_QUOTACTL - #include - #include -+#include - #endif - - #include "xpcom-private.h" diff --git a/srcpkgs/firefox-esr/patches/fix-media.patch b/srcpkgs/firefox-esr/patches/fix-media.patch deleted file mode 100644 index 42e9a94fcf7..00000000000 --- a/srcpkgs/firefox-esr/patches/fix-media.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- media.orig/mtransport/third_party/nICEr/src/stun/addrs.c -+++ media/mtransport/third_party/nICEr/src/stun/addrs.c -@@ -45,7 +45,6 @@ - #include - #include - #ifndef ANDROID --#include - #include - #else - #include diff --git a/srcpkgs/firefox-esr/patches/fix-netwerk.patch b/srcpkgs/firefox-esr/patches/fix-netwerk.patch deleted file mode 100644 index 669b994229d..00000000000 --- a/srcpkgs/firefox-esr/patches/fix-netwerk.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- netwerk.orig/sctp/src/netinet/sctp_os_userspace.h -+++ netwerk/sctp/src/netinet/sctp_os_userspace.h -@@ -400,11 +400,8 @@ - }; - - #else /* !defined(Userspace_os_Windows) */ --#include /* needed? added from old __FreeBSD__ */ - #include --#if defined(__Userspace_os_DragonFly) || defined(__Userspace_os_FreeBSD) || defined(__Userspace_os_Linux) || defined(__Userspace_os_NetBSD) || defined(__Userspace_os_OpenBSD) || defined(ANDROID) - #include --#endif - typedef pthread_mutex_t userland_mutex_t; - typedef pthread_cond_t userland_cond_t; - typedef pthread_t userland_thread_t; ---- netwerk.orig/sctp/src/netinet/sctp_pcb.c -+++ netwerk/sctp/src/netinet/sctp_pcb.c -@@ -30,6 +30,9 @@ - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -+#define _BSD_SOURCE /* for IPPORT_RESERVED */ -+#include -+ - #ifdef __FreeBSD__ - #include - __FBSDID("$FreeBSD: head/sys/netinet/sctp_pcb.c 258765 2013-11-30 12:51:19Z tuexen $"); ---- netwerk.orig/sctp/src/user_queue.h -+++ netwerk/sctp/src/user_queue.h -@@ -31,7 +31,7 @@ - #ifndef _USER_QUEUE_H_ - #define _USER_QUEUE_H_ - --#if !defined (__Userspace_os_Windows) -+#if defined(__Userspace_os_FreeBSD) - #include - #endif - /* diff --git a/srcpkgs/firefox-esr/patches/fix-seccomp-bpf.patch b/srcpkgs/firefox-esr/patches/fix-seccomp-bpf.patch new file mode 100644 index 00000000000..ed94fc39ed0 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-seccomp-bpf.patch @@ -0,0 +1,14 @@ +--- security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2015-09-23 09:10:08.812740571 +0200 ++++ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-09-23 09:11:38.404746155 +0200 +@@ -23,6 +23,11 @@ + #include "sandbox/linux/services/android_ucontext.h" + #endif + ++// musl libc defines siginfo_t __si_fields instead of _sifields ++#if defined(OS_LINUX) && !defined(__GLIBC__) ++#define _sifields __si_fields ++#endif ++ + namespace { + + struct arch_sigsys { diff --git a/srcpkgs/firefox-esr/patches/fix-toolkit.patch b/srcpkgs/firefox-esr/patches/fix-toolkit.patch index a360db4db3b..b5575335374 100644 --- a/srcpkgs/firefox-esr/patches/fix-toolkit.patch +++ b/srcpkgs/firefox-esr/patches/fix-toolkit.patch @@ -75,70 +75,3 @@ return rv; } ---- toolkit.orig/xre/nsSigHandlers.cpp 2014-03-15 05:19:38.000000000 +0000 -+++ toolkit/xre/nsSigHandlers.cpp 2014-04-17 10:24:33.796765327 +0000 -@@ -15,6 +15,7 @@ - #include - #include - #include -+#include - #include "prthread.h" - #include "plstr.h" - #include "prenv.h" -@@ -152,7 +153,7 @@ - status->__invalid = status->__denorm = status->__zdiv = status->__ovrfl = status->__undfl = - status->__precis = status->__stkflt = status->__errsumm = 0; - -- __uint32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr; -+ u_int32_t *mxcsr = &uc->uc_mcontext->__fs.__fpu_mxcsr; - *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ - *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ - #endif -@@ -172,13 +173,13 @@ - *sw &= ~FPU_STATUS_FLAGS; - #endif - #if defined(__amd64__) -- __uint16_t *cw = &uc->uc_mcontext.fpregs->cwd; -+ u_int16_t *cw = &uc->uc_mcontext.fpregs->cwd; - *cw |= FPU_EXCEPTION_MASK; - -- __uint16_t *sw = &uc->uc_mcontext.fpregs->swd; -+ u_int16_t *sw = &uc->uc_mcontext.fpregs->swd; - *sw &= ~FPU_STATUS_FLAGS; - -- __uint32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr; -+ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs->mxcsr; - *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ - *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ - #endif -@@ -187,24 +188,24 @@ - ucontext_t *uc = (ucontext_t *)context; - - #if defined(__i386) -- uint32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0]; -+ u_int32_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[0]; - *cw |= FPU_EXCEPTION_MASK; - -- uint32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1]; -+ u_int32_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[1]; - *sw &= ~FPU_STATUS_FLAGS; - - /* address of the instruction that caused the exception */ -- uint32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3]; -+ u_int32_t *ip = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.state[3]; - uc->uc_mcontext.gregs[REG_PC] = *ip; - #endif - #if defined(__amd64__) -- uint16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw; -+ u_int16_t *cw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.cw; - *cw |= FPU_EXCEPTION_MASK; - -- uint16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw; -+ u_int16_t *sw = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.sw; - *sw &= ~FPU_STATUS_FLAGS; - -- uint32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr; -+ u_int32_t *mxcsr = &uc->uc_mcontext.fpregs.fp_reg_set.fpchip_state.mxcsr; - *mxcsr |= SSE_EXCEPTION_MASK; /* disable all SSE exceptions */ - *mxcsr &= ~SSE_STATUS_FLAGS; /* clear all pending SSE exceptions */ - #endif diff --git a/srcpkgs/firefox-esr/patches/fix-tools.patch b/srcpkgs/firefox-esr/patches/fix-tools.patch index d057b96d709..a44f4068afe 100644 --- a/srcpkgs/firefox-esr/patches/fix-tools.patch +++ b/srcpkgs/firefox-esr/patches/fix-tools.patch @@ -1,5 +1,5 @@ ---- tools/profiler/local_debug_info_symbolizer.cc -+++ tools/profiler/local_debug_info_symbolizer.cc +--- tools/profiler/gecko/local_debug_info_symbolizer.cc ++++ tools/profiler/gecko/local_debug_info_symbolizer.cc @@ -3,6 +3,7 @@ * 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/. */ @@ -8,19 +8,8 @@ #include "PlatformMacros.h" #include "nsAutoPtr.h" ---- tools/profiler/platform-linux.cc -+++ tools/profiler/platform-linux.cc -@@ -84,7 +84,7 @@ - - #define SIGNAL_SAVE_PROFILE SIGUSR2 - --#if defined(__GLIBC__) -+#if 1 - // glibc doesn't implement gettid(2). - #include - pid_t gettid() ---- tools/profiler/platform.h -+++ tools/profiler/platform.h +--- tools/profiler/core/platform.h ++++ tools/profiler/core/platform.h @@ -29,6 +29,8 @@ #ifndef TOOLS_PLATFORM_H_ #define TOOLS_PLATFORM_H_ @@ -30,8 +19,8 @@ #ifdef ANDROID #include #else ---- tools/profiler/LulElf.cpp -+++ tools/profiler/LulElf.cpp +--- tools/profiler/lul/LulElf.cpp ++++ tools/profiler/lul/LulElf.cpp @@ -579,10 +579,10 @@ // Return the non-directory portion of FILENAME: the portion after the // last slash, or the whole filename if there are no slashes. @@ -47,8 +36,8 @@ return base; } ---- tools/profiler/platform-linux.cc.orig 2015-06-11 18:39:35.689739054 +0200 -+++ tools/profiler/platform-linux.cc 2015-06-11 18:40:04.479706749 +0200 +--- tools/profiler/core/platform-linux.cc.orig 2015-06-11 18:39:35.689739054 +0200 ++++ tools/profiler/core/platform-linux.cc 2015-06-11 18:40:04.479706749 +0200 @@ -651,11 +651,13 @@ void OS::Startup() { void TickSample::PopulateContext(void* aContext) { @@ -63,3 +52,31 @@ } void OS::SleepMicro(int microseconds) +--- tools/profiler/core/platform.h.orig 2015-11-04 18:27:58.170732586 +0100 ++++ tools/profiler/core/platform.h 2015-11-04 18:29:11.898478051 +0100 +@@ -60,9 +60,9 @@ + #include "v8-support.h" + #include + +-// We need a definition of gettid(), but glibc doesn't provide a ++// We need a definition of gettid(), but glibc nor musl don't provide a + // wrapper for it. +-#if defined(__GLIBC__) ++#if defined(__linux__) + #include + #include + static inline pid_t gettid() +--- media/libav/config_unix.h.orig 2015-11-04 18:38:46.660289503 +0100 ++++ media/libav/config_unix.h 2015-11-04 18:39:38.620814879 +0100 +@@ -223,7 +223,11 @@ + #define HAVE_STRERROR_R 1 + #define HAVE_STRPTIME 1 + #define HAVE_SYSCONF 1 ++#if !defined(__linux__) || defined(__GLIBC__) + #define HAVE_SYSCTL 1 ++#else ++#define HAVE_SYSCTL 0 ++#endif + #define HAVE_USLEEP 1 + #define HAVE_VIRTUALALLOC 0 + #define HAVE_PTHREADS 0 diff --git a/srcpkgs/firefox-esr/patches/fix-xpcom.patch b/srcpkgs/firefox-esr/patches/fix-xpcom.patch new file mode 100644 index 00000000000..38dd582d96b --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-xpcom.patch @@ -0,0 +1,11 @@ +--- xpcom/base/nsMemoryReporterManager.cpp.orig 2015-12-16 11:53:14.211144456 +0100 ++++ xpcom/base/nsMemoryReporterManager.cpp 2015-12-16 11:55:26.859476381 +0100 +@@ -46,7 +46,7 @@ using namespace mozilla; + # include "mozmemory.h" + #endif // MOZ_MEMORY + +-#if defined(XP_LINUX) ++#if defined(XP_LINUX) && defined(__GLIBC__) + + #include + #include diff --git a/srcpkgs/firefox-esr/patches/mallinfo.patch b/srcpkgs/firefox-esr/patches/mallinfo.patch new file mode 100644 index 00000000000..c9a38d45bdf --- /dev/null +++ b/srcpkgs/firefox-esr/patches/mallinfo.patch @@ -0,0 +1,18 @@ +--- xpcom/base/nsMemoryReporterManager.cpp ++++ xpcom/base/nsMemoryReporterManager.cpp +@@ -153,6 +153,7 @@ ResidentUniqueDistinguishedAmount(int64_t* aN) + return GetProcSelfSmapsPrivate(aN); + } + ++#ifdef __GLIBC__ + #define HAVE_SYSTEM_HEAP_REPORTER 1 + nsresult + SystemHeapSize(int64_t* aSizeOut) +@@ -172,6 +173,7 @@ SystemHeapSize(int64_t* aSizeOut) + *aSizeOut = size_t(info.hblkhd) + size_t(info.uordblks); + return NS_OK; + } ++#endif + + #elif defined(__DragonFly__) || defined(__FreeBSD__) \ + || defined(__NetBSD__) || defined(__OpenBSD__) \ diff --git a/srcpkgs/firefox-esr/patches/stat.patch b/srcpkgs/firefox-esr/patches/stat.patch deleted file mode 100644 index 10d13c5471f..00000000000 --- a/srcpkgs/firefox-esr/patches/stat.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- dom/system/OSFileConstants.cpp.orig 2013-04-17 06:17:29.798371189 +0000 -+++ dom/system/OSFileConstants.cpp 2013-04-17 06:30:30.032285977 +0000 -@@ -509,6 +509,11 @@ - INT_CONSTANT(_STAT_VER), - #endif // defined(_STAT_VER) - -+ // glibc's stat/lstat/fstat are macros while uclibc's are not -+#if defined(__GLIBC__) && !defined(__UCLIBC__) -+ { "OSFILE_STAT_MACROS", INT_TO_JSVAL(1) }, -+#endif // defined(stat) -+ - PROP_END - }; - ---- toolkit/components/osfile/modules/osfile_unix_back.jsm.orig 2014-04-03 13:08:26.686409787 +0000 -+++ toolkit/components/osfile/modules/osfile_unix_back.jsm 2014-04-03 13:34:14.101716259 +0000 -@@ -512,7 +512,7 @@ - /*path*/ Type.fd, - /*buf*/ Type.stat.out_ptr - ); -- } else if (Const._STAT_VER != undefined) { -+ } else if (Const.OSFILE_STAT_MACROS != undefined) { - const ver = Const._STAT_VER; - let xstat_name, lxstat_name, fxstat_name; - if (OS.Constants.Sys.Name == "SunOS") { diff --git a/srcpkgs/firefox-esr/template b/srcpkgs/firefox-esr/template index fbfe98d9d1b..a7931bce6a2 100644 --- a/srcpkgs/firefox-esr/template +++ b/srcpkgs/firefox-esr/template @@ -1,39 +1,34 @@ # Template build file for 'firefox-esr'. pkgname=firefox-esr -version=38.7.1 -revision=4 -wrksrc="mozilla-esr${version%%.*}" +version=45.1.0 +revision=1 +wrksrc="firefox-${version}esr" short_desc="Lightweight gecko-based web browser" maintainer="Eivind Uggedal " homepage="https://www.mozilla.org/en-US/firefox/organizations/" license="MPL-1.1, GPL-2, LGPL-2.1" -distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.bz2" -checksum=d0fce46a948610c8231ceaad5da5542bd57af363ff2341d77f2f00955f888f65 +distfiles="${MOZILLA_SITE}/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz" +checksum=8bdc4a0f6d0ca4f28e888ca0044ba735ddc78302820b5ffcc25cd65064ff40a1 only_for_archs="i686 i686-musl x86_64 x86_64-musl" nopie=yes lib32disabled=yes +build_options="gtk3" +desc_option_gtk3="Build the GTK+3 toolkit UI" +# XXX enabling gkt3 is a good idea for this ESR release ? +#build_options_default="gtk3" hostmakedepends="unzip zip pkg-config perl python yasm" -makedepends="nss-devel libjpeg-turbo-devel libpng-devel - icu-devel pixman-devel sqlite-devel gst-plugins-base1-devel gtk+-devel +makedepends=" + nss-devel libjpeg-turbo-devel libpng-devel gtk+-devel + icu-devel pixman-devel sqlite-devel pulseaudio-devel libevent-devel libnotify-devel libvpx-devel libXrender-devel - startup-notification-devel dbus-glib-devel alsa-lib-devel pulseaudio-devel + startup-notification-devel dbus-glib-devel alsa-lib-devel hunspell-devel libXcomposite-devel libSM-devel libXScrnSaver-devel - libXt-devel libXdamage-devel" -depends="nss>=3.17 desktop-file-utils hicolor-icon-theme" + libXt-devel libXdamage-devel $(vopt_if gtk3 gtk+3-devel)" +depends="nss>=3.21 desktop-file-utils hicolor-icon-theme" conflicts="firefox>=0" -if [ "$CROSS_BUILD" ]; then - # Make config/system_wrappers/alsa/alsalib.h and pulse/pulse.h find - # the required includes. Set system nspr and nss include paths. - CFLAGS="-I${XBPS_CROSS_BASE}/usr/include/alsa \ - -I${XBPS_CROSS_BASE}/usr/include/pulse \ - -I${XBPS_CROSS_BASE}/usr/include/nspr \ - -I${XBPS_CROSS_BASE}/usr/include/nss" - CXXFLAGS="${CFLAGS}" -fi - pre_configure() { case "$XBPS_TARGET_MACHINE" in *-musl) @@ -52,50 +47,70 @@ pre_configure() { [ ! -d xbps-build ] && mkdir -p xbps-build } do_configure() { - if [ "$CROSS_BUILD" ]; then - export HOST_CFLAGS="${XBPS_CFLAGS}" - export HOST_CXXFLAGS="${XBPS_CXXFLAGS}" - export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/nspr -I${XBPS_CROSS_BASE}/usr/include/nss" - export CXXFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/nspr -I${XBPS_CROSS_BASE}/usr/include/nss" - - cross_args+=" --target=$XBPS_CROSS_TRIPLET" - fi - - export ac_cv_sqlite_secure_delete=yes - export ac_cv_sqlite_threadsafe=yes - export ac_cv_sqlite_enable_fts3=yes - export ac_cv_sqlite_enable_unlock_notify=yes - export ac_cv_prog_hostcxx_works=1 + local _args case "$XBPS_TARGET_MACHINE" in *-musl) # XXX gold linking with --hash-style=sysv results in unhidden symbols # XXX see https://sourceware.org/ml/binutils/2014-09/msg00230.html - cross_args+=" --enable-gold=no" + # + # XXX disable jemalloc. + _args+=" --disable-jemalloc --enable-gold=no" ;; esac + if [ "$CROSS_BUILD" ]; then + _args+=" --target=$XBPS_CROSS_TRIPLET --disable-jemalloc" + + # Make config/system_wrappers/alsa/alsalib.h and pulse/pulse.h find + # the required includes. Set system nspr and nss include paths. + export HOST_CFLAGS="${XBPS_CFLAGS}" + export HOST_CXXFLAGS="${XBPS_CXXFLAGS}" + export CFLAGS+=" -I${XBPS_CROSS_BASE}/usr/include/alsa \ + -I${XBPS_CROSS_BASE}/usr/include/pulse \ + -I${XBPS_CROSS_BASE}/usr/include/nspr \ + -I${XBPS_CROSS_BASE}/usr/include/nss" + export CXXFLAGS+=" ${CFLAGS}" + export LDFLAGS+=" -L${XBPS_CROSS_BASE}/usr/lib" + + export ac_cv_sqlite_secure_delete=yes \ + ac_cv_sqlite_threadsafe=yes \ + ac_cv_sqlite_enable_fts3=yes \ + ac_cv_sqlite_dbstat_vtab=yes \ + ac_cv_sqlite_enable_unlock_notify=yes \ + ac_cv_prog_hostcxx_works=1 + fi + mkdir -p /usr/lib/firefox export LDFLAGS+=" -Wl,-rpath=/usr/lib/firefox" + if [ "$build_option_gtk3" ]; then + _args+=" --enable-default-toolkit=cairo-gtk3" + else + _args+=" --enable-default-toolkit=cairo-gtk2" + fi + cd xbps-build + # XXX build without --system-cairo. See: + # - https://github.com/voidlinux/void-packages/issues/2308#issuecomment-135426813 + # - https://bugs.gentoo.org/show_bug.cgi?id=558150 SHELL=/bin/bash ../configure --prefix=/usr --libdir=/usr/lib \ --with-system-nspr --with-system-nss --with-system-bz2 \ --with-system-jpeg --with-system-zlib --without-system-png \ - --with-system-libevent --with-system-libvpx --enable-system-cairo \ + --with-system-libevent --with-system-libvpx \ --enable-system-pixman --enable-system-hunspell --enable-system-sqlite \ --enable-system-ffi --enable-startup-notification --disable-gio \ --with-pthreads --enable-official-branding --enable-safe-browsing \ --disable-skia --disable-debug --disable-gnomevfs --disable-gconf \ --disable-crashreporter --disable-updater --disable-xprint --disable-tests \ --disable-mochitest --disable-installer --disable-elf-hack \ - --with-system-icu --enable-pulseaudio --enable-gstreamer=1.0 \ + --with-system-icu --enable-pulseaudio --disable-gstreamer \ --disable-crashreporter --disable-cpp-exceptions --disable-javaxpcom \ --with-nspr-prefix=${XBPS_CROSS_BASE}/usr \ - --with-nss-prefix=${XBPS_CROSS_BASE}/usr ${cross_args} \ + --with-nss-prefix=${XBPS_CROSS_BASE}/usr \ --with-google-api-keyfile="${wrksrc}/google-api-key" \ --enable-optimize="$CFLAGS" --disable-strip --disable-install-strip \ - --disable-static --disable-jemalloc --enable-pie \ - --disable-profiling --disable-profilelocking + --disable-static --enable-pie --disable-profiling \ + --disable-profilelocking ${_args} } do_build() { if [ "$SOURCE_DATE_EPOCH" ]; then