From 18e48fdbf59c00c277bf018b4b9d7f6b03016fcf Mon Sep 17 00:00:00 2001 From: Joan Figueras Date: Sun, 11 Feb 2024 16:24:25 +0100 Subject: [PATCH] 115.7.0 --- .SRCINFO | 61 +++++------ PKGBUILD | 317 +++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 277 insertions(+), 101 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 79e03167e08a8..40a88b94b6691 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,63 +1,56 @@ pkgbase = icecat pkgdesc = GNU version of the Firefox browser. - pkgver = 115.6.0 + pkgver = 115.7.0 pkgrel = 1 - url = http://www.gnu.org/software/gnuzilla/ arch = x86_64 - license = GPL - license = MPL - license = LGPL - makedepends = m4 - makedepends = unzip - makedepends = zip + license = MPL-2.0 + makedepends = cbindgen + makedepends = clang makedepends = diffutils - makedepends = python-setuptools - makedepends = python-jsonschema - makedepends = yasm - makedepends = mesa makedepends = imake makedepends = inetutils - makedepends = xorg-server-xvfb - makedepends = autoconf2.13 - makedepends = rust - makedepends = clang - makedepends = llvm makedepends = jack - makedepends = gtk2 - makedepends = python - makedepends = nodejs - makedepends = python-psutil - makedepends = cbindgen - makedepends = nasm - makedepends = wget - makedepends = mercurial - makedepends = git makedepends = lld + makedepends = llvm + makedepends = mesa + makedepends = nasm + makedepends = nodejs + makedepends = python + makedepends = rust + makedepends = unzip makedepends = wasi-compiler-rt makedepends = wasi-libc makedepends = wasi-libc++ makedepends = wasi-libc++abi + makedepends = xorg-server-xvfb + makedepends = yasm + makedepends = zip + makedepends = mercurial + makedepends = wget + makedepends = python-jsonschema + makedepends = dbus-glib + depends = dbus + depends = ffmpeg depends = gtk3 + depends = libpulse + depends = libxss depends = libxt depends = mime-types - depends = dbus-glib - depends = ffmpeg depends = nss depends = ttf-font - depends = libpulse - optdepends = networkmanager: Location detection via available WiFi networks + optdepends = hunspell-en_US: Spell checking, American English optdepends = libnotify: Notification integration + optdepends = networkmanager: Location detection via available WiFi networks optdepends = pulseaudio: Audio support optdepends = speech-dispatcher: Text-to-Speech - optdepends = hunspell-en_US: Spell checking, American English optdepends = xdg-desktop-portal: Screensharing with Wayland options = !emptydirs + options = !lto options = !makeflags - options = !strip - source = https://git.savannah.gnu.org/cgit/gnuzilla.git/snapshot/gnuzilla-6a76a10682b6e63f562e4b9f26f3ef12f88bd839.tar.gz + source = https://git.savannah.gnu.org/cgit/gnuzilla.git/snapshot/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf.tar.gz source = icecat.desktop source = icecat-safe.desktop - sha256sums = 08f361dee1d1e0660c7665b06b7e2b00035f3803d118348832c2af0c0c32d86d + sha256sums = 5aa10b4d7d886730e236a2289e32479322d336b96fe650842fad478f69596c9c sha256sums = e00dbf01803cdd36fd9e1c0c018c19bb6f97e43016ea87062e6134bdc172bc7d sha256sums = 33dd309eeb99ec730c97ba844bf6ce6c7840f7d27da19c82389cdefee8c20208 diff --git a/PKGBUILD b/PKGBUILD index 9f76fdf9cc221..313673b2b6ce1 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,34 +1,78 @@ -# Maintainer: Figue +# Maintainer: Joan Figueras # Contributor (Parabola): fauno -# Thank you very much to the older contributors: -# Contributor: evr -# Contributor: Muhammad 'MJ' Jassim +# Contributor: Jan Alexander Steffens (heftig) +# Contributor: Ionut Biru +# Contributor: Jakub Schmidtke +# Contributor: xiota +## options +: ${_build_pgo:=true} +: ${_build_pgo_reuse:=true} + +## basic info pkgname=icecat -pkgver=115.6.0 +pkgver=115.7.0 pkgrel=1 -_commit=6a76a10682b6e63f562e4b9f26f3ef12f88bd839 +_commit=dbe6da400cf4f28e5e893d0acb5022e23cf3afcf pkgdesc="GNU version of the Firefox browser." arch=(x86_64) -url="http://www.gnu.org/software/gnuzilla/" -license=('GPL' 'MPL' 'LGPL') -depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse) -makedepends=(m4 unzip zip diffutils python-setuptools python-jsonschema yasm mesa imake inetutils - xorg-server-xvfb autoconf2.13 rust clang llvm jack gtk2 - python nodejs python-psutil cbindgen nasm wget mercurial git lld - wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi) -optdepends=('networkmanager: Location detection via available WiFi networks' - 'libnotify: Notification integration' - 'pulseaudio: Audio support' - 'speech-dispatcher: Text-to-Speech' - 'hunspell-en_US: Spell checking, American English' - 'xdg-desktop-portal: Screensharing with Wayland') -options=(!emptydirs !makeflags !strip) +license=(MPL-2.0) +depends=( + dbus + ffmpeg + gtk3 + libpulse + libxss + libxt + mime-types + nss + ttf-font +) +makedepends=( + cbindgen + clang + diffutils + imake + inetutils + jack + lld + llvm + mesa + nasm + nodejs + python + rust + unzip + wasi-compiler-rt + wasi-libc + wasi-libc++ + wasi-libc++abi + xorg-server-xvfb + yasm + zip + mercurial + wget + python-jsonschema + dbus-glib +) +optdepends=( + 'hunspell-en_US: Spell checking, American English' + 'libnotify: Notification integration' + 'networkmanager: Location detection via available WiFi networks' + 'pulseaudio: Audio support' + 'speech-dispatcher: Text-to-Speech' + 'xdg-desktop-portal: Screensharing with Wayland' +) +options=( + !emptydirs + !lto + !makeflags +) source=(https://git.savannah.gnu.org/cgit/gnuzilla.git/snapshot/gnuzilla-${_commit}.tar.gz icecat.desktop icecat-safe.desktop) -sha256sums=('08f361dee1d1e0660c7665b06b7e2b00035f3803d118348832c2af0c0c32d86d' +sha256sums=('5aa10b4d7d886730e236a2289e32479322d336b96fe650842fad478f69596c9c' 'e00dbf01803cdd36fd9e1c0c018c19bb6f97e43016ea87062e6134bdc172bc7d' '33dd309eeb99ec730c97ba844bf6ce6c7840f7d27da19c82389cdefee8c20208') @@ -38,46 +82,56 @@ prepare() { # Uncomment if you have issues with gpg download... WITH PROXY gpg doesn't work!!!!!! #sed -e 's/^verify_sources$//g' -i makeicecat - mkdir output || rm -rf output/* # Clean output just in case is already an old build there - if [ -f "${SRCDEST}/firefox-${pkgver}esr.source.tar.xz" ] && [ -f "${SRCDEST}/firefox-${pkgver}esr.source.tar.xz.asc" ]; then cp -f "${SRCDEST}"/firefox-${pkgver}esr.source.tar.xz{,.asc} output/ ; fi - - # Patches to avoid download sources if you have in your $startdir - sed -e '/rm -rf output/d' -i makeicecat - sed -e 's/wget -N/wget -nv -Nc/g' -i makeicecat - - # Other patches - sed '/^finalize_sourceball$/d' -i makeicecat - - # If we want to avoid all locales, we can use variable _SPEED=y to build it with only 1 locale. Use variable _LOCALE to define it - if [[ $_SPEED =~ [y|Y] ]]; then - msg2 "Building without all locales..." - sed -e 's/DEVEL=0/DEVEL=1/g' -i makeicecat - # Also you can choose your locale using external variable _LOCALE. By default in upstream script this locale is es-ES - [ -z "$_LOCALE" ] || sed -e "s/es-ES/$_LOCALE/g" -i makeicecat && echo "$_LOCALE" > custom-shipped-locales - rm -rf data/files-to-append/l10n/* - fi - - # Thanks to cysp74 to report this bug - sed -e 's;find l10n -wholename '\''\*/brand.dtd'\'' | xargs;find l10n -wholename '\''\*/brand.dtd'\'' | xargs -r;g' -i makeicecat - - # Produce IceCat sources - bash makeicecat - cd output/icecat-${pkgver} - - # Patch to move files directly to /usr/lib/icecat. No more symlinks. - sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk - sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk - - printf '%b' " \e[1;36m->\e[0m\033[1m Starting build...\n" + if [ "${_only-compile}q" = q ]; then + mkdir output || rm -rf output/* # Clean output just in case is already an old build there + if [ -f "${SRCDEST}/firefox-${pkgver}esr.source.tar.xz" ] && [ -f "${SRCDEST}/firefox-${pkgver}esr.source.tar.xz.asc" ]; then cp -f "${SRCDEST}"/firefox-${pkgver}esr.source.tar.xz{,.asc} output/ ; fi - cat >./mozconfig < custom-shipped-locales + rm -rf data/files-to-append/l10n/* + fi + + # Thanks to cysp74 to report this bug + sed -e 's;find l10n -wholename '\''\*/brand.dtd'\'' | xargs;find l10n -wholename '\''\*/brand.dtd'\'' | xargs -r;g' -i makeicecat + + # Produce IceCat sources + bash makeicecat + cd output/icecat-${pkgver} + + # Patch to move files directly to /usr/lib/icecat. No more symlinks. + sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk + sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk + + # disable extensions, otherwise profiling freezes + cp "browser/app/Makefile.in" "$srcdir/Makefile.in" + sed -E -e '/^\t.*\/extensions\/gnu\/\*.*$/d' -i "browser/app/Makefile.in" + cp "browser/installer/package-manifest.in" "$srcdir/package-manifest.in" + sed -E -e '/^.*\/browser\/extensions\/.*$/d' -i "browser/installer/package-manifest.in" + cp "browser/installer/allowed-dupes.mn" "$srcdir/allowed-dupes.mn" + sed -E -e '/^browser\/extensions\/.*$/d' -i "browser/installer/allowed-dupes.mn" + + printf '%b' " \e[1;36m->\e[0m\033[1m Starting build...\n" + fi + + cat >../mozconfig <.mozconfig ../mozconfig - <.mozconfig ../mozconfig + + if [[ -s merged.profdata ]] ; then + stat -c "Profile data found (%s bytes)" merged.profdata + echo >>.mozconfig "ac_add_options --enable-profile-use=cross" + echo >>.mozconfig "ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata" + + # save profdata for reuse + cp --reflink=auto -f merged.profdata "$_old_profdata" + else + echo "Profile data not found." + fi + + if [[ -s jarlog ]] ; then + stat -c "Jar log found (%s bytes)" jarlog + echo >>.mozconfig "ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog" + + # save jarlog for reuse + cp --reflink=auto -f jarlog "$_old_jarlog" + else + echo "Jar log not found." + fi + + # reenable extensions + cp "$srcdir/Makefile.in" "browser/app/Makefile.in" + cp "$srcdir/package-manifest.in" "browser/installer/package-manifest.in" + cp "$srcdir/allowed-dupes.mn" "browser/installer/allowed-dupes.mn" + + ./mach build + else + echo "Building browser..." + cat >.mozconfig ../mozconfig + + ./mach build + fi } package () { @@ -130,8 +313,8 @@ package () { DESTDIR="$pkgdir" ./mach install - local _vendorjs="$pkgdir/usr/lib/${pkgname}/browser/defaults/preferences/vendor.js" - install -Dvm644 /dev/stdin "$_vendorjs" <\e[0m\033[1m Finishing...\n" - install -m755 -d ${pkgdir}/usr/share/applications - install -m755 -d ${pkgdir}/usr/share/pixmaps + install -m755 -d "${pkgdir}/usr/share/applications" + install -m755 -d "${pkgdir}/usr/share/pixmaps" - for i in 16 32 48; do + for i in 16 22 24 32 48 64 128 256; do install -Dm644 browser/branding/official/default${i}.png \ "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/icecat.png" done - install -Dm644 browser/branding/official/default48.png ${pkgdir}/usr/share/pixmaps/icecat.png - install -Dm644 ${srcdir}/icecat.desktop ${pkgdir}/usr/share/applications/ - install -Dm644 ${srcdir}/icecat-safe.desktop ${pkgdir}/usr/share/applications/ + install -Dm644 browser/branding/official/default48.png "${pkgdir}/usr/share/pixmaps/icecat.png" + install -Dm644 "${srcdir}/icecat.desktop" "${pkgdir}/usr/share/applications/" + install -Dm644 "${srcdir}/icecat-safe.desktop" "${pkgdir}/usr/share/applications/" } -# vim:set sw=2 et: +# vim:set sw=2 sts=-1 et: