summaryrefslogtreecommitdiff
path: root/libre/icedove/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/icedove/PKGBUILD')
-rw-r--r--libre/icedove/PKGBUILD182
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: