diff options
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 166 | ||||
-rw-r--r-- | _service | 16 | ||||
-rw-r--r-- | arc4random.diff | 33 | ||||
-rw-r--r-- | distribution.ini | 8 | ||||
-rw-r--r-- | identity-icons-brand.svg | 3 | ||||
-rwxr-xr-x | trigger.sh | 5 | ||||
-rw-r--r-- | vendor-prefs.js | 17 | ||||
-rw-r--r-- | zstandard-0.18.0.diff | 10 |
9 files changed, 144 insertions, 135 deletions
@@ -1,4 +1,4 @@ -pkgbase = thunderbird-appmenu +pkgbase = thunderbird pkgdesc = Thunderbird from extra with appmenu patch pkgver = 102.0.3 pkgrel = 4 @@ -23,14 +23,14 @@ pkgbase = thunderbird-appmenu makedepends = nodejs makedepends = cbindgen makedepends = nasm - makedepends = python-setuptools - makedepends = python-zstandard + makedepends = python makedepends = lld makedepends = dump_syms makedepends = wasi-compiler-rt makedepends = wasi-libc makedepends = wasi-libc++ makedepends = wasi-libc++abi + makedepends = at-spi2-core depends = gtk3 depends = libxt depends = mime-types @@ -45,25 +45,18 @@ pkgbase = thunderbird-appmenu optdepends = speech-dispatcher: Text-to-Speech optdepends = hunspell-en_US: Spell checking, American English optdepends = xdg-desktop-portal: Screensharing with Wayland - provides = thunderbird=102.0.3 - conflicts = thunderbird options = !emptydirs options = !makeflags options = !strip options = !lto options = !debug - 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 = https://archive.mozilla.org/pub/thunderbird/releases/102.0.3/source/thunderbird-102.0.3.source.tar.xz + source = https://archive.mozilla.org/pub/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 = arc4random.diff source = unity-menubar.patch source = thunderbird.desktop + source = identity-icons-brand.svg validpgpkeys = 14F26682D0916CDD81E37B6D61B7B526D98F0353 - md5sums = d74f2d068e97491aa498e7c8ed2f8877 - md5sums = SKIP - md5sums = bb20e95b9d65d59ba39f2f7f1c853c27 - md5sums = 29ce7c26f14c9c4169d88d1b05552189 - md5sums = 63ebf05aea29545081dab2cb023e2bba - md5sums = 10872ca39ebb8844ec753203c55bccc4 pkgname = thunderbird-appmenu @@ -11,10 +11,10 @@ # PKGBUILD: Nikita Tarasov <nikatar@disroot.org> _pkgname=thunderbird -pkgbase=thunderbird-appmenu +pkgbase=thunderbird pkgname=thunderbird-appmenu pkgver=102.0.3 -pkgrel=4 +pkgrel=5 pkgdesc="Thunderbird from extra with appmenu patch" arch=(x86_64) license=(MPL GPL LGPL) @@ -23,8 +23,10 @@ url="https://www.mozilla.org/thunderbird/" depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse) makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb autoconf2.13 rust clang llvm jack nodejs cbindgen nasm - python-setuptools python-zstandard lld dump_syms - wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi) + python lld dump_syms + wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi + at-spi2-core + ) optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'pulseaudio: Audio support' @@ -32,26 +34,11 @@ optdepends=('networkmanager: Location detection via available WiFi networks' 'hunspell-en_US: Spell checking, American English' 'xdg-desktop-portal: Screensharing with Wayland') options=(!emptydirs !makeflags !strip !lto !debug) +source=(https://archive.mozilla.org/pub/thunderbird/releases/${pkgver}/source/thunderbird-${pkgver}.source.tar.xz{,.asc} + cbindgen-0.24.0.diff arc4random.diff unity-menubar.patch + $pkgbase.desktop identity-icons-brand.svg) +validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com> -provides=("thunderbird=$pkgver") -conflicts=("thunderbird") - -source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc} - cbindgen-0.24.0.diff - zstandard-0.18.0.diff - unity-menubar.patch - $_pkgname.desktop) - - -md5sums=('d74f2d068e97491aa498e7c8ed2f8877' - 'SKIP' - '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 @@ -65,14 +52,17 @@ _google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM _mozilla_api_key=e05d56db0a694edc8b5aaebda3f2db6a prepare() { - mkdir mozbuild + mkdir -p mozbuild cd thunderbird-$pkgver + echo "${noextract[@]}" + # 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 + # Fix arc4random + patch -Np1 -i ../arc4random.diff + patch -Np1 -i ../unity-menubar.patch echo -n "$_google_api_key" >google-api-key @@ -86,7 +76,7 @@ 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-rust-simd ac_add_options --enable-linker=lld ac_add_options --disable-elf-hack ac_add_options --disable-bootstrap @@ -98,8 +88,10 @@ 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 +ac_add_options --with-app-name=$pkgbase export MOZILLA_OFFICIAL=1 -export MOZ_APP_REMOTINGNAME=${_pkgname//-/} +export MOZ_APP_REMOTINGNAME=$pkgbase +export MOZ_APP_PROFILE="mozilla/thunderbird" # Keys ac_add_options --with-google-location-service-api-keyfile=${PWD@Q}/google-api-key @@ -117,10 +109,6 @@ ac_add_options --enable-crashreporter ac_add_options --disable-updater ac_add_options --disable-tests END - - 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 } build() { @@ -129,82 +117,116 @@ build() { export MOZ_NOSPAM=1 export MOZBUILD_STATE_PATH="$srcdir/mozbuild" # export MOZ_ENABLE_FULL_SYMBOLS=1 - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=pip + + export MOZ_BUILD_DATE=$(head -1 sourcestamp.txt) + export RUSTFLAGS="-C debuginfo=1" # LTO needs more open files ulimit -n 4096 # Do 3-tier PGO - echo "Building instrumented browser..." - cat >.mozconfig ../mozconfig - <<END -END +# echo "Building instrumented browser..." +# cat >.mozconfig ../mozconfig - <<END +#ac_add_options --enable-profile-generate=cross +#END +# ./mach build +# +# echo "Profiling instrumented browser..." +# ./mach package +# LLVM_PROFDATA=llvm-profdata \ +# JARLOG_FILE="$PWD/jarlog" \ +# xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \ +# ./mach python build/pgo/profileserver.py +# +# stat -c "Profile data found (%s bytes)" merged.profdata +# test -s merged.profdata +# +# stat -c "Jar log found (%s bytes)" jarlog +# test -s jarlog +# +# echo "Removing instrumented browser..." +# ./mach clobber +# +# echo "Building optimized browser..." +# cat >.mozconfig ../mozconfig - <<END +#ac_add_options --enable-lto=cross +#ac_add_options --enable-profile-use=cross +#ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata +#ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog +#END ./mach build + +# echo "Building symbol archive..." +# ./mach buildsymbols } package() { cd thunderbird-$pkgver DESTDIR="$pkgdir" ./mach install -# 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 vendorjs="$pkgdir/usr/lib/$pkgbase/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"); - local distini="$pkgdir/usr/lib/$_pkgname/distribution/distribution.ini" +// 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/$pkgbase/distribution/distribution.ini" install -Dvm644 /dev/stdin "$distini" <<END [Global] id=archlinux version=1.0 -about=Mozilla thunderbird for Arch Linux +about=Mozilla Thunderbird for Arch Linux [Preferences] app.distributor=archlinux -app.distributor.channel=$_pkgname +app.distributor.channel=$pkgbase app.partner.archlinux=archlinux END -# 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" + 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/$pkgbase.png" + done + install -Dvm644 browser/branding/$theme/content/about-logo.png \ + "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgbase.png" + install -Dvm644 browser/branding/$theme/content/about-logo@2x.png \ + "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgbase.png" + install -Dvm644 browser/branding/$theme/content/about-logo.svg \ + "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgbase.svg" + install -Dvm644 ../identity-icons-brand.svg \ + "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgbase-symbolic.svg" + + install -Dvm644 ../$pkgbase.desktop \ + "$pkgdir/usr/share/applications/$pkgbase.desktop" # Install a wrapper to avoid confusion about binary path - install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$_pkgname" <<END + install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgbase" <<END #!/bin/sh -exec /usr/lib/$_pkgname/thunderbird "\$@" +exec /usr/lib/$pkgbase/thunderbird "\$@" END # Replace duplicate binary with wrapper # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -srfv "$pkgdir/usr/bin/$_pkgname" "$pkgdir/usr/lib/$_pkgname/thunderbird-bin" + ln -srfv "$pkgdir/usr/bin/$pkgbase" "$pkgdir/usr/lib/$pkgbase/thunderbird-bin" # Use system certificates - local nssckbi="$pkgdir/usr/lib/$_pkgname/libnssckbi.so" + local nssckbi="$pkgdir/usr/lib/$pkgbase/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" + export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE="$startdir/.crash-stats-api.token" # if [[ -f $SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE ]]; then # make -C obj uploadsymbols # else @@ -1,16 +1,8 @@ <services> - <service name="tar_scm"> - <param name="scm">git</param> - <param name="url">https://aur.archlinux.org/thunderbird-appmenu.git</param> - </service> - <service name="extract_file"> - <param name="archive">*.tar</param> - <param name="files">*/*</param> - </service> -<service name="download_url"> - <param name="host">ftp.mozilla.org</param> - <param name="protocol">https</param> - <param name="path">/pub/mozilla.org/thunderbird/releases/PKGVER/source/thunderbird-PKGVER.source.tar.xz</param> + <service name="download_url"> + <param name="host">ftp.mozilla.org</param> + <param name="protocol">https</param> + <param name="path">/pub/mozilla.org/thunderbird/releases/PKGVER/source/thunderbird-PKGVER.source.tar.xz</param> </service> <service name="download_url"> <param name="host">ftp.mozilla.org</param> diff --git a/arc4random.diff b/arc4random.diff new file mode 100644 index 000000000000..c877d54c1685 --- /dev/null +++ b/arc4random.diff @@ -0,0 +1,33 @@ +diff --git i/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h w/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h +index 101d39d455107..3764806240f9f 100644 +--- i/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h ++++ w/ipc/chromium/src/third_party/libevent/linux/event2/event-config.h +@@ -30,13 +30,13 @@ + /* #undef EVENT__HAVE_AFUNIX_H 1 */ + + /* Define to 1 if you have the `arc4random' function. */ +-/* #undef EVENT__HAVE_ARC4RANDOM */ ++#define EVENT__HAVE_ARC4RANDOM 1 + + /* Define to 1 if you have the `arc4random_addrandom' function. */ + /* #undef EVENT__HAVE_ARC4RANDOM_ADDRANDOM */ + + /* Define to 1 if you have the `arc4random_buf' function. */ +-/* #undef EVENT__HAVE_ARC4RANDOM_BUF */ ++#define EVENT__HAVE_ARC4RANDOM_BUF 1 + + /* Define to 1 if you have the <arpa/inet.h> header file. */ + #define EVENT__HAVE_ARPA_INET_H 1 +diff --git i/toolkit/crashreporter/client/ping.cpp w/toolkit/crashreporter/client/ping.cpp +index 57cf85de80b79..93a2f6e80ad0b 100644 +--- i/toolkit/crashreporter/client/ping.cpp ++++ w/toolkit/crashreporter/client/ping.cpp +@@ -53,7 +53,7 @@ static string GenerateUUID() { + + CFRelease(uuid); + #elif defined(HAVE_ARC4RANDOM_BUF) // Android, BSD, ... +- arc4random_buf(id, sizeof(UUID)); ++ arc4random_buf(&id, sizeof(UUID)); + #else // Linux + int fd = open("/dev/urandom", O_RDONLY); + diff --git a/distribution.ini b/distribution.ini deleted file mode 100644 index cc57d4ff416d..000000000000 --- a/distribution.ini +++ /dev/null @@ -1,8 +0,0 @@ -[Global] -id=archlinux -version=1.0 -about=Mozilla Thunderbird for Arch Linux - -[Preferences] -app.distributor=archlinux -app.distributor.channel=thunderbird diff --git a/identity-icons-brand.svg b/identity-icons-brand.svg new file mode 100644 index 000000000000..fc8b1a356768 --- /dev/null +++ b/identity-icons-brand.svg @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"> + <path fill="context-fill" fill-opacity="context-fill-opacity" d="M15.424 5.366A4.384 4.384 0 0 0 13.817 3.4a7.893 7.893 0 0 1 .811 2.353v.017c-.9-2.185-2.441-3.066-3.7-4.984l-.189-.3c-.035-.059-.063-.112-.088-.161a1.341 1.341 0 0 1-.119-.306.022.022 0 0 0-.013-.019.026.026 0 0 0-.019 0h-.006a5.629 5.629 0 0 0-2.755 4.308c.094-.006.187-.014.282-.014a4.069 4.069 0 0 1 3.51 1.983A2.838 2.838 0 0 0 9.6 5.824a3.2 3.2 0 0 1-1.885 6.013 3.651 3.651 0 0 1-1.042-.2c-.078-.028-.157-.059-.235-.093-.046-.02-.091-.04-.135-.062A3.282 3.282 0 0 1 4.415 8.95s.369-1.334 2.647-1.334a1.91 1.91 0 0 0 .964-.857 12.756 12.756 0 0 1-1.941-1.118c-.29-.277-.428-.411-.551-.511-.066-.054-.128-.1-.207-.152a3.481 3.481 0 0 1-.022-1.894 5.915 5.915 0 0 0-1.929 1.442A4.108 4.108 0 0 1 3.1 2.584a1.561 1.561 0 0 0-.267.138 5.767 5.767 0 0 0-.783.649 6.9 6.9 0 0 0-.748.868 6.446 6.446 0 0 0-1.08 2.348c0 .009-.076.325-.131.715l-.025.182c-.019.117-.033.245-.048.444v.023c-.005.076-.011.16-.016.258v.04A7.884 7.884 0 0 0 8.011 16a7.941 7.941 0 0 0 7.9-6.44l.036-.3a7.724 7.724 0 0 0-.523-3.894z" /> +</svg> diff --git a/trigger.sh b/trigger.sh index 1f0cda4369c1..869a5e9e23c4 100755 --- a/trigger.sh +++ b/trigger.sh @@ -6,7 +6,7 @@ eval $(cat PKGBUILD| grep -P '^_pkgname=') eval $(cat PKGBUILD| grep -P '^pkgrel=') ver="$(curl https://releases.mozilla.org/pub/${_pkgname}/releases/ | sed -rn 's/([^0-9]*)([0-9]*\.[0-9]*?(\.[0-9]*)).*/\2/p' | sort -V | tail -n1)" -#ver=91.0 +ver=102.0.3 sed -r "s/(pkgver=)(.*)/\1$ver/" -i PKGBUILD #rm -rf debian @@ -19,13 +19,14 @@ sed -r "s/(pkgver=)(.*)/\1$ver/" -i PKGBUILD makepkg --printsrcinfo > .SRCINFO ver_msg="autohook $ver" -[ -z "$(git diff)" ] && exit +[ -z "$(git diff)" ] && [[ "$1" == "force" ]] && exit git commit -am "$ver_msg" git push ( rm -rf 'home:nicman23' osc co home:nicman23 ${_pkgname}-appmenu-bin + cp `git ls-tree -r master --name-only | grep -Pv '^\.'` home:nicman23/${_pkgname}-appmenu-bin/ sed "s/PKGVER/${ver}/g" _service \ > home:nicman23/${_pkgname}-appmenu-bin/_service cd home:nicman23/${_pkgname}-appmenu-bin/ diff --git a/vendor-prefs.js b/vendor-prefs.js deleted file mode 100644 index 633bebf3077b..000000000000 --- a/vendor-prefs.js +++ /dev/null @@ -1,17 +0,0 @@ -// Use LANG environment variable to choose locale -pref("intl.locale.requested", ""); - -// Use system-provided dictionaries -pref("spellchecker.dictionary_path", "/usr/share/hunspell"); - -// Disable default mailer checking -pref("mail.shell.checkDefaultMail", false); - -// Don't disable our bundled extensions in the application directory -pref("extensions.autoDisableScopes", 11); -pref("extensions.shownSelectionUI", true); - -// Disable telemetry -pref("datareporting.healthreport.uploadEnabled", false); -pref("datareporting.policy.dataSubmissionEnabled", false); -pref("toolkit.telemetry.archive.enabled", false); diff --git a/zstandard-0.18.0.diff b/zstandard-0.18.0.diff deleted file mode 100644 index 5dfa30557dcf..000000000000 --- a/zstandard-0.18.0.diff +++ /dev/null @@ -1,10 +0,0 @@ -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 |