aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/opendx/Makefile
blob: bc1493622a7dd7436c132d99716e57a2bf0a33b6 (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
# Created by: Thomas Gellekum <tg@FreeBSD.org>
# $FreeBSD$

PORTNAME=   opendx
PORTVERSION=    4.4.4
PORTREVISION=   28
CATEGORIES= graphics math java
MASTER_SITES=   http://www.sfr-fresh.com/unix/misc/
DISTNAME=   dx-${PORTVERSION}

MAINTAINER= stephen@FreeBSD.org
COMMENT=    IBM's Open Visualization Data Explorer

LICENSE=    IBM-OVDX-v1
LICENSE_NAME=   IBM PUBLIC LICENSE - Open Visualization Data Explorer VERSION 1.0
LICENSE_FILE=   ${WRKSRC}/LICENSE
LICENSE_PERMS=  dist-mirror dist-sell pkg-mirror pkg-sell auto-accept

LIB_DEPENDS=    libMagickWand-6.so:graphics/ImageMagick6    \
        libtiff.so:graphics/tiff        \
        libcdf.so:science/cdf           \
        libXp.so:x11/libXp

MAKE_JOBS_UNSAFE=   yes
USES=       bison compiler:c++17-lang gmake libtool motif
USE_XORG=   x11 xt xinerama xext xpm xmu sm ice
USE_GL=     gl glu
GNU_CONFIGURE=  yes
CONFIGURE_ARGS= --enable-shared
USE_LDCONFIG=   yes
CONFIGURE_ENV=  ARCH=freebsd
CPPFLAGS+=  ${CXXFLAGS} -I${LOCALBASE}/include
LDFLAGS+=   -L${LOCALBASE}/lib
NO_MTREE=   yes
PLIST_SUB=  ARCH=freebsd
PKGMESSAGE= ${WRKDIR}/pkg-message

.if defined(WITH_HDF) && !defined(WITHOUT_NETCDF)
IGNORE= HDF and NETCDF are conflicting
.endif

.if defined(WITH_HDF)
LIB_DEPENDS+=   libmfhdf.so:science/hdf
.else
CONFIGURE_ARGS+=    --without-hdf
.endif

.if !defined(WITHOUT_NETCDF)
LIB_DEPENDS+=   libnetcdf.so:science/netcdf
.else
CONFIGURE_ARGS+=    --without-netcdf
.endif

.if defined(WITH_JAVA)
ONLY_FOR_ARCHS= i386
USE_JAVA=   yes
JAVA_VERSION=   1.6+
BUILD_DEPENDS+= ${JAVALIBDIR}/npcosmop211.jar:graphics/cosmoplayer
RUN_DEPENDS+=   ${JAVALIBDIR}/npcosmop211.jar:graphics/cosmoplayer
CONFIGURE_ARGS+=    --with-cosmojar-path=${JAVALIBDIR}/npcosmop211.jar \
            --with-java40jar-path=${JAVALIBDIR}/java40.jar \
            --with-jni-path=${JAVA_HOME}/include:${JAVA_HOME}/include/freebsd
PLIST_SUB+= JAVA=""
DIR2PRUNE=  dx/java/user dx/java/server/nets
.else
CONFIGURE_ARGS+=    --without-javadx
PLIST_SUB+= JAVA="@comment "
.endif

PLIST_SUB+= UNAMEP=${ARCH}

.include <bsd.port.pre.mk>

post-patch:
    @${RM} ${WRKSRC}/include/stamp-h.in
.for dir in doc help html man
    @${FIND} ${WRKSRC}/${dir} -type f | ${XARGS} \
        ${REINPLACE_CMD} -e "s;/usr/lpp;${PREFIX};g"
.endfor
    @${REINPLACE_CMD} -e "s;/usr/X11R6;${LOCALBASE};g" \
        ${WRKSRC}/configure
    @${REINPLACE_CMD} -e "s|startserver.bat||" \
        ${WRKSRC}/src/uipp/java/server/Makefile.in
    @${REINPLACE_CMD} -e 's|$$(ARCH)|@ARCH@|' \
        ${WRKSRC}/src/misc/Makefile.*
    @${REINPLACE_CMD} -e 's/void exit (int);/[[noreturn]] void exit (int);/' \
        ${WRKSRC}/configure
    for f in `find ${WRKSRC} -name "*.bm"`; do \
        if [ $${f%/*} != "${WRKSRC}/src/uipp/widgets" ]; then \
                ${REINPLACE_CMD} -E 's/0x(..)/static_cast<char>(0x\1)/g' $$f; \
                ${REINPLACE_CMD} -E 's/static unsigned char/static char/g' $$f; \
        fi; \
    done

post-install:
    @${CP} ${FILESDIR}/pkg-message.in ${PKGMESSAGE}
.if defined(WITH_JAVA)
    ${CHMOD} 0775 ${STAGEDIR}${PREFIX}/dx/java/server/nets
    ${TOUCH} ${DIR2PRUNE:S|^|${STAGEDIR}${PREFIX}/|:S|$|/.keepme|}
    @${ECHO} "---------------------------------------------------------"    \
        >> ${PKGMESSAGE}
    @${ECHO} "Before starting ${PREFIX}/dx/java/server/bin/startserver" \
        >> ${PKGMESSAGE}
    @${ECHO} "you must install the port graphics/opendx-samples."       \
        >> ${PKGMESSAGE}
.endif
    @${ECHO} "---------------------------------------------------------"    \
        >> ${PKGMESSAGE}

.include <bsd.port.post.mk>