diff --git a/srcpkgs/icecat/files/icecat-safe.desktop b/srcpkgs/icecat/files/icecat-safe.desktop deleted file mode 100644 index 42199860790..00000000000 --- a/srcpkgs/icecat/files/icecat-safe.desktop +++ /dev/null @@ -1,116 +0,0 @@ -[Desktop Entry] -Name=GNU-IceCat -GenericName=GNU Web Browser - Safe Mode -GenericName[af]=GNU Web Blaaier -GenericName[ar]=GNU متصفح ويب -GenericName[az]=GNU Veb Səyyahı -GenericName[bg]=GNU Браузър -GenericName[bn]=GNU ওয়েব ব্রাউজার -GenericName[br]=GNU Furcher ar Gwiad -GenericName[bs]=GNU WWW Preglednik -GenericName[ca]=GNU Fullejador web -GenericName[cs]=GNU WWW prohlížeč -GenericName[cy]=GNU Porydd Gwe -GenericName[da]=GNU Browser -GenericName[de]=GNU Web-Browser -GenericName[el]=GNU Περιηγητής Ιστού -GenericName[eo]=GNU TTT-legilo -GenericName[es]=GNU Navegador web -GenericName[et]=GNU Veebilehitseja -GenericName[eu]=GNU Web arakatzailea -GenericName[fa]=GNU مرورگر وب -GenericName[fi]=GNU WWW-selain -GenericName[fo]=GNU Alnótsfar -GenericName[fr]=GNU Navigateur web -GenericName[gl]=GNU Navegador Web -GenericName[he]=GNU דפדפן אינטרנט -GenericName[hi]=GNU वेब ब्राउज़र -GenericName[hr]=GNU Web preglednik -GenericName[hu]=GNU Webböngésző -GenericName[is]=GNU Vafri -GenericName[it]=GNU Browser Web -GenericName[ja]=GNU ウェブブラウザ -GenericName[ko]=GNU 웹 브라우저 -GenericName[lo]=GNU ເວັບບຣາວເຊີ -GenericName[lt]=GNU Žiniatinklio naršyklė -GenericName[lv]=GNU Web Pārlūks -GenericName[mk]=GNU Прелистувач на Интернет -GenericName[mn]=GNU Веб-Хөтөч -GenericName[nb]=GNU Nettleser -GenericName[nds]=GNU Nettkieker -GenericName[nl]=GNU Webbrowser -GenericName[nn]=GNU Nettlesar -GenericName[nso]=GNU Seinyakisi sa Web -GenericName[pa]=GNU ਵੈਬ ਝਲਕਾਰਾ -GenericName[pl]=GNU Przeglądarka WWW -GenericName[pt]=GNU Navegador Web -GenericName[pt_BR]=GNU Navegador Web -GenericName[ro]=GNU Navigator de web -GenericName[ru]=GNU Веб-браузер -GenericName[se]=GNU Fierpmádatlogan -GenericName[sk]=GNU Webový prehliadač -GenericName[sl]=GNU Spletni brskalnik -GenericName[sr]=GNU Веб претраживач -GenericName[sr@Latn]=GNU Veb pretraživač -GenericName[ss]=GNU Ibrawuza yeWeb -GenericName[sv]=GNU Webbläsare -GenericName[ta]=GNU வலை உலாவி -GenericName[tg]=GNU Тафсиргари вэб -GenericName[th]=GNU เว็บบราวเซอร์ -GenericName[tr]=GNU Web Tarayıcı -GenericName[uk]=GNU Навігатор Тенет -GenericName[uz]=GNU Веб-браузер -GenericName[ven]=GNU Buronza ya Webu -GenericName[vi]=GNU Trình duyệt Web -GenericName[wa]=GNU Betchteu waibe -GenericName[xh]=GNU Umkhangeli zincwadi we Web -GenericName[zh_CN]=GNU 网页浏览器 -GenericName[zh_TW]=GNU 網頁瀏覽器 -GenericName[zu]=GNU 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=icecat -safe-mode %u -Icon=icecat -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/icecat/files/mozconfig b/srcpkgs/icecat/files/mozconfig index ac3ab4f26d9..e755d314559 100644 --- a/srcpkgs/icecat/files/mozconfig +++ b/srcpkgs/icecat/files/mozconfig @@ -2,10 +2,6 @@ ac_add_options --prefix=/usr ac_add_options --libdir=/usr/lib ac_add_options --with-pthreads -# 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 -# ac_add_options --with-system-cairo ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --with-system-bz2 @@ -44,5 +40,4 @@ ac_add_options --enable-optimize="$CFLAGS" ac_add_options --enable-pie ac_add_options --enable-official-branding -ac_add_options --enable-safe-browsing ac_add_options --enable-application=browser diff --git a/srcpkgs/icecat/files/musl-cmsghdr.patch b/srcpkgs/icecat/files/musl-cmsghdr.patch new file mode 100644 index 00000000000..0c28f524d9b --- /dev/null +++ b/srcpkgs/icecat/files/musl-cmsghdr.patch @@ -0,0 +1,10 @@ +--- media/audioipc/audioipc/src/cmsg.rs 2018-11-10 19:58:24.408601195 +0100 ++++ media/audioipc/audioipc/src/cmsg.rs 2018-11-10 19:57:56.181599738 +0100 +@@ -108,6 +108,7 @@ + + let cmsghdr = cmsghdr { + cmsg_len: cmsg_len as _, ++ __pad1: 0, + cmsg_level: level, + cmsg_type: kind, + }; diff --git a/srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch b/srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch deleted file mode 100644 index 0c20a7ea239..00000000000 --- a/srcpkgs/icecat/patches/0002-Use-C99-math-isfinite.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- 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/icecat/patches/disable-always_inline.patch b/srcpkgs/icecat/patches/disable-always_inline.patch deleted file mode 100644 index 217b16990d7..00000000000 --- a/srcpkgs/icecat/patches/disable-always_inline.patch +++ /dev/null @@ -1,14 +0,0 @@ -This member is not inlined by gcc7.2.0 and thus building icecat -fails with an error "function not considered for inlining". - ---- dom/bindings/BindingUtils.h 2017-09-01 22:35:55.000000000 +0200 -+++ dom/bindings/BindingUtils.h 2017-09-04 10:28:13.794397024 +0200 -@@ -246,7 +246,7 @@ - // T* can be assigned to. - namespace binding_detail { - template --MOZ_ALWAYS_INLINE nsresult -+nsresult - UnwrapObjectInternal(V& obj, U& value, prototypes::ID protoID, - uint32_t protoDepth) - { diff --git a/srcpkgs/icecat/patches/disable-hunspell_hooks.patch b/srcpkgs/icecat/patches/disable-hunspell_hooks.patch deleted file mode 100644 index a5f7c29f2bd..00000000000 --- a/srcpkgs/icecat/patches/disable-hunspell_hooks.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mozilla-config.h.in 2016-07-06 15:16:06.621880293 +0200 -+++ mozilla-config.h.in 2016-07-06 15:16:42.958428126 +0200 -@@ -54,7 +54,7 @@ - * HUNSPELL_STATIC is defined in extensions/spellcheck/hunspell/src/Makefile.in, - * unless --enable-system-hunspell is defined. - */ --#if defined(HUNSPELL_STATIC) -+#if 0 - #include "hunspell_alloc_hooks.h" - #include "hunspell_fopen_hooks.h" - #endif diff --git a/srcpkgs/icecat/patches/firefox-install-dir.patch b/srcpkgs/icecat/patches/firefox-install-dir.patch deleted file mode 100644 index eff11a1ce78..00000000000 --- a/srcpkgs/icecat/patches/firefox-install-dir.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- config/baseconfig.mk 2016-12-01 23:48:34.000000000 +0100 -+++ config/baseconfig.mk 2016-12-05 12:07:21.227637374 +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 - # 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 - ifeq (.,$(DEPTH)) - DIST = dist - else diff --git a/srcpkgs/icecat/patches/fix-musl.patch b/srcpkgs/icecat/patches/fix-musl.patch new file mode 100644 index 00000000000..c32921d39e1 --- /dev/null +++ b/srcpkgs/icecat/patches/fix-musl.patch @@ -0,0 +1,11 @@ +--- tools/profiler/core/platform.h.orig ++++ tools/profiler/core/platform.h +@@ -56,7 +56,7 @@ + + // We need a definition of gettid(), but glibc doesn't provide a + // wrapper for it. +-#if defined(__GLIBC__) ++#if defined(__linux__) + #include + #include + static inline pid_t gettid() diff --git a/srcpkgs/icecat/patches/fix-tools.patch b/srcpkgs/icecat/patches/fix-tools.patch index a523f3597d3..d5a94cb5798 100644 --- a/srcpkgs/icecat/patches/fix-tools.patch +++ b/srcpkgs/icecat/patches/fix-tools.patch @@ -3,7 +3,7 @@ @@ -29,6 +29,8 @@ #ifndef TOOLS_PLATFORM_H_ #define TOOLS_PLATFORM_H_ - + +#include + #include @@ -25,20 +25,18 @@ + string base = p ? p+1 : c_filename; return base; } - ---- tools/profiler/core/platform-linux.cc 2017-05-04 23:35:47.000000000 +0200 -+++ tools/profiler/core/platform-linux.cc 2017-06-16 10:42:15.942410094 +0200 -@@ -683,11 +683,13 @@ - void TickSample::PopulateContext(void* aContext) + +--- tools/profiler/core/platform-linux-android.cpp.orig ++++ tools/profiler/core/platform-linux-android.cpp +@@ -534,9 +534,11 @@ + void + Registers::SyncPopulate() { - MOZ_ASSERT(aContext); +#if defined(__GLIBC__) - ucontext_t* pContext = reinterpret_cast(aContext); - if (!getcontext(pContext)) { - context = pContext; - SetSampleContext(this, aContext); + if (!getcontext(&sSyncUContext)) { + PopulateRegsFromContext(*this, &sSyncUContext); } +#endif } + #endif - void OS::SleepMicro(int microseconds) diff --git a/srcpkgs/icecat/patches/fix-webrtc-glibcisms.patch b/srcpkgs/icecat/patches/fix-webrtc-glibcisms.patch new file mode 100644 index 00000000000..0a9304430b2 --- /dev/null +++ b/srcpkgs/icecat/patches/fix-webrtc-glibcisms.patch @@ -0,0 +1,13 @@ +--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2018-05-09 23:48:44.677389171 +0200 ++++ media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200 +@@ -11,7 +11,9 @@ + #include + #include + #include +-#if __GLIBC_PREREQ(2, 16) ++#if !__GLIBC__ ++#include ++#elif __GLIBC_PREREQ(2, 16) + #include + #else + #include diff --git a/srcpkgs/icecat/patches/fix-xpcom.patch b/srcpkgs/icecat/patches/fix-xpcom.patch index 38dd582d96b..71265736c81 100644 --- a/srcpkgs/icecat/patches/fix-xpcom.patch +++ b/srcpkgs/icecat/patches/fix-xpcom.patch @@ -1,11 +1,18 @@ ---- 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 +--- xpcom/base/nsMemoryReporterManager.cpp.orig 2018-10-25 01:03:36.267772091 +0200 ++++ xpcom/base/nsMemoryReporterManager.cpp 2018-10-25 01:42:08.863831518 +0200 +@@ -133,6 +133,7 @@ + return GetProcSelfSmapsPrivate(aN); + } + ++#ifdef __GLIBC__ + #ifdef HAVE_MALLINFO + #define HAVE_SYSTEM_HEAP_REPORTER 1 + static MOZ_MUST_USE nsresult +@@ -154,6 +155,7 @@ + return NS_OK; + } + #endif ++#endif + + #elif defined(__DragonFly__) || defined(__FreeBSD__) \ + || defined(__NetBSD__) || defined(__OpenBSD__) \ diff --git a/srcpkgs/icecat/template b/srcpkgs/icecat/template index caefd33b665..0ec98777b22 100644 --- a/srcpkgs/icecat/template +++ b/srcpkgs/icecat/template @@ -1,35 +1,37 @@ # Template file for 'icecat' pkgname=icecat -version=52.6.0 -revision=4 +version=60.3.0 +revision=1 short_desc="GNU version of the Firefox browser" maintainer="Jürgen Buchmüller " homepage="https://www.gnu.org/software/${pkgname}/" license="MPL-1.1, GPL-2, LGPL-2.1" distfiles="${GNU_SITE}/${pkgname}/${version}/${pkgname}-${version}-gnu1.tar.bz2" -checksum=0a0cf3acb2067e0580204b44bb5a02fab2033c6bbf7c0b47522a3c4c1f29d625 +checksum=6145327092b4b195a4f63d0e86f4857eeba5607ffeb69b6f3bceb36e89a19645 lib32disabled=yes +nocross="rustc error[E0463]: can't find crate for 'std'" -hostmakedepends="autoconf213 unzip zip pkg-config perl python yasm rust cargo" -makedepends=" - libatomic-devel nss-devel gtk+-devel sqlite-devel libevent-devel - libnotify-devel libvpx-devel hunspell-devel libXt-devel - $(vopt_if alsa alsa-lib-devel) $(vopt_if dbus dbus-glib-devel) - $(vopt_if gtk3 gtk+3-devel) $(vopt_if pulseaudio pulseaudio-devel) - $(vopt_if startup_notification startup-notification-devel) - $(vopt_if xscreensaver libXScrnSaver-devel)" -depends="nss>=3.29 desktop-file-utils hicolor-icon-theme" +hostmakedepends="autoconf213 cargo cbindgen clang llvm nodejs perl pkg-config + python unzip yasm zip" +makedepends="gtk+-devel hunspell-devel libXt-devel libatomic-devel + libevent-devel libnotify-devel libvpx-devel nss-devel rust-std sqlite-devel + $(vopt_if alsa 'alsa-lib-devel') $(vopt_if dbus 'dbus-glib-devel') + $(vopt_if gtk3 'gtk+3-devel') $(vopt_if pulseaudio 'pulseaudio-devel') + $(vopt_if startup_notification 'startup-notification-devel') + $(vopt_if xscreensaver 'libXScrnSaver-devel')" +depends="desktop-file-utils hicolor-icon-theme nss>=3.19" build_options="alsa dbus gtk3 pulseaudio startup_notification xscreensaver" build_options_default="alsa dbus gtk3 pulseaudio startup_notification xscreensaver" +CXXFLAGS="-Wno-class-memaccess -Wno-unused-function" + post_extract() { case "$XBPS_TARGET_MACHINE" in *-musl) - # fix musl rust triplet - sed -i "s/\(x86_64-unknown-linux\)-gnu/\1-musl/" build/moz.configure/rust.configure cp "${FILESDIR}/stab.h" toolkit/crashreporter/google-breakpad/src/ + patch -Np0 -i ${FILESDIR}/musl-cmsghdr.patch ;; esac # Google API key (see http://www.chromium.org/developers/how-tos/api-keys) @@ -37,16 +39,22 @@ post_extract() { echo -n "AIzaSyCIFdBA7eQP43R6kXRwTq7j6Mvj1ITze90" > google-api-key } do_build() { + local triplet cp ${FILESDIR}/mozconfig .mozconfig + if [ "$CROSS_BUILD" ]; then + echo "ac_add_options --host=${XBPS_CROSS_TRIPLET}" >>.mozconfig + echo "ac_add_options --target=${XBPS_CROSS_TRIPLET}" >>.mozconfig + else + echo "ac_add_options --host=${XBPS_TRIPLET}" >>.mozconfig + echo "ac_add_options --target=${XBPS_TRIPLET}" >>.mozconfig + fi + case "$XBPS_TARGET_MACHINE" in *-musl) - echo "ac_cv_header_execinfo_h=no" >> .mozconfig - echo "ac_add_options --disable-jemalloc" >> .mozconfig - echo "ac_add_options --enable-gold=no" >> .mozconfig - ;; - arm*|aarch*) - echo "ac_add_options --enable-gold=no" >> .mozconfig + echo "ac_add_options --disable-jemalloc" >>.mozconfig + echo "ac_add_options --disable-gold" >>.mozconfig + echo "ac_add_options --enable-release" >>.mozconfig ;; esac @@ -62,34 +70,34 @@ do_build() { echo "ac_add_options --target=$XBPS_CROSS_TRIPLET" >>.mozconfig fi - mkdir -p /usr/lib/icecat + case "$XBPS_TARGET_MACHINE" in + i686*) + export CFLAGS+=" -D_FILE_OFFSET_BITS=64" + export CXXFLAGS+=" -D_FILE_OFFSET_BITS=64" + ;; + esac + export LDFLAGS+=" -Wl,-rpath=/usr/lib/icecat" - if [ "$SOURCE_DATE_EPOCH" ]; then - export MOZ_BUILD_DATE=$(date --date "@$SOURCE_DATE_EPOCH" "+%Y%m%d%H%M%S") - fi + export MOZ_BUILD_DATE=$(date --date "@$SOURCE_DATE_EPOCH" "+%Y%m%d%H%M%S") + export MOZ_MAKE_FLAGS="${makejobs}" cat >>.mozconfig <