# Maintainer: André Silva # Maintainer: Luke R. # Contributor: Márcio Silva # Based on iceweasel-esr and basilisk packages _pgo=false _pkgname=UXP pkgname=iceweasel-uxp _pkgver=2018.12.18 _appver=2.3 pkgver=52.9.${_pkgver//./} pkgrel=1 pkgdesc="A new generation of Iceweasel, an XUL-based standalone web browser on the Unified XUL Platform (UXP)." arch=(i686 x86_64) license=(MPL GPL LGPL) depends=(alsa-lib dbus-glib ffmpeg gtk2 gtk3 hunspell icu=63.1 libevent libvpx libxt mime-types mozilla-common nss sqlite startup-notification ttf-font) makedepends=(autoconf2.13 diffutils gconf imake inetutils libpulse mesa python2 unzip yasm zip) options=(!emptydirs !makeflags !strip debug) if $_pgo; then makedepends+=(xorg-server-xvfb) options+=(!ccache) fi optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'speech-dispatcher: Text-to-Speech') url="https://wiki.hyperbola.info/$pkgname" replaces=('basilisk' 'firefox' 'firefox-esr' 'iceweasel-esr') conflicts=('basilisk' 'firefox' 'firefox-esr' 'iceweasel-esr') provides=('basilisk' 'firefox' 'firefox-esr' 'iceweasel' 'iceweasel-esr') source=("$_pkgname-$_pkgver.tar.gz::https://github.com/MoonchildProductions/$_pkgname/archive/v$_pkgver.tar.gz" "https://repo.hyperbola.info:50000/other/$pkgname/$pkgname-$_appver.tar.gz"{,.asc} mozconfig $pkgname.desktop $pkgname-install-dir.patch vendor.js # Application patches 0001-iceweasel-application-specific-overrides.patch 0002-Disable-SSLKEYLOGFILE-in-NSS.patch) sha512sums=('ffd13eb563dee14d5a59fd18a06810d720264cdf3475b57bdc0751f1a3b4190cf0d04bd48c7f200fa92a463dbfc9e4128f971ddf468bc7c7bfa95a089baa9162' 'ac88be9d0dc35eaad2a3bad1aae0cc0cbf3e60253339303cd29c27921777a7cf07d8ba6c890d6b0759098ef6ee82421bdec4701bb94ae95553d47cf940c47610' 'SKIP' '6d615da54a4e4dd10441733ac144c83a935d8019444116583142f1a49acea3d0903d88fc7665b96e545c76c88b04cfce658502f3fe70680cd0ebdaf170c28196' '42f0003895200da7a311226d6a14245c667a1ed1c643b7a2a0f2676d2b30e0881c6198909eead14777584bb6f81733205503e6a15c78ed581d39d5bfb6b95ec4' '30d607ed2e6c0da75930a87191c4a703f47ca918bb33748bd5f62e3f7fd6846605b65aa1f3825da48bb9828188ef784fd3c953a0673c60a28dfa8a74a13195c1' 'eb94f9db2c3efd8b108b2b296ef46c70d9cb010f21e13a94ae5f32695ab9e95b2c931df01586d4d53df8636359a022a2f58c6e4964aaccc06e744e8dabcaada8' 'cb088bad8703be7a1d3ad985f269c794819f3208e2b81157c25ba21e8c66222c0eb0c91e831d29f7822837ca3a3d84704c779ea254bc184cba5d78e1305f6854' '8b92ab1d9906b0e44da1a0826511035340174322cdabc1e2fa17dc344d5306a4cadcdf6022514cfbf003e2c5232cabf9e4a100e61b7124e4c6b595a157db37eb') validpgpkeys=('B00033B86FDA59BA7D75B89BB88AF90BF64827C5') # Luke R. prepare() { # Move our application into the Unified XUL Platform cd "$srcdir/$_pkgname-$_pkgver" mv "$srcdir/$pkgname-$_appver" application/$pkgname # Apply Iceweasel-UXP application specific overrides to UXP patch -p1 -i "$srcdir/0001-iceweasel-application-specific-overrides.patch" # Disable SSLKEYLOGFILE in NSS patch -p1 -i "$srcdir/0002-Disable-SSLKEYLOGFILE-in-NSS.patch" # Install to /usr/lib/iceweasel-uxp patch -p1 -i "$srcdir/$pkgname-install-dir.patch" # Adapt Iceweasel-UXP version to $pkgver sed -i "s|52.9.0_YYYYMMDD|52.9.YYYYMMDD| s|MOZ_APP_VERSION[=]52[.]9[.].*|MOZ_APP_VERSION=52.9.${_pkgver//./}| s|MOZ_APP_VERSION_DISPLAY[=].*date.*|MOZ_APP_VERSION_DISPLAY=${_pkgver//./}| " application/$pkgname/confvars.sh # Add missing versionField.textContent in aboutDialog.js sed -i 's|let version [=] Services[.]appinfo[.]version[;]|let version = Services.appinfo.version;\n versionField.textContent = version;|' application/$pkgname/base/content/aboutDialog.js # Load our build config cp "$srcdir/mozconfig" .mozconfig mkdir "$srcdir/path" ln -s /usr/bin/python2 "$srcdir/path/python" } build() { cd "$srcdir/$_pkgname-$_pkgver" # _FORTIFY_SOURCE causes configure failures CPPFLAGS+=" -O2" export PATH="$srcdir/path:$PATH" if $_pgo; then # Do PGO xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \ make -f client.mk build MOZ_PGO=1 else make -f client.mk build fi } package() { cd "$srcdir/$_pkgname-$_pkgver" make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install install -Dm644 "$srcdir/vendor.js" "$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" for i in 16 32 48; do install -Dm644 application/$pkgname/branding/${pkgname%-*}/default$i.png \ "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" done install -Dm644 application/$pkgname/branding/${pkgname%-*}/content/icon64.png \ "$pkgdir/usr/share/icons/hicolor/64x64/apps/$pkgname.png" install -Dm644 application/$pkgname/branding/${pkgname%-*}/content/about-logo.png \ "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png" install -Dm644 application/$pkgname/branding/${pkgname%-*}/content/about-logo@2x.png \ "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png" install -Dm644 "$srcdir/$pkgname.desktop" \ "$pkgdir/usr/share/applications/$pkgname.desktop" # Use system-provided dictionaries rm -rf "$pkgdir/usr/lib/$pkgname/"{dictionaries,hyphenation} ln -s /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" ln -s /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" # Replace duplicate binary with symlink # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 ln -sf $pkgname "$pkgdir/usr/lib/$pkgname/$pkgname-bin" rm "$pkgdir/usr/bin/$pkgname" ln -srf "$pkgdir/usr/lib/$pkgname/$pkgname" \ "$pkgdir/usr/bin/$pkgname" }