Gentoo Archives: gentoo-commits

From: Ionen Wolkens <ionen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/netpbm/
Date: Wed, 01 Dec 2021 06:06:39
Message-Id: 1638338344.ba99b63aab3fee4bf6c13f2ad0a8c59185996b18.ionen@gentoo
1 commit: ba99b63aab3fee4bf6c13f2ad0a8c59185996b18
2 Author: Viorel Munteanu <ceamac.paragon <AT> gmail <DOT> com>
3 AuthorDate: Mon Nov 29 18:34:31 2021 +0000
4 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 1 05:59:04 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba99b63a
7
8 media-libs/netpbm: bump to v10.86.27
9
10 Bug fixed upstream
11
12 Bug: https://bugs.gentoo.org/827338
13 Package-Manager: Portage-3.0.28, Repoman-3.0.3
14 Signed-off-by: Viorel Munteanu <ceamac.paragon <AT> gmail.com>
15 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
16
17 media-libs/netpbm/Manifest | 1 +
18 media-libs/netpbm/netpbm-10.86.27.ebuild | 219 +++++++++++++++++++++++++++++++
19 2 files changed, 220 insertions(+)
20
21 diff --git a/media-libs/netpbm/Manifest b/media-libs/netpbm/Manifest
22 index 6ffd36b4ff2d..e59c3abb7e13 100644
23 --- a/media-libs/netpbm/Manifest
24 +++ b/media-libs/netpbm/Manifest
25 @@ -1,3 +1,4 @@
26 DIST netpbm-10.70.00.tar.xz 2621612 BLAKE2B 2b07d130de0afeb3c1df32c6d267bc6bd13d4f556988cb7784b51941d81de1ad4f3381a0788eec6309bc6c024a21eb273a5f00726f6bb9a8ecb87f547678fc77 SHA512 f70d6dd79ce813f9fc4935d382b50bd3cecdf02c324b0f012056e56e33f24b621e8c1b3d054c6f470d437d0d793593de95eaa9724055d59c342228398a40f0b4
27 DIST netpbm-10.86.24.tar.xz 3698448 BLAKE2B 189fbaeb91db15e317c62758c64d1165d3cb32fa0221b2dcdefb0425577d4af9a13e66c35774149a44727c99fc18263123fd3c2b71f6409344bcf458341a4470 SHA512 50ad5a726c4219e1d87c7a46868b8f7bdb2d676903f049816b58e00addb416e4684a6c669188beebc5cc3c3961d2b0e35cd663215196d9925e3a23a989e14be3
28 DIST netpbm-10.86.26.tar.xz 3699572 BLAKE2B d0b3fccfecea20a7979a6b29dac670dc33616a6cdd6f985af76cbd0d8125b887ad2dfc193e5e59f47014f685887cadeebcdce0da8db0a219457bb88caf42ba62 SHA512 23ca6125827c61648e0a475880efade7b83f87cfc884361c1f706f0a69ac70b5a7a2ae4699c77e21eda1c73241768b1bd7e595d5d533eeb10b7f69a79c7ae69d
29 +DIST netpbm-10.86.27.tar.xz 3699900 BLAKE2B cf1e2742b343100081d53cdccfca5d41ce46ad57adb72c10c2e8ea94547e8d097e657c50554dae79b47c5c2e8d8146d15ef372b9e031152411b3379a0998a8d8 SHA512 b809b05647b4f4509db04a937a5c0b03301ccf93a56d773d6ddfe11a1cdc254befeb311e20306e5329db75fce9697b823c351a32ba0a771f4545793a55cb646c
30
31 diff --git a/media-libs/netpbm/netpbm-10.86.27.ebuild b/media-libs/netpbm/netpbm-10.86.27.ebuild
32 new file mode 100644
33 index 000000000000..a4bc1a21670d
34 --- /dev/null
35 +++ b/media-libs/netpbm/netpbm-10.86.27.ebuild
36 @@ -0,0 +1,219 @@
37 +# Copyright 1999-2021 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI=8
41 +
42 +inherit multilib toolchain-funcs
43 +
44 +DESCRIPTION="A set of utilities for converting to/from the netpbm (and related) formats"
45 +HOMEPAGE="http://netpbm.sourceforge.net/"
46 +SRC_URI="https://github.com/ceamac/netpbm-make-dist/releases/download/v${PV}/${P}.tar.xz"
47 +
48 +LICENSE="GPL-2"
49 +SLOT="0"
50 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
51 +IUSE="doc jbig jpeg png postscript rle cpu_flags_x86_sse2 static-libs svga tiff X xml zlib"
52 +# zlib USE flag is no longer used, enabled by default.
53 +# cannot remove it yet because of #801445
54 +
55 +BDEPEND="
56 + app-arch/xz-utils
57 + sys-devel/flex
58 + virtual/pkgconfig
59 +"
60 +# app-text/ghostscript-gpl is really needed for postscript
61 +# some utilities execute /usr/bin/gs
62 +RDEPEND="jbig? ( media-libs/jbigkit:= )
63 + jpeg? ( virtual/jpeg:0 )
64 + png? (
65 + >=media-libs/libpng-1.4:0=
66 + sys-libs/zlib
67 + )
68 + postscript? (
69 + app-text/ghostscript-gpl
70 + sys-libs/zlib
71 + )
72 + rle? ( media-libs/urt:= )
73 + svga? ( media-libs/svgalib )
74 + tiff? ( >=media-libs/tiff-3.5.5:0 )
75 + xml? ( dev-libs/libxml2 )
76 + X? ( x11-libs/libX11 )"
77 +DEPEND="${RDEPEND}"
78 +
79 +PATCHES=(
80 + "${FILESDIR}"/netpbm-10.86.21-build.patch
81 + "${FILESDIR}"/netpbm-10.86.21-test.patch #450530
82 + "${FILESDIR}"/netpbm-10.86.21-misc-deps.patch
83 + "${FILESDIR}"/netpbm-10.86.22-fix-ps-test.patch #670362
84 +)
85 +
86 +netpbm_libtype() {
87 + case ${CHOST} in
88 + *-darwin*) echo dylib;;
89 + *) echo unixshared;;
90 + esac
91 +}
92 +
93 +netpbm_libsuffix() {
94 + local suffix=$(get_libname)
95 + echo ${suffix//\.}
96 +}
97 +
98 +netpbm_ldshlib() {
99 + case ${CHOST} in
100 + *-darwin*) echo '$(LDFLAGS) -dynamiclib -install_name $(SONAME)';;
101 + *) echo '$(LDFLAGS) -shared -Wl,-soname,$(SONAME)';;
102 + esac
103 +}
104 +netpbm_config() {
105 + if use ${1} ; then
106 + [[ ${2} != "!" ]] && echo -l${2:-$1}
107 + else
108 + echo NONE
109 + fi
110 +}
111 +
112 +src_prepare() {
113 + default
114 +
115 + # make sure we use system libs
116 + sed -i '/SUPPORT_SUBDIRS/s:urt::' GNUmakefile || die
117 + rm -r urt converter/other/jbig/libjbig converter/other/jpeg2000/libjasper || die
118 +
119 + # take care of the importinc stuff ourselves by only doing it once
120 + # at the top level and having all subdirs use that one set #149843
121 + sed -i \
122 + -e '/^importinc:/s|^|importinc:\nmanual_|' \
123 + -e '/-Iimportinc/s|-Iimp|-I"$(BUILDDIR)"/imp|g'\
124 + common.mk || die
125 + sed -i \
126 + -e '/%.c/s: importinc$::' \
127 + common.mk lib/Makefile lib/util/Makefile || die
128 + sed -i \
129 + -e 's:pkg-config:$(PKG_CONFIG):' \
130 + GNUmakefile converter/other/Makefile other/pamx/Makefile || die
131 +
132 + # The postscript knob is currently bound up with a fork test.
133 + if ! use postscript ; then
134 + sed -i \
135 + -e 's:$(DONT_HAVE_PROCESS_MGMT):Y:' \
136 + converter/other/Makefile generator/Makefile || die
137 + sed -i -r \
138 + -e 's:(pbmtextps|pnmtops|pstopnm).*::' \
139 + test/all-in-place.{ok,test} || die
140 + sed -i -e 's:lps-roundtrip.*::' test/Test-Order || die
141 + sed -i -e '/^$/d' test/all-in-place.ok || die
142 + sed -i '2iexit 80' test/ps-{alt-,flate-,}roundtrip.test || die
143 + fi
144 +
145 + # the new postscript test needs +x
146 + chmod +x test/lps-roundtrip.test
147 +
148 + # Do not test png if not built
149 + if ! use png ; then
150 + sed -i -r \
151 + -e 's:(pamtopng|pngtopam|pnmtopng).*::' \
152 + test/all-in-place.{ok,test} || die
153 + sed -i -e '/^$/d' test/all-in-place.ok || die
154 +
155 + sed -i -r \
156 + -e 's:(pamrgbatopng|pngtopnm).*::' \
157 + test/legacy-names.{ok,test} || die
158 + sed -i -e '/^$/d' test/legacy-names.ok || die
159 + sed -i -e 's:png-roundtrip.*::' test/Test-Order || die
160 + fi
161 +}
162 +
163 +src_configure() {
164 + # cannot chain the die with the heredoc
165 + # repoman tries to parse the heredoc and fails
166 + cat config.mk.in - >> config.mk <<-EOF
167 + # Misc crap
168 + BUILD_FIASCO = N
169 + SYMLINK = ln -sf
170 +
171 + # These vars let src_test work by default
172 + PKGDIR_DEFAULT = ${T}/netpbm
173 + RESULTDIR_DEFAULT = ${T}/netpbm-test
174 +
175 + # Toolchain options
176 + CC = $(tc-getCC) -Wall
177 + LD = \$(CC)
178 + CC_FOR_BUILD = $(tc-getBUILD_CC)
179 + LD_FOR_BUILD = \$(CC_FOR_BUILD)
180 + AR = $(tc-getAR)
181 + RANLIB = $(tc-getRANLIB)
182 + PKG_CONFIG = $(tc-getPKG_CONFIG)
183 +
184 + STRIPFLAG =
185 + CFLAGS_SHLIB = -fPIC
186 +
187 + LDRELOC = \$(LD) -r
188 + LDSHLIB = $(netpbm_ldshlib)
189 + LINKER_CAN_DO_EXPLICIT_LIBRARY = N # we can, but dont want to
190 + LINKERISCOMPILER = Y
191 + NETPBMLIBSUFFIX = $(netpbm_libsuffix)
192 + NETPBMLIBTYPE = $(netpbm_libtype)
193 + STATICLIB_TOO = $(usex static-libs Y N)
194 +
195 + # The var is called SSE, but the code is actually SSE2.
196 + WANT_SSE = $(usex cpu_flags_x86_sse2 Y N)
197 +
198 + # Gentoo build options
199 + TIFFLIB = $(netpbm_config tiff)
200 + # Let tiff worry about its own dependencies #395753
201 + TIFFLIB_NEEDS_JPEG = N
202 + TIFFLIB_NEEDS_Z = N
203 + JPEGLIB = $(netpbm_config jpeg)
204 + PNGLIB = $(netpbm_config png)
205 + ZLIB = $($(tc-getPKG_CONFIG) --libs zlib)
206 + LINUXSVGALIB = $(netpbm_config svga vga)
207 + XML2_LIBS = $(netpbm_config xml xml2)
208 + JBIGLIB = $(netpbm_config jbig)
209 + JBIGHDR_DIR =
210 + JASPERLIB = NONE
211 + JASPERHDR_DIR =
212 + URTLIB = $(netpbm_config rle)
213 + URTHDR_DIR =
214 + X11LIB = $(netpbm_config X X11)
215 + X11HDR_DIR =
216 + EOF
217 + [[ $? -eq 0 ]] || die "writing config.mk failed"
218 +}
219 +
220 +src_compile() {
221 + emake -j1 pm_config.h version.h manual_importinc #149843
222 + emake
223 +}
224 +
225 +src_test() {
226 + # The code wants to install everything first and then test the result.
227 + emake install.{bin,lib,data}
228 + emake check
229 +}
230 +
231 +src_install() {
232 + # Subdir make targets like to use `mkdir` all over the place
233 + # without any actual dependencies, thus the -j1.
234 + emake -j1 package pkgdir="${ED}"/usr
235 +
236 + if [[ $(get_libdir) != "lib" ]] ; then
237 + mv "${ED}"/usr/lib "${ED}"/usr/$(get_libdir) || die
238 + fi
239 +
240 + # Remove cruft that we don't need, and move around stuff we want
241 + rm "${ED}"/usr/{README,VERSION,{pkgconfig,config}_template,pkginfo} || die
242 +
243 + dodir /usr/share
244 + mv "${ED}"/usr/misc "${ED}"/usr/share/netpbm || die
245 +
246 + doman userguide/*.[0-9]
247 + dodoc README
248 +
249 + cd doc || die
250 + dodoc HISTORY Netpbm.programming USERDOC
251 + docinto html
252 + dodoc -r *.html
253 +
254 + use doc && dodoc -r ../userguide/*.html
255 +}