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