summaryrefslogtreecommitdiff
path: root/nonprism/icedove
diff options
context:
space:
mode:
Diffstat (limited to 'nonprism/icedove')
-rw-r--r--nonprism/icedove/PKGBUILD153
-rw-r--r--nonprism/icedove/icedove.desktop13
-rw-r--r--nonprism/icedove/icedove.install12
-rw-r--r--nonprism/icedove/libre.patch23
-rw-r--r--nonprism/icedove/mozconfig47
-rw-r--r--nonprism/icedove/vendor.js9
6 files changed, 257 insertions, 0 deletions
diff --git a/nonprism/icedove/PKGBUILD b/nonprism/icedove/PKGBUILD
new file mode 100644
index 000000000..a3d6e697b
--- /dev/null
+++ b/nonprism/icedove/PKGBUILD
@@ -0,0 +1,153 @@
+# Maintainer : André Silva <emulatorman@parabola.nu>
+# Contributor : Márcio Silva <coadde@parabola.nu>
+
+# We're getting this from Debian Sid
+_debname=icedove
+_debver=31.0
+_debrel=deb2
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+pkgname=${_debname}
+epoch=1
+pkgver=${_debver}.${_debrel}
+pkgrel=1.nonprism1
+pkgdesc="A libre version of Debian Icedove, the standalone mail/news reader based on Mozilla Thunderbird, without support for unsafe and dangerous for privacy protocols"
+arch=('i686' 'x86_64' 'mips64el')
+license=('MPL' 'GPL' 'LGPL')
+url="http://packages.debian.org/sid/${pkgname}"
+depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss' 'sqlite' 'startup-notification')
+makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'libpulse' 'autoconf2.13' 'quilt' 'jquery-ui')
+optdepends=('libcanberra: for sound support')
+replaces=('thunderbird' "${pkgname}-libre" "${pkgname}-libre-nonprism")
+conflicts=('thunderbird' "${pkgname}-libre" "${pkgname}-libre-nonprism")
+provides=('thunderbird')
+install=${pkgname}.install
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.xz"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel#deb}.debian.tar.xz"
+ mozconfig
+ libre.patch
+ vendor.js
+ ${pkgname}.desktop)
+options=(!emptydirs)
+md5sums=('1ea1f4340b1ab29a29aed74f4d6197bd'
+ '93495bc2fa6e6887a6d0799b0aac02be'
+ '5f2297712c3dab7b15d7d5c8a6fa22d2'
+ 'e09d0e461c99e348358aa135d5a207a1'
+ '5a53179d14ae9631b7afe5e4d0fc0b25'
+ 'e785e0c267f4435ae1a9aa0b03bcacfb')
+
+prepare() {
+ export DEBIAN_BUILD="comm-esr31"
+
+ export QUILT_PATCHES=debian/patches
+ export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+ export QUILT_DIFF_ARGS='--no-timestamps'
+
+ mv debian "${srcdir}/${DEBIAN_BUILD}"
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ mv debian/${pkgname}-branding "${srcdir}/${DEBIAN_BUILD}/mail/branding/${pkgname}"
+
+ cp -a debian/app-icons/${pkgname}big.svg debian/app-icons/${pkgname}_icon.svg
+ for i in 16x16 22x22 24x24 32x32 48x48 256x256; do
+ install -Dm644 "debian/app-icons/${pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${pkgname}/mailicon${i/x*/}.png"
+ done
+ for i in 48x48 64x64; do
+ install -Dm644 "debian/app-icons/${pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${pkgname}/content/icon${i/x*/}.png"
+ done
+
+ # Fix orthographic issue ("Icdove" to "Icedove") in MOZ_APP_BASENAME line for confvars.sh.
+ sed -i 's|Icdove|Icedove|' debian/patches/debian-hacks/Icedove-branding.patch
+
+ quilt push -av
+
+ # Fix paths on makefile
+ sed -i 's|topsrcdir = [.][.]/[.][.]/[.][.]/|topsrcdir = @top_srcdir@|;
+ s|include $(topsrcdir)/config/autoconf.mk|include $(DEPTH)/config/autoconf.mk|;
+ s|include $(DEPTH)/config/rules.mk|include $(topsrcdir)/config/rules.mk|;
+ ' mail/branding/icedove/Makefile.in
+
+ sed -i 's|topsrcdir = [.][.]/[.][.]/[.][.]/[.][.]|topsrcdir = @top_srcdir@|;
+ s|include $(topsrcdir)/config/autoconf.mk|include $(DEPTH)/config/autoconf.mk|;
+ s|include $(DEPTH)/config/rules.mk|include $(topsrcdir)/config/rules.mk|;
+ ' mail/branding/icedove/locales/Makefile.in
+
+ # Fix package-manifest.in
+ sed -i '\|; Phishing Protection| s|$|\n#ifdef MOZ_SAFE_BROWSING|;
+ \|@BINPATH@/components/url-classifier[.]xpt| s|$|\n#endif|
+ ' mail/installer/package-manifest.in
+
+ # Fix branding
+ sed -i 's|Icedove Mail/News|Icedove|' mail/branding/icedove/locales/en-US/brand.{dtd,properties}
+
+ # Patch and remove anything that's left
+ patch -Np1 -i "$srcdir/libre.patch"
+ # Replace common URLs
+ sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ ' mail/app/profile/all-thunderbird.js
+
+ # Remove support for unsafe and dangerous for privacy protocols
+ sed -i '\|facebook|d
+ \|gtalk|d
+ \|twitter|d
+ ' chat/moz.build
+ sed -i '\|facebook[.]js|d
+ \|facebook[.]manifest|d
+ \|gtalk[.]js|d
+ \|gtalk[.]manifest|d
+ \|twitter[.]js|d
+ \|twitter[.]manifest|d
+ ' mail/installer/package-manifest.in
+ rm -r chat/protocols/{facebook,gtalk,twitter}
+
+ cp "${srcdir}/mozconfig" .mozconfig
+
+ # configure script misdetects the preprocessor without an optimization level
+ # https://bugs.archlinux.org/task/34644
+ sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' mozilla/configure
+
+ # Add symlinks to use jquery files built for us
+ ln -s /usr/share/javascript/jquery/jquery.min.js mail/jquery
+ ln -s /usr/share/javascript/jquery-ui/jquery-ui.min.js mail/jquery
+}
+
+build() {
+ export DEBIAN_BUILD="comm-esr31"
+
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ export LDFLAGS="${LDFLAGS} -Wl,-rpath,/usr/lib/${pkgname}"
+ export PYTHON="/usr/bin/python2"
+
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}"
+}
+
+package() {
+ export DEBIAN_BUILD="comm-esr31"
+
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ make -j1 -f client.mk DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}/vendor.js" "${pkgdir}/usr/lib/${pkgname}/defaults/preferences/vendor.js"
+
+ for i in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256; do
+ install -Dm644 "debian/app-icons/${pkgname}${i/x*/}.png" "${pkgdir}/usr/share/icons/hicolor/$i/apps/${pkgname}.png"
+ done
+ install -Dm644 "debian/app-icons/${pkgname}_icon.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${pkgname}.svg"
+
+ install -Dm644 "${srcdir}/${pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${pkgname}.desktop"
+
+ rm -rf "${pkgdir}"/usr/lib/${pkgname}/{dictionaries,hyphenation,searchplugins}
+ 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/searchplugins "${pkgdir}/usr/lib/${pkgname}/searchplugins"
+
+ # We don't want the development stuff
+ rm -r "${pkgdir}"/usr/{include,lib/${pkgname}-devel,share/idl}
+}
diff --git a/nonprism/icedove/icedove.desktop b/nonprism/icedove/icedove.desktop
new file mode 100644
index 000000000..ef2cd76e9
--- /dev/null
+++ b/nonprism/icedove/icedove.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Name=Icedove
+Comment=Mail & News Reader
+GenericName=Mail Client & News Reader
+Exec=icedove %u
+TryExec=icedove
+Icon=icedove
+Terminal=false
+Type=Application
+Categories=Network;Email;
+MimeType=message/rfc822;x-scheme-handler/mailto;
+StartupNotify=true
diff --git a/nonprism/icedove/icedove.install b/nonprism/icedove/icedove.install
new file mode 100644
index 000000000..4d4a283db
--- /dev/null
+++ b/nonprism/icedove/icedove.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
+}
+
+post_remove() {
+ post_install
+}
diff --git a/nonprism/icedove/libre.patch b/nonprism/icedove/libre.patch
new file mode 100644
index 000000000..495d6bf0d
--- /dev/null
+++ b/nonprism/icedove/libre.patch
@@ -0,0 +1,23 @@
+diff -Nur comm-esr31.orig/mozilla/modules/libpref/src/init/all.js comm-esr31/mozilla/modules/libpref/src/init/all.js
+--- comm-esr31.orig/mozilla/modules/libpref/src/init/all.js 2014-09-03 06:47:59.758285255 -0300
++++ comm-esr31/mozilla/modules/libpref/src/init/all.js 2014-09-03 06:52:11.826590662 -0300
+@@ -4268,19 +4268,6 @@
+ // Number of stack frames to capture in createObjectURL for about:memory.
+ pref("memory.blob_report.stack_frames", 0);
+
+-// comma separated list of domain origins (e.g. https://domain.com) for
+-// providers that can install from their own website without user warnings.
+-// entries are
+-pref("social.whitelist", "https://mozsocial.cliqz.com,https://now.msn.com,https://mixi.jp");
+-// comma separated list of domain origins (e.g. https://domain.com) for
+-// directory websites (e.g. AMO) that can install providers for other sites
+-pref("social.directories", "https://activations.cdn.mozilla.net");
+-// remote-install allows any website to activate a provider, with extended UI
+-// notifying user of installation. we can later pref off remote install if
+-// necessary. This does not affect whitelisted and directory installs.
+-pref("social.remote-install.enabled", true);
+-pref("social.toast-notifications.enabled", true);
+-
+ // Disable idle observer fuzz, because only privileged content can access idle
+ // observers (bug 780507).
+ pref("dom.idle-observers-api.fuzz_time.disabled", true);
diff --git a/nonprism/icedove/mozconfig b/nonprism/icedove/mozconfig
new file mode 100644
index 000000000..3987c2c5a
--- /dev/null
+++ b/nonprism/icedove/mozconfig
@@ -0,0 +1,47 @@
+mk_add_options MOZ_CO_PROJECT=mail
+ac_add_options --enable-application=mail
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# Icedove
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=mail/branding/icedove
+
+# 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 --enable-system-pixman
+ac_add_options --with-pthreads
+
+# Features
+ac_add_options --enable-startup-notification
+ac_add_options --enable-gio
+
+ac_add_options --disable-gstreamer
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+ac_add_options --disable-debug-symbols
+
+# Optimization
+ac_add_options --enable-optimize
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
+# Parabola features
+ac_add_options --disable-safe-browsing
diff --git a/nonprism/icedove/vendor.js b/nonprism/icedove/vendor.js
new file mode 100644
index 000000000..170b505a8
--- /dev/null
+++ b/nonprism/icedove/vendor.js
@@ -0,0 +1,9 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.matchOS", true);
+
+// Disable default mailer checking.
+pref("mail.shell.checkDefaultMail", false);
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);