aboutsummaryrefslogtreecommitdiffstats
path: root/x11-themes/kde-icons-noia/Makefile.icons
blob: 4f4003c3ed258c3b7a2d9ebd2be525cb2bd84d12 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# 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

USE_REINPLACE=  yes
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

NO_PACKAGE?=    ${RESTRICTED}
.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} \
        '@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>