blob: 8e06ca7b0b5a067a8cbde3edd739996bf7c542e5 (
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
# Created by: Jean-Marc Zucconi <jmz@FreeBSD.org>
# $FreeBSD$
PORTNAME= netpbm
DISTVERSION= 10.85.01
CATEGORIES= graphics
MASTER_SITES= https://github.com/t6/netpbm/releases/download/v${DISTVERSION}/ \
https://gitlab.com/tobiask/netpbm/uploads/2780c2f59fe3a808d2fe37c60ebcbea4/ \
LOCAL/tobik
MAINTAINER= tobik@FreeBSD.org
COMMENT= Toolkit for conversion of images between different formats
LICENSE= IJG GPLv2 LGPL21 MIT PD
LICENSE_COMB= multi
LICENSE_NAME_IJG= Independent JPEG Group License
LICENSE_FILE_IJG= ${WRKSRC}/doc/copyright_summary
LICENSE_PERMS_IJG= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
TEST_DEPENDS= bash:shells/bash
# The port follows the advanced release series. Upstream does not
# create tarballs for them, so we have to roll our own. See
# http://netpbm.sourceforge.net/getting_netpbm.php. To checkout the
# sources yourself see the netpbm-version-check and netpbm-fetch
# targets below.
USES= ghostscript:test gmake perl5 shebangfix
USE_LDCONFIG= yes
USE_PERL5= build test
SHEBANG_FILES= buildtools/makeman editor/pnmflip editor/pnmquant \
editor/ppmfade editor/ppmquant editor/ppmshadow \
generator/ppmrainbow converter/pbm/pbmtox10bm \
test/Execute-Tests test/*.test test/Available-Testprog
MAKEFILE= GNUmakefile
INSTALL_TARGET= install.bin install.lib install.data install.hdr \
install.staticlib
MAKE_ARGS= pkgdir=${STAGEDIR}${PREFIX} \
BINMODE=${BINMODE} \
SHAREMODE=${SHAREMODE} \
DATAMODE=${_SHAREMODE} \
DIRMODE=755 \
MANMODE=${MANMODE} \
DATADIR=${DATADIR}
TEST_ARGS= pkgdir="${STAGEDIR}${PREFIX}" \
resultdir="${WRKDIR}/tests" \
RGBDEF="${STAGEDIR}${PREFIX}/share/netpbm/rgb.txt"
TEST_TARGET= check
# tiff-flate-lzw-roundtrip's checksums are different on FreeBSD so the
# test fails. The resulting and intermediary images look fine in
# spite of this.
DISABLED_TESTS= all-in-place tiff-flate-lzw-roundtrip ppmgauss \
palm-roundtrip pamtopdbimg ps-alt-roundtrip \
pammixmulti-identity
OPTIONS_DEFAULT= MANPAGES PERL
OPTIONS_DEFINE= MANPAGES PERL STATIC SVGTOPAM X11
OPTIONS_SUB= yes
PERL_USE= PERL5=run
STATIC_BUILD_DEPENDS= tiff>0:graphics/tiff \
png>0:graphics/png \
jbigkit>0:graphics/jbigkit \
jasper>0:graphics/jasper
STATIC_LIB_DEPENDS_OFF= libtiff.so:graphics/tiff \
libpng.so:graphics/png \
libjbig.so:graphics/jbigkit \
libjasper.so:graphics/jasper
STATIC_USES= jpeg:build
STATIC_USES_OFF= jpeg
SVGTOPAM_DESC= Build svgtopam
SVGTOPAM_USES= gnome
SVGTOPAM_USE= GNOME=libxml2
SVGTOPAM_VARS_OFF= DISABLED_TESTS+=svgtopam
X11_USE= XORG=x11,xcb,xau,xdmcp
post-patch:
@${REINPLACE_CMD} -e 's|misc|share/netpbm|g' ${WRKSRC}/common.mk
@${REINPLACE_CMD} -e 's|$$(PKGDIR)/link|$$(PKGDIR)/lib|g' \
-e 's|pkg-config|false|g' \
${WRKSRC}/GNUmakefile ${WRKSRC}/lib/Makefile
.for test in ${DISABLED_TESTS}
@${REINPLACE_CMD} -e '/${test}/d' ${WRKSRC}/test/Test-Order
.endfor
post-patch-STATIC-on:
@${REINPLACE_CMD} -e 's|$$(LD)|$$(LD) -static|g' \
-e 's@$$(NETPBMLIBFNAME)@libnetpbm.a@' \
${WRKSRC}/common.mk
# Disable building svgtopam by default. It is the only program that
# requires libxml2 and it is not useful in this day and age according
# to the author. See the top of converter/other/svgtopam.c for more
# details.
post-patch-SVGTOPAM-off:
@${REINPLACE_CMD} '/svgtopam/d' ${WRKSRC}/converter/other/Makefile
post-patch-X11-off:
@${REINPLACE_CMD} '/pamx/d' ${WRKSRC}/other/Makefile
do-configure:
@${CAT} ${WRKSRC}/config.mk.in ${FILESDIR}/config.mk > ${WRKSRC}/config.mk
post-install:
@cd ${STAGEDIR}${PREFIX}/lib && ${LN} -sf libnetpbm.so.11 libnetpbm.so
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libnetpbm.so
@${RM} ${STAGEDIR}${PREFIX}/bin/manweb
${INSTALL_DATA} ${WRKSRC}/lib/util/pm_c_util.h ${WRKSRC}/pm_config.h \
${STAGEDIR}${PREFIX}/include/netpbm
post-install-MANPAGES-on:
${INSTALL_MAN} ${WRKSRC}/man/*.1 ${STAGEDIR}${PREFIX}/man/man1
${INSTALL_MAN} ${WRKSRC}/man/*.3 ${STAGEDIR}${PREFIX}/man/man3
${INSTALL_MAN} ${WRKSRC}/man/*.5 ${STAGEDIR}${PREFIX}/man/man5
.if defined(DEVELOPER)
# A lot of this is stolen from the netpbm OpenBSD port
NETPBM_REPO= https://svn.code.sf.net/p/netpbm/code
NETPBM_SERIES= advanced
netpbm-version-check:
@REV=`svnlite info ${NETPBM_REPO}/${NETPBM_SERIES}/version.mk | sed -n 's/Last Changed Rev: //p'`; \
VERSION=`(svnlite cat -r$$REV ${NETPBM_REPO}/${NETPBM_SERIES}/version.mk; \
echo 'all:'; \
echo ' @printf "%02d.%02d.%02d" \'; \
echo ' $${NETPBM_MAJOR_RELEASE} \' ; \
echo ' $${NETPBM_MINOR_RELEASE} \' ; \
echo ' $${NETPBM_POINT_RELEASE} \' ; \
) | make -f -`; \
case `pkg version -t ${PORTVERSION} $$VERSION` in \
'>') echo "Port version is greater than latest release $$VERSION"; exit 1 ;; \
'<') echo "Run 'make NETPBM_REV=$$REV netpbm-fetch' to download netpbm $$VERSION" ;; \
esac
netpbm-fetch:
@svnlite export --force -r${NETPBM_REV} ${NETPBM_REPO}/${NETPBM_SERIES} netpbm-r${NETPBM_REV}
.endif
.include <bsd.port.mk>
|