summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <andre@pc-01.localdomain>2012-05-11 03:08:16 -0300
committerAndré Fabian Silva Delgado <andre@pc-01.localdomain>2012-05-11 03:08:16 -0300
commit273e89fb3bf4b72a79e9ea718db793a237eec962 (patch)
treea227d4101f557f12a179643578d6994976b5a8d8
parent597d9843a20e95d2ff30c1553b92ea441f90d3de (diff)
downloadabslibre-273e89fb3bf4b72a79e9ea718db793a237eec962.tar.gz
abslibre-273e89fb3bf4b72a79e9ea718db793a237eec962.tar.bz2
abslibre-273e89fb3bf4b72a79e9ea718db793a237eec962.zip
iceape-libre: A libre version of Debian Iceape, the internet suite based on Mozilla Seamonkey.
-rw-r--r--libre/iceape-libre/PKGBUILD81
-rw-r--r--libre/iceape-libre/clrf.patch260
-rw-r--r--libre/iceape-libre/gcc47.patch63
-rw-r--r--libre/iceape-libre/gnuzilla-addons.patch27
-rw-r--r--libre/iceape-libre/iceape-2.0-lang.patch11
-rw-r--r--libre/iceape-libre/iceape.desktop11
-rw-r--r--libre/iceape-libre/iceape.install12
-rw-r--r--libre/iceape-libre/mozconfig55
8 files changed, 520 insertions, 0 deletions
diff --git a/libre/iceape-libre/PKGBUILD b/libre/iceape-libre/PKGBUILD
new file mode 100644
index 000000000..21afdb6ef
--- /dev/null
+++ b/libre/iceape-libre/PKGBUILD
@@ -0,0 +1,81 @@
+# Maintainer : Márcio Silva <coadde@adinet.com.uy>
+# Maintainer : André Silva <andre.paulista@adinet.com.uy>
+
+# We're getting this from Debian Sid
+_debname=iceape
+_debver=2.7.4
+_debrel=1
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_pkgname=${_debname}
+pkgname=${_debname}-libre
+pkgver=${_debver}
+pkgrel=1
+pkgdesc="A libre version of Debian Iceape, the internet suite based on Mozilla Seamonkey."
+arch=('i586' 'i686' 'x86_64' 'mips64el')
+license=('GPL2' 'MPL' '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')
+makedepends=('unzip-libre' 'zip' 'pkg-config' 'python2' 'python2-ply' 'librsvg' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt')
+replaces=('mozilla' 'seamonkey')
+conflicts=('seamonkey')
+provides=('seamonkey')
+install=$_pkgname.install
+url="http://packages.debian.org/source/sid/${_pkgname}"
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz"
+ mozconfig
+ ${_pkgname}.desktop
+ ${_pkgname}-2.0-lang.patch
+ gcc47.patch
+ clrf.patch
+ gnuzilla-addons.patch)
+md5sums=('aedc7546db1fdc50cc9c5f21a7ad6138'
+ '46908aec059166ac48592a8119badf3e'
+ '3cbbe74f467e6d23f7fde508b30c139f'
+ '0e981f6ce32fbe6407fe18a591bd3b41'
+ '25b6fe16ac24cd5c852213e5c1adb272'
+ '94d5cd599ccc4438f192d8daabf98b6a'
+ 'c395d443a8c4c16880c7322bcf174743'
+ 'a1da44f87b8f86fd5a810bbe14e983e8')
+
+build() {
+ 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 comm-esr10 "${DEBIAN_BUILD}"
+ mv debian "${srcdir}/${DEBIAN_BUILD}"
+ cd "${srcdir}/${DEBIAN_BUILD}"
+ quilt push -av
+
+ patch -Np1 -i "$srcdir/$_pkgname-2.0-lang.patch"
+ patch -Np1 -i "$srcdir/gcc47.patch"
+ patch -Np1 -i "$srcdir/clrf.patch"
+ patch -Np1 -i "$srcdir/gnuzilla-addons.patch"
+
+ cp "${srcdir}/mozconfig" .mozconfig
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}"
+}
+
+package() {
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ make -j1 -f client.mk DESTDIR="${pkgdir}" install
+
+ 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"
+
+ install -m755 -d "$pkgdir/usr/share/applications"
+ install -m755 -d "$pkgdir/usr/share/pixmaps"
+ install -m644 moz-objdir/debian/branding/icons/gtk/iceape.png \
+ "$pkgdir/usr/share/pixmaps/"
+ install -m644 "$srcdir/$_pkgname.desktop" "$pkgdir/usr/share/applications/"
+
+ rm -f "$pkgdir/usr/lib/pkgconfig/"$_pkgname-ns{s,pr}.pc
+ rm -r "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl}
+}
diff --git a/libre/iceape-libre/clrf.patch b/libre/iceape-libre/clrf.patch
new file mode 100644
index 000000000..375708ac4
--- /dev/null
+++ b/libre/iceape-libre/clrf.patch
@@ -0,0 +1,260 @@
+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/iceape-libre/gcc47.patch b/libre/iceape-libre/gcc47.patch
new file mode 100644
index 000000000..115d65131
--- /dev/null
+++ b/libre/iceape-libre/gcc47.patch
@@ -0,0 +1,63 @@
+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/iceape-libre/gnuzilla-addons.patch b/libre/iceape-libre/gnuzilla-addons.patch
new file mode 100644
index 000000000..2838d120b
--- /dev/null
+++ b/libre/iceape-libre/gnuzilla-addons.patch
@@ -0,0 +1,27 @@
+diff -Nur comm-release.orig/suite/browser/browser-prefs.js comm-release/suite/browser/browser-prefs.js
+--- comm-release.orig/suite/browser/browser-prefs.js 2012-05-10 21:14:04.000000000 -0300
++++ comm-release/suite/browser/browser-prefs.js 2012-05-10 21:27:58.263131342 -0300
+@@ -587,10 +587,10 @@
+ // Preferences for AMO integration
+ pref("extensions.getAddons.cache.enabled", true); // also toggles personalized recommendations
+ pref("extensions.getAddons.maxResults", 15);
+-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/seamonkey/api/%API_VERSION%/search/guid:%IDS%?src=seamonkey&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%");
+-pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/seamonkey/search?q=%TERMS%");
+-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/seamonkey/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=seamonkey");
+-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/seamonkey/discovery/pane/%VERSION%/%OS%");
++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.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html");
+
+ // getMoreThemes is used by our UI under our switch theme menu
+ pref("extensions.getMoreThemesURL", "chrome://branding/locale/brand.properties");
+@@ -716,7 +715,7 @@
+ #endif
+
+ // plugin finder service url
+-pref("pfs.datasource.url", "https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%");
++pref("pfs.datasource.url", "http://www.gnu.org/software/gnuzilla/addons.html");
+ pref("plugins.update.url", "http://www.mozilla.com/%LOCALE%/plugincheck/");
+ pref("plugins.update.notifyUser", false);
+ pref("plugins.hide_infobar_for_outdated_plugin", false);
diff --git a/libre/iceape-libre/iceape-2.0-lang.patch b/libre/iceape-libre/iceape-2.0-lang.patch
new file mode 100644
index 000000000..b9f4a5cde
--- /dev/null
+++ b/libre/iceape-libre/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-libre/iceape.desktop b/libre/iceape-libre/iceape.desktop
new file mode 100644
index 000000000..0c7d63353
--- /dev/null
+++ b/libre/iceape-libre/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-libre/iceape.install b/libre/iceape-libre/iceape.install
new file mode 100644
index 000000000..709ad81f2
--- /dev/null
+++ b/libre/iceape-libre/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/mozconfig b/libre/iceape-libre/mozconfig
new file mode 100644
index 000000000..ce4403d3b
--- /dev/null
+++ b/libre/iceape-libre/mozconfig
@@ -0,0 +1,55 @@
+ac_add_options --enable-application=suite
+
+ac_add_options --prefix=/usr
+
+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
+
+# Features
+ac_add_options --enable-startup-notification
+ac_add_options --disable-safe-browsing
+ac_add_options --enable-gio
+
+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
+
+# Optimization
+ac_add_options --enable-optimize
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir
+
+# Debian
+ac_add_options --with-default-mozilla-five-home=/usr/lib/iceape
+ac_add_options --enable-default-toolkit=cairo-gtk2
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=debian/branding
+ac_add_options --enable-pango
+ac_add_options --enable-svg
+ac_add_options --enable-mathml
+ac_add_options --disable-pedantic
+ac_add_options --disable-long-long-warning
+ac_add_options --disable-debug
+ac_add_options --enable-canvas
+ac_add_options --enable-extensions="default,-venkman,-inspector"
+ac_add_options --disable-elf-dynstr-gc
+ac_add_options --disable-strip
+ac_add_options --disable-install-strip
+ac_add_options --enable-crypto
+ac_add_options --disable-javaxpcom