[Midnightbsd-cvs] mports [24026] trunk/Mk/extensions: use ordering

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Aug 29 11:24:12 EDT 2018


Revision: 24026
          http://svnweb.midnightbsd.org/mports/?rev=24026
Author:   laffer1
Date:     2018-08-29 11:24:12 -0400 (Wed, 29 Aug 2018)
Log Message:
-----------
use ordering

Modified Paths:
--------------
    trunk/Mk/extensions/libtool.mk
    trunk/Mk/extensions/ncurses.mk
    trunk/Mk/extensions/pathfix.mk
    trunk/Mk/extensions/shebangfix.mk
    trunk/Mk/extensions/uniquefiles.mk
    trunk/Mk/extensions/webplugin.mk

Modified: trunk/Mk/extensions/libtool.mk
===================================================================
--- trunk/Mk/extensions/libtool.mk	2018-08-29 15:14:58 UTC (rev 24025)
+++ trunk/Mk/extensions/libtool.mk	2018-08-29 15:24:12 UTC (rev 24026)
@@ -67,7 +67,7 @@
 		-e '/if.*prog.*linkmode.*relink = .*mode/s/||.*;/;/'	\
 		-e 's/|-p|-pg|/|-B*|-fstack-protector*|-fuse-ld=*|-p|-pg|/'
 
-_USES_stage+=	790:patch-lafiles
+_USES_fake+=	790:patch-lafiles
 patch-lafiles:
 .if ${libtool_ARGS:Mkeepla}
 	@${FIND} ${FAKE_DESTDIR} -type f -name '*.la' |			\

Modified: trunk/Mk/extensions/ncurses.mk
===================================================================
--- trunk/Mk/extensions/ncurses.mk	2018-08-29 15:14:58 UTC (rev 24025)
+++ trunk/Mk/extensions/ncurses.mk	2018-08-29 15:24:12 UTC (rev 24026)
@@ -36,6 +36,7 @@
 NCURSESINC=	${NCURSESBASE}/include
 
 .  if exists(${LOCALBASE}/lib/libncurses.so)
+_USES_sanity+=        400:check-depends-ncurses
 check-depends::
 	@${ECHO_CMD} "Dependency error: this port wants the ncurses library from the MidnightBSD"
 	@${ECHO_CMD} "base system. You can't build against it, while a newer"

Modified: trunk/Mk/extensions/pathfix.mk
===================================================================
--- trunk/Mk/extensions/pathfix.mk	2018-08-29 15:14:58 UTC (rev 24025)
+++ trunk/Mk/extensions/pathfix.mk	2018-08-29 15:24:12 UTC (rev 24026)
@@ -3,6 +3,12 @@
 # Lookup in Makefile.in and configure for common incorrect paths and set them
 # to respect BSD hier
 #
+# Feature:	pathfix
+# Usage:	USES=pathfix
+# Valid ARGS:	does not require args
+#
+# 
+
 .if !defined(_INCLUDE_USES_PATHFIX_MK)
 _INCLUDE_USES_PATHFIX_MK=	yes
 
@@ -11,7 +17,7 @@
 .endif
 
 PATHFIX_CMAKELISTSTXT?=	CMakeLists.txt
-.if defined(USE_AUTORECONF)
+.if ${USES:Mautoreconf*}
 PATHFIX_MAKEFILEIN?=	Makefile.am Makefile.in
 .else
 PATHFIX_MAKEFILEIN?=	Makefile.in
@@ -18,13 +24,13 @@
 .endif
 PATHFIX_WRKSRC?=	${WRKSRC}
 
-pre-patch: pathfix-pre-patch
-
-pathfix-pre-patch:
-.if defined(USE_CMAKE)
+_USES_patch+=	190:pathfix
+pathfix:
+.if ${USES:Mcmake*}
 .for file in ${PATHFIX_CMAKELISTSTXT}
 	@${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
 		's|[{]CMAKE_INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
+		s|[{]CMAKE_INSTALL_DATAROOTDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
 		s|[{]INSTALL_LIB_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
 		s|[{]INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
 		s|[{]LIB_DESTINATION[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|g ; \
@@ -53,4 +59,5 @@
 		s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g'
 .endfor
 .endif
+
 .endif

Modified: trunk/Mk/extensions/shebangfix.mk
===================================================================
--- trunk/Mk/extensions/shebangfix.mk	2018-08-29 15:14:58 UTC (rev 24025)
+++ trunk/Mk/extensions/shebangfix.mk	2018-08-29 15:24:12 UTC (rev 24026)
@@ -63,6 +63,13 @@
 ${lang}_OLD_CMD+= /usr/local/bin/${lang}
 .endfor
 
+.for pyver in 2 3
+python_OLD_CMD+= "/usr/bin/env python${pyver}"
+python_OLD_CMD+= /bin/python${pyver}
+python_OLD_CMD+= /usr/bin/python${pyver}
+python_OLD_CMD+= /usr/local/bin/python${pyver}
+.endfor
+
 .for lang in ${SHEBANG_LANG}
 .  if !defined(${lang}_CMD)
 IGNORE+=	missing definition for ${lang}_CMD
@@ -76,8 +83,7 @@
 .  endfor
 .endfor
 
-pre-patch: fix-shebang
-
+_USES_patch+=	210:fix-shebang
 fix-shebang:
 .if defined(SHEBANG_REGEX)
 	@cd ${WRKSRC}; \

Modified: trunk/Mk/extensions/uniquefiles.mk
===================================================================
--- trunk/Mk/extensions/uniquefiles.mk	2018-08-29 15:14:58 UTC (rev 24025)
+++ trunk/Mk/extensions/uniquefiles.mk	2018-08-29 15:24:12 UTC (rev 24026)
@@ -56,6 +56,19 @@
 #				  list of files to be iterated over.
 #				  Default: empty
 #
+# UNIQUE_SUFFIX_TYPES		- A list of TAGS to defined more complex unique
+#				  suffix handling.  It can, for example, handle
+#				  man pages by doing:
+#
+#		UNIQUE_SUFFIX_TYPES+=	SUFFIX_MAN
+#		UNIQUE_SUFFIX_MAN_WITH_EXT=	.[1-9ln]
+#		UNIQUE_SUFFIX_MAN_EXTRA_EXT=	.gz
+#		UNIQUE_FIND_SUFFIX_MAN_FILES=	${EGREP} -he '^man/man[1-9ln]/.*$$' ${TMPPLIST} 2>/dev/null
+#
+#				  The make(1) target that renames the files
+#				  runs before the man pages are compressed,
+#				  this is what the EXTRA_EXT bit is for.
+#
 
 .if !defined(_INCLUDE_USES_UNIQUEFILES_MK)
 _INCLUDE_USES_UNIQUEFILES_MK=	yes
@@ -65,6 +78,8 @@
 UNIQUE_PREFIX_FILES?=	# empty
 UNIQUE_SUFFIX_FILES?=	# empty
 
+UNIQUE_SUFFIX_TYPES+=	SUFFIX
+
 .if ${uniquefiles_ARGS:Mdirs}
 DOCSDIR=	${PREFIX}/share/doc/${UNIQUE_PREFIX}${PORTNAME}
 EXAMPLESDIR=	${PREFIX}/share/examples/${UNIQUE_PREFIX}${PORTNAME}
@@ -89,8 +104,8 @@
 _DO_CONDITIONAL_SYMLINK=	\
 	if [ ! -e ${STAGEDIR}${PREFIX}/$${fname} -a ! -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
 		${ECHO_MSG} "Link: @$${fname} --> $${newf}"; \
-		${LN} -s ${PREFIX}/$${newf} ${STAGEDIR}${PREFIX}/$${fname}; \
-		${ECHO_CMD} LINKED:$${newf}:$${fname} >> ${_UNIQUEPKGLIST}; \
+		${RLN} ${STAGEDIR}${PREFIX}/$${newf} ${STAGEDIR}${PREFIX}/$${fname}; \
+		${ECHO_CMD} LINKED:$${newf}%%EXTRA_EXT%%:$${fname}%%EXTRA_EXT%% >> ${_UNIQUEPKGLIST}; \
 	fi
 .else
 # We are not symlinking the renamed binary.
@@ -97,6 +112,7 @@
 _DO_CONDITIONAL_SYMLINK=	${DO_NADA}
 .endif
 
+_USES_fake+=	775:move-uniquefiles
 move-uniquefiles:
 .if ${UNIQUE_PREFIX_FILES} || ${UNIQUE_FIND_PREFIX_FILES}
 	@${ECHO_MSG} "===> Creating unique files: Move files needing PREFIX";
@@ -108,7 +124,7 @@
 		${ECHO_MSG} "Move: $${fname} --> $${newf}" ; \
 		${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
 		${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \
-		${_DO_CONDITIONAL_SYMLINK}; \
+		${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%//g}; \
 	else \
 		${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \
 		${FALSE}; \
@@ -121,7 +137,7 @@
 			${ECHO_MSG} "Move: $${fname} --> $${newf}" ; \
 			${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
 			${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \
-			${_DO_CONDITIONAL_SYMLINK}; \
+			${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%//g}; \
 		else \
 			${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \
 			${FALSE}; \
@@ -129,39 +145,55 @@
 	done;
 .endif
 
-.if ${UNIQUE_SUFFIX_FILES} || ${UNIQUE_FIND_SUFFIX_FILES}
+.for sufxtype in ${UNIQUE_SUFFIX_TYPES}
+.  if (defined(UNIQUE_${sufxtype}_FILES) && ${UNIQUE_${sufxtype}_FILES}) || \
+     (defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES})
+.    if defined(UNIQUE_${sufxtype}_WITH_EXT) && ${UNIQUE_${sufxtype}_WITH_EXT}
+	@${ECHO_MSG} "===> Creating unique files: Move ${sufxtype:S|SUFFIX_||} files needing SUFFIX";
+.    else
 	@${ECHO_MSG} "===> Creating unique files: Move files needing SUFFIX";
-.endif
-.for entry in ${UNIQUE_SUFFIX_FILES}
+.    endif
+.  endif
+.  for entry in ${UNIQUE_${sufxtype}_FILES}
 	@fname=${entry}; \
+	if [ -n "${UNIQUE_${sufxtype}_EXTRA_EXT}" ]; then \
+		fname=$${fname%${UNIQUE_${sufxtype}_EXTRA_EXT}}; \
+	fi; \
 	if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
-		newf=$${fname%/*}/$${fname##*/}${UNIQUE_SUFFIX}; \
+		ofname=$${fname##*/}; \
+		newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \
 		${ECHO_MSG} "Move: $${fname} --> $${newf}"; \
 		${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
-		${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \
-		${_DO_CONDITIONAL_SYMLINK}; \
+		${ECHO_CMD} MOVED:$${fname}${UNIQUE_${sufxtype}_EXTRA_EXT}:$${newf}${UNIQUE_${sufxtype}_EXTRA_EXT} >> ${_UNIQUEPKGLIST}; \
+		${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%/${UNIQUE_${sufxtype}_EXTRA_EXT}/g}; \
 	else \
 		${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \
 		${FALSE}; \
 	fi;
-.endfor
-.if ${UNIQUE_FIND_SUFFIX_FILES}
-	@for fname in `${UNIQUE_FIND_SUFFIX_FILES}`; do \
+.  endfor
+.  if defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES}
+	@for fname in `${UNIQUE_FIND_${sufxtype}_FILES}`; do \
+		if [ -n "${UNIQUE_${sufxtype}_EXTRA_EXT}" ]; then \
+			fname=$${fname%${UNIQUE_${sufxtype}_EXTRA_EXT}}; \
+		fi; \
 		if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \
-			newf=$${fname%/*}/$${fname##*/}${UNIQUE_SUFFIX}; \
+			ofname=$${fname##*/}; \
+			newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \
 			${ECHO_MSG} "Move: $${fname} --> $${newf}"; \
 			${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \
-			${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \
-			${_DO_CONDITIONAL_SYMLINK}; \
+			${ECHO_CMD} MOVED:$${fname}${UNIQUE_${sufxtype}_EXTRA_EXT}:$${newf}${UNIQUE_${sufxtype}_EXTRA_EXT} >> ${_UNIQUEPKGLIST}; \
+			${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%/${UNIQUE_${sufxtype}_EXTRA_EXT}/g}; \
 		else \
 			${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \
 			${FALSE}; \
 		fi; \
 	done;
-.endif
+.  endif
+.endfor
 
 # Using .if exists(${_UNIQUEPKGPLIST} below instead of the sh test
 # does not work in poudriere. It works fine on the CLI, though...
+_USES_fake+=	950:move-uniquefiles-plist
 move-uniquefiles-plist:
 	@if [ -e ${_UNIQUEPKGLIST} ]; then \
 		orgIFS=$$IFS; IFS=":"; while read command entry newentry; do \

Modified: trunk/Mk/extensions/webplugin.mk
===================================================================
--- trunk/Mk/extensions/webplugin.mk	2018-08-29 15:14:58 UTC (rev 24025)
+++ trunk/Mk/extensions/webplugin.mk	2018-08-29 15:24:12 UTC (rev 24026)
@@ -55,7 +55,6 @@
 #	[...]
 #	%%WEBPLUGIN_DIR%%/fooplugin.so
 #	%%WEBPLUGIN_DIR%%/fooplugin.xpi
-#	@dirrmtry %%WEBPLUGIN_DIR%%
 #	------------------------------------------------------
 #
 # Here is what it will look like when it creates the symlinks:
@@ -94,7 +93,6 @@
 #	lib/application/fooplugin.la
 #	lib/application/fooplugin.so
 #	lib/application/fooplugin.xpi
-#	@dir lib/application
 #	------------------------------------------------------
 #
 # Here is what it will look like when it creates symlinks:
@@ -115,19 +113,17 @@
 _WEBPLUGIN_APPS_ALL=		${_WEBPLUGIN_APPS_ALL_LINUX} \
 				${_WEBPLUGIN_APPS_ALL_NATIVE}
 
-webplugin_ARGS?=	all
-_WEBPLUGIN_ARGS=	${webplugin_ARGS:C/,/ /}
 _WEBPLUGIN_TEST=	${_WEBPLUGIN_APPS_ALL}
-.if ${_WEBPLUGIN_ARGS} == all
+.if ${webplugin_ARGS} == all || empty(webplugin_ARGS)
 _WEBPLUGIN_PATTERN=	*
-.elif ${_WEBPLUGIN_ARGS} == native
+.elif ${webplugin_ARGS} == native
 _WEBPLUGIN_PATTERN=	*
 _WEBPLUGIN_TEST=	${_WEBPLUGIN_APPS_ALL_NATIVE}
-.elif ${_WEBPLUGIN_ARGS} == linux
+.elif ${webplugin_ARGS} == linux
 _WEBPLUGIN_PATTERN=	*
 _WEBPLUGIN_TEST=	${_WEBPLUGIN_APPS_ALL_LINUX}
 .else
-_WEBPLUGIN_PATTERN=	${_WEBPLUGIN_ARGS}
+_WEBPLUGIN_PATTERN=	${webplugin_ARGS}
 .endif
 
 .if !defined(WEBPLUGIN_FILES)
@@ -165,18 +161,18 @@
 WEBPLUGIN_DIR?=		${_WEBPLUGIN_LIBDIR:S,^${LOCALBASE}/,${PREFIX}/,}/${WEBPLUGIN_NAME}
 
 PLIST_SUB+=		WEBPLUGIN_DIR="${WEBPLUGIN_DIR:S,^${PREFIX}/,,}"
+.for d in ${_WEBPLUGIN_LINKFARMS}
+.for l in ${WEBPLUGIN_FILES}
+PLIST_FILES+=	${d}/${l}
+.endfor
+.endfor
 
+_USES_install+=	600:webplugin-post-install
 webplugin-post-install:
-	@${ECHO_CMD} "@cwd ${LOCALBASE}" >> ${TMPPLIST}
 .for d in ${_WEBPLUGIN_LINKFARMS}
-	${INSTALL} -d ${STAGEDIR}${d}
+	${MKDIR} ${STAGEDIR}${d}
 .for l in ${WEBPLUGIN_FILES}
 	${LN} -sf ${l:S,^,${WEBPLUGIN_DIR}/,} ${STAGEDIR}${d}/
-	@${ECHO_CMD} "${d:S,^${LOCALBASE}/,,}/${l:T}" >> ${TMPPLIST}
 .endfor
-	@${ECHO_CMD} "@unexec rmdir ${d:S,^${LOCALBASE},%D,} 2>/dev/null || true" >> ${TMPPLIST}
 .endfor
-	@${ECHO_CMD} "@unexec rmdir ${_WEBPLUGIN_SLDIR:S,^${LOCALBASE},%D,} 2>/dev/null || true" >> ${TMPPLIST}
-	@${ECHO_CMD} "@unexec rmdir ${_WEBPLUGIN_LIBDIR:S,^${LOCALBASE},%D,} 2>/dev/null || true" >> ${TMPPLIST}
-
 .endif



More information about the Midnightbsd-cvs mailing list