diff --git a/srcpkgs/firefox-esr/files/firefox.desktop b/srcpkgs/firefox-esr/files/firefox.desktop new file mode 100644 index 0000000000..2f35237753 --- /dev/null +++ b/srcpkgs/firefox-esr/files/firefox.desktop @@ -0,0 +1,121 @@ +[Desktop Entry] +Name=Firefox +Name[bn]=ফায়ারফক্স +Name[eo]=Fajrovulpo +Name[fi]=Firefox +Name[pa]=ਫਾਇਰਫੋਕਸ +Name[tg]=Рӯбоҳи оташин +GenericName=Web Browser +GenericName[af]=Web Blaaier +GenericName[ar]=متصفح ويب +GenericName[az]=Veb Səyyahı +GenericName[bg]=Браузър +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[br]=Furcher ar Gwiad +GenericName[bs]=WWW Preglednik +GenericName[ca]=Fullejador web +GenericName[cs]=WWW prohlížeč +GenericName[cy]=Porydd Gwe +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής Ιστού +GenericName[eo]=TTT-legilo +GenericName[es]=Navegador web +GenericName[et]=Veebilehitseja +GenericName[eu]=Web arakatzailea +GenericName[fa]=مرورگر وب +GenericName[fi]=WWW-selain +GenericName[fo]=Alnótsfar +GenericName[fr]=Navigateur web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[is]=Vafri +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[ko]=웹 브라우저 +GenericName[lo]=ເວັບບຣາວເຊີ +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Web Pārlūks +GenericName[mk]=Прелистувач на Интернет +GenericName[mn]=Веб-Хөтөч +GenericName[nb]=Nettleser +GenericName[nds]=Nettkieker +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[nso]=Seinyakisi sa Web +GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator de web +GenericName[ru]=Веб-браузер +GenericName[se]=Fierpmádatlogan +GenericName[sk]=Webový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sr]=Веб претраживач +GenericName[sr@Latn]=Veb pretraživač +GenericName[ss]=Ibrawuza yeWeb +GenericName[sv]=Webbläsare +GenericName[ta]=வலை உலாவி +GenericName[tg]=Тафсиргари вэб +GenericName[th]=เว็บบราวเซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[uz]=Веб-браузер +GenericName[ven]=Buronza ya Webu +GenericName[vi]=Trình duyệt Web +GenericName[wa]=Betchteu waibe +GenericName[xh]=Umkhangeli zincwadi we Web +GenericName[zh_CN]=网页浏览器 +GenericName[zh_TW]=網頁瀏覽器 +GenericName[zu]=Umcingi we-Web +Comment=Browse the World Wide Web +Comment[ar]=تصفح الشبكة العنكبوتية العالمية +Comment[ast]=Restola pela Rede +Comment[bn]=ইন্টারনেট ব্রাউজ করুন +Comment[ca]=Navegueu per la web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[da]=Surf på internettet +Comment[de]=Im Internet surfen +Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web) +Comment[es]=Navegue por la web +Comment[et]=Lehitse veebi +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Naviguer sur le Web +Comment[gl]=Navegar pola rede +Comment[he]=גלישה ברחבי האינטרנט +Comment[hr]=Pretražite web +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[ku]=Li torê bigere +Comment[lt]=Naršykite internete +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[ro]=Navigați pe Internet +Comment[ru]=Доступ в Интернет +Comment[sk]=Prehliadanie internetu +Comment[sl]=Brskajte po spletu +Comment[sv]=Surfa på webben +Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ +Comment[uk]=Перегляд сторінок Інтернету +Comment[vi]=Để duyệt các trang web +Comment[zh_CN]=浏览互联网 +Comment[zh_TW]=瀏覽網際網路 +Exec=firefox %u +Icon=firefox +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; diff --git a/srcpkgs/firefox-esr/files/vendor.js b/srcpkgs/firefox-esr/files/vendor.js new file mode 100644 index 0000000000..d8d606bc15 --- /dev/null +++ b/srcpkgs/firefox-esr/files/vendor.js @@ -0,0 +1,9 @@ +// Use LANG environment variable to choose locale +pref("intl.locale.matchOS", true); + +// Disable default browser checking. +pref("browser.shell.checkDefaultBrowser", false); + +// Don't disable our bundled extensions in the application directory +pref("extensions.autoDisableScopes", 11); +pref("extensions.shownSelectionUI", true); diff --git a/srcpkgs/firefox-esr/patches/0002-Use-C99-math-isfinite.patch b/srcpkgs/firefox-esr/patches/0002-Use-C99-math-isfinite.patch new file mode 100644 index 0000000000..0c20a7ea23 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/0002-Use-C99-math-isfinite.patch @@ -0,0 +1,17 @@ +--- xpcom/ds/nsMathUtils.h.orig ++++ xpcom/ds/nsMathUtils.h +@@ -104,12 +104,12 @@ + #ifdef WIN32 + // NOTE: '!!' casts an int to bool without spamming MSVC warning C4800. + return !!_finite(aNum); +-#elif defined(XP_DARWIN) ++#elif defined(XP_DARWIN) || defined(_GLIBCXX_CMATH) + // Darwin has deprecated |finite| and recommends |isfinite|. The former is + // not present in the iOS SDK. + return std::isfinite(aNum); + #else +- return finite(aNum); ++ return isfinite(aNum); + #endif + } + diff --git a/srcpkgs/firefox-esr/patches/firefox-install-dir.patch b/srcpkgs/firefox-esr/patches/firefox-install-dir.patch new file mode 100644 index 0000000000..a829abf2e0 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/firefox-install-dir.patch @@ -0,0 +1,17 @@ +--- config/baseconfig.mk.orig 2014-04-28 23:05:04.491525412 +0200 ++++ config/baseconfig.mk 2014-04-28 23:05:39.922751247 +0200 +@@ -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 + # whether a normal build is happening or whether the check is running. +-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) ++includedir := $(includedir)/$(MOZ_APP_NAME) ++idldir = $(datadir)/idl/$(MOZ_APP_NAME) ++installdir = $(libdir)/$(MOZ_APP_NAME) ++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel + ifndef TOP_DIST + TOP_DIST = dist + endif diff --git a/srcpkgs/firefox-esr/patches/fix-fortify-inline.patch b/srcpkgs/firefox-esr/patches/fix-fortify-inline.patch new file mode 100644 index 0000000000..c1190197d3 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-fortify-inline.patch @@ -0,0 +1,11 @@ +--- media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h ++++ media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h +@@ -27,8 +27,5 @@ + typedef int16_t int16; + typedef unsigned short ushort; + typedef unsigned long ulong; +-#ifndef __GNUC_STDC_INLINE__ +-#define inline +-#endif + + #endif /* _SDP_OS_DEFS_H_ */ diff --git a/srcpkgs/firefox-esr/patches/fix-gcc-tests.patch b/srcpkgs/firefox-esr/patches/fix-gcc-tests.patch new file mode 100644 index 0000000000..90856346be --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-gcc-tests.patch @@ -0,0 +1,26 @@ +--- configure.orig 2015-05-29 18:30:41.474423097 +0200 ++++ configure 2015-05-29 18:30:53.451550589 +0200 +@@ -10966,8 +10966,8 @@ ac_have_llvm_pr8927="no" + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. + ac_cpp='$CPP $CPPFLAGS' +-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ++ac_compile='${CC-cc} -c conftest.$ac_ext 1>&5' ++ac_link='${CC-cc} -o conftest${ac_exeext} conftest.$ac_ext $LIBS 1>&5' + cross_compiling=$ac_cv_prog_cc_cross + + +--- js/src/configure.orig 2015-05-29 18:31:25.049874012 +0200 ++++ js/src/configure 2015-05-29 18:31:36.898995291 +0200 +@@ -9820,8 +9820,8 @@ ac_have_llvm_pr8927="no" + ac_ext=c + # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. + ac_cpp='$CPP $CPPFLAGS' +-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' ++ac_compile='${CC-cc} -c conftest.$ac_ext 1>&5' ++ac_link='${CC-cc} -o conftest${ac_exeext} conftest.$ac_ext $LIBS 1>&5' + cross_compiling=$ac_cv_prog_cc_cross + + diff --git a/srcpkgs/firefox-esr/patches/fix-ipc.patch b/srcpkgs/firefox-esr/patches/fix-ipc.patch new file mode 100644 index 0000000000..ba93675662 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-ipc.patch @@ -0,0 +1,55 @@ +--- 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 new file mode 100644 index 0000000000..0a57d3a313 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-linux-include.patch @@ -0,0 +1,10 @@ +--- 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 new file mode 100644 index 0000000000..42e9a94fcf --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-media.patch @@ -0,0 +1,10 @@ +--- 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 new file mode 100644 index 0000000000..669b994229 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-netwerk.patch @@ -0,0 +1,37 @@ +--- 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-toolkit.patch b/srcpkgs/firefox-esr/patches/fix-toolkit.patch new file mode 100644 index 0000000000..a360db4db3 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-toolkit.patch @@ -0,0 +1,144 @@ +--- toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-03-15 05:19:36.000000000 +0000 ++++ toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-04-17 10:24:33.793431933 +0000 +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + + #include + #include +--- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-03-15 05:19:36.000000000 +0000 ++++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-04-17 10:24:33.793431933 +0000 +@@ -41,6 +41,10 @@ + + #include "common/using_std_string.h" + ++#ifndef N_UNDF ++#define N_UNDF 0 ++#endif ++ + using std::vector; + + namespace google_breakpad { +--- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-03-15 05:19:36.000000000 +0000 ++++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-04-17 10:24:33.793431933 +0000 +@@ -53,9 +53,10 @@ + #include + #endif + +-#ifdef HAVE_A_OUT_H ++#if 0 + #include + #endif ++ + #ifdef HAVE_MACH_O_NLIST_H + #include + #endif +--- toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2014-03-15 05:19:37.000000000 +0000 ++++ toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2014-04-17 10:24:33.793431933 +0000 +@@ -2813,7 +2813,7 @@ + LSS_INLINE _syscall6(void*, mmap, void*, s, + size_t, l, int, p, + int, f, int, d, +- __off64_t, o) ++ off_t, o) + + LSS_INLINE _syscall4(int, newfstatat, int, d, + const char *, p, +--- toolkit.orig/mozapps/update/common/updatedefines.h 2014-03-15 05:19:37.000000000 +0000 ++++ toolkit/mozapps/update/common/updatedefines.h 2014-04-17 10:24:33.793431933 +0000 +@@ -105,7 +105,7 @@ + + #ifdef SOLARIS + # include +-#else ++#elif !defined(__linux__) || defined(__GLIBC__) + # include + #endif + # include +--- toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000 ++++ toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000 +@@ -3432,6 +3432,7 @@ + int add_dir_entries(const NS_tchar *dirpath, ActionList *list) + { + int rv = OK; ++#if !defined(__linux__) || defined(__GLIBC__) + FTS *ftsdir; + FTSENT *ftsdirEntry; + NS_tchar searchpath[MAXPATHLEN]; +@@ -3534,6 +3535,7 @@ + } + + fts_close(ftsdir); ++#endif + + 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 new file mode 100644 index 0000000000..d057b96d70 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/fix-tools.patch @@ -0,0 +1,65 @@ +--- tools/profiler/local_debug_info_symbolizer.cc ++++ tools/profiler/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/. */ + ++#include + #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 +@@ -29,6 +29,8 @@ + #ifndef TOOLS_PLATFORM_H_ + #define TOOLS_PLATFORM_H_ + ++#include ++ + #ifdef ANDROID + #include + #else +--- tools/profiler/LulElf.cpp ++++ tools/profiler/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. + string BaseFileName(const string &filename) { +- // Lots of copies! basename's behavior is less than ideal. +- char *c_filename = strdup(filename.c_str()); +- string base = basename(c_filename); +- free(c_filename); ++ // basename's behavior is less than ideal so avoid it ++ const char *c_filename = filename.c_str(); ++ const char *p = strrchr(c_filename, '/'); ++ string base = p ? p+1 : c_filename; + 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 +@@ -651,11 +651,13 @@ void OS::Startup() { + void TickSample::PopulateContext(void* aContext) + { + MOZ_ASSERT(aContext); ++#if defined(__GLIBC__) + ucontext_t* pContext = reinterpret_cast(aContext); + if (!getcontext(pContext)) { + context = pContext; + SetSampleContext(this, aContext); + } ++#endif + } + + void OS::SleepMicro(int microseconds) diff --git a/srcpkgs/firefox-esr/patches/stat.patch b/srcpkgs/firefox-esr/patches/stat.patch new file mode 100644 index 0000000000..10d13c5471 --- /dev/null +++ b/srcpkgs/firefox-esr/patches/stat.patch @@ -0,0 +1,25 @@ +--- 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 new file mode 100644 index 0000000000..35d9701d5a --- /dev/null +++ b/srcpkgs/firefox-esr/template @@ -0,0 +1,114 @@ +# Template build file for 'firefox-esr'. +pkgname=firefox-esr +version=38.2.0 +revision=1 +wrksrc="mozilla-esr${version%%.*}" +short_desc="Lightweight gecko-based web browser" +maintainer="Juan RP " +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=55867254f21cfc610aa63c8aa0d7156df6eb4c0cb37ebac30259e4890170aacb + +lib32disabled=yes + +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 + libevent-devel libnotify-devel libvpx-devel libXrender-devel + startup-notification-devel dbus-glib-devel alsa-lib-devel pulseaudio-devel + hunspell-devel libXcomposite-devel libSM-devel libXScrnSaver-devel + libXt-devel libXdamage-devel" +depends="nss>=3.17 desktop-file-utils hicolor-icon-theme" +conflicts="firefox>=0" + +pre_configure() { + case "$XBPS_TARGET_MACHINE" in + *-musl) + $XBPS_FETCH_CMD http://git.alpinelinux.org/cgit/aports/plain/main/firefox/stab.h + mv stab.h toolkit/crashreporter/google-breakpad/src/ + ;; + esac + + # configure script misdetects the preprocessor without an optimization level + sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure + + # Google API key (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: This is for Void Linux use ONLY. + _google_api_key="AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90" + echo -n "$_google_api_key" > google-api-key + [ ! -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 + + 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" + ;; + esac + + mkdir -p /usr/lib/firefox + export LDFLAGS+=" -Wl,-rpath=/usr/lib/firefox" + + cd xbps-build + 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 \ + --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 \ + --disable-crashreporter --disable-cpp-exceptions --disable-javaxpcom \ + --with-nspr-prefix=${XBPS_CROSS_BASE}/usr \ + --with-nss-prefix=${XBPS_CROSS_BASE}/usr ${cross_args} \ + --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 +} +do_build() { + cd xbps-build + SHELL=/bin/bash make ${makejobs} +} +do_install() { + cd xbps-build + make DESTDIR=${DESTDIR} install + + vinstall ${FILESDIR}/vendor.js 644 usr/lib/firefox/browser/defaults/preferences + vinstall ${FILESDIR}/firefox.desktop 644 usr/share/applications + + for i in 16x16 22x22 24x24 32x32 48x48 256x256; do + vinstall ${wrksrc}/browser/branding/official/default${i%x*}.png 644 \ + usr/share/icons/hicolor/${i}/apps firefox.png + done + + # Use system-provided dictionaries + rm -rf ${DESTDIR}/usr/lib/firefox/{dictionaries,hyphenation} + ln -s /usr/share/hunspell ${DESTDIR}/usr/lib/firefox/dictionaries + ln -s /usr/share/hyphen ${DESTDIR}/usr/lib/firefox/hyphenation + + # We don't want the development stuff + rm -rf ${DESTDIR}/usr/{include,lib/firefox-devel,share/idl} + + # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -sf firefox ${DESTDIR}/usr/lib/firefox/firefox-bin +} diff --git a/srcpkgs/firefox-esr/update b/srcpkgs/firefox-esr/update new file mode 100644 index 0000000000..61f68de4f4 --- /dev/null +++ b/srcpkgs/firefox-esr/update @@ -0,0 +1,2 @@ +site="${MOZILLA_SITE}/firefox/releases/" +pattern="[\d.]+(?=esr)"