Merge the GLEP 67 transition changes
[gentoo.git] / media-libs / freeimage / freeimage-3.15.4.ebuild
1 # Copyright 1999-2015 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI=5
6 inherit toolchain-funcs eutils multilib
7
8 MY_PN=FreeImage
9 MY_PV=${PV//.}
10 MY_P=${MY_PN}${MY_PV}
11
12 DESCRIPTION="Image library supporting many formats"
13 HOMEPAGE="http://freeimage.sourceforge.net/"
14 SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip
15         mirror://sourceforge/${PN}/${MY_P}.pdf
16         https://dev.gentoo.org/~gienah/2big4tree/media-libs/freeimage/${PN}-3.15.4-libjpeg-turbo.patch.gz"
17
18 LICENSE="|| ( GPL-2 FIPL-1.0 )"
19 SLOT="0"
20 KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
21 IUSE="jpeg jpeg2k mng openexr png raw static-libs tiff"
22
23 # The tiff/ilmbase isn't a typo.  The TIFF plugin cheats and
24 # uses code from it to handle 16bit<->float conversions.
25 RDEPEND="sys-libs/zlib
26         jpeg? ( virtual/jpeg:0 )
27         jpeg2k? ( media-libs/openjpeg:0 )
28         mng? ( media-libs/libmng )
29         openexr? ( media-libs/openexr )
30         png? ( media-libs/libpng:0 )
31         raw? ( media-libs/libraw )
32         tiff? (
33                 media-libs/ilmbase
34                 media-libs/tiff:0
35         )"
36 DEPEND="${RDEPEND}
37         virtual/pkgconfig
38         app-arch/unzip"
39
40 S=${WORKDIR}/${MY_PN}
41
42 src_prepare() {
43         cd Source
44         if has_version ">=media-libs/libjpeg-turbo-1.2.1"; then
45                 # Patch from Christian Heimes's fork (thanks) https://bitbucket.org/tiran/freeimageturbo
46                 epatch "${DISTDIR}"/${PN}-3.15.4-libjpeg-turbo.patch.gz
47                 cp LibJPEG/{jpegcomp.h,jpegint.h} . || die
48         fi
49         cp LibJPEG/{transupp.c,transupp.h,jinclude.h} . || die
50         cp LibTIFF4/{tiffiop,tif_dir}.h . || die
51         rm -rf LibPNG LibMNG LibOpenJPEG ZLib OpenEXR LibRawLite LibTIFF4 LibJPEG || die
52         cd ..
53         edos2unix Makefile.{gnu,fip,srcs} fipMakefile.srcs */*.h */*/*.cpp
54         sed -i \
55                 -e "s:/./:/:g" \
56                 -e "s: ./: :g" \
57                 -e 's: Source: \\\n\tSource:g' \
58                 -e 's: Wrapper: \\\n\tWrapper:g' \
59                 -e 's: Examples: \\\n\tExamples:g' \
60                 -e 's: TestAPI: \\\n\tTestAPI:g' \
61                 -e 's: -ISource: \\\n\t-ISource:g' \
62                 -e 's: -IWrapper: \\\n\t-IWrapper:g' \
63                 Makefile.srcs fipMakefile.srcs || die
64         sed -i \
65                 -e "/LibJPEG/d" \
66                 -e "/LibPNG/d" \
67                 -e "/LibTIFF/d" \
68                 -e "/Source\/ZLib/d" \
69                 -e "/LibOpenJPEG/d" \
70                 -e "/OpenEXR/d" \
71                 -e "/LibRawLite/d" \
72                 -e "/LibMNG/d" \
73                 Makefile.srcs fipMakefile.srcs || die
74         epatch "${FILESDIR}"/${PN}-3.15.4-{unbundling,raw}.patch
75 }
76
77 foreach_make() {
78         local m
79         for m in Makefile.{gnu,fip} ; do
80                 emake -f ${m} \
81                         USE_EXR=$(usex openexr) \
82                         USE_JPEG=$(usex jpeg) \
83                         USE_JPEG2K=$(usex jpeg2k) \
84                         USE_MNG=$(usex mng) \
85                         USE_PNG=$(usex png) \
86                         USE_TIFF=$(usex tiff) \
87                         USE_RAW=$(usex raw) \
88                         $(usex static-libs '' STATICLIB=) \
89                         "$@"
90         done
91 }
92
93 src_compile() {
94         tc-export AR PKG_CONFIG
95         foreach_make \
96                 CXX="$(tc-getCXX) -fPIC" \
97                 CC="$(tc-getCC) -fPIC" \
98                 ${MY_PN}
99 }
100
101 src_install() {
102         foreach_make install DESTDIR="${ED}" INSTALLDIR="${ED}"/usr/$(get_libdir)
103         dodoc Whatsnew.txt "${DISTDIR}"/${MY_P}.pdf
104 }