summaryrefslogtreecommitdiff
path: root/media-libs/jpeg
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/jpeg')
-rw-r--r--media-libs/jpeg/Manifest5
-rw-r--r--media-libs/jpeg/files/jpeg-7-maxmem_sysconf.patch49
-rw-r--r--media-libs/jpeg/files/jpeg-8d-CVE-2013-6629.patch17
-rw-r--r--media-libs/jpeg/jpeg-6b-r12.ebuild50
-rw-r--r--media-libs/jpeg/jpeg-8d-r1.ebuild69
-rw-r--r--media-libs/jpeg/jpeg-8d-r2.ebuild54
-rw-r--r--media-libs/jpeg/jpeg-9a.ebuild67
-rw-r--r--media-libs/jpeg/metadata.xml5
8 files changed, 316 insertions, 0 deletions
diff --git a/media-libs/jpeg/Manifest b/media-libs/jpeg/Manifest
new file mode 100644
index 00000000000..4a29ce8ae31
--- /dev/null
+++ b/media-libs/jpeg/Manifest
@@ -0,0 +1,5 @@
+DIST jpeg-6b-patchset-1.tar.xz 2592 SHA256 533ef36e4ca8cdad81d0c931e486776983f60696779c07d11ed601febebec70d SHA512 6deb845a08f4ac6b88c47803b528842cedd145fb12295060d52553b8c803ba192478306496701a409c796c264ceaed0988575ae8f7717e2e7b24da5733bc9c2b WHIRLPOOL cdc42a1a68a090043ca95302f25979293197322f108f083cb16ba57c9bd20a56d21820590cd79f7c7f51836b133fc47a0948928d2d8f9e64bb270bf4ee11844a
+DIST jpegsrc.v6b.tar.gz 613261 SHA256 75c3ec241e9996504fe02a9ed4d12f16b74ade713972f3db9e65ce95cd27e35d SHA512 5d37d3695105fc345ca269ab98cd991472e5de72f702c9a8a652a7d114a40eb99670c69a87ecb24bf64e96318fc0ee2bcb44c497d9d3d2a67378c99e4eb348fe WHIRLPOOL ab649fd5ff29dfbcdf52f337b73c65e29d577c3fd0a1c910590177d83985115c8e8e4c392e196f7a497d6346072b40053999171f0cd74ee3325e74c005c5ba9b
+DIST jpegsrc.v8d.tar.gz 991456 SHA256 00029b1473f0f0ea72fbca3230e8cb25797fbb27e58ae2e46bb8bf5a806fe0b3 SHA512 7a8b4cff5b1caf6a7281c5dce4e1efa1b68360bd64dd2e619b60c9e1d49f22624bc8780b681bfab073e7b1d4b7f41008a464a58f0eeeacb0a40ff996d7eb5753 WHIRLPOOL 7489605809b43cfac02230b89013075806df32246b37eb12ac05ef890ee690f85744887e296f5a21fa64012570aa298d2aa54e4469066f4c21dd40141f3bd8a8
+DIST jpegsrc.v9a.tar.gz 1000034 SHA256 3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7 SHA512 9b21cc115e22c68bea46db462263c5c7a0d10beb192a919ecccbd801a25982b518ce44d8c301dd582ecaba1850e0e0f20e322be82b0e24ae917b9949b4f10d3b WHIRLPOOL cd92fd028c8f55c653d74ee74d0c744ebded578bdc7f415a5e8321bed638300c908d08e4129ebb031a6ed19560a2610942ed23cb0a075cc1a34319b9ebaa2265
+DIST libjpeg8_8d-1.debian.tar.gz 13676 SHA256 70ec6689b0ad85739802cf3ebbdcc12ea01e21edd8f931c614b25b44cf199057 SHA512 7def4f13524f0af3b9adf35a370027a18f43b9a635f56a17d5bb7883370db8b18b8a12737d0f0cb4b0287ccf8fb474eb5f754de6b398ffe7d522c54e5bf68040 WHIRLPOOL 94526c31d401eb14c9bf0f7115e13a27886ad58863e25d6653eba2b2f5ef260ec272368d2b9d9934bd75b1e5b5f1afc97230e540248efc24d6e85e5680399d27
diff --git a/media-libs/jpeg/files/jpeg-7-maxmem_sysconf.patch b/media-libs/jpeg/files/jpeg-7-maxmem_sysconf.patch
new file mode 100644
index 00000000000..9ea87d4fa39
--- /dev/null
+++ b/media-libs/jpeg/files/jpeg-7-maxmem_sysconf.patch
@@ -0,0 +1,49 @@
+# Make a reasonable guess about memory limits using sysconf().
+# includes 5% slop factor as suggested in documentation.
+
+--- jpeg-7/jmemansi.c
++++ jpeg-7/jmemansi.c
+@@ -12,6 +12,15 @@
+ * is shoved onto the user.
+ */
+
++#include <unistd.h>
++
++#ifdef __FreeBSD__
++# include <sys/types.h>
++# include <sys/sysctl.h>
++# include <sys/vmmeter.h>
++# include <vm/vm_param.h>
++#endif
++
+ #define JPEG_INTERNALS
+ #include "jinclude.h"
+ #include "jpeglib.h"
+@@ -157,7 +166,26 @@
+ GLOBAL(long)
+ jpeg_mem_init (j_common_ptr cinfo)
+ {
+- return DEFAULT_MAX_MEM; /* default for max_memory_to_use */
++#ifdef _SC_AVPHYS_PAGES
++ long phys_size;
++
++ if ((phys_size = sysconf(_SC_AVPHYS_PAGES)) == -1)
++ return DEFAULT_MAX_MEM; /* default for max_memory_to_use */
++ if ((phys_size *= sysconf(_SC_PAGESIZE)) < 0)
++ return DEFAULT_MAX_MEM;
++ return (long) (phys_size * 0.95);
++#elif defined(HAVE_SYSCTL) && defined(HW_PHYSMEM)
++ /* This works on *bsd and darwin. */
++ unsigned int physmem;
++ size_t len = sizeof physmem;
++ static int mib[2] = { CTL_HW, HW_PHYSMEM };
++
++ if (sysctl (mib, ARRAY_SIZE (mib), &physmem, &len, NULL, 0) == 0
++ && len == sizeof (physmem))
++ return (long) (physmem * 0.95);
++#endif
++
++ return DEFAULT_MAX_MEM;
+ }
+
+ GLOBAL(void)
diff --git a/media-libs/jpeg/files/jpeg-8d-CVE-2013-6629.patch b/media-libs/jpeg/files/jpeg-8d-CVE-2013-6629.patch
new file mode 100644
index 00000000000..a1535a79ffe
--- /dev/null
+++ b/media-libs/jpeg/files/jpeg-8d-CVE-2013-6629.patch
@@ -0,0 +1,17 @@
+http://bugs.gentoo.org/491152
+
+--- jdmarker.c
++++ jdmarker.c
+@@ -347,6 +347,12 @@
+
+ TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc,
+ compptr->dc_tbl_no, compptr->ac_tbl_no);
++
++ /* This CSi (cc) should differ from the previous CSi */
++ for (ci = 0; ci < i; ci++) {
++ if (cinfo->cur_comp_info[ci] == compptr)
++ ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc);
++ }
+ }
+
+ /* Collect the additional scan parameters Ss, Se, Ah/Al. */
diff --git a/media-libs/jpeg/jpeg-6b-r12.ebuild b/media-libs/jpeg/jpeg-6b-r12.ebuild
new file mode 100644
index 00000000000..61dc4244287
--- /dev/null
+++ b/media-libs/jpeg/jpeg-6b-r12.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# this ebuild is only for the libjpeg.so.62 SONAME for ABI compat
+
+PATCH_VER=1
+inherit eutils libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="library to load, handle and manipulate images in the JPEG format (transition package)"
+HOMEPAGE="http://www.ijg.org/"
+SRC_URI="mirror://gentoo/jpegsrc.v${PV}.tar.gz
+ http://dev.gentoo.org/~ssuominen/${P}-patchset-${PATCH_VER}.tar.xz"
+
+LICENSE="IJG"
+SLOT="62"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 m68k ~mips ~ppc ~ppc64 s390 sh ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE=""
+
+DOCS=""
+
+RDEPEND="!>=media-libs/libjpeg-turbo-1.3.0-r2:0
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ EPATCH_SUFFIX="patch" epatch "${WORKDIR}"/patch
+ epatch "${FILESDIR}"/${PN}-8d-CVE-2013-6629.patch
+ elibtoolize
+}
+
+multilib_src_configure() {
+ tc-export CC
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ --disable-static \
+ --enable-maxmem=64
+}
+
+multilib_src_compile() {
+ emake libjpeg.la
+}
+
+multilib_src_install() {
+ newlib.so .libs/libjpeg.so.62.0.0 libjpeg.so.62
+}
diff --git a/media-libs/jpeg/jpeg-8d-r1.ebuild b/media-libs/jpeg/jpeg-8d-r1.ebuild
new file mode 100644
index 00000000000..d9d68ab8038
--- /dev/null
+++ b/media-libs/jpeg/jpeg-8d-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="Library to load, handle and manipulate images in the JPEG format"
+HOMEPAGE="http://jpegclub.org/ http://www.ijg.org/"
+SRC_URI="http://www.ijg.org/files/${PN}src.v${PV}.tar.gz
+ mirror://debian/pool/main/libj/lib${PN}8/lib${PN}8_8d-1.debian.tar.gz"
+
+LICENSE="IJG"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND="!media-libs/libjpeg-turbo:0
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-7-maxmem_sysconf.patch \
+ "${FILESDIR}"/${P}-CVE-2013-6629.patch
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Fix building against this library on eg. Solaris and DragonFly BSD, see:
+ # http://mail-index.netbsd.org/pkgsrc-bugs/2010/01/18/msg035644.html
+ local ldverscript=
+ [[ ${CHOST} == *-solaris* ]] && ldverscript="--disable-ld-version-script"
+
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ --enable-maxmem=64 \
+ ${ldverscript}
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ # Build exifautotran and jpegexiforient
+ cd ../debian/extra
+ emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+
+ dodoc change.log example.c README *.txt
+
+ # Install exifautotran and jpegexiforient
+ newdoc ../debian/changelog changelog.debian
+ cd ../debian/extra
+ emake \
+ DESTDIR="${D}" prefix="${EPREFIX}"/usr \
+ INSTALL="install -m755" INSTALLDIR="install -d -m755" \
+ install
+}
diff --git a/media-libs/jpeg/jpeg-8d-r2.ebuild b/media-libs/jpeg/jpeg-8d-r2.ebuild
new file mode 100644
index 00000000000..d60b5d765ae
--- /dev/null
+++ b/media-libs/jpeg/jpeg-8d-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# this ebuild is only for the libjpeg.so.8 SONAME for ABI compat
+
+inherit eutils libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="Library to load, handle and manipulate images in the JPEG format"
+HOMEPAGE="http://jpegclub.org/ http://www.ijg.org/"
+SRC_URI="http://www.ijg.org/files/${PN}src.v${PV}.tar.gz"
+
+LICENSE="IJG"
+SLOT="8"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="!=media-libs/jpeg-8*:0
+ !<media-libs/libjpeg-turbo-1.3.0-r2
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}"
+
+DOCS=""
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-7-maxmem_sysconf.patch \
+ "${FILESDIR}"/${P}-CVE-2013-6629.patch
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Fix building against this library on eg. Solaris and DragonFly BSD, see:
+ # http://mail-index.netbsd.org/pkgsrc-bugs/2010/01/18/msg035644.html
+ local ldverscript=
+ [[ ${CHOST} == *-solaris* ]] && ldverscript="--disable-ld-version-script"
+
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-static \
+ --enable-maxmem=64 \
+ ${ldverscript}
+}
+
+multilib_src_compile() {
+ emake libjpeg.la
+}
+
+multilib_src_install() {
+ newlib.so .libs/libjpeg.so.8.4.0 libjpeg.so.8
+}
diff --git a/media-libs/jpeg/jpeg-9a.ebuild b/media-libs/jpeg/jpeg-9a.ebuild
new file mode 100644
index 00000000000..d3d1d2e0eb7
--- /dev/null
+++ b/media-libs/jpeg/jpeg-9a.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils libtool toolchain-funcs multilib-minimal
+
+DESCRIPTION="Library to load, handle and manipulate images in the JPEG format"
+HOMEPAGE="http://jpegclub.org/ http://www.ijg.org/"
+SRC_URI="http://www.ijg.org/files/${PN}src.v${PV}.tar.gz
+ mirror://debian/pool/main/libj/lib${PN}8/lib${PN}8_8d-1.debian.tar.gz"
+
+LICENSE="IJG"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+RDEPEND="!media-libs/libjpeg-turbo:0
+ abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r5
+ !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-7-maxmem_sysconf.patch
+ elibtoolize
+}
+
+multilib_src_configure() {
+ # Fix building against this library on eg. Solaris and DragonFly BSD, see:
+ # http://mail-index.netbsd.org/pkgsrc-bugs/2010/01/18/msg035644.html
+ local ldverscript=
+ [[ ${CHOST} == *-solaris* ]] && ldverscript="--disable-ld-version-script"
+
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ --enable-maxmem=64 \
+ ${ldverscript}
+}
+
+multilib_src_compile() {
+ emake
+
+ if multilib_is_native_abi; then
+ # Build exifautotran and jpegexiforient
+ cd ../debian/extra
+ emake CC="$(tc-getCC)" CFLAGS="${LDFLAGS} ${CFLAGS}"
+ fi
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+ prune_libtool_files
+
+ dodoc change.log example.c README *.txt
+
+ # Install exifautotran and jpegexiforient
+ newdoc ../debian/changelog changelog.debian
+ cd ../debian/extra
+ emake \
+ DESTDIR="${D}" prefix="${EPREFIX}"/usr \
+ INSTALL="install -m755" INSTALLDIR="install -d -m755" \
+ install
+}
diff --git a/media-libs/jpeg/metadata.xml b/media-libs/jpeg/metadata.xml
new file mode 100644
index 00000000000..e770d1bc9a9
--- /dev/null
+++ b/media-libs/jpeg/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>graphics</herd>
+</pkgmetadata>