diff options
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 199 | ||||
-rw-r--r-- | cbindgen-0.24.0.diff | 17 | ||||
-rw-r--r-- | fix-wayland.patch | 25 | ||||
-rw-r--r-- | mozconfig.cfg | 47 | ||||
-rwxr-xr-x | trigger.sh | 12 | ||||
-rw-r--r-- | zstandard-0.18.0.diff | 10 |
7 files changed, 184 insertions, 153 deletions
@@ -1,6 +1,6 @@ pkgbase = thunderbird-appmenu pkgdesc = Thunderbird from extra with appmenu patch - pkgver = 102.0.2 + pkgver = 102.0.3 pkgrel = 2 url = https://www.mozilla.org/thunderbird/ arch = x86_64 @@ -80,27 +80,22 @@ pkgbase = thunderbird-appmenu depends = libpixman-1.so depends = gnupg optdepends = libotr: OTR support for active one-to-one chats - provides = thunderbird=102.0.2 + provides = thunderbird=102.0.3 conflicts = thunderbird options = !emptydirs options = !makeflags - source = https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/102.0.2/source/thunderbird-102.0.2.source.tar.xz - source = https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/102.0.2/source/thunderbird-102.0.2.source.tar.xz.asc - source = thunderbird.desktop - source = vendor-prefs.js - source = distribution.ini - source = mozconfig.cfg + source = https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/102.0.3/source/thunderbird-102.0.3.source.tar.xz + source = https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/102.0.3/source/thunderbird-102.0.3.source.tar.xz.asc + source = cbindgen-0.24.0.diff + source = zstandard-0.18.0.diff source = unity-menubar.patch - source = fix-wayland.patch + source = thunderbird.desktop validpgpkeys = 14F26682D0916CDD81E37B6D61B7B526D98F0353 + md5sums = d74f2d068e97491aa498e7c8ed2f8877 md5sums = SKIP - md5sums = SKIP + md5sums = bb20e95b9d65d59ba39f2f7f1c853c27 + md5sums = 29ce7c26f14c9c4169d88d1b05552189 + md5sums = 63ebf05aea29545081dab2cb023e2bba md5sums = 10872ca39ebb8844ec753203c55bccc4 - md5sums = 7c04ba88f1078b224c7c1483b5f0fa78 - md5sums = 1ef0f094e533a68399b96dc8080c6a6e - md5sums = c6963498e5ceddedb13af44efa70d86f - md5sums = 0d7f0fe667c3e9e54f95fa51e9560eed - md5sums = eb9fd90a3b18bfeebbed7e0e6056079c pkgname = thunderbird-appmenu - optdepends = libcanberra: sound support @@ -11,8 +11,9 @@ # PKGBUILD: Nikita Tarasov <nikatar@disroot.org> _pkgname=thunderbird +pkgbase=thunderbird-appmenu pkgname=thunderbird-appmenu -pkgver=102.0.2 +pkgver=102.0.3 pkgrel=2 pkgdesc="Thunderbird from extra with appmenu patch" arch=(x86_64) @@ -41,24 +42,19 @@ provides=("thunderbird=$pkgver") conflicts=("thunderbird") options=(!emptydirs !makeflags) source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc} - thunderbird.desktop - vendor-prefs.js - distribution.ini - mozconfig.cfg - unity-menubar.patch - fix-wayland.patch) -md5sums=('SKIP' +cbindgen-0.24.0.diff zstandard-0.18.0.diff unity-menubar.patch +$_pkgname.desktop) + + +md5sums=('d74f2d068e97491aa498e7c8ed2f8877' 'SKIP' - '10872ca39ebb8844ec753203c55bccc4' - '7c04ba88f1078b224c7c1483b5f0fa78' - '1ef0f094e533a68399b96dc8080c6a6e' - 'c6963498e5ceddedb13af44efa70d86f' - '0d7f0fe667c3e9e54f95fa51e9560eed' - 'eb9fd90a3b18bfeebbed7e0e6056079c') + 'bb20e95b9d65d59ba39f2f7f1c853c27' + '29ce7c26f14c9c4169d88d1b05552189' + '63ebf05aea29545081dab2cb023e2bba' + '10872ca39ebb8844ec753203c55bccc4') validpgpkeys=(14F26682D0916CDD81E37B6D61B7B526D98F0353) # Mozilla Software Releases <release@mozilla.com> - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) # Note: These are for Arch Linux use ONLY. For your own distribution, please # get your own set of keys. Feel free to contact foutrelis@archlinux.org for @@ -69,69 +65,154 @@ _google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM # Note: These are for Arch Linux use ONLY. For your own distribution, please # get your own set of keys. Feel free to contact heftig@archlinux.org for # more information. -_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff +_mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a prepare() { - cd $_pkgname-$pkgver - - echo "${noextract[@]}" + mkdir mozbuild + cd thunderbird-$pkgver + + # Unbreak build with cbindgen 0.24.0 + patch -Np1 -i ../cbindgen-0.24.0.diff + + # Unbreak build with python-zstandard 0.18.0 + patch -Np1 -i ../zstandard-0.18.0.diff + patch -Np1 -i ../unity-menubar.patch + + echo -n "$_google_api_key" >google-api-key + echo -n "$_mozilla_api_key" >mozilla-api-key + + cat >../mozconfig <<END +ac_add_options --enable-application=comm/mail +mk_add_options MOZ_OBJDIR=${PWD@Q}/obj + +ac_add_options --prefix=/usr +ac_add_options --enable-release +ac_add_options --enable-hardening +ac_add_options --enable-optimize +ac_add_options --enable-rust-simd +ac_add_options --enable-linker=lld +ac_add_options --disable-elf-hack +ac_add_options --disable-bootstrap +ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot + +# Branding +ac_add_options --enable-official-branding +ac_add_options --enable-update-channel=release +ac_add_options --with-distribution-id=org.archlinux +ac_add_options --with-unsigned-addon-scopes=app,system +ac_add_options --allow-addon-sideload +export MOZILLA_OFFICIAL=1 +export MOZ_APP_REMOTINGNAME=${_pkgname//-/} + +# Keys +ac_add_options --with-google-location-service-api-keyfile=${PWD@Q}/google-api-key +ac_add_options --with-google-safebrowsing-api-keyfile=${PWD@Q}/google-api-key +ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key + +# System libraries +ac_add_options --with-system-nspr +ac_add_options --with-system-nss + +# Features +ac_add_options --enable-alsa +ac_add_options --enable-jack +ac_add_options --enable-crashreporter +ac_add_options --disable-updater +ac_add_options --disable-tests +END - local src - for src in "${source[@]}"; do - src="${src%%::*}" - src="${src##*/}" - [[ $src = *.patch ]] || continue - echo "Applying patch $src..." - patch -Np1 < "../$src" + for i in tools/fuzzing/smoke/grizzly_requirements.txt build/psutil_requirements.txt build/psutil_requirements.in python/sites/mach.txt + do sed 's/5.8.0/5.9.1/g' -i $i done - - printf "%s" "$_google_api_key" >google-api-key - printf "%s" "$_mozilla_api_key" >mozilla-api-key - cp ../mozconfig.cfg .mozconfig - sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig } build() { -export MOZ_REQUIRE_SIGNING= # https://bugzilla.mozilla.org/show_bug.cgi?id=1727113 - cd $_pkgname-$pkgver - if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then - export MOZ_BUILD_DATE=$(date --date "@${SOURCE_DATE_EPOCH}" "+%Y%m%d%H%M%S") - fi - export MACH_USE_SYSTEM_PYTHON="1" - ./mach configure + cd thunderbird-$pkgver + + export MOZ_NOSPAM=1 + export MOZBUILD_STATE_PATH="$srcdir/mozbuild" +# export MOZ_ENABLE_FULL_SYMBOLS=1 +# export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system + + # LTO needs more open files + ulimit -n 4096 + + # Do 3-tier PGO + echo "Building instrumented browser..." + cat >.mozconfig ../mozconfig - <<END +END ./mach build -# ./mach buildsymbols } package() { - optdepends=('libcanberra: sound support') - - cd $_pkgname-$pkgver + cd thunderbird-$pkgver DESTDIR="$pkgdir" ./mach install - install -Dm 644 ../vendor-prefs.js -t "$pkgdir/usr/lib/$pkgname/defaults/pref" - install -Dm 644 ../distribution.ini -t "$pkgdir/usr/lib/$pkgname/distribution" - install -Dm 644 ../thunderbird.desktop -t "$pkgdir/usr/share/applications" - - for i in 16 22 24 32 48 64 128 256; do - install -Dm644 comm/mail/branding/thunderbird/default${i}.png \ - "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" - done - install -Dm644 comm/mail/branding/thunderbird/TB-symbolic.svg \ - "$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg" +# local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" +# install -Dvm644 /dev/stdin "$vendorjs" <<END +#// Use LANG environment variable to choose locale +#pref("intl.locale.requested", ""); +# +#// Use system-provided dictionaries +#pref("spellchecker.dictionary_path", "/usr/share/hunspell"); +# +#// Disable default browser checking. +#pref("browser.shell.checkDefaultBrowser", false); +# +#// Don't disable extensions in the application directory +#pref("extensions.autoDisableScopes", 11); +#END + + local distini="$pkgdir/usr/lib/$_pkgname/distribution/distribution.ini" + install -Dvm644 /dev/stdin "$distini" <<END +[Global] +id=archlinux +version=1.0 +about=Mozilla thunderbird for Arch Linux + +[Preferences] +app.distributor=archlinux +app.distributor.channel=$_pkgname +app.partner.archlinux=archlinux +END - # Use system-provided dictionaries - ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" - ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" +# local i theme=official +# for i in 16 22 24 32 48 64 128 256; do +# install -Dvm644 browser/branding/$theme/default$i.png \ +# "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" +# done +# install -Dvm644 browser/branding/$theme/content/about-logo.png \ +# "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png" +# install -Dvm644 browser/branding/$theme/content/about-logo@2x.png \ +# "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png" +# install -Dvm644 browser/branding/$theme/content/about-logo.svg \ +# "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg" +# +# install -Dvm644 ../$pkgname.desktop \ +# "$pkgdir/usr/share/applications/$pkgname.desktop" # Install a wrapper to avoid confusion about binary path - install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END + install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$_pkgname" <<END #!/bin/sh -exec /usr/lib/$pkgname/thunderbird "\$@" +exec /usr/lib/$_pkgname/thunderbird "\$@" END # Replace duplicate binary with wrapper # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -srf "$pkgdir/usr/bin/$pkgname" \ - "$pkgdir/usr/lib/$pkgname/thunderbird-bin" + ln -srfv "$pkgdir/usr/bin/$_pkgname" "$pkgdir/usr/lib/$_pkgname/thunderbird-bin" + + # Use system certificates + local nssckbi="$pkgdir/usr/lib/$_pkgname/libnssckbi.so" + if [[ -e $nssckbi ]]; then + ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi" + fi + +# export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE="$startdir/.crash-stats-api.token" +# if [[ -f $SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE ]]; then +# make -C obj uploadsymbols +# else +# cp -fvt "$startdir" obj/dist/*crashreporter-symbols-full.tar.zst +# fi } + +# vim:set sw=2 et: diff --git a/cbindgen-0.24.0.diff b/cbindgen-0.24.0.diff new file mode 100644 index 000000000000..3011e8ada814 --- /dev/null +++ b/cbindgen-0.24.0.diff @@ -0,0 +1,17 @@ +Description: Remove an extra constant definition that is now being generated by newer versions of cbindgen (0.24), and causing build failures because it is defined in several places. +Author: Olivier Tilloy <olivier.tilloy@canonical.com> +Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259 +Forwarded: not-needed + +--- a/gfx/webrender_bindings/webrender_ffi.h ++++ b/gfx/webrender_bindings/webrender_ffi.h +@@ -73,8 +73,6 @@ struct WrPipelineInfo; + struct WrPipelineIdAndEpoch; + using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>; + +-const uint64_t ROOT_CLIP_CHAIN = ~0; +- + } // namespace wr + } // namespace mozilla + + diff --git a/fix-wayland.patch b/fix-wayland.patch deleted file mode 100644 index e3a58c6ef2dd..000000000000 --- a/fix-wayland.patch +++ /dev/null @@ -1,25 +0,0 @@ -Description: Fix FTBFS on bionic. Compiler errors: - In file included from Unified_cpp_widget_gtk2.cpp:2: - In file included from /<<BUILDDIR>>/firefox-91.0~b9+build1/widget/gtk/nsClipboardWayland.cpp:12: - /<<BUILDDIR>>/firefox-91.0~b9+build1/widget/gtk/nsClipboardWayland.h:53:30: error: unknown type name 'nsWaylandDragContext' - void SetWaylandDragContext(nsWaylandDragContext* aDragContext); - ^ - /<<BUILDDIR>>/firefox-91.0~b9+build1/widget/gtk/nsClipboardWayland.h:54:3: error: unknown type name 'nsWaylandDragContext' - nsWaylandDragContext* GetWaylandDragContext(); - ^ - /<<BUILDDIR>>/firefox-91.0~b9+build1/widget/gtk/nsClipboardWayland.h:62:10: error: use of undeclared identifier 'nsWaylandDragContext' - RefPtr<nsWaylandDragContext> mDragContext; - ^ -Author: Rico Tzschichholz <ricotz@ubuntu.com> - ---- a/widget/gtk/nsClipboardWayland.h -+++ b/widget/gtk/nsClipboardWayland.h -@@ -37,6 +37,8 @@ - nsTArray<GdkAtom> mTargetMIMETypes; - }; - -+class nsWaylandDragContext; -+ - class WaylandDataOffer : public DataOffer { - public: - explicit WaylandDataOffer(wl_data_offer* aWaylandDataOffer); diff --git a/mozconfig.cfg b/mozconfig.cfg deleted file mode 100644 index e19e3cf2be1a..000000000000 --- a/mozconfig.cfg +++ /dev/null @@ -1,47 +0,0 @@ -ac_add_options --enable-application=comm/mail - -ac_add_options --prefix=/usr -ac_add_options --enable-release -ac_add_options --enable-linker=gold -ac_add_options --enable-hardening -ac_add_options --enable-optimize -ac_add_options --enable-rust-simd -# https://bugzilla.mozilla.org/show_bug.cgi?id=1423822 -ac_add_options --disable-elf-hack - -# Branding -ac_add_options --enable-official-branding -ac_add_options --enable-update-channel=release -ac_add_options --with-distribution-id=org.archlinux - -# Keys -ac_add_options --with-google-location-service-api-keyfile=@PWD@/google-api-key -ac_add_options --with-google-safebrowsing-api-keyfile=@PWD@/google-api-key -ac_add_options --with-mozilla-api-keyfile=@PWD@/mozilla-api-key - -# System libraries -ac_add_options --with-system-zlib -ac_add_options --with-system-bz2 -ac_add_options --with-system-icu -ac_add_options --with-system-jpeg -# does not have APNG support -# ac_add_options --with-system-png -ac_add_options --with-system-libvpx -ac_add_options --with-system-nspr -ac_add_options --with-system-nss -ac_add_options --with-system-botan -ac_add_options --with-system-webp -ac_add_options --with-system-libevent -ac_add_options --with-system-ffi -ac_add_options --with-system-pixman - -# Features -ac_add_options --enable-alsa -ac_add_options --enable-openpgp -ac_add_options --disable-jack -ac_add_options --disable-crashreporter -ac_add_options --disable-updater - -# System addons -ac_add_options --with-unsigned-addon-scopes=app,system -ac_add_options --allow-addon-sideload diff --git a/trigger.sh b/trigger.sh index bb4e3060817e..1f0cda4369c1 100755 --- a/trigger.sh +++ b/trigger.sh @@ -9,12 +9,12 @@ ver="$(curl https://releases.mozilla.org/pub/${_pkgname}/releases/ | sed -rn 's/ #ver=91.0 sed -r "s/(pkgver=)(.*)/\1$ver/" -i PKGBUILD -rm -rf debian -curl "$(curl https://packages.ubuntu.com/bionic/firefox | grep debian | cut -f2 -d \" | tail -n1)" | - unxz | - tar xf - -cp `find debian/patches/ | grep -v 'armh\|s390\|ppc\|386\|ubuntu'` . -rm -rf debian +#rm -rf debian +#curl "$(curl https://packages.ubuntu.com/bionic/firefox | grep debian | cut -f2 -d \" | tail -n1)" | +# unxz | +# tar xf - +#cp `find debian/patches/ | grep -v 'armh\|s390\|ppc\|386\|ubuntu'` . +#rm -rf debian makepkg --printsrcinfo > .SRCINFO ver_msg="autohook $ver" diff --git a/zstandard-0.18.0.diff b/zstandard-0.18.0.diff new file mode 100644 index 000000000000..5dfa30557dcf --- /dev/null +++ b/zstandard-0.18.0.diff @@ -0,0 +1,10 @@ +diff --git i/python/sites/mach.txt w/python/sites/mach.txt +index 01f4f8c23da3b..85cfaf2b273ac 100644 +--- i/python/sites/mach.txt ++++ w/python/sites/mach.txt +@@ -134,4 +134,4 @@ pypi-optional:glean-sdk==50.1.0:telemetry will not be collected + # We aren't (yet) able to pin packages in automation, so we have to + # support down to the oldest locally-installed version (5.4.2). + pypi-optional:psutil>=5.4.2,<=5.8.0:telemetry will be missing some data +-pypi-optional:zstandard>=0.11.1,<=0.17.0:zstd archives will not be possible to extract ++pypi-optional:zstandard>=0.11.1,<=0.18.0:zstd archives will not be possible to extract |