diff --git a/0001-3.0.1-Use-copyright.patch b/0001-3.0.1-Use-copyright.patch new file mode 100644 index 0000000000000000000000000000000000000000..298a9f67c37733cc9ff55d25c2f6720a7b213fa4 --- /dev/null +++ b/0001-3.0.1-Use-copyright.patch @@ -0,0 +1,29 @@ +From 541353ba279245fb0297f50dcb23d2da0d45cdc4 Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Sun, 28 Jul 2019 16:38:52 +0100 +Subject: [PATCH] 3.0.1 Use copyright + +--- + CMake/UseCopyright.cmake | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/CMake/UseCopyright.cmake b/CMake/UseCopyright.cmake +index fb4fe1fad..d8bc8e8cb 100644 +--- a/CMake/UseCopyright.cmake ++++ b/CMake/UseCopyright.cmake +@@ -18,8 +18,10 @@ macro(APPEND_COPYRIGHT) + # need to raise an error if COPYRIGHT_MODULE_FILENAME is not set... + if(EXISTS ${COPYRIGHT_MODULE_FILENAME} ) + foreach(filename ${ARGN}) +- file(READ ${filename} content) +- file(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content}) ++ if(EXISTS ${filename} ) ++ file(READ ${filename} content) ++ file(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content}) ++ endif() + endforeach() + endif() + endmacro() +-- +2.21.0 + diff --git a/0002-Fix-export-variables.patch b/0002-Fix-export-variables.patch new file mode 100644 index 0000000000000000000000000000000000000000..b9fc89cf38f71db38537842ff2401d78bafa7932 --- /dev/null +++ b/0002-Fix-export-variables.patch @@ -0,0 +1,34 @@ +From 204375d9cc8ba863a40fab23241844596bbb54e1 Mon Sep 17 00:00:00 2001 +From: "Ankur Sinha (Ankur Sinha Gmail)" +Date: Sat, 23 Nov 2019 12:51:46 +0000 +Subject: [PATCH 2/2] Fix export variables + +--- + CMake/ExportConfiguration/GDCMConfig.cmake.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in +index f8e9d0ba5..4894d293e 100644 +--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in ++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in +@@ -37,14 +37,14 @@ get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + if(EXISTS ${SELF_DIR}/GDCMTargets.cmake) + # This is an install tree + include(${SELF_DIR}/GDCMTargets.cmake) +- get_filename_component(GDCM_INCLUDE_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE) ++ get_filename_component(GDCM_INCLUDE_ROOT "@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE) + set(GDCM_INCLUDE_DIRS ${GDCM_INCLUDE_ROOT}) +- get_filename_component(GDCM_LIB_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE) ++ get_filename_component(GDCM_LIB_ROOT "@GDCM_INSTALL_LIB_DIR@" ABSOLUTE) + set(GDCM_LIBRARY_DIRS ${GDCM_LIB_ROOT}) + else() + if(EXISTS ${SELF_DIR}/GDCMExports.cmake) + # This is a build tree +- set( GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@") ++ set(GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@") + set(GDCM_LIBRARY_DIRS "@GDCM_LIBRARY_DIR@") + + include(${SELF_DIR}/GDCMExports.cmake) +-- +2.23.0 + diff --git a/gdcm-3.0.21.tar.gz b/gdcm-3.0.21.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d477679338ef6655fe066c41cccf9c956a079f48 Binary files /dev/null and b/gdcm-3.0.21.tar.gz differ diff --git a/gdcm.spec b/gdcm.spec new file mode 100644 index 0000000000000000000000000000000000000000..b932ac7984f793b7380c94840d93b48cc6cda5b9 --- /dev/null +++ b/gdcm.spec @@ -0,0 +1,239 @@ +%bcond_without tests + +%bcond_with texdocs + +Name: gdcm +Version: 3.0.21 +Release: 1%{dist} +Summary: Grassroots DiCoM is a C++ library to parse DICOM medical files +License: BSD +URL: http://gdcm.sourceforge.net/wiki/index.php/Main_Page +Source0: https://github.com/malaterre/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz +Source1: http://downloads.sourceforge.net/project/gdcm/gdcmData/gdcmData/gdcmData.tar.gz + +Patch1: 0001-3.0.1-Use-copyright.patch +Patch3: 0002-Fix-export-variables.patch + +BuildRequires: CharLS-devel >= 2.0 +BuildRequires: cmake +BuildRequires: doxygen +BuildRequires: libxslt-devel +BuildRequires: dcmtk-devel +BuildRequires: docbook5-style-xsl +BuildRequires: docbook-style-xsl +BuildRequires: expat-devel +BuildRequires: fontconfig-devel +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: git-core +BuildRequires: graphviz +BuildRequires: gl2ps-devel +BuildRequires: libogg-devel +BuildRequires: libtheora-devel +BuildRequires: libuuid-devel +BuildRequires: mesa-libOSMesa-devel +BuildRequires: openssl-devel +BuildRequires: pkgconfig(libopenjp2) +BuildRequires: poppler-devel +BuildRequires: python3-devel +BuildRequires: swig +BuildRequires: sqlite-devel +BuildRequires: json-c-devel +BuildRequires: libxml2-devel +BuildRequires: make + +%if %{with texdocs} +BuildRequires: texlive-scheme-medium +BuildRequires: tex(hanging.sty) +BuildRequires: tex(tocloft.sty) +BuildRequires: tex(newunicodechar.sty) +%endif + + +%description +Grassroots DiCoM (GDCM) is a C++ library for DICOM medical files. +It supports ACR-NEMA version 1 and 2 (huffman compression is not supported), +RAW, JPEG, JPEG 2000, JPEG-LS, RLE and deflated transfer syntax. +It comes with a super fast scanner implementation to quickly scan hundreds of +DICOM files. It supports SCU network operations (C-ECHO, C-FIND, C-STORE, +C-MOVE). PS 3.3 & 3.6 are distributed as XML files. +It also provides PS 3.15 certificates and password based mechanism to +anonymize and de-identify DICOM datasets. + +%package doc +Summary: Includes html documentation for gdcm +BuildArch: noarch +Provides: %{name}-examples = %{version}-%{release} +Obsoletes: %{name}-examples < %{version}-%{release} + +%description doc +You should install the gdcm-doc package if you would like to +access upstream documentation for gdcm. +Includes CSharp, C++, Java, PHP and Python example programs for GDCM +in html pages + +%package applications +Summary: Includes command line programs for GDCM +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description applications +You should install the gdcm-applications package if you would like to +use command line programs part of GDCM. Includes tools to convert, +anonymize, manipulate, concatenate, and view DICOM files. + +%package devel +Summary: Libraries and headers for GDCM +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-applications%{?_isa} = %{version}-%{release} + +%description devel +You should install the gdcm-devel package if you would like to +compile applications based on gdcm + +%package -n python3-gdcm +Summary: Python binding for GDCM +%{?python_provide:%python_provide python3-gdcm} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n python3-gdcm +You should install the python3-gdcm package if you would like to +used this library with python + +%prep +%autosetup -n GDCM-%{version} -S git +# Data source +%setup -n GDCM-%{version} -q -T -D -a 1 + +# deps not available +%if %{with texdocs} +sed -i.backup 's/^GENERATE_LATEX.*=.*YES/GENERATE_LATEX = NO/' Utilities/doxygen/doxyfile.in +%endif + +# Remove bundled utilities (we use Fedora's ones) +rm -rf Utilities/gdcmexpat +rm -rf Utilities/gdcmopenjpeg-v1 +rm -rf Utilities/gdcmopenjpeg-v2 +rm -rf Utilities/gdcmzlib +rm -rf Utilities/gdcmuuid +rm -rf Utilities/gdcmcharls + +# Remove bundled utilities (we don't use them) +rm -rf Utilities/getopt +rm -rf Utilities/pvrg +rm -rf Utilities/rle +rm -rf Utilities/wxWidgets + +%build +%cmake \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DGDCM_INSTALL_PACKAGE_DIR=%{_libdir}/cmake/%{name} \ + -DGDCM_INSTALL_INCLUDE_DIR=%{_includedir}/%{name} \ + -DGDCM_INSTALL_DOC_DIR=%{_docdir}/%{name} \ + -DGDCM_INSTALL_MAN_DIR=%{_mandir} \ + -DGDCM_INSTALL_LIB_DIR=%{_libdir} \ + -DGDCM_BUILD_TESTING:BOOL=ON \ + -DGDCM_DATA_ROOT=../gdcmData/ \ + -DGDCM_BUILD_EXAMPLES:BOOL=ON \ + -DGDCM_DOCUMENTATION:BOOL=OFF \ + -DGDCM_WRAP_PYTHON:BOOL=ON \ + -DPYTHON_EXECUTABLE=%{python3} \ + -DGDCM_INSTALL_PYTHONMODULE_DIR=%{python3_sitearch} \ + -DGDCM_WRAP_JAVA:BOOL=OFF \ + -DGDCM_WRAP_CSHARP:BOOL=OFF \ + -DGDCM_BUILD_SHARED_LIBS:BOOL=ON \ + -DGDCM_BUILD_APPLICATIONS:BOOL=ON \ + -DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo" \ + -DGDCM_USE_VTK:BOOL=OFF \ + -DGDCM_USE_SYSTEM_CHARLS:BOOL=ON \ + -DGDCM_USE_SYSTEM_EXPAT:BOOL=ON \ + -DGDCM_USE_SYSTEM_OPENJPEG:BOOL=ON \ + -DGDCM_USE_SYSTEM_ZLIB:BOOL=ON \ + -DGDCM_USE_SYSTEM_UUID:BOOL=ON \ + -DGDCM_USE_SYSTEM_LJPEG:BOOL=OFF \ + -DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON \ + -DGDCM_USE_JPEGLS:BOOL=ON \ + -DGDCM_USE_SYSTEM_LIBXML2:BOOL=ON \ + -DGDCM_USE_SYSTEM_JSON:BOOL=ON \ + -DGDCM_USE_SYSTEM_POPPLER:BOOL=ON + +%cmake_build + +%install +%cmake_install + +%if %{with tests} +%check +make test -C %{__cmake_builddir} || exit 0 +%endif + +%files +%doc AUTHORS README.md +%license Copyright.txt README.Copyright.txt +%{_libdir}/libgdcmCommon.so.3.0 +%{_libdir}/libgdcmCommon.so.3.0.21 +%{_libdir}/libgdcmDICT.so.3.0 +%{_libdir}/libgdcmDICT.so.3.0.21 +%{_libdir}/libgdcmDSED.so.3.0 +%{_libdir}/libgdcmDSED.so.3.0.21 +%{_libdir}/libgdcmIOD.so.3.0 +%{_libdir}/libgdcmIOD.so.3.0.21 +%{_libdir}/libgdcmMEXD.so.3.0 +%{_libdir}/libgdcmMEXD.so.3.0.21 +%{_libdir}/libgdcmMSFF.so.3.0 +%{_libdir}/libgdcmMSFF.so.3.0.21 +%{_libdir}/libgdcmjpeg12.so.3.0 +%{_libdir}/libgdcmjpeg12.so.3.0.21 +%{_libdir}/libgdcmjpeg16.so.3.0 +%{_libdir}/libgdcmjpeg16.so.3.0.21 +%{_libdir}/libgdcmjpeg8.so.3.0 +%{_libdir}/libgdcmjpeg8.so.3.0.21 +%{_libdir}/libgdcmmd5.so.3.0 +%{_libdir}/libgdcmmd5.so.3.0.21 +%{_libdir}/libsocketxx.so.1.2 +%{_libdir}/libsocketxx.so.1.2.0 +%{_datadir}/%{name}-3.0/XML/ + +%files doc +%doc %{_docdir}/%{name} + +%files applications +%{_bindir}/gdcmanon +%{_bindir}/gdcmconv +%{_bindir}/gdcmclean +%{_bindir}/gdcmdiff +%{_bindir}/gdcmdump +%{_bindir}/gdcmgendir +%{_bindir}/gdcmimg +%{_bindir}/gdcminfo +%{_bindir}/gdcmpap3 +%{_bindir}/gdcmpdf +%{_bindir}/gdcmraw +%{_bindir}/gdcmscanner +%{_bindir}/gdcmscu +%{_bindir}/gdcmtar +%{_bindir}/gdcmxml +%doc %{_mandir}/man1/*.1* + +%files devel +%{_includedir}/%{name}/ +%{_libdir}/libgdcmCommon.so +%{_libdir}/libgdcmDICT.so +%{_libdir}/libgdcmDSED.so +%{_libdir}/libgdcmIOD.so +%{_libdir}/libgdcmMEXD.so +%{_libdir}/libgdcmMSFF.so +%{_libdir}/libgdcmjpeg12.so +%{_libdir}/libgdcmjpeg16.so +%{_libdir}/libgdcmjpeg8.so +%{_libdir}/libgdcmmd5.so +%{_libdir}/libsocketxx.so +%{_libdir}/cmake/%{name}/ + +%files -n python3-gdcm +%{python3_sitearch}/%{name}*.py +%{python3_sitearch}/_%{name}swig.so +%{python3_sitearch}/__pycache__/%{name}* + +%changelog +* Fri Jun 16 2023 forrest_ly - 3.0.21-1 +- init for anolis 23 diff --git a/gdcmData.tar.gz b/gdcmData.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..902b598c1ecf95ddea612f62c0098d6339d884e3 Binary files /dev/null and b/gdcmData.tar.gz differ