Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/freeimage/
Date: Tue, 02 Nov 2021 10:04:33
Message-Id: 1635847452.39428fadcfe3ebc4b90bc471af27aba690fe2cc7.sam@gentoo
1 commit: 39428fadcfe3ebc4b90bc471af27aba690fe2cc7
2 Author: Bernd Waibel <waebbl-gentoo <AT> posteo <DOT> net>
3 AuthorDate: Tue Nov 2 05:13:48 2021 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 2 10:04:12 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39428fad
7
8 media-libs/freeimage: restrict dependency on openexr
9
10 Package does not yet support OpenEXR-3, so restrict to :0
11
12 Closes: https://bugs.gentoo.org/788349
13 Closes: https://bugs.gentoo.org/820671
14 Package-Manager: Portage-3.0.28, Repoman-3.0.3
15 Signed-off-by: Bernd Waibel <waebbl-gentoo <AT> posteo.net>
16 Closes: https://github.com/gentoo/gentoo/pull/22793
17 Signed-off-by: Sam James <sam <AT> gentoo.org>
18
19 media-libs/freeimage/freeimage-3.18.0-r3.ebuild | 121 ++++++++++++++++++++++++
20 1 file changed, 121 insertions(+)
21
22 diff --git a/media-libs/freeimage/freeimage-3.18.0-r3.ebuild b/media-libs/freeimage/freeimage-3.18.0-r3.ebuild
23 new file mode 100644
24 index 00000000000..f172fa6a221
25 --- /dev/null
26 +++ b/media-libs/freeimage/freeimage-3.18.0-r3.ebuild
27 @@ -0,0 +1,121 @@
28 +# Copyright 1999-2021 Gentoo Authors
29 +# Distributed under the terms of the GNU General Public License v2
30 +
31 +EAPI=8
32 +
33 +inherit edos2unix toolchain-funcs
34 +
35 +MY_PN=FreeImage
36 +MY_PV=${PV//.}
37 +MY_P=${MY_PN}${MY_PV}
38 +
39 +DESCRIPTION="Image library supporting many formats"
40 +HOMEPAGE="https://freeimage.sourceforge.io/"
41 +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip
42 + mirror://sourceforge/${PN}/${MY_P}.pdf
43 + https://dev.gentoo.org/~juippis/distfiles/tmp/freeimage-3.18.0-unbundling.patch"
44 +
45 +LICENSE="|| ( GPL-2 FIPL-1.0 )"
46 +SLOT="0"
47 +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
48 +IUSE="jpeg jpeg2k mng openexr png raw static-libs tiff webp"
49 +
50 +# The tiff/ilmbase isn't a typo. The TIFF plugin cheats and
51 +# uses code from it to handle 16bit<->float conversions.
52 +RDEPEND="
53 + sys-libs/zlib
54 + jpeg? ( virtual/jpeg:0 )
55 + jpeg2k? ( media-libs/openjpeg:2= )
56 + mng? ( media-libs/libmng:= )
57 + openexr? ( media-libs/openexr:0= )
58 + png? ( media-libs/libpng:0= )
59 + raw? ( media-libs/libraw:= )
60 + tiff? (
61 + media-libs/ilmbase:=
62 + media-libs/tiff:0
63 + )
64 + webp? ( media-libs/libwebp:= )"
65 +DEPEND="${RDEPEND}"
66 +BDEPEND="
67 + app-arch/unzip
68 + virtual/pkgconfig"
69 +
70 +S=${WORKDIR}/${MY_PN}
71 +
72 +DOCS=( "${DISTDIR}"/${MY_P}.pdf README.linux Whatsnew.txt )
73 +PATCHES=(
74 + "${DISTDIR}"/${PN}-3.18.0-unbundling.patch
75 + "${FILESDIR}"/${PN}-3.18.0-remove-jpeg-transform.patch
76 + "${FILESDIR}"/${PN}-3.18.0-rename-jpeg_read_icc_profile.patch
77 + "${FILESDIR}"/${PN}-3.18.0-disable-plugin-G3.patch
78 + "${FILESDIR}"/${PN}-3.18.0-raw.patch
79 + "${FILESDIR}"/${PN}-3.18.0-libjpeg9.patch
80 + "${FILESDIR}"/${PN}-3.18.0-CVE-2019-12211-CVE-2019-12213.patch
81 + "${FILESDIR}"/${PN}-3.18.0-libraw-0.20.0.patch
82 +)
83 +
84 +src_prepare() {
85 + pushd Source >/dev/null || die
86 + cp LibJPEG/{transupp.c,transupp.h,jinclude.h} . || die
87 + cp LibTIFF4/{tiffiop,tif_dir}.h . || die
88 + rm -rf LibPNG LibMNG LibOpenJPEG ZLib OpenEXR LibRawLite LibTIFF4 LibJPEG LibWebP LibJXR || die
89 + popd >/dev/null || die
90 +
91 + edos2unix Makefile.{gnu,fip,srcs} fipMakefile.srcs */*.h */*/*.cpp
92 + sed -i \
93 + -e "s:/./:/:g" \
94 + -e "s: ./: :g" \
95 + -e 's: Source: \\\n\tSource:g' \
96 + -e 's: Wrapper: \\\n\tWrapper:g' \
97 + -e 's: Examples: \\\n\tExamples:g' \
98 + -e 's: TestAPI: \\\n\tTestAPI:g' \
99 + -e 's: -ISource: \\\n\t-ISource:g' \
100 + -e 's: -IWrapper: \\\n\t-IWrapper:g' \
101 + -e 's:INCLS:\nINCLS:g' \
102 + Makefile.srcs fipMakefile.srcs || die
103 + sed -i \
104 + -e "/LibJPEG/d" \
105 + -e "/LibJXR/d" \
106 + -e "/LibPNG/d" \
107 + -e "/LibTIFF/d" \
108 + -e "/Source\/ZLib/d" \
109 + -e "/LibOpenJPEG/d" \
110 + -e "/OpenEXR/d" \
111 + -e "/LibRawLite/d" \
112 + -e "/LibMNG/d" \
113 + -e "/LibWebP/d" \
114 + -e "/LibJXR/d" \
115 + Makefile.srcs fipMakefile.srcs || die
116 +
117 + default
118 +}
119 +
120 +foreach_make() {
121 + local m
122 + for m in Makefile.{gnu,fip} ; do
123 + emake -f ${m} \
124 + USE_EXR=$(usex openexr) \
125 + USE_JPEG=$(usex jpeg) \
126 + USE_JPEG2K=$(usex jpeg2k) \
127 + USE_MNG=$(usex mng) \
128 + USE_PNG=$(usex png) \
129 + USE_TIFF=$(usex tiff) \
130 + USE_RAW=$(usex raw) \
131 + USE_WEBP=$(usex webp) \
132 + $(usex static-libs '' STATICLIB=) \
133 + "$@"
134 + done
135 +}
136 +
137 +src_compile() {
138 + tc-export AR PKG_CONFIG
139 + foreach_make \
140 + CXX="$(tc-getCXX) -fPIC" \
141 + CC="$(tc-getCC) -fPIC" \
142 + ${MY_PN}
143 +}
144 +
145 +src_install() {
146 + foreach_make install DESTDIR="${ED}" INSTALLDIR="${ED}"/usr/$(get_libdir)
147 + einstalldocs
148 +}