diff options
author | François-Xavier Carton <fx.carton91@gmail.com> | 2022-02-01 11:14:53 +0100 |
---|---|---|
committer | Andrew Ammerlaan <andrewammerlaan@gentoo.org> | 2022-08-23 12:58:02 +0200 |
commit | 19fa78b557686620270aa70ca58d398b3ecc2e33 (patch) | |
tree | cfd2f1e603c71671a7884c9e8bcdf73601846a76 | |
parent | media-libs/charls: new package (diff) | |
download | sci-19fa78b5.tar.gz sci-19fa78b5.tar.bz2 sci-19fa78b5.zip |
sci-libs/gdcm: new package
Signed-off-by: François-Xavier Carton <fx.carton91@gmail.com>
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r-- | sci-libs/gdcm/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch | 15 | ||||
-rw-r--r-- | sci-libs/gdcm/files/gdcm_support_vtk9.patch | 70 | ||||
-rw-r--r-- | sci-libs/gdcm/gdcm-3.0.14.ebuild | 121 | ||||
-rw-r--r-- | sci-libs/gdcm/metadata.xml | 14 |
5 files changed, 222 insertions, 0 deletions
diff --git a/sci-libs/gdcm/Manifest b/sci-libs/gdcm/Manifest new file mode 100644 index 000000000..64b9caefd --- /dev/null +++ b/sci-libs/gdcm/Manifest @@ -0,0 +1,2 @@ +DIST gdcm-3.0.14.tar.bz2 2992355 BLAKE2B a97209a8bb6896095bfc59ac974b667386c8711f20118252567cf983f15165d259da7858ccfd6bfdfbb25194d7687c98512953b480913acec4bf6d176af7a005 SHA512 9c7d70723d288bf116a8b594c02dd965a4e80476e1c79a7c3cbd09584a229c83ad67f082c9b286305e3bb64150c8267ced06b5fb963adbeeb36e383f76612220 +DIST gdcmData.tar.gz 121157465 BLAKE2B 19b13efc2094d3e373f0f658f1120b1c83ea6da1be73fb392b815433725b4a6db2debb9ab7d9f2caa665637f152f70694cdf226c934850dfda344107050a14a6 SHA512 ddc67a7a0b41b2d6e1e03defb6fb8a06ceeb2e9dd9bb47dfa4f7283d79df7c1e52577b799c00e930719ae6cdda46bded9497a67b8241359f238f5366085ec9ee diff --git a/sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch b/sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch new file mode 100644 index 000000000..ba99c3547 --- /dev/null +++ b/sci-libs/gdcm/files/gdcm-3.0.14-include-math-h.patch @@ -0,0 +1,15 @@ +https://cgit.freebsd.org/ports/plain/devel/gdcm/files/patch-Utilities_VTK_vtkImageMapToWindowLevelColors2.cxx?id=8f5541298099b722e34632ca9ed388bda91064e7 + +- workaround for https://sourceforge.net/p/gdcm/bugs/536/ + +--- a/Utilities/VTK/vtkImageMapToWindowLevelColors2.cxx 2022-06-26 20:39:45 UTC ++++ b/Utilities/VTK/vtkImageMapToWindowLevelColors2.cxx +@@ -37,6 +37,8 @@ + #include "vtkScalarsToColors.h" + #include "vtkPointData.h" + ++#include <math.h> ++ + //vtkCxxRevisionMacro(vtkImageMapToWindowLevelColors2, "$Revision: 1.3 $") + vtkStandardNewMacro(vtkImageMapToWindowLevelColors2) + diff --git a/sci-libs/gdcm/files/gdcm_support_vtk9.patch b/sci-libs/gdcm/files/gdcm_support_vtk9.patch new file mode 100644 index 000000000..3818a82b5 --- /dev/null +++ b/sci-libs/gdcm/files/gdcm_support_vtk9.patch @@ -0,0 +1,70 @@ +--- a/Utilities/VTK/CMakeLists.txt ++++ b/Utilities/VTK/CMakeLists.txt +@@ -26,6 +26,11 @@ + ) + endif() + ++if( ${VTK_MAJOR_VERSION} GREATER_EQUAL 9 ) ++ set(VTK_INCLUDE_DIRS "${VTK_PREFIX_PATH}/include/vtk-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}") ++ include_directories(AFTER ${VTK_INCLUDE_DIRS}) ++endif() ++ + include(CheckCXXSourceCompiles) + set(CMAKE_REQUIRED_INCLUDES ${VTK_INCLUDE_DIRS}) + CHECK_CXX_SOURCE_COMPILES( +@@ -94,6 +99,10 @@ + endforeach() + endif() + ++if( ${VTK_MAJOR_VERSION} GREATER_EQUAL 9 ) ++ string(REGEX REPLACE "vtk([^;]+)" "VTK::\\1" vtkgdcm_LIBS "${vtkgdcm_LIBS}") ++endif() ++ + # Use wrapping hints for this project. + #set(VTK_WRAP_HINTS "${PROJECT_SOURCE_DIR}/hints") + +--- a/Utilities/VTK/Applications/CMakeLists.txt ++++ b/Utilities/VTK/Applications/CMakeLists.txt +@@ -25,6 +25,11 @@ + ) + endif() + ++set(vtk_ioxml vtkIOXML) ++if( ${VTK_MAJOR_VERSION} GREATER_EQUAL 9 ) ++ set(vtk_ioxml VTK::IOXML) ++endif() ++ + foreach(app ${GDCM_VTK_APPS}) + add_executable(${app} ${app}.cxx) + if(GDCM_EXECUTABLE_PROPERTIES) +@@ -42,7 +47,7 @@ + endif() + else() + # >= 6.0 +- target_link_libraries(${app} ${VTK_LIBRARIES} vtkIOXML) ++ target_link_libraries(${app} ${VTK_LIBRARIES} ${vtk_ioxml}) + endif() + if(WIN32 AND NOT CYGWIN) + target_link_libraries(${app} gdcmgetopt) +--- a/Utilities/VTK/vtkGDCMPolyDataWriter.cxx ++++ b/Utilities/VTK/vtkGDCMPolyDataWriter.cxx +@@ -496,6 +496,9 @@ + sqi = new SequenceOfItems; + + vtkIdType npts = 0; ++#if VTK_MAJOR_VERSION >= 9 ++ const ++#endif + vtkIdType *indx = 0; + double v[3]; + unsigned int cellnum = 0; +@@ -759,6 +762,9 @@ + vtkPoints *pts; + vtkCellArray *polys; + vtkIdType npts = 0; ++#if VTK_MAJOR_VERSION >= 9 ++ const ++#endif + vtkIdType *indx = 0; + pts = theData->GetPoints(); + polys = theData->GetPolys(); diff --git a/sci-libs/gdcm/gdcm-3.0.14.ebuild b/sci-libs/gdcm/gdcm-3.0.14.ebuild new file mode 100644 index 000000000..5249e81b7 --- /dev/null +++ b/sci-libs/gdcm/gdcm-3.0.14.ebuild @@ -0,0 +1,121 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..10} ) + +inherit cmake python-single-r1 + +DESCRIPTION="Cross-platform DICOM implementation" +HOMEPAGE="http://gdcm.sourceforge.net/" +SRC_URI="mirror://sourceforge/gdcm/${P}.tar.bz2 + test? ( mirror://sourceforge/gdcm/gdcmData.tar.gz )" # 3.0.14: .bz2 is broken, should be checked in next release + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc python test vtk" +RESTRICT="!test? ( test )" + +DEPEND=" + app-text/poppler:0=[cxx] + dev-libs/expat:0= + dev-libs/json-c:0= + dev-libs/libxml2:2= + dev-libs/openssl:0= + >=media-libs/charls-2.0.0:0= + >=media-libs/openjpeg-2.0.0:2= + sys-apps/util-linux:0= + sys-libs/zlib:0= + python? ( ${PYTHON_DEPS} ) + vtk? ( + sci-libs/vtk[rendering] + python? ( + sci-libs/vtk[python,${PYTHON_SINGLE_USEDEP}] + ) + ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-libs/libxslt + app-text/docbook-xsl-ns-stylesheets + doc? ( app-doc/doxygen[dot] ) + python? ( + ${PYTHON_DEPS} + >=dev-lang/swig-3.0.7 + )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}/gdcm_support_vtk9.patch" + "${FILESDIR}/gdcm-3.0.14-include-math-h.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # drop unbundled libs + local -a DROPS=( gdcmcharls gdcmexpat gdcmopenjpeg gdcmuuid gdcmzlib getopt pvrg KWStyle Release ) + local x + for x in "${DROPS[@]}"; do + ebegin "Dropping bundled ${x#gdcm}" + rm -r "Utilities/${x}" || die + sed -i "s,^[ \t]*APPEND_COPYRIGHT(\\\${CMAKE_CURRENT_SOURCE_DIR}/${x}/,#&," "Utilities/CMakeLists.txt" || die + eend $? + done + find Utilities -mindepth 1 -maxdepth 1 '!' -name doxygen '!' -name VTK -type d \ + -exec ewarn "Using bundled" {} ';' || die + + # fix charls include case + sed -i 's:CharLS/charls\.h:charls/charls.h:' CMake/FindCharLS.cmake Utilities/gdcm_charls.h || die + sed -i 's:NAMES CharLS:NAMES charls:' CMake/FindCharLS.cmake || die + + # Use prefixed socket++ (to avoid potential conflicts) + sed -i '/target_link_libraries(/s/socketxx/gdcm&/' \ + Source/MessageExchangeDefinition/CMakeLists.txt \ + Applications/Cxx/CMakeLists.txt \ + || die + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_RPATH=ON + -DGDCM_BUILD_SHARED_LIBS=ON + -DGDCM_DATA_ROOT="${WORKDIR}/gdcmData" + -DGDCM_INSTALL_LIB_DIR="$(get_libdir)" + -DGDCM_INSTALL_DOC_DIR="share/doc/${P}" + -DGDCM_INSTALL_PYTHONMODULE_DIR="lib/${EPYTHON}/site-packages" + -DGDCM_USE_SYSTEM_ZLIB=ON + -DGDCM_USE_SYSTEM_OPENSSL=ON + -DGDCM_USE_SYSTEM_UUID=ON + -DGDCM_USE_SYSTEM_EXPAT=ON + -DGDCM_USE_SYSTEM_JSON=ON + -DGDCM_USE_SYSTEM_PAPYRUS3=OFF + -DGDCM_USE_SYSTEM_SOCKETXX=OFF + -DSOCKETXX_NAMESPACE=GDCMSOCKETXX + -DGDCM_USE_SYSTEM_LJPEG=OFF + -DGDCM_USE_SYSTEM_OPENJPEG=ON + -DGDCM_USE_SYSTEM_CHARLS=ON + -DGDCM_USE_SYSTEM_POPPLER=ON + -DGDCM_USE_SYSTEM_LIBXML2=ON + -DGDCM_BUILD_TESTING=$(usex test) + -DGDCM_WRAP_PYTHON=$(usex python) + $(usex python "-DGDCM_DEFAULT_PYTHON_VERSION=${EPYTHON#python}" "") + -DGDCM_WRAP_PERL=OFF + -DGDCM_WRAP_PHP=OFF + -DGDCM_WRAP_JAVA=OFF + -DGDCM_WRAP_CSHARP=OFF + -DGDCM_DOCUMENTATION=$(usex doc) + $(usex doc "-DGDCM_PDF_DOCUMENTATION=OFF" "") + -DGDCM_BUILD_EXAMPLES=OFF + -DGDCM_BUILD_APPLICATIONS=ON + -DGDCM_USE_VTK=$(usex vtk) + ) + cmake_src_configure +} diff --git a/sci-libs/gdcm/metadata.xml b/sci-libs/gdcm/metadata.xml new file mode 100644 index 000000000..1845bf1bd --- /dev/null +++ b/sci-libs/gdcm/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>fx.carton91@gmail.com</email> + <name>François-Xavier Carton</name> + </maintainer> + <use> + <flag name="vtk">Build <pkg>sci-libs/vtk</pkg> bridge</flag> + </use> + <upstream> + <remote-id type="sourceforge">gdcm</remote-id> + </upstream> +</pkgmetadata> |