93 lines
2.5 KiB
Makefile
93 lines
2.5 KiB
Makefile
# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
|
|
# $FreeBSD$
|
|
|
|
CATEGORIES?= x11-themes kde
|
|
PKGNAMEPREFIX= kde-icons-
|
|
DIST_SUBDIR= KDE
|
|
|
|
MAINTAINER?= ports@FreeBSD.org
|
|
COMMENT?= KDE iconset theme
|
|
|
|
NO_BUILD= yes
|
|
|
|
# default installation directory
|
|
PORT_SHAREDIR?= ${DISTNAME}
|
|
|
|
.ifndef(WITHOUT_RESTRICTIONS)
|
|
RESTRICTED?= It may contain iconic, visual, graphical or other\
|
|
elements that may not be distributed without the\
|
|
consent of either the trademark or the patent holder
|
|
.endif
|
|
|
|
INDEX_FILES= index.desktop index.theme
|
|
|
|
# do not create some dirs
|
|
PLIST_DIR_PATTERN= -v ^\.$$
|
|
PLIST_DIR_PATTERN_EXTRA?= ^\./
|
|
|
|
# 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}
|
|
@if [ -f ${WRKSRC:Q}/${file:Q} ]; then \
|
|
${REINPLACE_CMD} -E \
|
|
-e 's|
|
|
||' \
|
|
-e 's|^Inherits.*$$|Inherits=crystalsvg|' \
|
|
${WRKSRC:Q}/${file:Q} ; \
|
|
fi
|
|
.endfor
|
|
|
|
# annotate what should be installed
|
|
annotate-install:
|
|
# annotate dirs
|
|
@cd ${WRKSRC} ; ${FIND} . -type d ! -empty \
|
|
| ${GREP} -E ${PLIST_DIR_PATTERN} \
|
|
| ${GREP} -E ${PLIST_DIR_PATTERN_EXTRA} \
|
|
| ${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 ${STAGEDIR}${PREFIX:Q}/share/icons/${PORT_SHAREDIR:S/"//g:Q}/\"\1\"|' \
|
|
> ${WRKDIR}/dirs.sh
|
|
# annotate files
|
|
@${CAT} ${WRKDIR}/files.list \
|
|
| ${SED} -E \
|
|
-e 's|^\./(.+)$$|${INSTALL_DATA} ${WRKSRC:Q}/\"\1\" ${STAGEDIR}${PREFIX:Q}/share/icons/${PORT_SHAREDIR:S/"//g:Q}/\"\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}
|
|
|
|
# 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.pre.mk>
|
|
|
|
.if ${ARCH} == "powerpc" && ${PORTNAME} == "crystal-project"
|
|
BROKEN= Does not install on powerpc: syntax error in files.sh
|
|
.endif
|
|
|
|
.include <bsd.port.post.mk>
|