summaryrefslogtreecommitdiff
path: root/media-gfx/argyllcms
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/argyllcms')
-rw-r--r--media-gfx/argyllcms/Manifest7
-rw-r--r--media-gfx/argyllcms/argyllcms-2.1.1.ebuild90
-rw-r--r--media-gfx/argyllcms/argyllcms-2.1.2-r1.ebuild (renamed from media-gfx/argyllcms/argyllcms-2.1.1-r1.ebuild)8
-rw-r--r--media-gfx/argyllcms/argyllcms-2.1.2.ebuild2
-rw-r--r--media-gfx/argyllcms/files/argyllcms-2.1.2-fno-common.patch134
5 files changed, 143 insertions, 98 deletions
diff --git a/media-gfx/argyllcms/Manifest b/media-gfx/argyllcms/Manifest
index 8a4bd95c3b37..5f45da5eb0dc 100644
--- a/media-gfx/argyllcms/Manifest
+++ b/media-gfx/argyllcms/Manifest
@@ -1,6 +1,5 @@
-DIST Argyll_V2.1.1_src.zip 13825860 BLAKE2B c1a748cf8ecd8e04164b0281e5cfb708386b196ea75bef6be02945d1a0cd1d191d069420628612ce0bd24028e40221a988becc3eba16293555376d20ab3a4bf5 SHA512 551b90c245d15e401c96c76ec0be66053bd75ca4d8b668a41841d72197820ed27d4d0186f903c126f7bacd667170e8e45e42ad31fcd44ec3276558b87b520565
+AUX argyllcms-2.1.2-fno-common.patch 5132 BLAKE2B 5398d60a364a36ea24d6cce682330db177aaaec874a39e4f2a9c754a8862504938471851a14ce0871bb7863a9fd9a794f7ede2144090e1f44718f001344032e8 SHA512 d60f0eb9bd6d32b85d8ac88aa32558d1446357c6643fbdb393e90eba08f8f701ba8185741879b2320bda73e08ed14989cc1a16ffd4d2996d5e9afb05774e4e76
DIST Argyll_V2.1.2_src.zip 13837056 BLAKE2B cf6181549e37b1deda11bdd4a63b27e101180a1e82b132ea8dca5af6830a74d5e2f940633f5aecf9a8d62fe8c2b0cdce8f2af44124ce7432b33d2a1bdbaa2c21 SHA512 f49b588c5f0a39edcc30a068a8bde8c7b74611d3feb15d07d4a61b205ed1231c288629f65e1a5a60a3921d552a28e075667ada555401a0d9694fd882bddd4b06
-EBUILD argyllcms-2.1.1-r1.ebuild 2113 BLAKE2B 7491a7a5fccb9ca0675dced451e2d8c88b804f279e19eb53c0e6afe8a64c415ae0d9b954428f490d1050e86ff01ad8ff74bbc133b6a189951336c65a6c44cbb3 SHA512 f4180c02dcc2997607ffea5e174626609809a08346b6c65c7f51cb79c2e57eff5de83909855a35712b9d5f055d2ece7cfdafc6af2b9ed0c63ab9570f3cd7bd44
-EBUILD argyllcms-2.1.1.ebuild 2049 BLAKE2B 366bead11308fb50f97eb8a443eee23677463e8b249300b3544ea9157fbcf19e603fd1bd506c14e3470965717d84916a1456a70282b68b2b970c1885cbae1193 SHA512 a1b1a16d0f1bd9a8ccfa149de5978aeddc5c189a28869c3836dd35c009d016f8dedbf292b6fc73702869e265635a82cf3e44599333130f60ceeb16be23852f1c
-EBUILD argyllcms-2.1.2.ebuild 2110 BLAKE2B 40f4737e8c444258b3d348d1b314adcf91df265cc706e317503016a5629e64beeb8b4f3d1677f3b4e4eb5870a5c852ad53cee71530c14c4adcb8f793b9216b35 SHA512 389d01f24370996c5677bae880c36f628717b7821f40410ce28645dbf8b07a8dab5eaee750b413897b273aeb900aaa17589ba561ce036c0508ef02563a0c7107
+EBUILD argyllcms-2.1.2-r1.ebuild 2171 BLAKE2B fc3fc692cf31bbbf4e37bac3b1cdc46b9645c7ffe800b5171414f95b576b429dfb1a51987941f9ef1d3f3b4bc69b033eaf8821e4fb7fe5979b1eb7d94c7a10c5 SHA512 39b5fe40c05827a85bfdfa0b466abc8a90a4311926b50fb8ff933a84f762aa7dd1d7e30580d185706913c9dea859eded7044d3d64a4fcc196e8192c0f6053e02
+EBUILD argyllcms-2.1.2.ebuild 2109 BLAKE2B d6877c236e18b35ea0305d61ae11942cc87a79c8c1adb37e86d941532d0f46a6983101d45c7d375fd33637f249215d06fab56fb756d9fceeaa6d5d1eb965e24d SHA512 047b0fc549fa038b0ad6584a36ff160ff31b608abdb7d95a905a9a7ec30f42492bbba2544080db7b9496e8dc8530e79de6d1463fd86c00145b69c41d8f0d3a02
MISC metadata.xml 252 BLAKE2B f7125c07f7cb9fe1a8d301f198091320ba83ef3547e579b9825298715066ba3506be216900b5317106da011f95df9411b99b100f14f741832ab500fda6acb788 SHA512 6a56c24e3731dd9512fa264d3dce1fe36ace891a17394c483586e0be1fffd153e901228d3ee9c471a226b04cec27d3f78ed2de491e46238de4b06538dab7e724
diff --git a/media-gfx/argyllcms/argyllcms-2.1.1.ebuild b/media-gfx/argyllcms/argyllcms-2.1.1.ebuild
deleted file mode 100644
index 0e6708716ccf..000000000000
--- a/media-gfx/argyllcms/argyllcms-2.1.1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic multiprocessing toolchain-funcs udev
-
-MY_P="Argyll_V${PV}"
-
-DESCRIPTION="Open source, ICC compatible color management system"
-HOMEPAGE="http://www.argyllcms.com/"
-SRC_URI="http://www.argyllcms.com/${MY_P}_src.zip"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm64 hppa x86"
-IUSE="doc"
-
-RDEPEND="
- dev-libs/openssl:0=
- media-libs/tiff:0
- sys-libs/zlib
- virtual/jpeg:0
- x11-libs/libX11
- x11-libs/libXau
- x11-libs/libXdmcp
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXxf86vm
- x11-libs/libXScrnSaver"
-DEPEND="${RDEPEND}
- app-arch/unzip
- dev-util/ftjam"
-
-S="${WORKDIR}/${MY_P}"
-
-src_compile() {
- # Make it respect LDFLAGS
- echo "LINKFLAGS += ${LDFLAGS} ;" >> Jamtop
-
- # Evil hack to get --as-needed working. The build system unfortunately lists all
- # the shared libraries by default on the command line _before_ the object to be built...
- echo "STDLIBS += -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -ltiff -ljpeg ;" >> Jamtop
-
- append-cflags -DUNIX -D_THREAD_SAFE
-
- sed \
- -e 's:CCFLAGS:CFLAGS:g' \
- -e "s:ar rusc:$(tc-getAR) rusc:g" \
- -i Jambase || die
-
- tc-export CC RANLIB
-
- jam -dx -fJambase "-j$(makeopts_jobs)" || die
-}
-
-src_install() {
- jam -dx -fJambase install || die
-
- rm bin/License.txt || die
-
- pushd bin > /dev/null
- local binname
- for binname in * ; do
- newbin ${binname} argyll-${binname}
- done
- popd > /dev/null
-
- dodoc log.txt Readme.txt ttbd.txt notes.txt
- if use doc; then
- docinto html
- dodoc doc/*html doc/*jpg doc/*gif
- fi
-
- insinto /usr/share/${PN}
- doins -r ref
-
- udev_dorules usb/55-Argyll.rules
-}
-
-pkg_postinst() {
- elog "If you have a Spyder2 you need to extract the firmware"
- elog "from the CVSpyder.dll of the windows driver package"
- elog "and store it as /usr/share/color/spyd2PLD.bin"
- echo
- elog "For further info on setting up instrument access read"
- elog "http://www.argyllcms.com/doc/Installing_Linux.html"
- echo
-}
diff --git a/media-gfx/argyllcms/argyllcms-2.1.1-r1.ebuild b/media-gfx/argyllcms/argyllcms-2.1.2-r1.ebuild
index 276ade085560..25461f6d1758 100644
--- a/media-gfx/argyllcms/argyllcms-2.1.1-r1.ebuild
+++ b/media-gfx/argyllcms/argyllcms-2.1.2-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -30,10 +30,12 @@ RDEPEND="
x11-libs/libXScrnSaver
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )"
-DEPEND="${RDEPEND}
- app-arch/unzip
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip
dev-util/ftjam"
+PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
+
S="${WORKDIR}/${MY_P}"
src_compile() {
diff --git a/media-gfx/argyllcms/argyllcms-2.1.2.ebuild b/media-gfx/argyllcms/argyllcms-2.1.2.ebuild
index 74bfefe93386..4eae0ce5c410 100644
--- a/media-gfx/argyllcms/argyllcms-2.1.2.ebuild
+++ b/media-gfx/argyllcms/argyllcms-2.1.2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="http://www.argyllcms.com/${MY_P}_src.zip"
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa x86"
+KEYWORDS="amd64 arm64 hppa x86"
IUSE="doc libressl"
RDEPEND="
diff --git a/media-gfx/argyllcms/files/argyllcms-2.1.2-fno-common.patch b/media-gfx/argyllcms/files/argyllcms-2.1.2-fno-common.patch
new file mode 100644
index 000000000000..36bf87d12550
--- /dev/null
+++ b/media-gfx/argyllcms/files/argyllcms-2.1.2-fno-common.patch
@@ -0,0 +1,134 @@
+argyllcms: Fix compilation with GCC 10
+
+A common mistake in C is omitting extern when declaring a global variable
+in a header file. If the header is included by several files it results
+in multiple definitions of the same variable. In previous GCC versions
+this error is ignored. GCC 10 defaults to -fno-common, which means a
+linker error will now be reported. To fix this, use extern in header
+files when declaring global variables, and ensure each global is defined
+in exactly one C file. As a workaround, legacy C code can be compiled
+with -fcommon.
+
+ int x; // tentative definition - avoid in header files
+ extern int y; // correct declaration in a header file
+
+References:
+https://bugzilla.opensuse.org/show_bug.cgi?id=1160244
+https://bugzilla.opensuse.org/show_bug.cgi?id=1160256
+
+In case of vinflate.c and inflate.c, both files define local variables
+with the same name as global. It is no more possible with GCC 10. To
+prevent sharing variables across files, add "static" to all local
+variables.
+
+Index: Argyll_V2.1.2/gamut/gamut.h
+===================================================================
+--- Argyll_V2.1.2.orig/gamut/gamut.h
++++ Argyll_V2.1.2/gamut/gamut.h
+@@ -36,7 +36,7 @@
+ #define MAXGAMN 10 /* Maximum gamut point neighbors returned */
+ #define NSLOTS 6 /* Number of maximum direction slots */
+
+-struct _vrml *wrl; /* Declared in vrml.h, which may be #included after this */
++struct _vrml; /* Declared in vrml.h, which may be #included after this */
+
+ /* ------------------------------------ */
+ #define NODE_STRUCT \
+Index: Argyll_V2.1.2/spectro/vinflate.c
+===================================================================
+--- Argyll_V2.1.2.orig/spectro/vinflate.c
++++ Argyll_V2.1.2/spectro/vinflate.c
+@@ -92,7 +92,7 @@ int vinflate(void);
+ */
+
+ #define WSIZE 0x8000
+-unsigned int wp; /* current position in slide */
++static unsigned int wp; /* current position in slide */
+ uch slide[32768];
+
+ static int vflush_output(unsigned int w) {
+@@ -160,8 +160,8 @@ static ush cpdext[] = { /* Extra
+ the stream.
+ */
+
+-ulg bb; /* bit buffer */
+-unsigned bk; /* bits in bit buffer */
++static ulg bb; /* bit buffer */
++static unsigned bk; /* bits in bit buffer */
+
+ ush vmask_bits[] = {
+ 0x0000,
+@@ -230,8 +230,8 @@ ush vmask_bits[] = {
+ */
+
+
+-int vlbits = 9; /* bits in base literal/length lookup table */
+-int vdbits = 6; /* bits in base distance lookup table */
++static int vlbits = 9; /* bits in base literal/length lookup table */
++static int vdbits = 6; /* bits in base distance lookup table */
+
+
+ /* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
+@@ -239,7 +239,7 @@ int vdbits = 6; /* bits in base
+ #define N_MAX 288 /* maximum number of codes in any set */
+
+
+-unsigned hufts; /* track memory usage */
++static unsigned hufts; /* track memory usage */
+
+ /* Given a list of code lengths and a maximum table size, make a set of
+ tables to decode that set of codes. Return zero on success, one if
+Index: Argyll_V2.1.2/spectro/inflate.c
+===================================================================
+--- Argyll_V2.1.2.orig/spectro/inflate.c
++++ Argyll_V2.1.2/spectro/inflate.c
+@@ -49,7 +49,7 @@ typedef unsigned int ulg;
+ the next table, which codes e - 16 bits, and lastly e == 99 indicates
+ an unused code. If a code with e == 99 is looked up, this implies an
+ error in the data. */
+-struct huft {
++static struct huft {
+ uch e; /* number of extra bits or operation */
+ uch b; /* number of bits in this code or subcode */
+ union {
+@@ -87,7 +87,7 @@ int inflate(void);
+ /* unsigned wp; current position in slide */
+
+ #define WSIZE 0x8000
+-unsigned int wp; /* current position in slide */
++static unsigned int wp; /* current position in slide */
+ uch slide[32768];
+
+ static int flush_output(unsigned int w) {
+@@ -155,8 +155,8 @@ static ush cpdext[] = { /* Extra
+ the stream.
+ */
+
+-ulg bb; /* bit buffer */
+-unsigned bk; /* bits in bit buffer */
++static ulg bb; /* bit buffer */
++static unsigned bk; /* bits in bit buffer */
+
+ ush mask_bits[] = {
+ 0x0000,
+@@ -201,8 +201,8 @@ ush mask_bits[] = {
+ */
+
+
+-int lbits = 9; /* bits in base literal/length lookup table */
+-int dbits = 6; /* bits in base distance lookup table */
++static int lbits = 9; /* bits in base literal/length lookup table */
++static int dbits = 6; /* bits in base distance lookup table */
+
+
+ /* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
+@@ -210,7 +210,7 @@ int dbits = 6; /* bits in base
+ #define N_MAX 288 /* maximum number of codes in any set */
+
+
+-unsigned hufts; /* track memory usage */
++static unsigned hufts; /* track memory usage */
+
+
+ static int huft_build(b, n, s, d, e, t, m)
+