1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-09 06:51:44 +00:00

Automatically generate TMPPLIST: loosely based on hlserver-cs/Makefile

(myself) and x11-themes/gnome-icons/bsd.gnome-icons.mk (Tom McLaughlin
<tmclaugh@sdf.lonestar.org>) with many changes
This commit is contained in:
Mario Sergio Fujikawa Ferreira 2004-11-15 19:57:11 +00:00
parent 67f4c1309b
commit b4c03f6f70
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=121686

View File

@ -29,6 +29,10 @@ NO_PACKAGE?= ${RESTRICTED}
INDEX_FILES= index.desktop index.theme
# do not install some files
PLIST_FILE_PATTERN= -i -v "(Thumbs\.db|(\.(bak|txt)|/(copying|readme))\$$)"
PLIST_FILE_PATTERN_EXTRA?= .
post-patch:
# correctly inherits crystal per default
.for file in ${INDEX_FILES}
@ -40,15 +44,54 @@ post-patch:
fi
.endfor
do-install:
@${MKDIR} ${PREFIX}/share/icons/${PORT_SHAREDIR}
# create dirs
# annotate what should be installed
annotate-install:
# annotate dirs
@cd ${WRKSRC} ; ${FIND} . -type d ! -empty \
-exec ${MKDIR} -m 0755 \
${PREFIX}/share/icons/${PORT_SHAREDIR}/"{}" \;
# copy files
@cd ${WRKSRC} ; ${FIND} . -type f \
-exec ${INSTALL_DATA} ${WRKSRC}/"{}" \
${PREFIX}/share/icons/${PORT_SHAREDIR}/"{}" \;
| ${SORT} -r \
> ${WRKDIR}/dirs.list
# annotate files
@cd ${WRKSRC} ; ${FIND} . -type f ! -empty \
| ${GREP} -E ${PLIST_FILE_PATTERN} \
| ${GREP} -E ${PLIST_FILE_PATTERN_EXTRA} \
| ${SORT} \
> ${WRKDIR}/files.list
# prepare scripts for installation based on aforementioned annotations
generate-install-scripts:
# annotate dirs
@${CAT} ${WRKDIR}/dirs.list \
| ${SED} -E \
-e 's|^\.|${MKDIR} -m 755 ${PREFIX}/share/icons/${PORT_SHAREDIR:S/"//g}|' \
> ${WRKDIR}/dirs.sh
# annotate files
@${CAT} ${WRKDIR}/files.list \
| ${SED} -E \
-e 's|^\./(.+)$$|${INSTALL_DATA} ${WRKSRC}/\1 ${PREFIX}/share/icons/${PORT_SHAREDIR:S/"//g}/\1|' \
> ${WRKDIR}/files.sh
# generate on the fly packaging lists based on aforementioned annotations
generate-tmpplist:
# annotate files
@${CAT} ${WRKDIR}/files.list \
| ${SED} -E \
-e 's|^\.|share/icons/${PORT_SHAREDIR:S/"//g}|' \
> ${TMPPLIST}
# annotate dirs
@${CAT} ${WRKDIR}/dirs.list \
| ${SED} -E \
-e 's|^\.|@dirrm share/icons/${PORT_SHAREDIR:S/"//g}|' \
>> ${TMPPLIST}
@${ECHO_CMD} \
'@unexec rmdir %D/share/icons 2>/dev/null || true' \
>> ${TMPPLIST}
# use generated installation scripts
install-run-scripts:
.for script in dirs files
@${SH} ${WRKDIR}/${script}.sh
.endfor
do-install: annotate-install generate-install-scripts generate-tmpplist install-run-scripts
.include <bsd.port.mk>