Diff freeimage-3.15.4-r2 with a freeimage-3.18.0-r10

/usr/portage/media-libs/freeimage/freeimage-3.18.0-r10.ebuild 2023-10-09 14:52:31.664368405 +0300
1
# Copyright 1999-2018 Gentoo Foundation
1
# Copyright 1999-2022 Gentoo Authors
2 2
# Distributed under the terms of the GNU General Public License v2
3 3

  
4
EAPI=6
4
EAPI=8
5 5

  
6
inherit toolchain-funcs eutils
6
inherit edos2unix toolchain-funcs
7 7

  
8 8
MY_PN=FreeImage
9 9
MY_PV=${PV//.}
10 10
MY_P=${MY_PN}${MY_PV}
11 11

  
12 12
DESCRIPTION="Image library supporting many formats"
13
HOMEPAGE="http://freeimage.sourceforge.net/"
13
HOMEPAGE="https://freeimage.sourceforge.io/"
14 14
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip
15
	mirror://sourceforge/${PN}/${MY_P}.pdf"
15
	mirror://sourceforge/${PN}/${MY_P}.pdf
16
	https://dev.gentoo.org/~juippis/distfiles/tmp/freeimage-3.18.0-unbundling.patch"
16 17

  
17 18
LICENSE="|| ( GPL-2 FIPL-1.0 )"
18 19
SLOT="0"
19
KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
20
IUSE="jpeg jpeg2k mng openexr png raw static-libs tiff"
20
KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
21
IUSE="jpeg jpeg2k mng openexr png raw static-libs tiff webp"
21 22

  
22
# The tiff/ilmbase isn't a typo.  The TIFF plugin cheats and
23
# The tiff/imath+openexr isn't a typo. The TIFF plugin cheats and
23 24
# uses code from it to handle 16bit<->float conversions.
24 25
RDEPEND="
25 26
	sys-libs/zlib
26
	jpeg? ( virtual/jpeg:0 )
27
	jpeg2k? ( media-libs/openjpeg:0= )
27
	jpeg? ( media-libs/libjpeg-turbo:= )
28
	jpeg2k? ( media-libs/openjpeg:2= )
28 29
	mng? ( media-libs/libmng:= )
29 30
	openexr? ( media-libs/openexr:= )
30 31
	png? ( media-libs/libpng:0= )
31 32
	raw? ( media-libs/libraw:= )
32 33
	tiff? (
33
		media-libs/ilmbase:=
34
		media-libs/tiff:0
35
	)"
36
DEPEND="${RDEPEND}
37
	virtual/pkgconfig
38
	app-arch/unzip"
34
		>=dev-libs/imath-3.1.4-r2:=
35
		>=media-libs/openexr-3:0=
36
		>=media-libs/tiff-4.4.0:=
37
	)
38
	webp? ( media-libs/libwebp:= )"
39
DEPEND="${RDEPEND}"
40
BDEPEND="
41
	app-arch/unzip
42
	virtual/pkgconfig"
39 43

  
40 44
S=${WORKDIR}/${MY_PN}
41 45

  
42 46
DOCS=( "${DISTDIR}"/${MY_P}.pdf README.linux Whatsnew.txt )
47

  
43 48
PATCHES=(
44
	"${FILESDIR}"/${PN}-3.15.4-{unbundling,raw}.patch
45
	"${FILESDIR}"/${PN}-3.15.4-CVE-2016-5684-1.patch
46
	"${FILESDIR}"/${PN}-3.15.4-CVE-2016-5684-2.patch
47
	"${FILESDIR}"/${PN}-3.15.4-CVE-2015-0852.patch
48
	"${FILESDIR}"/${PN}-3.15.4-libjpeg9.patch
49
	"${DISTDIR}"/${PN}-3.18.0-unbundling.patch
50
	"${FILESDIR}"/${PN}-3.18.0-remove-jpeg-transform.patch
51
	"${FILESDIR}"/${PN}-3.18.0-rename-jpeg_read_icc_profile.patch
52
	"${FILESDIR}"/${PN}-3.18.0-disable-plugin-G3.patch
53
	"${FILESDIR}"/${PN}-3.18.0-raw.patch
54
	"${FILESDIR}"/${PN}-3.18.0-libjpeg9.patch
55
	"${FILESDIR}"/${PN}-3.18.0-CVE-2019-12211-CVE-2019-12213.patch
56
	"${FILESDIR}"/${PN}-3.18.0-openexr-3-imath.patch
57
	"${FILESDIR}"/${PN}-3.18.0-libraw-0.20.0.patch
58
	"${FILESDIR}"/${PN}-3.18.0-tiff-4.4.0.patch
59
	"${FILESDIR}"/${PN}-3.18.0-null-to-false.patch
60
	"${FILESDIR}"/${PN}-3.18.0-libraw-0.21.0.patch
49 61
)
50 62

  
51 63
src_prepare() {
52 64
	pushd Source >/dev/null || die
53
	if has_version ">=media-libs/libjpeg-turbo-1.2.1"; then
54
		# Patch from Christian Heimes's fork (thanks)
55
		# https://bitbucket.org/tiran/freeimageturbo
56
		eapply "${FILESDIR}"/${PN}-3.15.4-libjpeg-turbo.patch
57
		cp LibJPEG/{jpegcomp.h,jpegint.h} . || die
58
	fi
59 65
	cp LibJPEG/{transupp.c,transupp.h,jinclude.h} . || die
60 66
	cp LibTIFF4/{tiffiop,tif_dir}.h . || die
61
	rm -rf LibPNG LibMNG LibOpenJPEG ZLib OpenEXR LibRawLite LibTIFF4 LibJPEG || die
67
	rm -rf LibPNG LibMNG LibOpenJPEG ZLib OpenEXR LibRawLite LibTIFF4 LibJPEG LibWebP LibJXR || die
62 68
	popd >/dev/null || die
63
	if has_version ">=media-libs/libjpeg-turbo-2.0"; then
64
		eapply "${FILESDIR}"/${PN}-3.15.4-libjpeg-turbo-2.0.patch
65
	fi
66 69

  
67 70
	edos2unix Makefile.{gnu,fip,srcs} fipMakefile.srcs */*.h */*/*.cpp
68 71
	sed -i \
......
74 77
		-e 's: TestAPI: \\\n\tTestAPI:g' \
75 78
		-e 's: -ISource: \\\n\t-ISource:g' \
76 79
		-e 's: -IWrapper: \\\n\t-IWrapper:g' \
80
		-e 's:INCLS:\nINCLS:g' \
77 81
		Makefile.srcs fipMakefile.srcs || die
78 82
	sed -i \
79 83
		-e "/LibJPEG/d" \
84
		-e "/LibJXR/d" \
80 85
		-e "/LibPNG/d" \
81 86
		-e "/LibTIFF/d" \
82 87
		-e "/Source\/ZLib/d" \
......
84 89
		-e "/OpenEXR/d" \
85 90
		-e "/LibRawLite/d" \
86 91
		-e "/LibMNG/d" \
92
		-e "/LibWebP/d" \
93
		-e "/LibJXR/d" \
87 94
		Makefile.srcs fipMakefile.srcs || die
88 95

  
89 96
	default
......
100 107
			USE_PNG=$(usex png) \
101 108
			USE_TIFF=$(usex tiff) \
102 109
			USE_RAW=$(usex raw) \
110
			USE_WEBP=$(usex webp) \
103 111
			$(usex static-libs '' STATICLIB=) \
104 112
			"$@"
105 113
	done
......
114 122
}
115 123

  
116 124
src_install() {
117
	foreach_make install DESTDIR="${ED}" INSTALLDIR="${ED%/}"/usr/$(get_libdir)
125
	foreach_make install DESTDIR="${ED}" INSTALLDIR="${ED}"/usr/$(get_libdir)
118 126
	einstalldocs
119 127
}
Thank you!