From f9c7298ade2cb6168a564635783124176423b30f Mon Sep 17 00:00:00 2001 From: bill-auger Date: Fri, 12 Nov 2021 16:57:33 -0500 Subject: [libre-testing/icedove]: add package --- libre-testing/icedove/PKGBUILD | 235 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 235 insertions(+) create mode 100644 libre-testing/icedove/PKGBUILD (limited to 'libre-testing/icedove/PKGBUILD') diff --git a/libre-testing/icedove/PKGBUILD b/libre-testing/icedove/PKGBUILD new file mode 100644 index 000000000..f3b15e8d2 --- /dev/null +++ b/libre-testing/icedove/PKGBUILD @@ -0,0 +1,235 @@ +# Maintainer (arch): Levente Polyak +# Contributor: Jan Alexander Steffens (heftig) +# Contributor: Ionut Biru +# Contributor: Alexander Baldeck +# Contributor: Dale Blount +# Contributor: Anders Bostrom +# Maintainer: Andreas Grapentin +# Contributor: André Silva +# Contributor: Márcio Silva +# Contributor: Luke R. +# Contributor: Isaac David +# Contributor: bill-auger + + +# parabola changes and rationale: +# - rebranded to icedove +# - added makedepends for branding: quilt mozilla-searchplugins imagemagick +# - disabled tests, they break in an environment without network access. +# - disabled geo-location + + +_pkgname=thunderbird +pkgname=icedove +epoch=1 +pkgver=78.9.1 +pkgrel=1 +pkgrel+=.parabola1 +_brandingver=78.9 +_brandingrel=1 +pkgdesc='Standalone mail and news reader based on Mozilla Thunderbird' +url=https://wiki.parabola.nu/${pkgname} +arch=(x86_64) +arch+=(i686 armv7h) +license=(MPL GPL LGPL) +depends=( + glibc gtk3 libgdk-3.so mime-types dbus libdbus-1.so dbus-glib alsa-lib nss + hunspell sqlite ttf-font libvpx libvpx.so zlib bzip2 botan libwebp libevent + libjpeg-turbo libffi nspr gcc-libs libx11 libxrender libxfixes libxext + libxcomposite libxdamage pango libpango-1.0.so cairo gdk-pixbuf2 icu + libicui18n.so libicuuc.so freetype2 libfreetype.so fontconfig + libfontconfig.so glib2 libglib-2.0.so pixman libpixman-1.so gnupg +) +optdepends=( + 'libotr: OTR support for active one-to-one chats' +) +makedepends=( + unzip zip diffutils python python-setuptools yasm nasm mesa imake libpulse + inetutils xorg-server-xvfb autoconf2.13 rust clang llvm gtk2 cbindgen nodejs + gawk perl findutils libotr +) +#makedepends[15]='llvm10' # FIXME: DEBUG: | rustup: error while loading shared libraries: libLLVM-10.so: cannot open shared object file: No such file or directory +# # ERROR: Command `rustup which rustc` failed with exit status 127. +makedepends+=(quilt imagemagick) +replaces=(${_pkgname}) +options=(!emptydirs !makeflags) +source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz{,.asc} + $pkgname.desktop + vendor-prefs.js + distribution.ini + mozconfig.cfg + configure-fix-passing-system-bzip2-ldflags.patch + thunderbird-78.5-rust-1.48.patch) +source+=(https://repo.parabola.nu/other/icedove/${pkgname}_$_brandingver-$_brandingrel.branding.tar.xz{,.sig}) +source_armv7h=(arm-wasm-vfp.patch) +sha512sums=('fa27a327ce10a0c16877ac02338aace257f60f69af40d12ae5bb2055f6536db9ba45995765ac0eaa1aea2fa2b353ac9dc6eb06fcdf6cb4ae6fafcd65fe5970c6' + 'SKIP' + 'a3c9815491d9bed0440c60f35867a5b8a2a1343521f288035fcc46e651a11b926c75a9eca2d262b43d510a7a7119709b53637f1b00ddbbee8e5b0a4b33d7b8fd' + 'e21d30a8b79724eda3488ac2bf9dfeb0c7f6bf39e59c37f17574b529d33043765eb54408a55fcbf6f3afa7a58ca99124992d443cdff23ac5c9bdbff33c75f60f' + '31d46f91d9612d30d8553a19d0d309d743467e58b568a4aeea3caf6bd805ba00656561c84a1511c59bce1cf24ba323bfad2cd26a19985f1bf7dfb6d282642972' + '1eba1593ff0a9642d89e6d3e03388b1aef00437b2f6c1f0d81d250d9845b80e057c246eaeb31d8d22001abd65556a9603d1db597baf864481a5bfb7000886b29' + 'e3ed2708b8354015cb3d2c81048d1ce4932d1effbe2b40efa7cf9b45c1b923b9fd708645e2f8aa0136a485a3f7ce6b396b85721aaf535a4a764fd5005fb7e222' + 'bbb8b0e7b9c67372eb22e1d6b6b5758fe504ded84c40a076d4a064374a1bf34ac12d5b514b328ac9ca984d976b9e0fbde81e68a66bec915c997d6be0c0917584') +sha512sums_armv7h=('c25883c4860e511a99d9fbfba5b824145c0862729101721605725f609ca2a41848b741dd100eff390f57031dc5f14af3ea30133de30f75cb20197c420ae20972') +sha512sums+=('78fee952c9bc826a0a7ec262d442150177bf887349641279dafae803b9832a0dd9b8d0722cc084459077a5310eb4f6de6a8d7ffaff6741afe1359f292a373f34' + 'SKIP') +validpgpkeys=(14F26682D0916CDD81E37B6D61B7B526D98F0353) # Mozilla Software Releases +validpgpkeys+=(BFA8008A8265677063B11BF47171986E4B745536 # Andreas Grapentin + 3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40) # bill-auger + + +prepare() { + cd $_pkgname-$pkgver + + echo "${noextract[@]}" + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + [[ $src = arm-wasm-vfp.patch ]] && continue # defer parabola patches + + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + cp ../mozconfig.cfg .mozconfig + sed "s|@PWD@|${PWD@Q}|g" -i .mozconfig + + case "${CARCH}" in + armv*) + patch -Np1 -i "${srcdir}"/arm-wasm-vfp.patch + + sed -i '/--enable-linker=gold/d' .mozconfig + sed -i '/--enable-hardening/d' .mozconfig + sed -i '/--enable-optimize/d' .mozconfig + + export MOZ_DEBUG_FLAGS=" " + export CFLAGS+=" -g0" + export CXXFLAGS+=" -g0" + export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" + export RUSTFLAGS="-Cdebuginfo=0" + + cat >> .mozconfig < error: unknown argument: '-fvar-tracking-assignments' + CFLAGS="${CFLAGS/-fvar-tracking-assignments/}" + CXXFLAGS="${CXXFLAGS/-fvar-tracking-assignments/}" + + case "${CARCH}" in + armv*) + export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" + sed -i "s/\(cargo_rustc_flags += -C lto\)/#\1/" config/rules.mk + sed -i "s/debug_info = '2'/debug_info = '1'/" build/moz.configure/toolchain.configure + export MOZ_MAKE_FLAGS=-j1 + ;; + i686) + sed -i "s/\(cargo_rustc_flags += -C lto\)/#\1/" config/rules.mk + sed -i "s/debug_info = '2'/debug_info = '1'/" build/moz.configure/toolchain.configure + export MOZ_MAKE_FLAGS=-j1 + ;; + esac + + ./mach configure + ./mach build + ./mach buildsymbols +} + +package() { + optdepends=('libcanberra: sound support') + + cd $_pkgname-$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 ../$pkgname.desktop -t "$pkgdir/usr/share/applications" + + for i in 16 22 24 32 48 64 128 256; do + install -Dm644 comm/mail/branding/$pkgname/default${i}.png \ + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" + done + install -Dm644 comm/mail/branding/$pkgname/${pkgname}_icon.svg \ + "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg" + + # Use system-provided dictionaries + ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" + ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" + + # Install a wrapper to avoid confusion about binary path + install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <