Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Dec 2013 04:00:17 GMT
From:      svn-freebsd-gecko@chruetertee.ch
To:        freebsd-gecko@freebsd.org
Subject:   [SVN-Commit] r1460 - in trunk: . Mk
Message-ID:  <201312190400.rBJ40HIR059806@trillian.chruetertee.ch>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu Dec 19 04:00:17 2013
New Revision: 1460

Log:
remove stuff that accidentally crept in from stash/abandoned branch

Modified:
   trunk/Gecko_TODO
   trunk/Mk/bsd.gecko.mk

Modified: trunk/Gecko_TODO
==============================================================================
--- trunk/Gecko_TODO	Thu Dec 19 03:56:00 2013	(r1459)
+++ trunk/Gecko_TODO	Thu Dec 19 04:00:17 2013	(r1460)
@@ -20,6 +20,7 @@
 - switch to system libxul (needs slaves with common patches);
   a Debian patch to reduce configure time can be useful
 - move duplicated `>=' deps into bsd.gecko.mk (system libxul?)
+- replace FAKEDIR with STAGEDIR
 - get rid of symlink farms for webplugins and xpi-* ports
 
 jbeich:

Modified: trunk/Mk/bsd.gecko.mk
==============================================================================
--- trunk/Mk/bsd.gecko.mk	Thu Dec 19 03:56:00 2013	(r1459)
+++ trunk/Mk/bsd.gecko.mk	Thu Dec 19 04:00:17 2013	(r1460)
@@ -484,6 +484,11 @@
 # PORT_MOZCONFIG		Defaults to ${FILESDIR}/mozconfig.in, but can be
 # 						set to a generic mozconfig included with the port
 #
+# NOGECKO_INSTALL		Don't install the built gecko (most likely for
+# 						testing)
+#
+# NOGECKO_PLIST			Don't create a dynamically-generated playlist
+#
 # NOMOZCONFIG			Don't drop a customized .mozconfig into the build
 # 						directory. Options will have to be specified in
 # 						CONFIGURE_ARGS instead
@@ -497,14 +502,20 @@
 MOZILLA_EXEC_NAME?=${MOZILLA}
 MOZ_RPATH?=	${MOZILLA}
 USE_GNOME+=	libidl desktopfileutils
-USES+=		desktop-file-utils gmake iconv perl5 pkgconfig
+USES+=		gmake iconv perl5 pkgconfig
 USE_PERL5=	build
 USE_XORG=	printproto sm xt xi xext x11 xinerama \
 		ice xproto
 
+NO_STAGE=	yes
+
 MOZILLA_SUFX?=	none
 MOZSRC?=	${WRKSRC}
 WRKSRC?=	${WRKDIR}/mozilla
+FAKEDIR?=	${WRKDIR}/fake
+PLIST?=		${WRKDIR}/plist
+PLISTD?=	${WRKDIR}/plist_dirs
+PLISTF?=	${WRKDIR}/plist_files
 
 MOZ_PIS_DIR?=		lib/${MOZILLA}/init.d
 
@@ -524,9 +535,9 @@
 MOZ_PKGCONFIG_FILES?=	${MOZILLA}-gtkmozembed ${MOZILLA}-js \
 			${MOZILLA}-xpcom ${MOZILLA}-plugin
 
-GNU_CONFIGURE_PREFIX=${STAGEDIR}
 MOZ_EXPORT+=	${CONFIGURE_ENV} \
 				LIBS="${LIBS}" PERL="${PERL}"
+MOZ_OPTIONS+=	--prefix="${FAKEDIR}"
 
 CPPFLAGS+=		-isystem${LOCALBASE}/include
 LDFLAGS+=		-L${LOCALBASE}/lib -Wl,-z,origin -Wl,-rpath,\\$$$\$$$$ORIGIN
@@ -790,7 +801,7 @@
 		-e 's|@LDFLAGS@|${LDFLAGS}|g'		\
 		-e 's|@LIBS@|${LIBS}|g'			\
 		-e 's|@LOCALBASE@|${LOCALBASE}|g'	\
-		-e 's|@STAGEDIR@|${STAGEDIR}|g'		\
+		-e 's|@FAKEDIR@|${FAKEDIR}|g'		\
 		-e 's|@PERL@|${PERL5}|g'			\
 		-e 's|@MOZDIR@|${PREFIX}/lib/${MOZILLA}|g'	\
 		-e 's|%%PREFIX%%|${PREFIX}|g'		\
@@ -798,7 +809,7 @@
 		-e 's|%%LDFLAGS%%|${LDFLAGS}|g'		\
 		-e 's|%%LIBS%%|${LIBS}|g'		\
 		-e 's|%%LOCALBASE%%|${LOCALBASE}|g'	\
-		-e 's|%%STAGEDIR%%|${STAGEDIR}|g'		\
+		-e 's|%%FAKEDIR%%|${FAKEDIR}|g'		\
 		-e 's|%%PERL%%|${PERL5}|g'		\
 		-e 's|%%MOZILLA%%|${MOZILLA}|g'		\
 		-e 's|%%MOZILLA_BIN%%|${MOZILLA_BIN}|g'	\
@@ -971,51 +982,102 @@
 gecko-post-configure:
 	@${ECHO_CMD} "#define JNIIMPORT" >> ${MOZSRC}/mozilla-config.h
 
-pre-install: gecko-moz-pis-pre-install port-pre-install
+pre-install: gecko-moz-pis-pre-install gecko-pre-install port-pre-install gecko-create-plist
 
 .if !target(port-pre-install)
 port-pre-install:
 		@${DO_NADA}
 .endif
 
-gecko-moz-pis-pre-install:
-.if defined(MOZ_PIS_SCRIPTS)
-	${MKDIR} ${STAGEDIR}/${MOZ_PIS_DIR}
-.for moz in ${MOZ_PIS_SCRIPTS}
-	${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${STAGEDIR}/${MOZ_PIS_DIR}
-.endfor
-.endif
-
-post-install: gecko-post-install
-
-gecko-post-install:
+gecko-pre-install:
+.if !defined(NOGECKO_PLIST)
+	@${RM} -rf ${FAKEDIR} ${PLIST} ${PLISTD} ${PLISTF}
+	@${TOUCH} -f ${PLIST} ${PLISTD} ${PLISTF}
+	@cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
+		${MAKEFILE} ${MAKE_ARGS} prefix=${FAKEDIR} ${INSTALL_TARGET}
 .if defined(MOZILLA_SUFX) && ${MOZILLA_SUFX}!="none"
-	${MV} ${STAGEDIR}/bin/${MOZILLA_EXEC_NAME:S/${MOZILLA_SUFX}//} ${STAGEDIR}/bin/${MOZILLA}
-.if exists(${STAGEDIR}/bin/${MOZILLA_EXEC_NAME:S/${MOZILLA_SUFX}//}-config)
-	${MV} ${STAGEDIR}/bin/${MOZILLA_EXEC_NAME:S/${MOZILLA_SUFX}//}-config ${STAGEDIR}/bin/${MOZILLA}-config
+	${MV} ${FAKEDIR}/bin/${MOZILLA_EXEC_NAME:S/${MOZILLA_SUFX}//} ${FAKEDIR}/bin/${MOZILLA}
+.if exists(${FAKEDIR}/bin/${MOZILLA_EXEC_NAME:S/${MOZILLA_SUFX}//}-config)
+	${MV} ${FAKEDIR}/bin/${MOZILLA_EXEC_NAME:S/${MOZILLA_SUFX}//}-config ${FAKEDIR}/bin/${MOZILLA}-config
 .endif
 .for pc in ${MOZ_PKGCONFIG_FILES:S|${MOZILLA_SUFX}||}
 	${SED} -e 's|Requires: ${MOZILLA:S/${MOZILLA_SUFX}//}|Requires: ${MOZILLA}|' \
-	${STAGEDIR}/lib/pkgconfig/${pc}.pc > ${STAGEDIR}/lib/pkgconfig/${pc:S/${MOZILLA:S,${MOZILLA_SUFX},,}/${MOZILLA}/}.pc
-	@${REINPLACE_CMD} -e 's|${STAGEDIR}|${PREFIX}|g' \
-		-e 's|${MOZILLA}-nspr = ${PORTVERSION}|nspr|' \
-		${STAGEDIR}/libdata/pkgconfig/${pc}.pc
+	${FAKEDIR}/lib/pkgconfig/${pc}.pc > ${FAKEDIR}/lib/pkgconfig/${pc:S/${MOZILLA:S,${MOZILLA_SUFX},,}/${MOZILLA}/}.pc
 .endfor
 	@${REINPLACE_CMD} -e 's|${MOZILLA_BIN}|${MOZILLA:S/${MOZILLA_SUFX}//}|; \
 		s|$${progbase}-bin|${MOZILLA:S/${MOZILLA_SUFX}//}-bin|' \
-		-e 's|${STAGEDIR}|${PREFIX}|g' \
-		-i '' $$(${REALPATH} ${STAGEDIR}/bin/${MOZILLA}*)
+		-e 's|${FAKEDIR}|${PREFIX}|g' \
+		-i '' $$(${REALPATH} ${FAKEDIR}/bin/${MOZILLA}*)
 .else
-	@${REINPLACE_CMD} -e 's|${STAGEDIR}|${PREFIX}|g' \
-		-i '' $$(${REALPATH} ${STAGEDIR}/bin/${MOZILLA_EXEC_NAME}*)
+	@${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \
+		-i '' $$(${REALPATH} ${FAKEDIR}/bin/${MOZILLA_EXEC_NAME}*)
 .endif
-	${MV} -f ${STAGEDIR}/lib/pkgconfig ${STAGEDIR}/libdata/ || ${TRUE}
-	${RM} -f ${STAGEDIR}/lib/pkgconfig
+.endif
+
+gecko-create-plist:
+.if !defined(NOGECKO_PLIST)
+# Create the plist
+.for f in ${GECKO_PLIST_PRE_FILES}
+	${ECHO_CMD} ${f} >> ${PLISTF}
+.endfor
+.for f in ${GECKO_PLIST_PRE_DIRS}
+	${ECHO_CMD} "@dirrm ${f}" >> ${PLISTD}
+.endfor
+	${MKDIR} ${FAKEDIR}/libdata
+	${MV} -f ${FAKEDIR}/lib/pkgconfig ${FAKEDIR}/libdata/ || ${TRUE}
+	${RM} -f ${FAKEDIR}/lib/pkgconfig
+.for dir in ${MOZILLA_PLIST_DIRS}
+	@cd ${FAKEDIR}/${dir} && ${FIND} -H -s * ! -type d | \
+		${SED} -e 's|^|${dir}/|' >> ${PLISTF} && \
+		${FIND} -d * -type d | \
+		${SED} -e 's|^|@dirrm ${dir}/|' >> ${PLISTD}
+.endfor
+.for pcfile in ${MOZ_PKGCONFIG_FILES}
+	${ECHO_CMD} "libdata/pkgconfig/${pcfile}.pc" >> ${PLISTF}
+	@${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \
+		-e 's|${MOZILLA}-nspr = ${PORTVERSION}|nspr|' \
+		${FAKEDIR}/libdata/pkgconfig/${pcfile}.pc
+.endfor
+	${CAT} ${PLISTF} | ${SORT} >> ${PLIST}
+	${CAT} ${PLISTD} | ${SORT} -r >> ${PLIST}
+	${ECHO_CMD} "@exec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${PLIST}
+	${ECHO_CMD} "@unexec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${PLIST}
+.endif # !defined(NOGECKO_PLIST)
+
+do-install: gecko-do-install
+
+gecko-do-install:
+.if !defined(NOGECKO_INSTALL)
+.for dir in ${MOZILLA_PLIST_DIRS}
+.if !exists(${PREFIX}/${dir})
+	${MKDIR} ${PREFIX}/${dir}
+.endif
+	${TAR} cf - -C${FAKEDIR}/${dir} -s'|${FAKEDIR}|${PREFIX}|s' . | \
+		${TAR} xof - -C${PREFIX}/${dir}
+.endfor
+.for pcfile in ${MOZ_PKGCONFIG_FILES}
+	${INSTALL_DATA} ${FAKEDIR}/libdata/pkgconfig/${pcfile}.pc \
+		${PREFIX}/libdata/pkgconfig/${pcfile}.pc
+.endfor
+.endif # !defined(NOGECKO_INSTALL)
+
+gecko-moz-pis-pre-install:
+.if defined(MOZ_PIS_SCRIPTS)
+	${MKDIR} ${FAKEDIR}/${MOZ_PIS_DIR}
+.for moz in ${MOZ_PIS_SCRIPTS}
+	${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${FAKEDIR}/${MOZ_PIS_DIR}
+.endfor
+.endif
+
+post-install: gecko-post-install
+
+gecko-post-install:
 .if !defined(PACKAGE_BUILDING) && !defined(NO_MOZPKGINSTALL)
 	@if [ -e ${PKGINSTALL} ] ; then \
-		${SETENV} PKG_PREFIX=${STAGEDIR}${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; \
+		${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; \
 	fi
 .endif
+	@-update-desktop-database
 
 .endif
 .endif



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