diff options
author | François-Xavier Carton <fx.carton91@gmail.com> | 2022-05-16 17:41:43 +0200 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2022-06-21 11:57:16 +0200 |
commit | 7d7c53ec31479a88eeee0249a831ec0f82d269bd (patch) | |
tree | 701ad16237207da1e87d48740457419b33b4112f /sci-libs/dcmtk | |
parent | app-office/texmacs: update HOMEPAGE, SRC_URI (diff) | |
download | gentoo-7d7c53ec31479a88eeee0249a831ec0f82d269bd.tar.gz gentoo-7d7c53ec31479a88eeee0249a831ec0f82d269bd.tar.bz2 gentoo-7d7c53ec31479a88eeee0249a831ec0f82d269bd.zip |
sci-libs/dcmtk: rename bundled charls to avoid conflicts
Using upstream patch [1].
Note: both Debian [2] and Fedora [3] have given up unbundling charls as
the newer charls 2.0 is incompatible with charls 1.0 used by dcmtk and
causes regressions.
[1] https://git.dcmtk.org/?p=dcmtk.git;a=commitdiff;h=09afb527bb889932f919c28f47b08c84fe19ab32
[2] https://salsa.debian.org/med-team/dcmtk/-/commit/12aad369f3e5a6a4eac78b206a940cad80608bc7
[3] https://src.fedoraproject.org/rpms/dcmtk/c/d9cff801c2e4e2928e247a8c973b7118ec589ed5?branch=rawhide
Closes: https://bugs.gentoo.org/832453
Signed-off-by: François-Xavier Carton <fx.carton91@gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'sci-libs/dcmtk')
-rw-r--r-- | sci-libs/dcmtk/dcmtk-3.6.5-r1.ebuild | 90 | ||||
-rw-r--r-- | sci-libs/dcmtk/files/dcmtk-3.6.5-rename-bundled-charls.patch | 70 |
2 files changed, 160 insertions, 0 deletions
diff --git a/sci-libs/dcmtk/dcmtk-3.6.5-r1.ebuild b/sci-libs/dcmtk/dcmtk-3.6.5-r1.ebuild new file mode 100644 index 000000000000..d151996f1e2e --- /dev/null +++ b/sci-libs/dcmtk/dcmtk-3.6.5-r1.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="The DICOM Toolkit" +HOMEPAGE="https://dicom.offis.de/dcmtk.php.en" +SRC_URI="https://dicom.offis.de/download/dcmtk/release/${P}.tar.gz" + +LICENSE="OFFIS" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +SLOT="0" +IUSE="doc png ssl tcpd tiff +threads xml zlib" + +RDEPEND=" + dev-libs/icu:= + virtual/jpeg:0 + png? ( media-libs/libpng:* ) + ssl? ( dev-libs/openssl:0= ) + tcpd? ( sys-apps/tcp-wrappers ) + tiff? ( media-libs/tiff:0 ) + xml? ( dev-libs/libxml2:2 ) + zlib? ( sys-libs/zlib ) +" +DEPEND="${RDEPEND}" +BDEPEND="doc? ( app-doc/doxygen )" + +PATCHES=( + "${FILESDIR}/${P}-rename-bundled-charls.patch" +) + +src_prepare() { + cmake_src_prepare + + sed -e "s:share/doc/dcmtk:&-${PV}:" \ + -e "s:DIR \"/:DIR \"/usr/:" \ + -e "s:usr/etc:etc:" \ + -e "s:/lib\":/$(get_libdir)\":" \ + -e "s:COPYRIGHT::" \ + -i CMakeLists.txt || die + sed -e 's:${CMAKE_INSTALL_PREFIX}/::' \ + -i dcmwlm/data/CMakeLists.txt doxygen/CMakeLists.txt || die + # Temporary workaround: docs are not built with CMake + sed -i -e '/include/d' doxygen/Makefile.in || die + + # fix -D deprecation warnings + sed -i -e "s|_BSD_SOURCE|_DEFAULT_SOURCE|g" \ + "${S}"/config/configure.in \ + "${S}"/CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + -DDCMTK_WITH_ICU=ON + -DDCMTK_WITH_TIFF=$(usex tiff) + -DDCMTK_WITH_PNG=$(usex png) + -DDCMTK_WITH_XML=$(usex xml) + -DDCMTK_WITH_ZLIB=$(usex zlib) + -DDCMTK_WITH_OPENSSL=$(usex ssl) + -DDCMTK_WITH_DOXYGEN=$(usex doc) + -DDCMTK_WITH_THREADS=$(usex threads) + ) + + cmake_src_configure + + if use doc; then + cd "${S}"/doxygen || die + econf + fi +} + +src_compile() { + cmake_src_compile + + if use doc; then + emake -C "${S}"/doxygen + fi +} + +src_install() { + doman doxygen/manpages/man1/* + + if use doc; then + local HTML_DOCS=( "${S}"/doxygen/htmldocs/. ) + fi + cmake_src_install +} diff --git a/sci-libs/dcmtk/files/dcmtk-3.6.5-rename-bundled-charls.patch b/sci-libs/dcmtk/files/dcmtk-3.6.5-rename-bundled-charls.patch new file mode 100644 index 000000000000..5bb51fdc3273 --- /dev/null +++ b/sci-libs/dcmtk/files/dcmtk-3.6.5-rename-bundled-charls.patch @@ -0,0 +1,70 @@ +Upstream: https://git.dcmtk.org/?p=dcmtk.git;a=commitdiff;h=09afb527bb889932f919c28f47b08c84fe19ab32 + +From 46b4b4c2d48612b60f27969db142599f56042a47 Mon Sep 17 00:00:00 2001 +From: Marco Eichelberg <dicom@offis.de> +Date: Tue, 10 Nov 2020 12:31:00 +0100 +Subject: [PATCH] Renamed libcharls to libdcmtkcharls. + +Renamed the CharLS JPEG-LS library that is built into DCMTK from +"charls" to "dcmtkcharls" to avoid a naming conflict with another +installation of the CharLS library when building shared libraries. + +Thanks to Mathieu Malaterre <malat@debian.org> for the suggestion +and the patch. +--- + dcmjpls/apps/CMakeLists.txt | 2 +- + dcmjpls/libcharls/CMakeLists.txt | 4 ++-- + dcmjpls/libcharls/intrface.h | 2 +- + dcmjpls/libsrc/CMakeLists.txt | 2 +- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt +index 2a9a452..0cb3f53 100644 +--- a/dcmjpls/apps/CMakeLists.txt ++++ b/dcmjpls/apps/CMakeLists.txt +@@ -8,5 +8,5 @@ endforeach() + + # make sure executables are linked to the corresponding libraries + foreach(PROGRAM dcmcjpls dcmdjpls dcml2pnm) +- DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls charls dcmimage dcmimgle dcmdata oflog ofstd ofstd) ++ DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls dcmtkcharls dcmimage dcmimgle dcmdata oflog ofstd ofstd) + endforeach() +diff --git a/dcmjpls/libcharls/CMakeLists.txt b/dcmjpls/libcharls/CMakeLists.txt +index 0c5b143..ae0c017 100644 +--- a/dcmjpls/libcharls/CMakeLists.txt ++++ b/dcmjpls/libcharls/CMakeLists.txt +@@ -2,6 +2,6 @@ + include_directories("${dcmjpls_SOURCE_DIR}/libcharls" "${ofstd_SOURCE_DIR}/include") + + # create library from source files +-DCMTK_ADD_LIBRARY(charls header intrface jpegls) ++DCMTK_ADD_LIBRARY(dcmtkcharls header intrface jpegls) + +-DCMTK_TARGET_LINK_MODULES(charls ofstd oflog) ++DCMTK_TARGET_LINK_MODULES(dcmtkcharls ofstd oflog) +diff --git a/dcmjpls/libcharls/intrface.h b/dcmjpls/libcharls/intrface.h +index c8fdaa9..3aa27fd 100644 +--- a/dcmjpls/libcharls/intrface.h ++++ b/dcmjpls/libcharls/intrface.h +@@ -10,7 +10,7 @@ + #include "dcmtk/ofstd/ofstd.h" /* for size_t */ + #include "dcmtk/ofstd/ofdefine.h" /* for DCMTK_DECL_EXPORT */ + +-#ifdef charls_EXPORTS ++#ifdef dcmtkcharls_EXPORTS + #define DCMTK_CHARLS_EXPORT DCMTK_DECL_EXPORT + #else + #define DCMTK_CHARLS_EXPORT DCMTK_DECL_IMPORT +diff --git a/dcmjpls/libsrc/CMakeLists.txt b/dcmjpls/libsrc/CMakeLists.txt +index 314face..bd928f8 100644 +--- a/dcmjpls/libsrc/CMakeLists.txt ++++ b/dcmjpls/libsrc/CMakeLists.txt +@@ -4,4 +4,4 @@ include_directories("${dcmjpls_SOURCE_DIR}/include" "${ofstd_SOURCE_DIR}/include + # create library from source files + DCMTK_ADD_LIBRARY(dcmjpls djcparam djdecode djencode djrparam djcodecd djutils djcodece) + +-DCMTK_TARGET_LINK_MODULES(dcmjpls ofstd oflog dcmdata dcmimgle dcmimage charls) ++DCMTK_TARGET_LINK_MODULES(dcmjpls ofstd oflog dcmdata dcmimgle dcmimage dcmtkcharls) +-- +2.1.4 + |