aboutsummaryrefslogtreecommitdiffstats
path: root/x11-fm/doublecmd/Makefile
blob: f5e556dad5470221f835683d58a0d5ebb0e1b08b (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# New ports collection makefile for:   doublecmd
# Date created:                01 Oct 2011
# Whom:                        Beñat Gonzalez Etxepare <bbtruk@users.sourceforge.net>
#
# $FreeBSD$
#

PORTNAME=   doublecmd
PORTVERSION=    0.5.1
CATEGORIES= x11-fm
MASTER_SITES=   ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}/Double%20Commander%20Source
DISTNAME=   ${PORTNAME}-${PORTVERSION}-src
DISTFILES=  ${PORTNAME}-${PORTVERSION}-src.tar.gz ${PORTNAME}-help-${PORTVERSION}-src.tar.gz

MAINTAINER= bbtruk@users.sourceforge.net
COMMENT=    A Total Commander like file manager for the X Window System

BUILD_DEPENDS=  lazbuild:${PORTSDIR}/editors/lazarus

BROKEN=     does not build

ONLY_FOR_ARCHS= i386 amd64

USE_DOS2UNIX=   yes
DOS2UNIX_REGEX= .*\.(pas)
USE_GNOME=  desktopfileutils
PLIST=      ${WRKDIR}/pkg-plist
SUB_FILES=  pkg-message
PROJECT_FILE=   src/doublecmd.lpi
LAZBUILD_CMD=   ${LOCALBASE}/bin/lazbuild
WRKSRC=     ${WRKDIR}/${PORTNAME}-${PORTVERSION}
DOCSRC=     ${WRKDIR}/${PORTNAME}-help-${PORTVERSION}

.include <bsd.port.pre.mk>

.if exists(${LOCALBASE}/bin/lazbuild) && exists(${LOCALBASE}/etc/lazbuild.cfg)
.include "${LOCALBASE}/etc/lazbuild.cfg"
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|%%DOCSDIR%%|${DOCSDIR}|g' ${WRKSRC}/src/dmhelpmanager.pas
    @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' -e 's|%%DATADIR%%|${DATADIR}|g' \
        ${WRKSRC}/src/uGlobsPaths.pas
    @${REINPLACE_CMD} -e 's|.GetSize|.Size|g' ${WRKSRC}/src/platform/uClipboard.pas

do-build:
    @cd ${WRKSRC}/components && \
        ${FIND} * -name *.lpk -exec ${LAZBUILD_CMD} --ws=${LCL_PLATFORM} "{}" \;
    @cd ${WRKSRC} && \
        ${LAZBUILD_CMD} --ws=${LCL_PLATFORM} ${PROJECT_FILE}

post-build:
    @${RM} -rf ${DOCSRC}/*/dev-help

pre-install:
    @${RM} -f ${PLIST}

.for FILE in %%DATADIR%%/doublecmd.ext.example \
    %%DATADIR%%/editor.col %%DATADIR%%/twilight.col %%DATADIR%%/pixmaps.txt \
    %%DATADIR%%/default.bar %%DATADIR%%/multiarc.ini bin/doublecmd \
    share/applications/doublecmd.desktop
    @${ECHO_CMD} ${FILE} >> ${PLIST}
.endfor

    @cd ${WRKSRC}/language && \
        ${FIND} * -type f | ${SORT} | ${SED} -e 's|^|%%DATADIR%%/language/|' >> ${PLIST} && \
            ${FIND} * -type d | ${SORT} -r | ${SED} -e 's|^|@dirrm %%DATADIR%%/language/|' >> ${PLIST}
    @${ECHO_CMD} "@dirrm %%DATADIR%%/language" >> ${PLIST}

    @cd ${WRKSRC}/pixmaps && \
        ${FIND} * -type f | ${SORT} | ${SED} -e 's|^|%%DATADIR%%/pixmaps/|' >> ${PLIST} && \
            ${FIND} * -type d | ${SORT} -r | ${SED} -e 's|^|@dirrm %%DATADIR%%/pixmaps/|' >> ${PLIST}
    @${ECHO_CMD} "@dirrm %%DATADIR%%/pixmaps" >> ${PLIST}

    @cd ${WRKSRC}/sdk && \
        ${FIND} * -type f | ${SORT} | ${SED} -e 's|^|%%DATADIR%%/sdk/|' >> ${PLIST} && \
            ${FIND} * -type d | ${SORT} -r | ${SED} -e 's|^|@dirrm %%DATADIR%%/sdk/|' >> ${PLIST}
    @${ECHO_CMD} "@dirrm %%DATADIR%%/sdk" >> ${PLIST}
    @${ECHO_CMD} "@dirrm %%DATADIR%%" >> ${PLIST}

.if !defined(NOPORTDOCS)
    @cd ${DOCSRC} && \
        ${FIND} * -type f | ${SORT} | ${SED} -e 's|^|%%DOCSDIR%%/|' >> ${PLIST} && \
            ${FIND} * -type d | ${SORT} -r | ${SED} -e 's|^|@dirrm %%DOCSDIR%%/|' >> ${PLIST}
    @${ECHO} "@dirrm %%DOCSDIR%%" >> ${PLIST}
.endif

    @${ECHO_CMD} "@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true" >> ${PLIST}
    @${ECHO_CMD} "@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true" >> ${PLIST}

do-install:
.for DIRE in language pixmaps sdk
    @${MKDIR} ${DATADIR}/${DIRE}
    @cd ${WRKSRC}/${DIRE} && \
        ${FIND} * -type d -exec ${MKDIR} "${DATADIR}/${DIRE}/{}" \; && \
            ${FIND} * -type f -exec ${INSTALL_DATA} "{}" "${DATADIR}/${DIRE}/{}" \;
.endfor

.if !defined(NOPORTDOCS)
    @cd ${DOCSRC} && \
        ${FIND} * -type d -exec ${MKDIR} "${DOCSDIR}/{}" \; && \
            ${FIND} * -type f -exec ${INSTALL_DATA} "{}" "${DOCSDIR}/{}" \;
.endif

.for FILE in doublecmd.ext.example editor.col twilight.col pixmaps.txt default.bar multiarc.ini
    ${INSTALL_DATA} ${WRKSRC}/${FILE} ${DATADIR}
.endfor
    ${INSTALL_PROGRAM} ${WRKSRC}/doublecmd ${PREFIX}/bin/${PORTNAME}
    ${INSTALL_DATA} ${WRKSRC}/install/linux/doublecmd.desktop ${PREFIX}/share/applications/doublecmd.desktop

post-install:
    -@update-desktop-database
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>