summaryrefslogtreecommitdiff
path: root/media-gfx/exact-image
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/exact-image')
-rw-r--r--media-gfx/exact-image/Manifest4
-rw-r--r--media-gfx/exact-image/exact-image-1.0.2.ebuild95
-rw-r--r--media-gfx/exact-image/files/exact-image-1.0.2-g++.patch22
-rw-r--r--media-gfx/exact-image/files/exact-image-1.0.2-gcc6.patch64
4 files changed, 185 insertions, 0 deletions
diff --git a/media-gfx/exact-image/Manifest b/media-gfx/exact-image/Manifest
index 00764ff7a9a6..382f331dd8d9 100644
--- a/media-gfx/exact-image/Manifest
+++ b/media-gfx/exact-image/Manifest
@@ -1,6 +1,10 @@
AUX exact-image-0.7.5-libpng14.patch 2435 BLAKE2B ca832920ad7bd1b2f1def6faa04e0b7d70d177f859966ef44223ab6c26813d857456e8adc70367c4275338a778e23dd158694ef826da47070abe3e789c5f0df6 SHA512 4f216f96c4190c4f04991368d92e685592f694cb3c9f5dab90281a9bc1f06c9fcaa817494fb15412f5dc427750558019b6e2aeef8769ed932e974e201776bd48
AUX exact-image-0.8.1-gcc6.patch 6101 BLAKE2B 3dba7f2688a5c59282486f492131edaf104c3c9e7d335f1893467ef6d968b466e344ae1c1992ea080cee4d267001dd6555aaea3a23dfbb0a5748c5262d364fbb SHA512 e11a9dca3c5c6ac4ca5557e6ca212354346b307c38abe77ceaea9f15ef35f5a8de8d24628b290c4ecfdaf84dee44af49414d57c89b067e78b60a02d4e09a5dd4
AUX exact-image-0.8.1-libpng15.patch 754 BLAKE2B 81b47c6198103f37cc5f0a382001129a10140bead8f98119eb52079ed97d67d9bfd56b60278023f680d66107aaa6f2dea4a035a194c404e33e548f2e37f90f49 SHA512 7f3d271d908e55e3731b38e072dcadcb0d99cbf3de327d5bd486e232c2827055b8f712052e04c9bc81b20fd42d27cc18627a6bc118c9d1ece58b91c18fa9bf13
+AUX exact-image-1.0.2-g++.patch 936 BLAKE2B 6ab787c1393228bb1671c8a2d7b76969fcd11d26f0c14ca08a95cee7241422205d8cb398f2a6b711e884c476cba662718705848a818b1944428b2a207133fede SHA512 44fafd62c713bc59c1cb774924394ad32a13c33b79696a4762e3730108650ccd3033f554fc8b0d7cf9b71126367bce5b90074f2c954ca57c8389975b57eac5e1
+AUX exact-image-1.0.2-gcc6.patch 2795 BLAKE2B 17282b91baa020b94654c92d87611001584f82360303a56e70cb8f081caf400394a367982e115bff094dfe11a0798503a606de106f1bf6427b57a9ede1cd6ed5 SHA512 ef42fccab6d0958df2dcf86578f9df1f84254515c2bea611f256e23227b9d6dc917467f2d8f54230f9386e9726152c6bbe4ab4f3d117e0da5a3e99b00e93e348
DIST exact-image-0.8.1.tar.bz2 283660 BLAKE2B 49aa68640b785da59fd0e04d0a0892ad06adbc286a98bf908e60e77cfd273263e83dce3c9eb75c30f422c2b6eef2178dd0585aada63f992291abf298b369f3aa SHA512 0adc51c5a29415e236a963cfdaf8f5527e628e9a645e87d00c69a7185e60639cfcd9b1c2b4c3abe1826c5364f0c5d45a0ebb8923cfed53d041d1d36b2604b565
+DIST exact-image-1.0.2.tar.bz2 322174 BLAKE2B 67afefb4c5a52416459cd4ac6198012eb6d7895a73ea8363fae05286c7e7f62aa1a02166985f53b5638c7dc7b23b4dc1fb1c7b2272a9dc595ce329a7083ee1b9 SHA512 8ba5a198a236ddf5fa58f40c80f32ba9d300376c637a13a7acf3d2db7906fced373b33a7ecff9cff4d09d8b21de9ce1fb9f5bfb1f4522557bd01af0e3d6dcc65
EBUILD exact-image-0.8.1-r3.ebuild 2289 BLAKE2B 93a144bd88c5d743e24f34cf9920d97662cd5db725e952012237e2ad89c9f2a53734989a2e94d20346752ec275c940f2ff3ffe8e72c1d134a8d9818f434b1bb2 SHA512 dc14b66c56f7733019b433ac5b7b348bf105dccac9157c3a1ef03789bb5e33d7a2e0d2fd466a097d950c7a50a123581f40d62b81c1d2abce2213cde851465ef0
+EBUILD exact-image-1.0.2.ebuild 2261 BLAKE2B 8a32e0ba2118ca0f17eab822ca025599b8c8bc6492f59a4bc7fdbc0779545407e9d580b0649d8b221340af4e3eccc9a7bd088eb520092f490aa78bf339d2436e SHA512 4f9b9a1ce0fa1bd92f0744fc1888f54957e4d915666bd08a52f4c32b9ce2f68b54ed350615a03fe1522bfef0ebaadea462a33a8581e1b4d014a3064ca1dfa8f9
MISC metadata.xml 329 BLAKE2B ceb9ef8fb31cd43ccaeec69b64fe88a4894da38dd2c45a1b74dde46161daa3d437fc9e2d7a699c8ca57acd8bb6ad06dbbbe173eefcf243ee2f78233046a7006b SHA512 eb4d23c96cd7e20afb64bf80075a0cfcdb27c69ca075261d54676c47044ca6d120dd5b80cb2217787b71a9db02688764b0b3f2147c6a6e652954e43cafaebf57
diff --git a/media-gfx/exact-image/exact-image-1.0.2.ebuild b/media-gfx/exact-image/exact-image-1.0.2.ebuild
new file mode 100644
index 000000000000..0cea0d26cf53
--- /dev/null
+++ b/media-gfx/exact-image/exact-image-1.0.2.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fast, modern and generic image processing library"
+HOMEPAGE="http://www.exactcode.de/site/open_source/exactimage/"
+SRC_URI="http://dl.exactcode.de/oss/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="expat jpeg lua openexr php perl png ruby swig tiff truetype X"
+
+RDEPEND="x11-libs/agg[truetype]
+ sys-libs/zlib
+ expat? ( dev-libs/expat )
+ jpeg? ( virtual/jpeg )
+ lua? ( dev-lang/lua:= )
+ openexr? ( media-libs/openexr )
+ php? ( dev-lang/php:* )
+ perl? ( dev-lang/perl )
+ png? ( >=media-libs/libpng-1.2.43 )
+ ruby? ( dev-lang/ruby:* )
+ tiff? ( media-libs/tiff )
+ truetype? ( >=media-libs/freetype-2 )
+ X? (
+ x11-libs/libXext
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ swig? ( dev-lang/swig )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc6.patch
+ "${FILESDIR}"/${P}-g++.patch
+)
+
+src_prepare() {
+ default
+
+ # Respect user CFLAGS/CXXFLAGS.
+ sed -i \
+ -e '/C\(XX\)\?FLAGS =/s/-O2//' \
+ -e "\$aCFLAGS += ${CFLAGS}\nCXXFLAGS += ${CXXFLAGS}" \
+ Makefile || die
+
+ # Show commands. Use qualified CC/CXX.
+ sed -i \
+ -e '/^Q =/d' \
+ -e '/^\t@echo /d' \
+ -e "\$aCC:=$(tc-getCC)\nCXX:=$(tc-getCXX)" \
+ build/bottom.make || die
+
+ # The copied string fits exactly. Use memcpy to reflect that a null
+ # terminator is not needed.
+ sed -i \
+ -e 's/strcpy(\([^,]*\)\(,["a-zA-Z -]*\))/memcpy(\1\2, sizeof(\1))/' \
+ codecs/tga.cc || die
+}
+
+src_configure() {
+ # evas -> enlightenment overlay
+ # bardecode -> protected by custom license
+ # libungif -> not supported anymore
+ # python -> allegedly not python3, but python2 only
+
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/$(get_libdir) \
+ $(use_with X x11) \
+ $(use_with truetype freetype) \
+ --without-evas \
+ $(use_with jpeg libjpeg) \
+ $(use_with tiff libtiff) \
+ $(use_with png libpng) \
+ --without-libgif \
+ --without-jasper \
+ $(use_with openexr) \
+ $(use_with expat) \
+ --without-lcms \
+ --without-bardecode \
+ $(use_with lua) \
+ $(use_with swig) \
+ --without-python \
+ $(use_with perl) \
+ --without-python \
+ $(use_with php) \
+ $(use_with ruby) || die
+}
diff --git a/media-gfx/exact-image/files/exact-image-1.0.2-g++.patch b/media-gfx/exact-image/files/exact-image-1.0.2-g++.patch
new file mode 100644
index 000000000000..29370eaa9aba
--- /dev/null
+++ b/media-gfx/exact-image/files/exact-image-1.0.2-g++.patch
@@ -0,0 +1,22 @@
+--- a/configure 2020-07-23 19:16:47.199283125 +0200
++++ b/configure 2020-07-23 19:17:01.229075367 +0200
+@@ -19,19 +19,6 @@
+
+ parse_options $*
+
+-compile c++ available.c ||
+- status_error "A C++ compiler is not installed or does not work correctly.
+-A C++ compiler is vital for exact-image - so you need to install it first."
+-
+-compile c++ stl.c template.c template-specialization.c \
+- partial-template-specialization.c function-template.c \
+- || status_error \
+- "At least one of the advanced ANSI C++ tests failed. Since these
+-features are vital for exact-image you need to update to a more recent compiler first."
+-
+-headercheck c++ iostream string iostream sstream fstream ||
+- status_error "Not all tested STL headers are present - please install them."
+-
+ pkgcheck x11 compile X11 atleast 11.0
+ pkgcheck libagg pkg-config LIBAGG atleast 2.3 ||
+ status_error "Anti-Grain Geometry was not found, since it is vital
diff --git a/media-gfx/exact-image/files/exact-image-1.0.2-gcc6.patch b/media-gfx/exact-image/files/exact-image-1.0.2-gcc6.patch
new file mode 100644
index 000000000000..10fb38d6d658
--- /dev/null
+++ b/media-gfx/exact-image/files/exact-image-1.0.2-gcc6.patch
@@ -0,0 +1,64 @@
+Bug: https://bugs.gentoo.org/600380
+
+--- a/bardecode/code25i.hh
++++ b/bardecode/code25i.hh
+@@ -21,6 +21,12 @@
+
+ #include "scanner_utils.hh"
+
++#if __cplusplus >= 201103L
++#define STATIC_CONST_DOUBLE static constexpr double
++#else
++#define STATIC_CONST_DOUBLE static const double
++#endif
++
+ namespace BarDecode
+ {
+ struct code25i_t
+@@ -31,11 +37,11 @@
+ static const int END_SEQUENCE = 0xD;
+ static const char no_entry = 0;
+
+- static const double n_lq = 15;
+- static const double n_hq = 5.3;
+- static const double w_lq = 5.2;
+- static const double w_hq = 1.5;
+- static const double tol = 0.2;
++ STATIC_CONST_DOUBLE n_lq = 15;
++ STATIC_CONST_DOUBLE n_hq = 5.3;
++ STATIC_CONST_DOUBLE w_lq = 5.2;
++ STATIC_CONST_DOUBLE w_hq = 1.5;
++ STATIC_CONST_DOUBLE tol = 0.2;
+
+ static const usize_t min_quiet_usize = 5;
+ //static const usize_t min_quiet_usize = 10;
+--- a/codecs/dcraw.h
++++ b/codecs/dcraw.h
+@@ -3958,22 +3958,22 @@
+ -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,
+ -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,
+ -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,
+- -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,
+- -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,
++ -1,-2,-1,+0,0,(signed char) 0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,
++ -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,(signed char) 0x88, -1,-1,+1,-2,0,0x40,
+ -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,
+ -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,
+ -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,
+ -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,
+ -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,
+ -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,
+- +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,
++ +0,-2,+0,+0,1,(signed char) 0x80, +0,-1,+0,+1,1,(signed char) 0x88, +0,-1,+1,-2,0,0x40,
+ +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,
+ +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,
+ +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,
+ +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,
+ +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,
+- +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,
+- +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,
++ +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,(signed char) 0x80,
++ +1,-1,+1,+1,0,(signed char) 0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,
+ +1,+0,+2,+1,0,0x10
+ }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };
+ ushort (*brow[5])[4], *pix;