[SVN-Commit] r1458 - in trunk: . Mk

svn-freebsd-gecko at chruetertee.ch svn-freebsd-gecko at chruetertee.ch
Thu Dec 19 03:55:43 UTC 2013


Author: jbeich
Date: Thu Dec 19 03:55:35 2013
New Revision: 1458

Log:
(incomplete) replace FAKEDIR with STAGEDIR

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

Modified: trunk/Gecko_TODO
==============================================================================
--- trunk/Gecko_TODO	Thu Dec 19 03:44:16 2013	(r1457)
+++ trunk/Gecko_TODO	Thu Dec 19 03:55:35 2013	(r1458)
@@ -20,7 +20,6 @@
 - 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:44:16 2013	(r1457)
+++ trunk/Mk/bsd.gecko.mk	Thu Dec 19 03:55:35 2013	(r1458)
@@ -484,11 +484,6 @@
 # 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
@@ -502,20 +497,14 @@
 MOZILLA_EXEC_NAME?=${MOZILLA}
 MOZ_RPATH?=	${MOZILLA}
 USE_GNOME+=	libidl desktopfileutils
-USES+=		gmake iconv perl5 pkgconfig
+USES+=		desktop-file-utils 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
 
@@ -535,9 +524,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
@@ -801,7 +790,7 @@
 		-e 's|@LDFLAGS@|${LDFLAGS}|g'		\
 		-e 's|@LIBS@|${LIBS}|g'			\
 		-e 's|@LOCALBASE@|${LOCALBASE}|g'	\
-		-e 's|@FAKEDIR@|${FAKEDIR}|g'		\
+		-e 's|@STAGEDIR@|${STAGEDIR}|g'		\
 		-e 's|@PERL@|${PERL5}|g'			\
 		-e 's|@MOZDIR@|${PREFIX}/lib/${MOZILLA}|g'	\
 		-e 's|%%PREFIX%%|${PREFIX}|g'		\
@@ -809,7 +798,7 @@
 		-e 's|%%LDFLAGS%%|${LDFLAGS}|g'		\
 		-e 's|%%LIBS%%|${LIBS}|g'		\
 		-e 's|%%LOCALBASE%%|${LOCALBASE}|g'	\
-		-e 's|%%FAKEDIR%%|${FAKEDIR}|g'		\
+		-e 's|%%STAGEDIR%%|${STAGEDIR}|g'		\
 		-e 's|%%PERL%%|${PERL5}|g'		\
 		-e 's|%%MOZILLA%%|${MOZILLA}|g'		\
 		-e 's|%%MOZILLA_BIN%%|${MOZILLA_BIN}|g'	\
@@ -982,102 +971,51 @@
 gecko-post-configure:
 	@${ECHO_CMD} "#define JNIIMPORT" >> ${MOZSRC}/mozilla-config.h
 
-pre-install: gecko-moz-pis-pre-install gecko-pre-install port-pre-install gecko-create-plist
+pre-install: gecko-moz-pis-pre-install port-pre-install
 
 .if !target(port-pre-install)
 port-pre-install:
 		@${DO_NADA}
 .endif
 
-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} ${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}|' \
-	${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|${FAKEDIR}|${PREFIX}|g' \
-		-i '' $$(${REALPATH} ${FAKEDIR}/bin/${MOZILLA}*)
-.else
-	@${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g' \
-		-i '' $$(${REALPATH} ${FAKEDIR}/bin/${MOZILLA_EXEC_NAME}*)
-.endif
-.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}
+	${MKDIR} ${STAGEDIR}/${MOZ_PIS_DIR}
 .for moz in ${MOZ_PIS_SCRIPTS}
-	${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${FAKEDIR}/${MOZ_PIS_DIR}
+	${INSTALL_SCRIPT} ${WRKDIR}/${moz} ${STAGEDIR}/${MOZ_PIS_DIR}
 .endfor
 .endif
 
 post-install: gecko-post-install
 
 gecko-post-install:
+.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
+.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
+.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}*)
+.else
+	@${REINPLACE_CMD} -e 's|${STAGEDIR}|${PREFIX}|g' \
+		-i '' $$(${REALPATH} ${STAGEDIR}/bin/${MOZILLA_EXEC_NAME}*)
+.endif
+	${MV} -f ${STAGEDIR}/lib/pkgconfig ${STAGEDIR}/libdata/ || ${TRUE}
+	${RM} -f ${STAGEDIR}/lib/pkgconfig
 .if !defined(PACKAGE_BUILDING) && !defined(NO_MOZPKGINSTALL)
 	@if [ -e ${PKGINSTALL} ] ; then \
-		${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; \
+		${SETENV} PKG_PREFIX=${STAGEDIR}${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL; \
 	fi
 .endif
-	@-update-desktop-database
 
 .endif
 .endif


More information about the freebsd-gecko mailing list