From 68d30ac37a5537b91ee1002879ce279ae7b73bbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 15 Mar 2016 13:14:29 -0300 Subject: iceape: add new package to [libre] --- libre/iceape/PKGBUILD | 169 +++++++++++++++++++++++++++++ libre/iceape/iceape-2.0-lang.patch | 11 ++ libre/iceape/iceape.desktop | 11 ++ libre/iceape/iceape.install | 12 +++ libre/iceape/libre.patch | 211 +++++++++++++++++++++++++++++++++++++ libre/iceape/mozconfig | 42 ++++++++ libre/iceape/rhbz-966424.patch | 23 ++++ 7 files changed, 479 insertions(+) create mode 100644 libre/iceape/PKGBUILD create mode 100644 libre/iceape/iceape-2.0-lang.patch create mode 100644 libre/iceape/iceape.desktop create mode 100644 libre/iceape/iceape.install create mode 100644 libre/iceape/libre.patch create mode 100644 libre/iceape/mozconfig create mode 100644 libre/iceape/rhbz-966424.patch diff --git a/libre/iceape/PKGBUILD b/libre/iceape/PKGBUILD new file mode 100644 index 000000000..a31499946 --- /dev/null +++ b/libre/iceape/PKGBUILD @@ -0,0 +1,169 @@ +# Maintainer: André Silva +# Maintainer: Márcio Silva + +# We're getting this from Debian Sid +_pkgname=seamonkey +pkgname=iceape +epoch=1 +pkgver=2.39 +_brandingrel=1 +pkgrel=1 +pkgdesc="A libre version of Debian Iceape, the internet suite based on SeaMonkey." +arch=(i686 x86_64) +license=(MPL GPL LGPL) +depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification libpulse icu gconf) +makedepends=(unzip zip pkg-config python2 imagemagick wireless_tools yasm mesa autoconf2.13 quilt imake python3 gst-plugins-base) +optdepends=('gst-plugins-base: vorbis decoding, ogg demuxing' + 'gst-plugins-bad: aac, vp8 and opus decoding' + 'gst-plugins-good: webm and mp4 demuxing' + 'gst-plugins-ugly: h.264 decoding') +replaces=("$_pkgname") +conflicts=("$_pkgname") +provides=("$_pkgname") +install=$pkgname.install +url="https://wiki.parabola.nu/$pkgname" +source=("https://archive.mozilla.org/pub/mozilla.org/$_pkgname/releases/$pkgver/source/$_pkgname-$pkgver.source.tar.xz" + "https://repo.parabola.nu/other/$pkgname/${pkgname}_$pkgver-$_brandingrel.branding.tar.xz" + "https://repo.parabola.nu/other/$pkgname/${pkgname}_$pkgver-$_brandingrel.branding.tar.xz.sig" + mozconfig + $pkgname.desktop + $pkgname-2.0-lang.patch + libre.patch + rhbz-966424.patch) +sha256sums=('c871de0a64cb60acf785df0ea3859b729353e5d1e3274947840386766859930e' + '6346bcccd2b46b7767772abd10a31ee74feca5911f41af1d161d38784038b458' + 'SKIP' + 'b1e2b82e1c5c9b967b40b651e5fa7f3d79b71081337c5263a9ad454d0abaf056' + '46ac418fe26937460a36a593d71c8f5cef1288c9e747cac4ec4ca92db56da45d' + 'ab19d10fbd6258aec37ab5e5efb12429814b2c24a1193284a48dd654311b4e2e' + '15128e2bf455b8b1d87a6225a5224f3fe1153cf86787f947ceb9c60917525f00' + '746cb474c5a2c26fc474256e430e035e604b71b27df1003d4af85018fa263f4a') +validpgpkeys=('C92BAA713B8D53D3CAE63FC9E6974752F9704456') # André Silva + +prepare() { + cd "$_pkgname-$pkgver" + + install -m755 -d $pkgname + mv -v "$srcdir"/$pkgname-$pkgver/{branding,extras,patches} $pkgname + + export QUILT_PATCHES=$pkgname/patches + export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' + export QUILT_DIFF_ARGS='--no-timestamps' + + quilt push -av + +# patch -Np1 -i "$srcdir/$pkgname-2.0-lang.patch" + patch -Np1 -i "$srcdir/libre.patch" + + # set up a simple non-animated throbber from the icon + for throbber_target_gif in suite/themes/{classic,modern}/communicator/brand/throbber{,16}-anim.png; do + install -m644 $pkgname/extras/Throbber-small.gif $throbber_target_gif + done + for throbber_target_png in suite/themes/{classic,modern}/communicator/brand/throbber{,16}-single.png; do + install -m644 $pkgname/extras/Throbber-small.png $throbber_target_png + done + + install -m644 $pkgname/extras/preview.png suite/themes/classic +# install -m644 $pkgname/branding/{aboutIce.{js,manifest},ice.{dtd,xhtml}} suite/browser + + # Convert svg file to png and replace seamonkey to iceape icons + _brandingdir=$pkgname/branding + brandingdir=suite/branding/nightly + for i in 16 48; do + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize ${i}x${i}^ -gravity center -extent ${i}x${i} \ + $brandingdir/icons/gtk/default${i}.png + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize ${i}x${i}^ -gravity center -extent ${i}x${i} \ + $brandingdir/icons/gtk/main-window${i}.png + done + + for i in 32 48 64; do + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize ${i}x${i}^ -gravity center -extent ${i}x${i} \ + $brandingdir/content/icon${i}.png + done + + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize 32x32^ -gravity center -extent 32x32 \ + $brandingdir/icons/gtk/default.png + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize 32x32^ -gravity center -extent 32x32 \ + $brandingdir/icons/gtk/main-window.png + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize 128x128^ -gravity center -extent 128x128 \ + $brandingdir/icons/gtk/${pkgname}.png + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize 200x200^ -gravity center -extent 200x200 \ + $brandingdir/content/logo.gif + convert -background none $_brandingdir/${pkgname}_logo_plain.svg \ + -resize 300x280^ -gravity center -extent 300x280 \ + $brandingdir/content/about.png + + # Create app-icons folder for iceape*.png icons + install -m755 -d $_brandingdir/app-icons + + # Icons for /usr/share/icons/hicolor + for i in 16 32 48 64 128; do + convert -background none $_brandingdir/${pkgname}_icon_plain.svg \ + -resize ${i}x${i}^ -gravity center -extent ${i}x${i} \ + $_brandingdir/app-icons/$pkgname${i}.png + done + + cp "${srcdir}/mozconfig" .mozconfig + + # FS#48404 + echo "ac_add_options --enable-gstreamer=1.0" >> .mozconfig + + # https://bugs.archlinux.org/task/41689 + patch -Np1 -d mozilla -i "$srcdir/rhbz-966424.patch" + + # Don't exit with error when some libs are missing which we have in + # system. + sed -i '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' suite/installer/Makefile.in + + # configure script misdetects the preprocessor without an optimization level + sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure + + # 2.26 build fix from wgnie (blfs ch 37) + sed -i 's/$(MOZ_ZLIB_CFLAGS)/& $(MOZ_PIXMAN_CFLAGS)/' config/config.mk +} + +build() { + cd "$_pkgname-$pkgver" + + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname-$pkgver" + export MOZ_MAKE_FLAGS="$MAKEFLAGS" + unset MAKEFLAGS + unset CPPFLAGS + + make -j1 -f client.mk build +} + +package() { + cd "$_pkgname-$pkgver" + + make -j1 -f client.mk DESTDIR="${pkgdir}" install + + rm -rf "$pkgdir"/usr/lib/$pkgname-$pkgver/{dictionaries,hyphenation,searchplugins} + ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$pkgname-$pkgver/dictionaries" + ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$pkgname-$pkgver/hyphenation" + ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$pkgname-$pkgver/searchplugins" + + install -m755 -d "$pkgdir/usr/share/applications" + install -m755 -d "$pkgdir/usr/share/pixmaps" + + _brandingdir=$pkgname/branding + brandingdir=suite/branding/nightly + install -m644 $brandingdir/icons/gtk/iceape.png \ + "$pkgdir/usr/share/pixmaps/" + + for i in 16 32 48 64 128; do + install -Dm644 $_brandingdir/app-icons/$pkgname$i.png "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" + done + install -Dm644 $_brandingdir/${pkgname}_icon_plain.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/$pkgname.svg" + + install -m644 "$srcdir/$pkgname.desktop" "$pkgdir/usr/share/applications/" + + rm -r "$pkgdir"/usr/{include,lib/$pkgname-devel-$pkgver,share/idl} +} diff --git a/libre/iceape/iceape-2.0-lang.patch b/libre/iceape/iceape-2.0-lang.patch new file mode 100644 index 000000000..b9f4a5cde --- /dev/null +++ b/libre/iceape/iceape-2.0-lang.patch @@ -0,0 +1,11 @@ +--- comm-1.9.1/mozilla/modules/libpref/src/init/all.js 2009-10-11 02:12:44.000000000 +0200 ++++ comm-1.9.1/mozilla/modules/libpref/src/init/all.js 2009-09-16 02:56:45.000000000 +0200 +@@ -890,7 +890,7 @@ + pref("intl.charset.detector", "chrome://global/locale/intl.properties"); + pref("intl.charset.default", "chrome://global-platform/locale/intl.properties"); + pref("intl.ellipsis", "chrome://global-platform/locale/intl.properties"); +-pref("intl.locale.matchOS", false); ++pref("intl.locale.matchOS", true); + // fallback charset list for Unicode conversion (converting from Unicode) + // currently used for mail send only to handle symbol characters (e.g Euro, trademark, smartquotes) + // for ISO-8859-1 diff --git a/libre/iceape/iceape.desktop b/libre/iceape/iceape.desktop new file mode 100644 index 000000000..0868e5058 --- /dev/null +++ b/libre/iceape/iceape.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=iceape %u +Icon=iceape +Type=Application +Terminal=false +MultipleArgs=false +Name=Iceape Internet Suite +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;message/rfc822;x-scheme-handler/mailto; +StartupNotify=false +Categories=Application;Network; diff --git a/libre/iceape/iceape.install b/libre/iceape/iceape.install new file mode 100644 index 000000000..709ad81f2 --- /dev/null +++ b/libre/iceape/iceape.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} diff --git a/libre/iceape/libre.patch b/libre/iceape/libre.patch new file mode 100644 index 000000000..18295f438 --- /dev/null +++ b/libre/iceape/libre.patch @@ -0,0 +1,211 @@ +diff --git a/mozilla/browser/locales/en-US/chrome/browser-region/region.properties b/mozilla/browser/locales/en-US/chrome/browser-region/region.properties +index e078ed5..ce2c5ed 100644 +--- a/mozilla/browser/locales/en-US/chrome/browser-region/region.properties ++++ b/mozilla/browser/locales/en-US/chrome/browser-region/region.properties +@@ -3,17 +3,12 @@ + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + # Default search engine +-browser.search.defaultenginename=Google ++browser.search.defaultenginename=searx + + # Search engine order (order displayed in the search bar dropdown)s +-browser.search.order.1=Google +-browser.search.order.2=Yahoo +-browser.search.order.3=Bing +- +-# This is the default set of web based feed handlers shown in the reader +-# selection UI +-browser.contentHandlers.types.0.title=My Yahoo! +-browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s ++browser.search.order.1=searx ++browser.search.order.2=DuckDuckGo HTML ++browser.search.order.3=DuckDuckGo Lite + + # increment this number when anything gets changed in the list below. This will + # cause Firefox to re-read these prefs and inject any new handlers into the +@@ -22,20 +17,10 @@ browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s + # don't make any spelling errors here. + gecko.handlerService.defaultHandlersVersion=4 + +-# The default set of protocol handlers for webcal: +-gecko.handlerService.schemes.webcal.0.name=30 Boxes +-gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s +- +-# The default set of protocol handlers for mailto: +-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail +-gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s +-gecko.handlerService.schemes.mailto.1.name=Gmail +-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s +- + # The default set of protocol handlers for irc: +-gecko.handlerService.schemes.irc.0.name=Mibbit +-gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s ++gecko.handlerService.schemes.irc.0.name=Freenode Web IRC ++gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net + + # The default set of protocol handlers for ircs: +-gecko.handlerService.schemes.ircs.0.name=Mibbit +-gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s ++gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC ++gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net +diff --git a/suite/locales/en-US/chrome/browser/region.properties b/suite/locales/en-US/chrome/browser/region.properties +index 1534dbf..b6377f2 100644 +--- a/suite/locales/en-US/chrome/browser/region.properties ++++ b/suite/locales/en-US/chrome/browser/region.properties +@@ -6,24 +6,13 @@ + # + # all.js + # +-browser.startup.homepage=http://www.seamonkey-project.org/start/ +-browser.throbber.url=http://www.seamonkey-project.org/ ++browser.startup.homepage=about: ++browser.throbber.url=about: + +-browser.translation.service=http://translate.google.com/translate?prev=/language_tools&u= +-browser.translation.serviceDomain=translate.google.com +-browser.validate.html.service=http://validator.w3.org/check?charset=%28detect+automatically%29&doctype=Inline&uri= ++browser.translation.service=about: ++browser.translation.serviceDomain= ++browser.validate.html.service=about: + + #config.js + # +-startup.homepage_override_url=http://www.seamonkey-project.org/releases/seamonkey%VERSION%/ +- +-# This is the default set of web based feed handlers shown in the reader +-# selection UI +-browser.contentHandlers.types.0.title=Feedly +-browser.contentHandlers.types.0.uri=http://www.feedly.com/home#subscription/feed/%s +-browser.contentHandlers.types.1.title=My Yahoo! +-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s +-browser.contentHandlers.types.2.title=AOL Reader +-browser.contentHandlers.types.2.uri=http://reader.aol.com/#quickadd/%s +-browser.contentHandlers.types.3.title=Digg Reader +-browser.contentHandlers.types.3.uri=http://digg.com/reader/search/%s ++startup.homepage_override_url=about: +diff --git a/suite/locales/en-US/chrome/common/region.properties b/suite/locales/en-US/chrome/common/region.properties +index 1766d5d..4e2142e 100644 +--- a/suite/locales/en-US/chrome/common/region.properties ++++ b/suite/locales/en-US/chrome/common/region.properties +@@ -3,13 +3,13 @@ + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + # Default search engine +-browser.search.defaultenginename=Google ++browser.search.defaultenginename=searx + + # Search engine order (order displayed in the search bar dropdown) +-browser.search.order.1=Google +-browser.search.order.2=Yahoo +-browser.search.order.3=DuckDuckGo ++browser.search.order.1=searx ++browser.search.order.2=DuckDuckGo HTML ++browser.search.order.3=DuckDuckGo Lite + + # More information about this update link available in the update wizard. + # Only change this if you are providing localized release notes. +-app.update.url.details=http://www.seamonkey-project.org/releases/ ++app.update.url.details=about: +diff --git a/suite/locales/en-US/chrome/mailnews/region.properties b/suite/locales/en-US/chrome/mailnews/region.properties +index 588802f..c60ed7b 100644 +--- a/suite/locales/en-US/chrome/mailnews/region.properties ++++ b/suite/locales/en-US/chrome/mailnews/region.properties +@@ -6,9 +6,9 @@ + # messenger.properties + # mailnews.js + mailnews.start_page.url=chrome://messenger/content/start.xhtml +-messenger.throbber.url=http://www.seamonkey-project.org/ +-compose.throbber.url=http://www.seamonkey-project.org/ +-addressbook.throbber.url=http://www.seamonkey-project.org/ ++messenger.throbber.url=about: ++compose.throbber.url=about: ++addressbook.throbber.url=about: + # To make mapit buttons to disappear in the addressbook, specify empty string. For example: + # mail.addr_book.mapit_url.format= + # The format for "mail.addr_book.mapit_url.format" is: +diff --git a/suite/locales/en-US/profile/bookmarks.extra b/suite/locales/en-US/profile/bookmarks.extra +index 7d73f86..d29297a 100644 +--- a/suite/locales/en-US/profile/bookmarks.extra ++++ b/suite/locales/en-US/profile/bookmarks.extra +@@ -9,9 +9,7 @@ + +

Search the Web

+

+-

Google +-
Google Groups +-
Google News ++
searx +

+ + #unfilter emptyLines +diff --git a/suite/locales/generic/profile/bookmarks.html.in b/suite/locales/generic/profile/bookmarks.html.in +index 62a9327..6726af9 100644 +--- a/suite/locales/generic/profile/bookmarks.html.in ++++ b/suite/locales/generic/profile/bookmarks.html.in +@@ -15,37 +15,36 @@ Do Not Edit! --> +

+

@personal_toolbarfolder@

+

+-

@seamonkey@ +- @seamonkey_l10n@ +-
@mozilla_org@ +-
@mozillazine@ +-
@mozdev@ ++
Parabola GNU/Linux-libre +

+-

@seamonkey_and_mozilla@

++

Parabola GNU/Linux-libre

+

+-

@seamonkey_long@ +- @seamonkey_l10n_long@ +-

@mozilla_org@

+-

+-

@mozilla_org_long@ +-
@mozilla_projects@ +-
@mozilla_about@ +-

+-

@extend_seamonkey@

+-

+-

@seamonkey_addons@ +-
@seamonkey_themes@ +-
@seamonkey_dictionaries@ +-
@seamonkey_plugins@ +-
@mozdev@ +-
@mozdev_seamonkey@ +-

+-

@community_support@

+-

+-

@seamonkey_community@ +-
@mozillazine@ +-
@seamonkey_support@ +-

++

Parabola GNU/Linux-libre ++
Parabola GNU/Linux-libre Packages ++
Parabola GNU/Linux-libre Wiki ++
Parabola GNU/Linux-libre Labs ++

++

Free Software Foundation

++

++

Free Software Foundation ++
The GNU Operating System and the Free Software Movement ++
LibrePlanet ++
h-node +

+ #include bookmarks.extra +


diff --git a/libre/iceape/mozconfig b/libre/iceape/mozconfig new file mode 100644 index 000000000..c1d8902a9 --- /dev/null +++ b/libre/iceape/mozconfig @@ -0,0 +1,42 @@ +ac_add_options --enable-application=suite + +ac_add_options --prefix=/usr +ac_add_options --libdir=/usr/lib + +# Iceape +ac_add_options --disable-official-branding +ac_add_options --with-branding=suite/branding/nightly + +# 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 --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-ffi +#ac_add_options --enable-system-cairo +ac_add_options --with-pthreads +ac_add_options --enable-system-pixman + +# Features +ac_add_options --enable-startup-notification +ac_add_options --enable-gio +#ac_add_options --disable-gstreamer +ac_add_options --enable-pulseaudio + + +ac_add_options --disable-gnomevfs +ac_add_options --disable-crashreporter +ac_add_options --disable-updater +ac_add_options --disable-tests +ac_add_options --disable-installer + +export MOZILLA_OFFICIAL=1 + +# Parabola features +ac_add_options --disable-safe-browsing diff --git a/libre/iceape/rhbz-966424.patch b/libre/iceape/rhbz-966424.patch new file mode 100644 index 000000000..c4c332e9e --- /dev/null +++ b/libre/iceape/rhbz-966424.patch @@ -0,0 +1,23 @@ +--- a/toolkit/modules/CertUtils.jsm ++++ b/toolkit/modules/CertUtils.jsm +@@ -170,17 +170,19 @@ this.checkCert = + issuerCert = issuerCert.QueryInterface(Ci.nsIX509Cert3); + var tokenNames = issuerCert.getAllTokenNames({}); + + if (!tokenNames || !tokenNames.some(isBuiltinToken)) + throw new Ce(certNotBuiltInErr, Cr.NS_ERROR_ABORT); + } + + function isBuiltinToken(tokenName) { +- return tokenName == "Builtin Object Token"; ++ return tokenName == "Builtin Object Token" || ++ tokenName == "Default Trust" || ++ tokenName == "System Trust"; + } + + /** + * This class implements nsIBadCertListener. Its job is to prevent "bad cert" + * security dialogs from being shown to the user. It is better to simply fail + * if the certificate is bad. See bug 304286. + * + * @param aAllowNonBuiltInCerts (optional) -- cgit v1.2.3-2-g168b