diff options
Diffstat (limited to 'nonprism/icedove')
-rw-r--r-- | nonprism/icedove/PKGBUILD | 153 | ||||
-rw-r--r-- | nonprism/icedove/icedove.desktop | 13 | ||||
-rw-r--r-- | nonprism/icedove/icedove.install | 12 | ||||
-rw-r--r-- | nonprism/icedove/libre.patch | 23 | ||||
-rw-r--r-- | nonprism/icedove/mozconfig | 47 | ||||
-rw-r--r-- | nonprism/icedove/vendor.js | 9 |
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); |