[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