diff options
Diffstat (limited to 'libre/iceweasel-libre/PKGBUILD')
-rw-r--r-- | libre/iceweasel-libre/PKGBUILD | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD new file mode 100644 index 000000000..3ef4da470 --- /dev/null +++ b/libre/iceweasel-libre/PKGBUILD @@ -0,0 +1,156 @@ +# 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=11.0 +_debrel=2 +_debrepo=http://ftp.debian.org/debian/pool/main/ +debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } + +_pkgname=iceweasel +pkgname=iceweasel-libre +pkgver=${_debver}.${_debrel} +pkgrel=1 + +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) +md5sums=('01d9d18909ca9fff2483d8fd779a0f89' + '59349da94b095fe0623d09ce75696766' + 'f407208a750cdc9bea3a6a3a3e42dd89' + 'eab149c1994ab14392e55af3abb08e80' + 'ac29b01c189f20abae2f3eef1618ffc0' + 'a485a2b5dc544a8a2bd40c985d2e5813' + 'addd3a3420cebeda152b447705b086e9' + 'e529742c0a425648087bc3ce537fe4c5' + 'f1c76e7e244257856a386ca2de69bdf0' + '0d053487907de4376d67d8f499c5502b') + +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}" + +# Doesn't apply and seems unimportant + rm -v debian/patches/l10n/Place-google-and-gmail-before-yandex.patch || true + + quilt push -a + find .pc -name .timestamp -delete # why isn't "--no-timestamps" doing this? + cd .. +} + +build() { +# Don't run this if we're using -e +if [ $NOEXTRACT -eq 0 ]; then + 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" +fi + + cd "$srcdir/mozilla-build" + 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" +} |