aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/OpenEXR/Makefile
blob: 7b36008fb3bdf9a34bfbae6904c9cad2b4912122 (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
# Created by: nork@FreeBSD.org
# $FreeBSD$

PORTNAME=   OpenEXR
PORTVERSION=    2.2.0
PORTREVISION=   8
CATEGORIES= graphics devel
MASTER_SITES=   SAVANNAH/openexr/:dist \
        LOCAL/mandree/:test
DISTNAME=   openexr-${DISTVERSION}
DISTFILES=  ${DISTNAME}${EXTRACT_SUFX}:dist \
        openexr-2.2.0-comp_dwa-test-images.tar.xz:test

MAINTAINER= mandree@FreeBSD.org
COMMENT=    High dynamic-range (HDR) image file format

LICENSE=    BSD3CLAUSE

# exact version required to avoid hard-to-debug issues
LIB_DEPENDS=    libImath-2_2.so.12:graphics/ilmbase

WRKSRC=     ${WRKDIR}/${DISTNAME}

USES=       compiler:features gmake libtool pathfix pkgconfig
GNU_CONFIGURE=  yes
CONFIGURE_ARGS= --disable-ilmbasetest --enable-imfexamples
USE_LDCONFIG=   yes
TEST_TARGET=    check

CPPFLAGS+=  -I. -I../IlmImf
# must be linked with -l{thr|pthread} explicitly
LDFLAGS+=   -lpthread

PORTDOCS=   *
PORTEXAMPLES=   *

DOCSRCDIR1= ${WRKSRC}
DOC_FILES1= AUTHORS ChangeLog NEWS README

DOCSRCDIR2= ${WRKSRC}/doc
DOCSDIR2=   ${DOCSDIR}/doc
DOC_FILES2= *.pdf

OPTIONS_DEFINE=     DOCS EXAMPLES LARGE_STACK
LARGE_STACK_DESC=   Enable sys-dependant large stack optimizations

OPTIONS_SUB=    yes

LARGE_STACK_CONFIGURE_ENABLE=   large-stack

.include <bsd.port.pre.mk>

.if ${ARCH} == powerpc
USE_GCC=    yes
.endif

MAJORVER=   2_2
VER=        22

PLIST_SUB=  MAJORVER=${MAJORVER}
PLIST_SUB+= VER=${VER}

post-patch:
    @${REINPLACE_CMD} -e 's|== x|= x|g' ${WRKSRC}/configure
    @${REINPLACE_CMD} \
        -e 's|$$(datadir)/doc/OpenEXR-@OPENEXR_VERSION@/examples|$$(prefix)/share/examples/${PORTNAME}|' \
        ${WRKSRC}/IlmImfExamples/Makefile.in
    @${REINPLACE_CMD} -e 's|$$(datadir)/doc/OpenEXR-@OPENEXR_VERSION@||' \
        -e 's|$$(EXTRA_DIST)||' \
        ${WRKSRC}/doc/Makefile.am ${WRKSRC}/doc/Makefile.in

# too many reports about compilation failures, so sanity check C++
# library
_ilm_libcxx=${COMPILER_FEATURES:Mlib*c++}
pre-configure:
    @${READELF} -d ${LOCALBASE}/lib/libImath.so \
    | ${EGREP} -q '\<NEEDED\>.*\[${_ilm_libcxx:C/\+/\\+/g}\.' \
    || {    ${ECHO_CMD} "*** Your ilmbase package uses a different C++ standard library than ***" ; \
        ${ECHO_CMD} "*** OpenEXR would. Please recompile and reinstall ilmbase with the  ***" ; \
        ${ECHO_CMD} "*** same C++ std. library before trying to build OpenEXR.  Abort.   ***" ; \
        exit 1; }

post-install:
    ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libIlmImf-${MAJORVER}.so.${VER} \
        ${STAGEDIR}${PREFIX}/lib/libIlmImfUtil-${MAJORVER}.so.${VER}

post-install-DOCS-on:
    @${MKDIR} ${STAGEDIR}${DOCSDIR}
    ${INSTALL_DATA} ${DOC_FILES1:S|^|${DOCSRCDIR1}/|} ${STAGEDIR}${DOCSDIR}
    @${MKDIR} ${STAGEDIR}${DOCSDIR2}
    ${INSTALL_DATA} ${DOC_FILES2:S|^|${DOCSRCDIR2}/|} ${STAGEDIR}${DOCSDIR2}

.include <bsd.port.post.mk>