diff options
Diffstat (limited to 'mozilla-testing/iceweasel-libre/PKGBUILD')
-rw-r--r-- | mozilla-testing/iceweasel-libre/PKGBUILD | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/mozilla-testing/iceweasel-libre/PKGBUILD b/mozilla-testing/iceweasel-libre/PKGBUILD new file mode 100644 index 000000000..6c16ed70a --- /dev/null +++ b/mozilla-testing/iceweasel-libre/PKGBUILD @@ -0,0 +1,180 @@ +# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org> +# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor: Figue <ffigue at gmail> +# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar> +# Contributor (Parabola): vando <facundo@esdebian.org> +# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com> +# Thank you very much to the older contributors: +# Contributor: evr <evanroman at gmail> +# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> + +_pgo=false + +# We're getting this from Debian Sid +_debname=iceweasel +_debver=9.0.1 +_debrel=1 +_debrepo=http://ftp.debian.org/debian/pool/main/ +debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } + +_pkgname=iceweasel +pkgname=iceweasel-libre +pkgver=${_debver}.${_debrel} +pkgrel=4 + +if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi +if $_pgo; then + pkgname+='-pgo' +fi + +pkgdesc="A libre version of Debian Iceweasel, the browser based on Mozilla Firefox." +arch=('i586' 'i686' 'x86_64' 'mips64el') +license=('GPL2' 'MPL' 'LGPL') +depends=( + 'alsa-lib' + 'dbus-glib' + 'desktop-file-utils' + 'gtk2' + 'hicolor-icon-theme' + 'hunspell' + 'libevent' + 'libnotify' + 'libvpx' + 'libxt' + 'mime-types' + 'mozilla-common' + 'mozilla-searchplugins' + 'nss>=3.13.1' + 'sqlite3' + 'startup-notification' +) +makedepends=( + 'autoconf2.13' + 'diffutils' + 'imagemagick' + 'libidl2' + 'librsvg' + 'libxslt' + 'mesa' + 'pkg-config' + 'python2' + 'quilt' + 'unzip' + 'wireless_tools' + 'yasm' + 'zip' +) +if $_pgo; then + makedepends+=('xorg-server-xvfb') + options=(!ccache) +fi + +url="http://www.geticeweasel.org/" +install=iceweasel.install +source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2" + "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz" + "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.dsc" + mozconfig + mozconfig.pgo + xulrunner-copy-stub.patch + libre.patch + iceweasel-install-dir.patch + region.properties + vendor.js) + +if [ "$_pkgname" != "$pkgname" ]; then + provides+=("$_pkgname=$pkgver") + conflicts+=("$_pkgname") +fi + +dpkg-source() { + # This will simulate dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc + export QUILT_PATCHES=debian/patches + export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' + export QUILT_DIFF_ARGS='--no-timestamps' + mv mozilla-release "${_debname}-${_debver}" + mv debian "${_debname}-${_debver}" + cd "${_debname}-${_debver}" + quilt push -a + find .pc -name .timestamp -delete # why isn't "--no-timestamps" doing this? + cd .. +} + +build() { + msg2 "Applying Debian patches..." + cd "${srcdir}" + dpkg-source -x ${_debname}_${_debver}-${_debrel}.dsc + + msg2 "Starting normal build..." + mv "${_debname}-${_debver}" "$srcdir/mozilla-build" + cd "$srcdir/mozilla-build" + + cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch + patch -Np1 -i "$srcdir/iceweasel-install-dir.patch" # install to /usr/lib/$_pkgname + patch -Np1 -i "$srcdir/xulrunner-copy-stub.patch" # small fix + patch -Np1 -i "$srcdir/libre.patch" + cp -f ${srcdir}/region.properties ./browser/locales/en-US/chrome/browser-region/ + + if $_pgo; then + cat "$srcdir/mozconfig.pgo" >> .mozconfig + fi + + # Fix PRE_RELEASE_SUFFIX + sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ + browser/base/Makefile.in + + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname" + export PYTHON="/usr/bin/python2" + + if $_pgo; then + LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 & + LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS" + kill $! || true + else + LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" + fi +} + +package() { + cd "$srcdir/mozilla-build" + make -j1 -f client.mk DESTDIR="$pkgdir" install + + install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref" + + # I don't even know why we're hitting the objdir, and ConnOS didn't. + _brandingdir=debian/branding + brandingdir=moz-objdir/$_brandingdir + icondir="$pkgdir/usr/share/icons/hicolor" + for i in 16x16 32x32 48x48 64x64; do + install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png" + done + install -Dm644 "$brandingdir/mozicon128.png" "$icondir/128x128/apps/$_pkgname.png" + install -Dm644 "$_brandingdir/iceweasel_icon.svg" "$icondir/scalable/apps/$_pkgname.svg" + + install -d "$pkgdir/usr/share/applications" + install -m644 debian/iceweasel.desktop "$pkgdir/usr/share/applications" + #install -m644 debian/iceweasel-safe.desktop "$pkgdir/usr/share/applications" + + rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation,searchplugins,plugins} + ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries" + ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation" + ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/plugins" + ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins" + + # We don't want the development stuff + rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} + + # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" +} + +md5sums=('bd656a24d0ba3d4ca7b68aca8081a07d' + '6cde9fe38df1434fdcc0f3a078b0238e' + 'd9b5f2a893ad80da492aec8c9a7cbb7c' + 'eab149c1994ab14392e55af3abb08e80' + 'ac29b01c189f20abae2f3eef1618ffc0' + 'a485a2b5dc544a8a2bd40c985d2e5813' + '3c1a7d6984b47a0ab36a5d8e6672cb2b' + 'e529742c0a425648087bc3ce537fe4c5' + 'f1c76e7e244257856a386ca2de69bdf0' + '0d053487907de4376d67d8f499c5502b') |