Initial import v31.7.0

This commit is contained in:
Figue 2015-06-08 21:15:36 +02:00
commit 732eb7c28d
8 changed files with 579 additions and 0 deletions

63
.SRCINFO Normal file
View file

@ -0,0 +1,63 @@
# Generated by makepkg 4.2.1
# Mon Jun 8 15:50:14 UTC 2015
pkgbase = icecat
pkgdesc = GNU version of the Firefox browser.
pkgver = 31.7.0
pkgrel = 1
url = http://www.gnu.org/software/gnuzilla/
install = icecat.install
arch = i686
arch = x86_64
license = GPL
license = MPL
license = LGPL
makedepends = unzip
makedepends = zip
makedepends = diffutils
makedepends = python2
makedepends = yasm
makedepends = mesa
makedepends = imake
makedepends = libpulse
makedepends = gst-plugins-base-libs
makedepends = inetutils
depends = gtk2
depends = mozilla-common
depends = libxt
depends = startup-notification
depends = mime-types
depends = dbus-glib
depends = alsa-lib
depends = desktop-file-utils
depends = hicolor-icon-theme
depends = libvpx
depends = icu
depends = libevent
depends = nss
depends = hunspell
depends = sqlite
depends = pango
depends = freetype2
depends = libxft
depends = libx11
optdepends = networkmanager: Location detection via available WiFi networks
optdepends = gst-plugins-good: h.264 video
optdepends = gst-libav: h.264 video
optdepends = upower: Battery API
source = https://ftp.gnu.org/gnu/gnuzilla/31.7.0/icecat-31.7.0-gnu1.tar.bz2
source = https://ftp.gnu.org/gnu/gnuzilla/31.7.0/icecat-31.7.0-gnu1.tar.bz2.sig
source = mozconfig
source = icecat.desktop
source = icecat-safe.desktop
source = vendor.js
source = fixing_nullptr_31.7.0.patch
sha256sums = 57ddd9a3b2875dc3f1bfbb0f6d8fd5551775f1f68cc4237f6f4251a7ca954528
sha256sums = SKIP
sha256sums = 91a675ffde751aac15c83401dc8842a055df0fe3949b6a0b304882608e6a4de2
sha256sums = c44eab35f71dd3028a74632463710d674b2e8a0682e5e887535e3233a3b7bbb3
sha256sums = 190577ad917bccfc89a9bcafbc331521f551b6f54e190bb6216eada48dcb1303
sha256sums = 4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4
sha256sums = d57d0e4d5bc66323388e8f3c9999ed443abfd304a28a1696cc6f4518ed0d0f2a
pkgname = icecat

122
PKGBUILD Normal file
View file

@ -0,0 +1,122 @@
# Maintainer: Figue <ffigue at gmail>
# Contributor: Figue <ffigue at gmail>
# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
# Thank you very much to the older contributors:
# Contributor: evr <evanroman at gmail>
# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
pkgname=icecat
pkgver=31.7.0
_pkgver=31.7.0-gnu1
_pkgverbase=${pkgver%%.*}
pkgrel=1
pkgdesc="GNU version of the Firefox browser."
arch=(i686 x86_64)
url="http://www.gnu.org/software/gnuzilla/"
license=('GPL' 'MPL' 'LGPL')
depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types'
'dbus-glib' 'alsa-lib' 'desktop-file-utils' 'hicolor-icon-theme'
'libvpx' 'icu' 'libevent' 'nss' 'hunspell' 'sqlite' 'pango' 'freetype2' 'libxft' 'libx11')
makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake'
'libpulse' 'gst-plugins-base-libs' 'inetutils')
optdepends=('networkmanager: Location detection via available WiFi networks'
'gst-plugins-good: h.264 video'
'gst-libav: h.264 video'
'upower: Battery API')
install=icecat.install
source=(https://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${_pkgver}.tar.bz2{,.sig}
#source=(http://mirrors.kernel.org/gnu/gnuzilla/${pkgver}/${pkgname}-${pkgver}.tar.xz ## Good mirror
mozconfig
icecat.desktop
icecat-safe.desktop
vendor.js
fixing_nullptr_31.7.0.patch)
sha256sums=('57ddd9a3b2875dc3f1bfbb0f6d8fd5551775f1f68cc4237f6f4251a7ca954528'
'SKIP'
'91a675ffde751aac15c83401dc8842a055df0fe3949b6a0b304882608e6a4de2'
'c44eab35f71dd3028a74632463710d674b2e8a0682e5e887535e3233a3b7bbb3'
'190577ad917bccfc89a9bcafbc331521f551b6f54e190bb6216eada48dcb1303'
'4b50e9aec03432e21b44d18c4c97b2630bace606b033f7d556c9d3e3eb0f4fa4'
'd57d0e4d5bc66323388e8f3c9999ed443abfd304a28a1696cc6f4518ed0d0f2a')
validpgpkeys=(A57369A8BABC2542B5A0368C3C76EED7D7E04784) # Ruben Rodriguez (GNU IceCat releases key) <ruben@gnu.org>
prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
# Patch to move files directly to /usr/lib/icecat. No more symlinks.
sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk
sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk
# Patch for GCC 5.1
patch -Np1 -i ../fixing_nullptr_31.7.0.patch
msg2 "Starting build..."
cp -v ${srcdir}/mozconfig .mozconfig
# WebRTC build tries to execute "python" and expects Python 2
mkdir "$srcdir/path"
ln -s /usr/bin/python2 "$srcdir/path/python"
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
ICECATDIR="/usr/lib/${pkgname}" && export ICECATDIR
# Workaround to build 31.0. Fails otherwise.
unset CPPFLAGS
# Default Arch flags
if [ "${CARCH}" = 'x86_64' ]; then
export CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
export CXXFLAGS="$CFLAGS"
elif [ "${CARCH}" = 'i686' ]; then
export CFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
export CXXFLAGS="$CFLAGS"
fi
export PATH="$srcdir/path:$PATH"
export LDFLAGS="$LDFLAGS -Wl,-rpath,$ICECATDIR"
export MOZ_MAKE_FLAGS="$MAKEFLAGS"
export PYTHON=python2
make -f client.mk build
# ./configure --with-l10n-base="${srcdir}/${pkgname}-${pkgver}"/l10n -std=gnu89
# make
}
package () {
cd "${srcdir}/${pkgname}-${pkgver}"
make -f client.mk DESTDIR="${pkgdir}" install
# make DESTDIR="${pkgdir}" install
msg2 "Finishing..."
install -m755 -d ${pkgdir}/usr/share/applications
install -m755 -d ${pkgdir}/usr/share/pixmaps
for i in 16 32 48; do
install -Dm644 ${srcdir}/${pkgname}-${pkgver}/browser/branding/official/default${i}.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/icecat.png"
done
install -Dm644 ${srcdir}/${pkgname}-${pkgver}/browser/branding/official/default48.png ${pkgdir}/usr/share/pixmaps/icecat.png
install -Dm644 ${srcdir}/icecat.desktop ${pkgdir}/usr/share/applications/
install -Dm644 ${srcdir}/icecat-safe.desktop ${pkgdir}/usr/share/applications/
# implement vendor.js setting the locale to match the os don't disable our languages extensions
# https://projects.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/firefox&id=281a95c2cca0db88904603d7808936f52797a690
install -Dm644 "${srcdir}"/vendor.js "${pkgdir}${ICECATDIR}/browser/defaults/preferences/vendor.js"
# We don't want the development stuff
rm -rv "$pkgdir"/usr/{include,lib/icecat-devel,share/idl}
}

174
fixing_nullptr_31.7.0.patch Normal file
View file

@ -0,0 +1,174 @@
--- a/js/src/builtin/TypedObject.cpp 2015-06-03 22:48:47.000000000 +0200
+++ b/js/src/builtin/TypedObject.cpp 2015-06-08 16:45:30.918154529 +0200
@@ -710,12 +710,12 @@
contents.append(")");
RootedAtom stringRepr(cx, contents.finishAtom());
if (!stringRepr)
- return nullptr;
+ return false;
// Extract ArrayType.prototype
RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal));
if (!arrayTypePrototype)
- return nullptr;
+ return false;
// Create the instance of ArrayType
Rooted<UnsizedArrayTypeDescr*> obj(cx);
@@ -728,7 +728,7 @@
if (!JSObject::defineProperty(cx, obj, cx->names().length,
UndefinedHandleValue, nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
args.rval().setObject(*obj);
return true;
@@ -762,7 +762,7 @@
if (!size.isValid()) {
JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr,
JSMSG_TYPEDOBJECT_TOO_BIG);
- return nullptr;
+ return false;
}
// Construct a canonical string `new ArrayType(<elementType>).dimension(N)`:
@@ -775,7 +775,7 @@
contents.append(")");
RootedAtom stringRepr(cx, contents.finishAtom());
if (!stringRepr)
- return nullptr;
+ return false;
// Create the sized type object.
Rooted<SizedArrayTypeDescr*> obj(cx);
@@ -793,7 +793,7 @@
if (!JSObject::defineProperty(cx, obj, cx->names().length,
lengthVal, nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
// Add `unsized` property, which is a link from the sized
// array to the unsized array.
@@ -801,7 +801,7 @@
if (!JSObject::defineProperty(cx, obj, cx->names().unsized,
unsizedTypeDescrValue, nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
args.rval().setObject(*obj);
return true;
@@ -1253,7 +1253,7 @@
Rooted<TypedProto*> proto(cx);
proto = NewObjectWithProto<TypedProto>(cx, objProto, nullptr, TenuredObject);
if (!proto)
- return nullptr;
+ return false;
proto->initTypeDescrSlot(*descr);
descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto));
@@ -1358,14 +1358,14 @@
#define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \
if (!DefineSimpleTypeDescr<ScalarTypeDescr>(cx, global, module, constant_, \
cx->names().name_)) \
- return nullptr;
+ return false;
JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE)
#undef BINARYDATA_SCALAR_DEFINE
#define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \
if (!DefineSimpleTypeDescr<ReferenceTypeDescr>(cx, global, module, constant_, \
cx->names().name_)) \
- return nullptr;
+ return false;
JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE)
#undef BINARYDATA_REFERENCE_DEFINE
@@ -1375,14 +1375,14 @@
arrayType = DefineMetaTypeDescr<ArrayMetaTypeDescr>(
cx, global, module, TypedObjectModuleObject::ArrayTypePrototype);
if (!arrayType)
- return nullptr;
+ return false;
RootedValue arrayTypeValue(cx, ObjectValue(*arrayType));
if (!JSObject::defineProperty(cx, module, cx->names().ArrayType,
arrayTypeValue,
nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
// StructType.
@@ -1390,14 +1390,14 @@
structType = DefineMetaTypeDescr<StructMetaTypeDescr>(
cx, global, module, TypedObjectModuleObject::StructTypePrototype);
if (!structType)
- return nullptr;
+ return false;
RootedValue structTypeValue(cx, ObjectValue(*structType));
if (!JSObject::defineProperty(cx, module, cx->names().StructType,
structTypeValue,
nullptr, nullptr,
JSPROP_READONLY | JSPROP_PERMANENT))
- return nullptr;
+ return false;
// Everything is setup, install module on the global object:
RootedValue moduleValue(cx, ObjectValue(*module));
@@ -1407,7 +1407,7 @@
nullptr, nullptr,
0))
{
- return nullptr;
+ return false;
}
return module;
@@ -2466,7 +2466,7 @@
if (length < 0) {
JS_ReportErrorNumber(cx, js_GetErrorMessage,
nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS);
- return nullptr;
+ return false;
}
Rooted<TypedObject*> obj(cx, createZeroed(cx, callee, length));
if (!obj)
--- a/js/src/frontend/BytecodeCompiler.cpp 2015-06-03 22:48:48.000000000 +0200
+++ b/js/src/frontend/BytecodeCompiler.cpp 2015-06-08 01:15:08.080302638 +0200
@@ -544,7 +544,7 @@
RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options));
if (!sourceObject)
- return nullptr;
+ return false;
ScriptSource* ss = sourceObject->source();
SourceCompressionTask sct(cx);
--- a/js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-03 22:48:45.000000000 +0200
+++ b/js/xpconnect/wrappers/XrayWrapper.cpp 2015-06-08 01:15:35.672193557 +0200
@@ -351,7 +351,7 @@
{
JSAutoCompartment ac(cx, target);
if (!JS_GetClassPrototype(cx, key, protop))
- return nullptr;
+ return false;
}
return JS_WrapObject(cx, protop);
}
--- a/netwerk/ipc/NeckoParent.cpp 2015-06-03 22:46:41.000000000 +0200
+++ b/netwerk/ipc/NeckoParent.cpp 2015-06-08 01:16:10.200055747 +0200
@@ -359,7 +359,7 @@
RtspChannelParent* p = static_cast<RtspChannelParent*>(aActor);
return p->Init(aConnectArgs);
#else
- return nullptr;
+ return false;
#endif
}

78
icecat-safe.desktop Normal file
View file

@ -0,0 +1,78 @@
[Desktop Entry]
Encoding=UTF-8
Exec=/usr/bin/icecat -safe-mode %u
Icon=icecat
Type=Application
Terminal=false
MultipleArgs=false
Name=GNU IceCat - Safe Mode
GenericName=Web Browser
GenericName[af]=Web Blaaier
GenericName[ar]=متصفح ويب
GenericName[az]=Veb Səyyahı
GenericName[bg]=Браузър
GenericName[bn]=
GenericName[br]=Furcher ar Gwiad
GenericName[bs]=WWW Preglednik
GenericName[ca]=Fullejador web
GenericName[cs]=WWW prohlížeč
GenericName[cy]=Porydd Gwe
GenericName[da]=Browser
GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής Ιστού
GenericName[eo]=TTT-legilo
GenericName[es]=Navegador web
GenericName[et]=Veebilehitseja
GenericName[eu]=Web arakatzailea
GenericName[fa]=مرورگر وب
GenericName[fi]=WWW-selain
GenericName[fo]=Alnótsfar
GenericName[fr]=Navigateur web
GenericName[gl]=Navegador Web
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
GenericName[is]=Vafri
GenericName[it]=Browser Web
GenericName[ja]=
GenericName[ko]=
GenericName[lo]=
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Web Pārlūks
GenericName[mk]=Прелистувач на Интернет
GenericName[mn]=Веб-Хөтөч
GenericName[nb]=Nettleser
GenericName[nds]=Nettkieker
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[nso]=Seinyakisi sa Web
GenericName[pa]=
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[ro]=Navigator de web
GenericName[ru]=Веб-браузер
GenericName[se]=Fierpmádatlogan
GenericName[sk]=Webový prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sr]=Веб претраживач
GenericName[sr@Latn]=Veb pretraživač
GenericName[ss]=Ibrawuza yeWeb
GenericName[sv]=Webbläsare
GenericName[ta]= ி
GenericName[tg]=Тафсиргари вэб
GenericName[th]=
GenericName[tr]=Web Tarayıcı
GenericName[uk]=Навігатор Тенет
GenericName[uz]=Веб-браузер
GenericName[ven]=Buronza ya Webu
GenericName[vi]=Trình duyt Web
GenericName[wa]=Betchteu waibe
GenericName[xh]=Umkhangeli zincwadi we Web
GenericName[zh_CN]=
GenericName[zh_TW]=
GenericName[zu]=Umcingi we-Web
MimeType=text/html
StartupNotify=false
Categories=Application;Network;

78
icecat.desktop Normal file
View file

@ -0,0 +1,78 @@
[Desktop Entry]
Encoding=UTF-8
Exec=/usr/bin/icecat %u
Icon=icecat
Type=Application
Terminal=false
MultipleArgs=false
Name=GNU IceCat
GenericName=Web Browser
GenericName[af]=Web Blaaier
GenericName[ar]=متصفح ويب
GenericName[az]=Veb Səyyahı
GenericName[bg]=Браузър
GenericName[bn]=
GenericName[br]=Furcher ar Gwiad
GenericName[bs]=WWW Preglednik
GenericName[ca]=Fullejador web
GenericName[cs]=WWW prohlížeč
GenericName[cy]=Porydd Gwe
GenericName[da]=Browser
GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής Ιστού
GenericName[eo]=TTT-legilo
GenericName[es]=Navegador web
GenericName[et]=Veebilehitseja
GenericName[eu]=Web arakatzailea
GenericName[fa]=مرورگر وب
GenericName[fi]=WWW-selain
GenericName[fo]=Alnótsfar
GenericName[fr]=Navigateur web
GenericName[gl]=Navegador Web
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
GenericName[is]=Vafri
GenericName[it]=Browser Web
GenericName[ja]=
GenericName[ko]=
GenericName[lo]=
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Web Pārlūks
GenericName[mk]=Прелистувач на Интернет
GenericName[mn]=Веб-Хөтөч
GenericName[nb]=Nettleser
GenericName[nds]=Nettkieker
GenericName[nl]=Webbrowser
GenericName[nn]=Nettlesar
GenericName[nso]=Seinyakisi sa Web
GenericName[pa]=
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador Web
GenericName[ro]=Navigator de web
GenericName[ru]=Веб-браузер
GenericName[se]=Fierpmádatlogan
GenericName[sk]=Webový prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sr]=Веб претраживач
GenericName[sr@Latn]=Veb pretraživač
GenericName[ss]=Ibrawuza yeWeb
GenericName[sv]=Webbläsare
GenericName[ta]= ி
GenericName[tg]=Тафсиргари вэб
GenericName[th]=
GenericName[tr]=Web Tarayıcı
GenericName[uk]=Навігатор Тенет
GenericName[uz]=Веб-браузер
GenericName[ven]=Buronza ya Webu
GenericName[vi]=Trình duyt Web
GenericName[wa]=Betchteu waibe
GenericName[xh]=Umkhangeli zincwadi we Web
GenericName[zh_CN]=
GenericName[zh_TW]=
GenericName[zu]=Umcingi we-Web
MimeType=text/html
StartupNotify=false
Categories=Application;Network;

18
icecat.install Normal file
View file

@ -0,0 +1,18 @@
post_install () {
update-desktop-database -q
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
update-desktop-database -q
}
post_remove() {
update-desktop-database -q
}
#op=$1
#shift
#$op $*

37
mozconfig Normal file
View file

@ -0,0 +1,37 @@
. $topsrcdir/browser/config/mozconfig
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
#ac_add_options --enable-official-branding
# System libraries
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-png
ac_add_options --with-system-libevent
#ac_add_options --with-system-libvpx
ac_add_options --with-system-icu
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
ac_add_options --enable-system-ffi
#ac_add_options --enable-system-cairo
ac_add_options --enable-system-pixman
# Features
ac_add_options --enable-startup-notification
ac_add_options --enable-pulseaudio
ac_add_options --enable-gstreamer=1.0
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-installer
ac_add_options --disable-debug-symbols
ac_add_options --with-app-basename=icecat
ac_add_options --with-app-name=icecat
# vim:set ft=sh:

9
vendor.js Normal file
View file

@ -0,0 +1,9 @@
// Use LANG environment variable to choose locale
pref("intl.locale.matchOS", true);
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
// Don't disable our bundled extensions in the application directory
pref("extensions.autoDisableScopes", 11);
pref("extensions.shownSelectionUI", true);