summaryrefslogtreecommitdiff
path: root/libre/icedove-libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre/icedove-libre')
-rw-r--r--libre/icedove-libre/.directory2
-rw-r--r--libre/icedove-libre/PKGBUILD59
-rw-r--r--libre/icedove-libre/channel-prefs.js9
-rw-r--r--libre/icedove-libre/clrf.patch260
-rw-r--r--libre/icedove-libre/gcc47.patch63
-rw-r--r--libre/icedove-libre/mozconfig33
-rw-r--r--libre/icedove-libre/replace-urls.txt25
7 files changed, 73 insertions, 378 deletions
diff --git a/libre/icedove-libre/.directory b/libre/icedove-libre/.directory
deleted file mode 100644
index ef6a156b3..000000000
--- a/libre/icedove-libre/.directory
+++ /dev/null
@@ -1,2 +0,0 @@
-[Dolphin]
-Timestamp=2012,5,10,17,26,4
diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD
index 5ea3ff98f..b16e32620 100644
--- a/libre/icedove-libre/PKGBUILD
+++ b/libre/icedove-libre/PKGBUILD
@@ -3,7 +3,7 @@
# We're getting this from Debian Experimental
_debname=icedove
-_debver=17.0.2
+_debver=17.0.5
_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -12,10 +12,10 @@ _pkgname=${_debname}
pkgname=${_debname}-libre
pkgver=${_debver}.${_debrel}
pkgrel=1
-pkgdesc="A libre version of Debian Icedove, the Standalone Mail/News reader based on Mozilla Thunderbird."
-arch=('i586' 'i686' 'x86_64' 'mips64el')
-license=('GPL2' 'MPL' 'LGPL')
-url="http://packages.debian.org/source/experimental/${_pkgname}"
+pkgdesc="A libre version of Debian Icedove, the standalone mail/news reader based on Mozilla Thunderbird."
+arch=('i686' 'x86_64' 'mips64el')
+license=('MPL' 'GPL' 'LGPL')
+url="http://packages.debian.org/experimental/${_pkgname}"
depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss' 'sqlite' 'startup-notification')
makedepends=('unzip-libre' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt')
optdepends=('libcanberra: for sound support')
@@ -26,33 +26,35 @@ install=${_pkgname}.install
source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
"${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz"
mozconfig
- channel-prefs.js
+ replace-urls.txt
vendor.js
makefile.patch
branding.patch
${_pkgname}.desktop
Icedove-branding.patch)
options=(!emptydirs)
-md5sums=('3f7679bb98ae99be5adf73fd0025b00e'
- '7440def324766bcc61b91185226f8824'
- 'd6d58d3104a44624e0a3d227cdf1c211'
- '476ec205162340fb0679f522c9d31c3b'
+md5sums=('0c68298c17757257da79b6bb39e3fd10'
+ 'eb2a5e1877d87a16e10388f533c081a6'
+ '5cf95ea94f69cdd36604890cfbf7b954'
+ 'a8fc4658d45b6bf9350023e5c3f34e56'
'4eecc4fc5aafaf0da651a09eadc90bee'
'c4ed43e85945e180a89cce03e45ec62c'
'126b1446212396c33220936c01d9592d'
'e785e0c267f4435ae1a9aa0b03bcacfb'
'ea5f7a06967f561d47d7e5c35b23de6f')
-build() {
+prepare() {
+ export DEBIAN_BUILD="comm-esr17"
+
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
export QUILT_DIFF_ARGS='--no-timestamps'
- export LDFLAGS="${LDFLAGS} -Wl,--as-needed,-rpath,/usr/lib/${_pkgname}"
- export PYTHON="/usr/bin/python2"
- export DEBIAN_BUILD="comm-release"
+
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"
@@ -61,7 +63,7 @@ build() {
install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}/content/icon${i/x*/}.png"
done
- # This patch has a orthographic issue ("Icdove" instead of "Icedove") in MOZ_APP_BASENAME line for confvars.sh
+ # This patch has a orthographic issue ("Icdove" instead of "Icedove") in MOZ_APP_BASENAME line for confvars.sh.
rm -v debian/patches/debian-hacks/Icedove-branding.patch || true
quilt push -av
@@ -70,7 +72,30 @@ build() {
patch -Np1 -i "${srcdir}/branding.patch" # fixing branding
patch -Np1 -i "${srcdir}/Icedove-branding.patch" # debian patch fixed version
+ # Replace common URLs
+ sed '/^#/d' ../replace-urls.txt | while read -r moz_url gnu_url; do
+ if [[ -n $moz_url ]]; then
+ printf 'liberating: %s -> %s\n' "$moz_url" "$gnu_url"
+ grep -Erl "${moz_url}" \
+ --exclude='*.'{patch,orig,rej} \
+ --exclude-dir={.pc,test,tests,testing} \
+ | xargs -d '\n' --no-run-if-empty sed -ri "s<${moz_url}<${gnu_url}<g"
+ fi
+ done
+
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/' configure
+}
+
+build() {
+ 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}"
}
@@ -81,9 +106,6 @@ package() {
install -Dm644 "${srcdir}/vendor.js" "${pkgdir}/usr/lib/${_pkgname}/defaults/preferences/vendor.js"
- # Recommend free addons
- install -m644 "${srcdir}/channel-prefs.js" "${pkgdir}/usr/lib/${_pkgname}/defaults/pref/channel-prefs.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
@@ -96,6 +118,7 @@ package() {
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/libre/icedove-libre/channel-prefs.js b/libre/icedove-libre/channel-prefs.js
deleted file mode 100644
index 13b1ba388..000000000
--- a/libre/icedove-libre/channel-prefs.js
+++ /dev/null
@@ -1,9 +0,0 @@
-//@line 2 "/build/src/comm-release/mail/app/profile/channel-prefs.js"
-pref("app.update.channel", "default");
-
-//Recommend free addons
-pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html");
-pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html");
-pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html");
-pref("extensions.getMoreThemesURL", "http://www.gnu.org/software/gnuzilla/addons.html");
-pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html");
diff --git a/libre/icedove-libre/clrf.patch b/libre/icedove-libre/clrf.patch
deleted file mode 100644
index 375708ac4..000000000
--- a/libre/icedove-libre/clrf.patch
+++ /dev/null
@@ -1,260 +0,0 @@
-diff -Nur comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp
---- comm-release.orig/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-03-12 23:37:12.000000000 -0300
-+++ comm-release/mailnews/base/search/src/nsMsgSearchAdapter.cpp 2012-05-07 12:33:58.517612453 -0300
-@@ -688,7 +688,7 @@
- PL_strcat(encoding, "{");
- lengthStr.AppendInt((PRInt32) strlen(value));
- PL_strcat(encoding, lengthStr.get());
-- PL_strcat(encoding, "}"CRLF);
-+ PL_strcat(encoding, "}" CRLF);
- PL_strcat(encoding, value);
- return NS_OK;
- }
-diff -Nur comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp
---- comm-release.orig/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/base/src/nsMsgFolderCompactor.cpp 2012-05-07 12:41:08.003264793 -0300
-@@ -753,7 +753,7 @@
- }
- }
- }
--#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK
-+#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK
-
- // if status offset isn't in the first block, this code won't work. There's no good reason
- // for the status offset not to be at the beginning of the message anyway.
-@@ -1203,7 +1203,7 @@
- // check if there's an envelope header; if not, write one.
- if (strncmp(m_dataBuffer, "From ", 5))
- {
-- m_fileStream->Write("From "CRLF, 7, &bytesWritten);
-+ m_fileStream->Write("From " CRLF, 7, &bytesWritten);
- m_offlineMsgSize += bytesWritten;
- }
- }
-diff -Nur comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp comm-release/mailnews/compose/src/nsSmtpProtocol.cpp
---- comm-release.orig/mailnews/compose/src/nsSmtpProtocol.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/compose/src/nsSmtpProtocol.cpp 2012-05-07 12:44:43.127347489 -0300
-@@ -1722,7 +1722,7 @@
- {
- m_sendDone = PR_TRUE;
- nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
-- SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server.
-+ SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server.
- m_nextState = SMTP_RESPONSE;
- m_nextStateAfterResponse = SMTP_DONE;
- return(0);
-@@ -1969,7 +1969,7 @@
- {
- nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
- // send a quit command to close the connection with the server.
-- if (SendData(url, "QUIT"CRLF) == NS_OK)
-+ if (SendData(url, "QUIT" CRLF) == NS_OK)
- {
- m_nextState = SMTP_RESPONSE;
- m_nextStateAfterResponse = SMTP_ERROR_DONE;
-diff -Nur comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp comm-release/mailnews/imap/src/nsImapMailFolder.cpp
---- comm-release.orig/mailnews/imap/src/nsImapMailFolder.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/imap/src/nsImapMailFolder.cpp 2012-05-07 12:48:29.417179064 -0300
-@@ -8298,7 +8298,7 @@
- bool needMoreData = false;
- char * newLine = nsnull;
- PRUint32 numBytesInLine = 0;
-- const char *envelope = "From "CRLF;
-+ const char *envelope = "From " CRLF;
- offlineStore->Write(envelope, strlen(envelope), &bytesWritten);
- fileSize += bytesWritten;
- do
-diff -Nur comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp comm-release/mailnews/imap/src/nsImapProtocol.cpp
---- comm-release.orig/mailnews/imap/src/nsImapProtocol.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/imap/src/nsImapProtocol.cpp 2012-05-07 15:45:58.551202719 -0300
-@@ -1410,7 +1410,7 @@
- {
- // PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages();
- nsCAutoString commandBuffer(GetServerCommandTag());
-- commandBuffer.Append(" IDLE"CRLF);
-+ commandBuffer.Append(" IDLE" CRLF);
-
- do
- {
-@@ -3290,7 +3290,7 @@
- commandString.Append(messageIds);
- commandString.Append(" (");
- commandString.Append(attribute);
-- commandString.Append(")"CRLF);
-+ commandString.Append(")" CRLF);
- nsresult rv = SendData(commandString.get());
-
- if (NS_SUCCEEDED(rv))
-@@ -5283,7 +5283,7 @@
-
- IncrementCommandTagNumber();
- nsCAutoString command(GetServerCommandTag());
-- command.Append(" expunge"CRLF);
-+ command.Append(" expunge" CRLF);
-
- nsresult rv = SendData(command.get());
- if (NS_SUCCEEDED(rv))
-@@ -5359,7 +5359,7 @@
- command.Append(gAppName);
- command.Append("\" \"version\" \"");
- command.Append(gAppVersion);
-- command.Append("\")"CRLF);
-+ command.Append("\")" CRLF);
-
- nsresult rv = SendData(command.get());
- if (NS_SUCCEEDED(rv))
-@@ -5816,7 +5816,7 @@
- nsCAutoString correctedPassword;
- EscapeUserNamePasswordString(password.get(), &correctedPassword);
- command.Append(correctedPassword);
-- command.Append("\""CRLF);
-+ command.Append("\"" CRLF);
- rv = SendData(command.get(), PR_TRUE /* suppress logging */);
- NS_ENSURE_SUCCESS(rv, rv);
- ParseIMAPandCheckForNewMail();
-@@ -7446,7 +7446,7 @@
- nsCString command(GetServerCommandTag());
- command += " create \"";
- command += escapedName;
-- command += "\""CRLF;
-+ command += "\"" CRLF;
-
- nsresult rv = SendData(command.get());
- if(NS_SUCCEEDED(rv))
-@@ -7549,7 +7549,7 @@
- nsCString command (GetServerCommandTag());
- command += " lsub \"\" \"";
- command += escapedPattern;
-- command += "\""CRLF;
-+ command += "\"" CRLF;
-
- PR_Free(boxnameWithOnlineDirectory);
-
-@@ -7578,7 +7578,7 @@
- command += useXLIST ?
- " xlist \"\" \"" : " list \"\" \"";
- command += escapedPattern;
-- command += "\""CRLF;
-+ command += "\"" CRLF;
-
- PR_Free(boxnameWithOnlineDirectory);
-
-@@ -7599,7 +7599,7 @@
- nsCString command (GetServerCommandTag());
- command += " subscribe \"";
- command += escapedName;
-- command += "\""CRLF;
-+ command += "\"" CRLF;
-
- nsresult rv = SendData(command.get());
- if (NS_SUCCEEDED(rv))
-@@ -7617,7 +7617,7 @@
- nsCString command (GetServerCommandTag());
- command += " unsubscribe \"";
- command += escapedName;
-- command += "\""CRLF;
-+ command += "\"" CRLF;
-
- nsresult rv = SendData(command.get());
- if (NS_SUCCEEDED(rv))
-@@ -7631,7 +7631,7 @@
- if (m_urlInProgress)
- return;
- nsCAutoString command (GetServerCommandTag());
-- command += " IDLE"CRLF;
-+ command += " IDLE" CRLF;
- nsresult rv = SendData(command.get());
- if (NS_SUCCEEDED(rv))
- {
-@@ -7658,7 +7658,7 @@
- nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream);
- if (asyncInputStream)
- asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull);
-- nsresult rv = SendData("DONE"CRLF);
-+ nsresult rv = SendData("DONE" CRLF);
- // set a short timeout if we don't want to wait for a response
- if (m_transport && !waitForResponse)
- m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5);
-@@ -7727,8 +7727,8 @@
- PRUint32 msgsHandled = 0;
- const char *formatString;
- formatString = (idsAreUid)
-- ? "%s uid store %s %s"CRLF
-- : "%s store %s %s"CRLF;
-+ ? "%s uid store %s %s" CRLF
-+ : "%s store %s %s" CRLF;
-
- do
- {
-diff -Nur comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp
---- comm-release.orig/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/imap/src/nsImapServerResponseParser.cpp 2012-05-07 12:57:22.050615120 -0300
-@@ -185,7 +185,7 @@
-
- NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' &&
- *aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string");
-- bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF);
-+ bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF);
- if (sendingIdleDone)
- fWaitingForMoreClientInput = PR_FALSE;
-
-diff -Nur comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp comm-release/mailnews/local/src/nsPop3Protocol.cpp
---- comm-release.orig/mailnews/local/src/nsPop3Protocol.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/local/src/nsPop3Protocol.cpp 2012-05-07 12:59:45.857182813 -0300
-@@ -2483,7 +2483,7 @@
- return(MK_OUT_OF_MEMORY);
- m_pop3ConData->next_state_after_response = POP3_GET_LIST;
- m_listpos = 0;
-- return SendData(m_url, "LIST"CRLF);
-+ return SendData(m_url, "LIST" CRLF);
- }
-
-
-diff -Nur comm-release.orig/mailnews/mime/src/mimedrft.cpp comm-release/mailnews/mime/src/mimedrft.cpp
---- comm-release.orig/mailnews/mime/src/mimedrft.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/mime/src/mimedrft.cpp 2012-05-07 13:01:42.912022177 -0300
-@@ -1473,7 +1473,7 @@
- *newbody = 0;
- PL_strcatn(newbody, newbodylen, "<PRE>");
- PL_strcatn(newbody, newbodylen, body);
-- PL_strcatn(newbody, newbodylen, "</PRE>"CRLF);
-+ PL_strcatn(newbody, newbodylen, "</PRE>" CRLF);
- PR_Free(body);
- body = newbody;
- }
-diff -Nur comm-release.orig/mailnews/mime/src/mimemult.cpp comm-release/mailnews/mime/src/mimemult.cpp
---- comm-release.orig/mailnews/mime/src/mimemult.cpp 2012-03-12 23:37:13.000000000 -0300
-+++ comm-release/mailnews/mime/src/mimemult.cpp 2012-05-07 13:04:41.511265477 -0300
-@@ -280,7 +280,7 @@
- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
- MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\""));
- MimeWriteAString(obj, fileName);
-- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
-+ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
- MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: "));
- MimeWriteAString(obj, obj->options->state->detachedFilePath);
- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
-@@ -293,10 +293,10 @@
- status = MimeWriteAString(obj, header);
- if (status < 0)
- return status;
-- status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK));
-+ status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK));
- MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: "));
- MimeWriteAString(obj, fileName);
-- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\""));
-+ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "X-Mozilla-Altered: AttachmentDeleted; date=\""));
- }
- nsCString result;
- char timeBuffer[128];
-@@ -306,8 +306,8 @@
- "%a %b %d %H:%M:%S %Y",
- &now);
- MimeWriteAString(obj, nsDependentCString(timeBuffer));
-- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
-- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK));
-+ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
-+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK));
- MimeHeaders_write_raw_headers(mult->hdrs, obj->options, PR_FALSE);
- }
- PRInt32 old_nchildren = container->nchildren;
diff --git a/libre/icedove-libre/gcc47.patch b/libre/icedove-libre/gcc47.patch
deleted file mode 100644
index 115d65131..000000000
--- a/libre/icedove-libre/gcc47.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc comm-release/mozilla/ipc/chromium/src/base/file_util.cc
---- comm-release.orig/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:38:11.474783536 +0000
-+++ comm-release/mozilla/ipc/chromium/src/base/file_util.cc 2012-04-03 18:43:29.218995578 +0000
-@@ -8,7 +8,7 @@
- #include <io.h>
- #endif
- #include <stdio.h>
--#if defined(ANDROID)
-+#if defined(ANDROID) || defined(OS_POSIX)
- #include <unistd.h>
- #endif
-
-diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc
---- comm-release.orig/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:38:11.381450924 +0000
-+++ comm-release/mozilla/ipc/chromium/src/base/file_util_linux.cc 2012-04-03 18:43:29.218995578 +0000
-@@ -5,6 +5,9 @@
- #include "base/file_util.h"
-
- #include <fcntl.h>
-+#if defined(ANDROID) || defined(OS_POSIX)
-+#include <unistd.h>
-+#endif
-
- #include <string>
- #include <vector>
-diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc
---- comm-release.orig/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:38:11.438117153 +0000
-+++ comm-release/mozilla/ipc/chromium/src/base/message_pump_libevent.cc 2012-04-03 18:43:29.218995578 +0000
-@@ -6,6 +6,9 @@
-
- #include <errno.h>
- #include <fcntl.h>
-+#if defined(ANDROID) || defined(OS_POSIX)
-+#include <unistd.h>
-+#endif
-
- #include "eintr_wrapper.h"
- #include "base/logging.h"
-diff -Nur comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc comm-release/mozilla/ipc/chromium/src/base/time_posix.cc
---- comm-release.orig/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:38:11.418117308 +0000
-+++ comm-release/mozilla/ipc/chromium/src/base/time_posix.cc 2012-04-03 18:43:29.218995578 +0000
-@@ -14,6 +14,8 @@
- #include <time.h>
- #endif
-
-+#include <unistd.h>
-+
- #include <limits>
-
- #include "base/basictypes.h"
-diff -Nur comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in comm-release/mozilla/toolkit/crashreporter/client/Makefile.in
---- comm-release.orig/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:38:56.101105510 +0000
-+++ comm-release/mozilla/toolkit/crashreporter/client/Makefile.in 2012-04-03 18:43:29.218995578 +0000
-@@ -69,6 +69,9 @@
- $(STDCXX_COMPAT) \
- $(NULL)
-
-+# Needed for moz_free
-+LIBS += -L$(LIBXUL_DIST)/lib -lmozalloc
-+
- ifeq ($(OS_ARCH),WINNT)
- CPPSRCS += crashreporter_win.cpp
- LIBS += \
diff --git a/libre/icedove-libre/mozconfig b/libre/icedove-libre/mozconfig
index 58f8ce24f..4f90cb58a 100644
--- a/libre/icedove-libre/mozconfig
+++ b/libre/icedove-libre/mozconfig
@@ -4,6 +4,10 @@ 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
@@ -16,7 +20,7 @@ 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-cairo
ac_add_options --enable-system-pixman
ac_add_options --with-pthreads
@@ -37,28 +41,5 @@ ac_add_options --enable-optimize
export MOZILLA_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
-# Parabola
-export BUILD_OFFICIAL=1
-mk_add_options BUILD_OFFICIAL=1
-
-# Debian
-export MAIL_PKG_SHARED=1
-mk_add_options MAIL_PKG_SHARED=1
-ac_add_options --disable-official-branding
-ac_add_options --with-branding=mail/branding/icedove
-ac_add_options --enable-extensions=default
-ac_add_options --with-default-mozilla-five-home=/usr/lib/icedove
-ac_add_options --disable-javaxpcom
-ac_add_options --disable-elf-dynstr-gc
-ac_add_options --disable-strip
-ac_add_options --disable-strip-libs
-ac_add_options --disable-install-strip
-ac_add_options --enable-pango
-ac_add_options --enable-xft
-ac_add_options --enable-xinerama
-ac_add_options --enable-svg
-ac_add_options --enable-svg-renderer=cairo
-ac_add_options --enable-canvas
-ac_add_options --enable-crypto
-ac_add_options --enable-shared-js
-ac_add_options --enable-readline
+# Parabola features
+ac_add_options --disable-safe-browsing
diff --git a/libre/icedove-libre/replace-urls.txt b/libre/icedove-libre/replace-urls.txt
new file mode 100644
index 000000000..fc13e32fb
--- /dev/null
+++ b/libre/icedove-libre/replace-urls.txt
@@ -0,0 +1,25 @@
+# These are replaced in order, so if one is a subset of another, the smaller one should be last
+# These are whitespace-separated EREs, comments are lines starting with '#'
+
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/dictionaries/?(\?[^"']*)? https://parabolagnulinux.org/packages/\?repo=Extra\&q=hunspell-
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/plugins/?(\?[^"']*)? https://gnuzilla.gnu.org/plugins/
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/personas/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/recommended/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/search-engines/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html#search%20engines
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/search/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/themes/?(\?[^"']*)? https://www.gnu.org/software/gnuzilla/addons.html#themes
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/?(\?[^"']*)?" https://www.gnu.org/software/gnuzilla/addons.html"
+https?://addons\.mozilla\.org/((%LOCALE%|@AB_CD@|en-US|ru)/)?([a-zA-Z%-]+)/?(\?[^"']*)?$ https://www.gnu.org/software/gnuzilla/addons.html
+
+https://addons.mozilla.org/firefox/collections/mozilla/webdeveloper/ https://www.gnu.org/software/gnuzilla/addons.html
+
+https?://services\.addons\.mozilla\.org/(%LOCALE%|@AB_CD@|en-US|ru)/([a-zA-Z%-]+)/ https://www.gnu.org/software/gnuzilla/addons.html#bogus-services.\2/
+
+https?://pfs\.mozilla\.org/plugins/PluginFinderService\.php https://gnuzilla.gnu.org/plugins/PluginFinderService.php
+#https?://versioncheck\.addons\.mozilla\.org/update/VersionCheck\.php
+#https?://versioncheck-bg\.addons\.mozilla\.org/update/VersionCheck\.php
+
+"https?://addons\.mozilla\.org/" "https://www.gnu.org/software/gnuzilla/addons.html"
+
+# hack: these aren't URLs, per se
+(addonsBrowseAll\.description\s*=.*)addons\.mozilla\.org \1gnu.org/software/gnuzilla/addons.html