diff options
Diffstat (limited to 'libre/icedove/PKGBUILD')
-rw-r--r-- | libre/icedove/PKGBUILD | 182 |
1 files changed, 86 insertions, 96 deletions
diff --git a/libre/icedove/PKGBUILD b/libre/icedove/PKGBUILD index 9229acde6..61b925f5f 100644 --- a/libre/icedove/PKGBUILD +++ b/libre/icedove/PKGBUILD @@ -1,4 +1,4 @@ -# $Id$ +# Maintainer (Arch): Levente Polyak <anthraxx[at]archlinux[dot]org> # Contributor (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor (Arch): Ionut Biru <ibiru@archlinux.org> # Contributor (Arch): Alexander Baldeck <alexander@archlinux.org> @@ -18,78 +18,55 @@ _pkgname=thunderbird pkgname=icedove +replaces=("$_pkgname") epoch=1 -pkgver=52.7.0 -pkgrel=5 -_bver=52.1 -_brel=1 +pkgver=60.5.1 +pkgrel=2 +pkgrel+=.parabola1 +_brandingver=60.5 +_brandingrel=1 pkgdesc="Libre standalone mail and news reader based on Mozilla Thunderbird" arch=(x86_64) arch+=(i686 armv7h) license=(MPL GPL LGPL) url="https://wiki.parabola.nu/$pkgname" -depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib alsa-lib ffmpeg - nss hunspell sqlite ttf-font icu libvpx) -depends+=('icu>=63' 'icu<64') +depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib alsa-lib + nss hunspell sqlite ttf-font icu) # libvpx makedepends=(unzip zip diffutils python2 yasm mesa imake gconf libpulse inetutils xorg-server-xvfb autoconf2.13 rust clang llvm) -makedepends+=(quilt mozilla-searchplugins python2-blessings) +makedepends+=(quilt mozilla-searchplugins python2-blessings imagemagick) optdepends=('libcanberra: sound support') -replaces=("$_pkgname") -conflicts=("$_pkgname") options=(!emptydirs !makeflags) source=(https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz - $pkgname.desktop - 0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch - rust-i686.patch fix-wifi-scanner.diff - $pkgname-install-dir.patch no-crmf.diff) -source+=(https://repo.parabola.nu/other/icedove/${pkgname}_$_bver-$_brel.branding.tar.xz{,.sig} - libre.patch) -sha256sums=('82462890d393ed78c03226924a6166596b7b6d1562b5071e713a7558cd292ea3' + $pkgname.desktop) +source+=(https://repo.parabola.nu/other/icedove/${pkgname}_$_brandingver-$_brandingrel.branding.tar.xz{,.sig} + mozilla-1238661.patch + libre-searchengines.patch) +sha256sums=('69a3f741b7378b50a3b6a3b59f6c4fedd2d82d469ab234390627e15da1b58e03' 'af8199a12ebe09189d143458bd1e2d0071aff3410ed121dc2329a448a56632f0' - '413cd6d366d78f325d80ebebccfd0afa0d266b40b2e54b66ba2fa03c15f3ea67' - 'f61ea706ce6905f568b9bdafd1b044b58f20737426f0aa5019ddb9b64031a269' - '9765bca5d63fb5525bbd0520b7ab1d27cabaed697e2fc7791400abc3fa4f13b8' - 'a3f2431a6e9eb01d3e20dfa5110e769180b4a752ea834c1162088aa90d99e8f3' - 'a7317caba56e89932bd9e3b9352d94701dd9a419685057f238b1ded8dc0adcd7' - '246418976524fbead5b99e6227f97322f8d4c45e0edf9ce75561ae8eccdefc65' + '590862b39ba7baf60e47240e33de5839a8e85b6831c839ea57481968c9020241' 'SKIP' - '4a09569394f1b4e154fdcd53f2947b7be7f065baaa31c964629dff9117fdf49b') + '97b1d3bb2916cd1a297682b3ae4dc679a5afce28610140c73e454b931116028e' + '9ef9dd18ac1f76ccc3d5d2ace866bb40199fd00a1192da83aef376c585be2ec3') validpgpkeys=(BFA8008A8265677063B11BF47171986E4B745536) # Andreas Grapentin prepare() { - mkdir path - ln -s /usr/bin/python2 path/python - cd $_pkgname-$pkgver - patch -Np1 -i ../$pkgname-install-dir.patch - - # https://bugzilla.mozilla.org/show_bug.cgi?id=1314968 - patch -d mozilla -Np1 < ../fix-wifi-scanner.diff - - # https://bugzilla.mozilla.org/show_bug.cgi?id=1371991 - patch -Np1 -i ../no-crmf.diff - - # Build with the rust targets we actually ship - patch -d mozilla -Np1 < ../rust-i686.patch - - # https://bugs.archlinux.org/task/53890 - patch -d mozilla -Np1 < ../0001-Bug-1338655-Don-t-try-to-build-mp4parse-bindings.-r-.patch cat >.mozconfig <<END -ac_add_options --enable-application=mail +ac_add_options --enable-application=comm/mail ac_add_options --enable-calendar ac_add_options --prefix=/usr ac_add_options --enable-release -ac_add_options --enable-gold -ac_add_options --enable-pie -ac_add_options --enable-optimize="-O2" -ac_add_options --enable-rust +ac_add_options --enable-linker=gold +ac_add_options --enable-hardening +ac_add_options --enable-optimize +ac_add_options --enable-rust-simd # Branding ac_add_options --disable-official-branding -ac_add_options --with-branding=mail/branding/icedove +ac_add_options --with-branding=comm/mail/branding/icedove ac_add_options --enable-update-channel=release ac_add_options --with-distribution-id=nu.parabola @@ -98,7 +75,8 @@ ac_add_options --with-system-zlib ac_add_options --with-system-bz2 ac_add_options --with-system-icu ac_add_options --with-system-jpeg -ac_add_options --with-system-libvpx +# FIXME: does not build against libvpx-1.8.0 +# ac_add_options --with-system-libvpx ac_add_options --with-system-nspr ac_add_options --with-system-nss ac_add_options --enable-system-hunspell @@ -111,88 +89,101 @@ ac_add_options --disable-jack ac_add_options --enable-startup-notification ac_add_options --disable-crashreporter ac_add_options --disable-updater -ac_add_options --disable-safe-browsing -ac_add_options --disable-url-classifier -ac_add_options --disable-eme ac_add_options --disable-tests END - if [[ "$CARCH" == arm* ]]; then - sed -i \ - -e '/enable-gold/s/^/#/' \ - -e '/enable-pie/s/^/#/' \ - -e '/enable-optimize/s/^/#/' \ - -e '/enable-rust/d' \ - .mozconfig + if [[ $CARCH = arm* ]]; then + sed -i '/--enable-linker=gold/d' .mozconfig + sed -i '/--enable-hardening/d' .mozconfig + sed -i '/--enable-optimize/d' .mozconfig + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1238661 + patch -Np1 -i "$srcdir"/mozilla-1238661.patch - cat >> .mozconfig << END + cat >> .mozconfig <<END ac_add_options --disable-webrtc -ac_add_options --disable-elf-hack -ac_add_options --enable-optimize="-g -O2 -fno-schedule-insns" END fi + if [[ $CARCH = i686 ]]; then + sed -i 's/--enable-linker=gold/--enable-linker=bfd/' .mozconfig + fi + # perform rebranding - local brandingdir="$srcdir/$pkgname-$_bver" - mkdir -v mail/branding/$pkgname - cp -va $srcdir/$pkgname-$_bver/$pkgname-branding/* mail/branding/$pkgname + local brandingdir="$srcdir/$pkgname-$_brandingver" + rm -rf -- comm/mail/branding/$pkgname + cp -aT -- $brandingdir/$pkgname-branding/ comm/mail/branding/$pkgname - export QUILT_PATCHES=$srcdir/$pkgname-$_bver/patches + export QUILT_PATCHES=$brandingdir/patches export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' export QUILT_DIFF_ARGS='--no-timestamps' quilt push -av + # produce icons + for i in 16 22 24 32; do + rsvg-convert -w $i -h $i "$brandingdir/app-icons/${pkgname}_small.svg" \ + -o "comm/mail/branding/$pkgname/default$i.png" + done + for i in 48 64 128 256; do + rsvg-convert -w $i -h $i "$brandingdir/app-icons/${pkgname}_big.svg" \ + -o "comm/mail/branding/$pkgname/default$i.png" + done + cp "$brandingdir/logo/icedove_icon.svg" "comm/mail/branding/$pkgname/" + # Patch and remove anything that's left - patch -Np1 -i "$srcdir/libre.patch" + patch -Np1 -i "$srcdir/libre-searchengines.patch" sed -i '\|Phishing Protection|d \|UrlClassifier|d \|URLClassifier|d \|url-classifier|d - ' mail/installer/package-manifest.in + ' comm/mail/installer/package-manifest.in sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://directory.fsf.org/wiki/Icedove");|g; \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|https://directory.fsf.org/wiki/Icedove");|g; \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://directory.fsf.org/wiki/Icedove");|g; \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|https://directory.fsf.org/wiki/Icedove");|g; - ' mail/app/profile/all-thunderbird.js + ' comm/mail/app/profile/all-thunderbird.js - for i in 16 22 24 32 48 64 128 256; do - install -Dm644 $srcdir/$pkgname-$_bver/app-icons/$pkgname$i.png \ - mail/branding/$pkgname/mailicon$i.png - done - for i in 48 64; do - install -Dm644 $srcdir/$pkgname-$_bver/app-icons/$pkgname$i.png \ - mail/branding/$pkgname/content/icon$i.png - done - cp -av $srcdir/$pkgname-$_bver/preview.png \ - mail/themes/linux/mail/preview.png + cp -av $srcdir/$pkgname-$_brandingver/preview.png \ + comm/mail/themes/linux/mail/preview.png # Load our searchplugins - rm -rv mail/locales/en-US/searchplugins - cp -av /usr/lib/mozilla/searchplugins mail/locales/en-US/ + rm -rv comm/mail/locales/en-US/searchplugins + cp -av /usr/lib/mozilla/searchplugins comm/mail/locales/en-US/ } build() { cd $_pkgname-$pkgver - # _FORTIFY_SOURCE causes configure failures - CPPFLAGS+=" -O2" + if [[ $CARCH = armv7h ]]; then + export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off" + export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" + fi - export PATH="$srcdir/path:$PATH" + if [[ $CARCH = i686 ]]; then + export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off" + export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" + fi - # Do PGO - #xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \ - # make -f client.mk build MOZ_PGO=1 - make -f client.mk build + ./mach configure + ./mach build + ./mach buildsymbols } package() { + local _icu_ver + _icu_ver=$(pacman -S --print-format='%v' icu) + depends+=("icu>=${_icu_ver}" "icu<$((${_icu_ver%%.*} + 1))") + cd $_pkgname-$pkgver - make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install + DESTDIR="$pkgdir" ./mach install _vendorjs="$pkgdir/usr/lib/$pkgname/defaults/preferences/vendor.js" install -Dm644 /dev/stdin "$_vendorjs" <<END // Use LANG environment variable to choose locale -pref("intl.locale.matchOS", true); +pref("intl.locale.requested", ""); + +// Use system-provided dictionaries +pref("spellchecker.dictionary_path", "/usr/share/hunspell"); // Disable default mailer checking. pref("mail.shell.checkDefaultMail", false); @@ -230,20 +221,17 @@ app.partner.parabola=parabola END for i in 16 22 24 32 48 64 128 256; do - install -Dm644 "$srcdir/$pkgname-$_bver/app-icons/$pkgname$i.png" \ + install -Dm644 comm/mail/branding/$pkgname/default${i}.png \ "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" done - install -Dm644 "$srcdir/$pkgname-$_bver/app-icons/${pkgname}big.svg" \ - "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg" - install -Dm644 $srcdir/$pkgname-$_bver/$pkgname.xpm \ - "$pkgdir/usr/share/pixmaps/$pkgname.xpm" - + install -Dm644 comm/mail/branding/$pkgname/${pkgname}_icon.svg \ + "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg" install -Dm644 ../$pkgname.desktop \ "$pkgdir/usr/share/applications/$pkgname.desktop" # Use system-provided dictionaries - rm -r "$pkgdir"/usr/lib/$pkgname/dictionaries + rm -r "$pkgdir/usr/lib/$pkgname/dictionaries" ln -Ts /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" ln -Ts /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" @@ -258,3 +246,5 @@ END ln -srf "$pkgdir/usr/bin/$pkgname" \ "$pkgdir/usr/lib/$pkgname/$pkgname-bin" } + +# vim:set sw=2 et: |