Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 May 2011 16:35:19 -0400
From:      "Mikhail T." <mi+thun@aldan.algebra.com>
To:        gecko@freebsd.org
Subject:   sqlite3 and other already-installed components
Message-ID:  <4DDD6807.5090302@aldan.algebra.com>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------020408050705080202030602
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hello!

As always, I'd like to see more of the already installed components used by the 
Mozilla applications in preference of building their own versions...

The patch below adds sqlite3 to the _ALL_DEPENDS list in bsd.gecko.mk and 
changes mail/thunderbird to build using that (other applications will need 
similar modifications to remove the patching of bundled sqlite3).

For the time being we may still have to use the bundled version of png, because 
graphics/png still builds without APNG-patch by default. But, hopefully, that 
too will change soon.

One flaw of my changes is that due to a problem with Mozilla sources, if 
SpiderMonkey port is already installed, the builds will fail:

    https://bugzilla.mozilla.org/show_bug.cgi?id=553971

I put a check for that condition into the Makefile -- but, if there is interest, 
I can look into fixing the problem in Mozilla's build scripts instead.

Lastly, I'd like to propose, that the desktop/thunderbird-lightning be merged 
into mail/thunderbird -- as an option or even unconditionally. Lightning is 
meaningless without the thunderbird, but building the extension currently 
involves rebuilding the entire tree -- including the js* files and the dreadful 
nsHtml5* sources...

Yours,

    -mi


--------------020408050705080202030602
Content-Type: text/plain;
 name="thunderbird.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="thunderbird.diff"

Index: Mk/bsd.gecko.mk
===================================================================
RCS file: /home/pcvs/ports/Mk/bsd.gecko.mk,v
retrieving revision 1.27
diff -U 2 -r1.27 bsd.gecko.mk
--- Mk/bsd.gecko.mk	22 Mar 2011 15:26:35 -0000	1.27
+++ Mk/bsd.gecko.mk	25 May 2011 20:17:24 -0000
@@ -566,7 +566,11 @@
 
 # Standard depends
-_ALL_DEPENDS=	cairo dbm jpeg nspr nss png xft zip
+_ALL_DEPENDS=	cairo dbm jpeg nspr nss png xft zip sqlite3
 
-cairo_LIB_DEPENDS=	cairo.2:${PORTSDIR}/graphics/cairo
+sqlite3_LIB_DEPENDS=	sqlite3:${PORTSDIR}/databases/sqlite3
+sqlite3_MOZ_OPTIONS=	--enable-system-sqlite
+sqlite3_EXTRACT_AFTER_ARGS=	--exclude mozilla/db/sqlite3
+
+cairo_LIB_DEPENDS=	cairo:${PORTSDIR}/graphics/cairo
 cairo_MOZ_OPTIONS=	--enable-system-cairo
 cairo_EXTRACT_AFTER_ARGS=	--exclude mozilla/gfx/cairo
@@ -574,5 +578,5 @@
 dbm_EXTRACT_AFTER_ARGS=		--exclude mozilla/dbm
 
-jpeg_LIB_DEPENDS=	jpeg.11:${PORTSDIR}/graphics/jpeg
+jpeg_LIB_DEPENDS=	jpeg:${PORTSDIR}/graphics/jpeg
 jpeg_MOZ_OPTIONS=	--with-system-jpeg=${LOCALBASE}
 jpeg_EXTRACT_AFTER_ARGS=	--exclude mozilla/jpeg
@@ -587,9 +591,8 @@
 nss_LDFLAGS+=		-L${LOCALBASE}/lib/nss -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}
 
-
-png_LIB_DEPENDS=	png.6:${PORTSDIR}/graphics/png
+png_LIB_DEPENDS=	png:${PORTSDIR}/graphics/png
 png_MOZ_OPTIONS=	--with-system-png=${LOCALBASE}
 
-xft_LIB_DEPENDS=	Xft.2:${PORTSDIR}/x11-fonts/libXft
+xft_LIB_DEPENDS=	Xft:${PORTSDIR}/x11-fonts/libXft
 zip_DEPENDS=		zip:${PORTSDIR}/archivers/zip
 
Index: mail/thunderbird/Makefile
===================================================================
RCS file: /home/pcvs/ports/mail/thunderbird/Makefile,v
retrieving revision 1.125
diff -U 2 -r1.125 Makefile
--- mail/thunderbird/Makefile	29 Apr 2011 06:37:41 -0000	1.125
+++ mail/thunderbird/Makefile	25 May 2011 20:17:24 -0000
@@ -17,9 +17,11 @@
 
 BUILD_DEPENDS=	nspr>=4.8:${PORTSDIR}/devel/nspr
+BUILD_DEPENDS=	sqlite3>=3.7.4:${PORTSDIR}/databases/sqlite3
+LIB_DEPENDS=	ical:${PORTSDIR}/devel/libical
 
 USE_AUTOTOOLS=	autoconf213
 USE_GECKO=	gecko
 CONFLICTS_INSTALL=	thunderbird-3.0*
-USE_MOZILLA=	-png -nss -dbm -jpeg -xft
+USE_MOZILLA=	yes
 MOZ_TOOLKIT=	cairo-gtk2
 
@@ -54,4 +56,8 @@
 .include <bsd.port.pre.mk>
 
+.if exists(${LOCALBASE}/include/jsapi.h)
+.error	The installed SpiderMonkey headers interfere with the build
+.endif
+
 WRKSRC=		${WRKDIR}/comm-1.9.2
 MOZSRC:=	${WRKSRC}/mozilla
@@ -95,8 +101,6 @@
 post-patch:
 	${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \
-		${MOZSRC}/storage/build/Makefile.in \
-		${MOZSRC}/db/sqlite3/src/Makefile.in
+		${MOZSRC}/storage/build/Makefile.in
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
-		${MOZSRC}/security/manager/ssl/src/Makefile.in \
 		${MOZSRC}/js/src/config/mkdepend/Makefile.in \
 		${MOZSRC}/js/src/config/config.mk
Index: mail/thunderbird/files/patch-directory-sdks-c-sdk-ldap-libraries-libssldap-Makefile.in
===================================================================
RCS file: mail/thunderbird/files/patch-directory-sdks-c-sdk-ldap-libraries-libssldap-Makefile.in
diff -N mail/thunderbird/files/patch-directory-sdks-c-sdk-ldap-libraries-libssldap-Makefile.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ mail/thunderbird/files/patch-directory-sdks-c-sdk-ldap-libraries-libssldap-Makefile.in	25 May 2011 20:17:24 -0000
@@ -0,0 +1,12 @@
+--- directory/sdks/c-sdk/ldap/libraries/libssldap/Makefile.in	2011-04-14 14:37:48.000000000 -0400
++++ directory/sdks/c-sdk/ldap/libraries/libssldap/Makefile.in	2011-05-25 13:32:01.000000000 -0400
+@@ -153,4 +154,9 @@
+ endif
+ 
++ifeq ($(OS_ARCH), FreeBSD))
++EXTRA_LIBS = -L$(dist_libdir) -l$(LDAP_LIBNAME) $(NSSLINK) -lpthread
++CUSTOM_LIBS=1
++endif
++
+ ifeq ($(OS_ARCH), IRIX)
+ EXTRA_LIBS = -L$(dist_libdir) -l$(LDAP_LIBNAME)
Index: mail/thunderbird/files/patch-mozilla-db-sqlite3-src-Makefile.in
===================================================================
RCS file: mail/thunderbird/files/patch-mozilla-db-sqlite3-src-Makefile.in
diff -N mail/thunderbird/files/patch-mozilla-db-sqlite3-src-Makefile.in
--- mail/thunderbird/files/patch-mozilla-db-sqlite3-src-Makefile.in	3 Aug 2010 20:55:28 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- mozilla/db/sqlite3/src/Makefile.in.orig	2008-06-19 11:03:17.000000000 -0500
-+++ mozilla/db/sqlite3/src/Makefile.in	2008-06-19 11:04:15.000000000 -0500
-@@ -45,6 +45,8 @@
- 
- include $(DEPTH)/config/autoconf.mk
- 
-+OS_CFLAGS	 = -I../../../dist/include/sqlite3
-+OS_LIBS		 = %%PTHREAD_LIBS%%
- MODULE           = sqlite3
- LIBRARY_NAME     = sqlite3
- FORCE_SHARED_LIB = 1
Index: mail/thunderbird/files/patch-mozilla-modules-libpr0n-encoders-png-nsPNGEncoder.cpp
===================================================================
RCS file: mail/thunderbird/files/patch-mozilla-modules-libpr0n-encoders-png-nsPNGEncoder.cpp
diff -N mail/thunderbird/files/patch-mozilla-modules-libpr0n-encoders-png-nsPNGEncoder.cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ mail/thunderbird/files/patch-mozilla-modules-libpr0n-encoders-png-nsPNGEncoder.cpp	25 May 2011 20:17:24 -0000
@@ -0,0 +1,9 @@
+--- mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.cpp	2011-04-14 14:37:31.000000000 -0400
++++ mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.cpp	2011-05-25 12:48:45.000000000 -0400
+@@ -136,5 +136,5 @@
+   // initialize
+   mPNG = png_create_write_struct(PNG_LIBPNG_VER_STRING,
+-                                 png_voidp_NULL,
++                                 NULL,
+                                  ErrorCallback,
+                                  ErrorCallback);
Index: mail/thunderbird/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c
===================================================================
RCS file: mail/thunderbird/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c
diff -N mail/thunderbird/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c
--- mail/thunderbird/files/patch-mozilla-security_nss_lib_freebl_mpi_mpcpucache.c	1 Mar 2011 22:27:20 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,43 +0,0 @@
---- mozilla/security/nss/lib/freebl/mpi/mpcpucache.c.orig	2011-02-26 23:13:08.000000000 +0100
-+++ mozilla/security/nss/lib/freebl/mpi/mpcpucache.c	2011-02-26 23:18:46.000000000 +0100
-@@ -733,6 +733,32 @@
- #endif
- 
- #if defined(__ppc64__) 
-+#if defined(__FreeBSD__)
-+#include <sys/stddef.h>
-+#include <sys/sysctl.h>
-+
-+#include <machine/cpu.h>
-+#include <machine/md_var.h>
-+
-+unsigned long
-+s_mpi_getProcessorLineSize()
-+{
-+       static int cacheline_size = 0;
-+       static int cachemib[] = { CTL_MACHDEP, CPU_CACHELINE };
-+       int clen;
-+
-+       if (cacheline_size > 0)
-+               return cacheline_size;
-+
-+       clen = sizeof(cacheline_size);
-+       if (sysctl(cachemib, sizeof(cachemib) / sizeof(cachemib[0]),
-+           &cacheline_size, &clen, NULL, 0) < 0 || !cacheline_size)
-+               return 128; /* guess */
-+
-+       return cacheline_size;
-+}
-+#else /* __FreeBSD__ */
-+
- /*
-  *  Sigh, The PPC has some really nice features to help us determine cache
-  *  size, since it had lots of direct control functions to do so. The POWER
-@@ -786,6 +812,7 @@
-     return 0;
- }
- 
-+#endif /* __FreeBSD__ */
- #define MPI_GET_PROCESSOR_LINE_SIZE_DEFINED 1
- #endif
- 

--------------020408050705080202030602--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4DDD6807.5090302>