# New ports collection makefile for:	support skeleton Makefile
# Date created:		Thu Feb 19 23:17:56 UTC 2004
# Whom:			Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
#
# $FreeBSD$
#

CATEGORIES?=	x11-themes kde
PKGNAMEPREFIX=	kde-icons-
DIST_SUBDIR=	KDE

MAINTAINER?=	lioux@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_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_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 ${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\" ${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}
# annotate dirs
	@${CAT} ${WRKDIR}/dirs.list \
		| ${SED} -E \
			-e 's|^\.|@dirrm share/icons/${PORT_SHAREDIR:S/"//g}|' \
			>> ${TMPPLIST}
	@${ECHO_CMD} \
		'@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

post-install:
	@${CAT} ${PKGMESSAGE}

.include <bsd.port.mk>