81cc488f9cb4181ac50be233cf175c7427db6cf4
[gentoo.git] / media-libs / libjpeg-turbo / libjpeg-turbo-1.5.0.ebuild
1 # Copyright 1999-2016 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 inherit libtool eutils java-pkg-opt-2 libtool toolchain-funcs multilib-minimal
7
8 DESCRIPTION="MMX, SSE, and SSE2 SIMD accelerated JPEG library"
9 HOMEPAGE="https://libjpeg-turbo.org/ https://sourceforge.net/projects/libjpeg-turbo/"
10 SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
11         mirror://gentoo/libjpeg8_8d-2.debian.tar.gz"
12
13 LICENSE="BSD IJG"
14 SLOT="0"
15 KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos"
16 IUSE="java static-libs"
17
18 ASM_DEPEND="|| ( dev-lang/nasm dev-lang/yasm )"
19 COMMON_DEPEND="!media-libs/jpeg:0
20         !media-libs/jpeg:62"
21 RDEPEND="${COMMON_DEPEND}
22         java? ( >=virtual/jre-1.5 )"
23 DEPEND="${COMMON_DEPEND}
24         amd64? ( ${ASM_DEPEND} )
25         x86? ( ${ASM_DEPEND} )
26         amd64-fbsd? ( ${ASM_DEPEND} )
27         x86-fbsd? ( ${ASM_DEPEND} )
28         amd64-linux? ( ${ASM_DEPEND} )
29         x86-linux? ( ${ASM_DEPEND} )
30         x64-macos? ( ${ASM_DEPEND} )
31         java? ( >=virtual/jdk-1.5 )"
32
33 MULTILIB_WRAPPED_HEADERS=( /usr/include/jconfig.h )
34
35 PATCHES=(
36         "${FILESDIR}"/${PN}-1.2.0-x32.patch #420239
37 )
38
39 src_prepare() {
40         default
41
42         elibtoolize
43
44         java-pkg-opt-2_src_prepare
45 }
46
47 multilib_src_configure() {
48         local myconf=()
49         if multilib_is_native_abi; then
50                 myconf+=( $(use_with java) )
51                 if use java; then
52                         export JAVACFLAGS="$(java-pkg_javac-args)"
53                         export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
54                 fi
55         else
56                 myconf+=( --without-java )
57         fi
58         [[ ${ABI} == "x32" ]] && myconf+=( --without-simd ) #420239
59
60         # Force /bin/bash until upstream generates a new version. #533902
61         CONFIG_SHELL=/bin/bash \
62         ECONF_SOURCE=${S} \
63         econf \
64                 $(use_enable static-libs static) \
65                 --with-mem-srcdst \
66                 "${myconf[@]}"
67 }
68
69 multilib_src_compile() {
70         local _java_makeopts
71         use java && _java_makeopts="-j1"
72         emake ${_java_makeopts}
73
74         if multilib_is_native_abi; then
75                 pushd ../debian/extra >/dev/null
76                 emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
77                 popd >/dev/null
78         fi
79 }
80
81 multilib_src_test() {
82         emake test
83 }
84
85 multilib_src_install() {
86         emake \
87                 DESTDIR="${D}" \
88                 docdir="${EPREFIX}"/usr/share/doc/${PF} \
89                 exampledir="${EPREFIX}"/usr/share/doc/${PF} \
90                 install
91
92         if multilib_is_native_abi; then
93                 pushd "${WORKDIR}"/debian/extra >/dev/null
94                 emake \
95                         DESTDIR="${D}" prefix="${EPREFIX}"/usr \
96                         INSTALL="install -m755" INSTALLDIR="install -d -m755" \
97                         install
98                 popd >/dev/null
99
100                 if use java; then
101                         rm -rf "${ED}"/usr/classes
102                         java-pkg_dojar java/turbojpeg.jar
103                 fi
104         fi
105 }
106
107 multilib_src_install_all() {
108         prune_libtool_files
109
110         insinto /usr/share/doc/${PF}/html
111         doins -r "${S}"/doc/html/*
112         newdoc "${WORKDIR}"/debian/changelog changelog.debian
113         if use java; then
114                 insinto /usr/share/doc/${PF}/html/java
115                 doins -r "${S}"/java/doc/*
116                 newdoc "${S}"/java/README README.java
117         fi
118 }