From ce2d2a2fda04efdb8b9f80eceed72d441ac1fae5 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 22 Dec 2019 20:05:19 +0100 Subject: [PATCH] - updated to 3.6.5 - updated some charls patches - removed obsolete fixes patch - added icu bcond --- ...moved-reference-to-bundled-libcharls.patch | 13 +-- ...k-3.6.1-0002-Find-and-include-CharLS.patch | 37 +++---- ...-cmake-suggested-location-for-CharLS.patch | 6 +- dcmtk-etc.patch | 18 ++-- dcmtk-fixes.patch | 11 -- dcmtk.spec | 100 +++++++++++------- 6 files changed, 93 insertions(+), 92 deletions(-) delete mode 100644 dcmtk-fixes.patch diff --git a/dcmtk-3.6.1-0001-Removed-reference-to-bundled-libcharls.patch b/dcmtk-3.6.1-0001-Removed-reference-to-bundled-libcharls.patch index 5a04969..3e45b85 100644 --- a/dcmtk-3.6.1-0001-Removed-reference-to-bundled-libcharls.patch +++ b/dcmtk-3.6.1-0001-Removed-reference-to-bundled-libcharls.patch @@ -12,13 +12,10 @@ index e114663..c92ac5b 100644 --- a/dcmjpls/CMakeLists.txt +++ b/dcmjpls/CMakeLists.txt @@ -2,6 +2,6 @@ - PROJECT(dcmjpls) + project(dcmjpls) # recurse into subdirectories --FOREACH(SUBDIR libsrc libcharls apps include) -+FOREACH(SUBDIR libsrc apps include) - ADD_SUBDIRECTORY(${SUBDIR}) - ENDFOREACH(SUBDIR) --- -1.9.3 - +-foreach(SUBDIR libsrc libcharls apps include) ++foreach(SUBDIR libsrc apps include) + add_subdirectory(${SUBDIR}) + endforeach() diff --git a/dcmtk-3.6.1-0002-Find-and-include-CharLS.patch b/dcmtk-3.6.1-0002-Find-and-include-CharLS.patch index 84a0dca..f432874 100644 --- a/dcmtk-3.6.1-0002-Find-and-include-CharLS.patch +++ b/dcmtk-3.6.1-0002-Find-and-include-CharLS.patch @@ -11,27 +11,24 @@ diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake index 9fcca77..2ccda35 100755 --- a/CMake/3rdparty.cmake +++ b/CMake/3rdparty.cmake -@@ -267,6 +267,20 @@ ELSE(WIN32) - ENDIF(NOT WRAP_FOUND) - ENDIF(DCMTK_WITH_WRAP) +@@ -357,6 +357,20 @@ + endif() + endif() -+ SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake) ++ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake) + -+ IF(DCMTK_WITH_CHARLS) -+ FIND_PACKAGE(CharLS) -+ INCLUDE_DIRECTORIES(${CHARLS_INCLUDE_DIRS}) -+ SET(CHARLS_LIBS ${CHARLS_LIBRARIES}) -+ IF (NOT CHARLS_LIBS) -+ MESSAGE(STATUS "Warning: CharLS not found. Cannot build!") -+ ELSE(NOT CHARLS_LIBS) -+ MESSAGE(STATUS "Info: DCMTK CHARLS support will be enabled") -+ SET(WITH_CHARLS 1) -+ ENDIF(NOT CHARLS_LIBS) -+ ENDIF(DCMTK_WITH_CHARLS) ++ if(DCMTK_WITH_CHARLS) ++ find_package(CharLS) ++ include_directories(${CHARLS_INCLUDE_DIRS}) ++ set(CHARLS_LIBS ${CHARLS_LIBRARIES}) ++ if (NOT CHARLS_LIBS) ++ message(STATUS "Warning: CharLS not found. Cannot build!") ++ else(NOT CHARLS_LIBS) ++ message(STATUS "Info: DCMTK CHARLS support will be enabled") ++ set(WITH_CHARLS 1) ++ endif(NOT CHARLS_LIBS) ++ endif(DCMTK_WITH_CHARLS) + - ENDIF() + endif(WIN32 AND NOT MINGW) - # Find doxygen --- -1.9.3 - + if(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV) diff --git a/dcmtk-3.6.1-0004-Use-cmake-suggested-location-for-CharLS.patch b/dcmtk-3.6.1-0004-Use-cmake-suggested-location-for-CharLS.patch index 669724f..efb37ae 100644 --- a/dcmtk-3.6.1-0004-Use-cmake-suggested-location-for-CharLS.patch +++ b/dcmtk-3.6.1-0004-Use-cmake-suggested-location-for-CharLS.patch @@ -12,13 +12,13 @@ diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt index 2e881d7..6170f8a 100644 --- a/dcmjpls/apps/CMakeLists.txt +++ b/dcmjpls/apps/CMakeLists.txt -@@ -8,5 +8,5 @@ ENDFOREACH(PROGRAM) +@@ -8,5 +8,5 @@ # make sure executables are linked to the corresponding libraries - FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm) + foreach(PROGRAM dcmcjpls dcmdjpls dcml2pnm) - DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls charls dcmimage dcmimgle dcmdata oflog ofstd ofstd) + DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd) - ENDFOREACH(PROGRAM) + endforeach() diff --git a/dcmjpls/libsrc/CMakeLists.txt b/dcmjpls/libsrc/CMakeLists.txt index 8a7b4e8..dc3ff44 100644 --- a/dcmjpls/libsrc/CMakeLists.txt diff --git a/dcmtk-etc.patch b/dcmtk-etc.patch index 451045b..06b8028 100644 --- a/dcmtk-etc.patch +++ b/dcmtk-etc.patch @@ -1,11 +1,11 @@ ---- dcmtk-3.6.3/CMake/GenerateDCMTKConfigure.cmake~ 2018-02-05 18:58:12.000000000 +0100 -+++ dcmtk-3.6.3/CMake/GenerateDCMTKConfigure.cmake 2018-09-19 12:54:55.238532235 +0200 -@@ -164,7 +164,7 @@ ELSE(WIN32 AND NOT CYGWIN) - SET(DCM_DICT_DEFAULT_PATH "") - ENDIF(DCMTK_ENABLE_EXTERNAL_DICTIONARY) +--- dcmtk-3.6.5/CMake/GenerateDCMTKConfigure.cmake.orig 2019-12-17 21:15:50.393593359 +0100 ++++ dcmtk-3.6.5/CMake/GenerateDCMTKConfigure.cmake 2019-12-17 21:17:34.619695384 +0100 +@@ -164,7 +164,7 @@ + set(DCM_DICT_DEFAULT_PATH "") + endif() # Set default directory for configuration and support data. -- SET(DCMTK_DEFAULT_CONFIGURATION_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_SYSCONFDIR}/dcmtk/") -+ SET(DCMTK_DEFAULT_CONFIGURATION_DIR "/${DCMTK_INSTALL_ETCDIR}/") - SET(DCMTK_DEFAULT_SUPPORT_DATA_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/") - ENDIF(WIN32 AND NOT CYGWIN) +- set(DCMTK_DEFAULT_CONFIGURATION_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_SYSCONFDIR}/dcmtk/") ++ set(DCMTK_DEFAULT_CONFIGURATION_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/dcmtk/") + set(DCMTK_DEFAULT_SUPPORT_DATA_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/") + endif() diff --git a/dcmtk-fixes.patch b/dcmtk-fixes.patch deleted file mode 100644 index 5f7db0d..0000000 --- a/dcmtk-fixes.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/variadic/helpers.h 2018-02-05 18:58:12.000000000 +0100 -+++ dcmtk-3.6.4/ofstd/include/dcmtk/ofstd/variadic/helpers.h 2018-11-29 13:14:03.000000000 +0100 -@@ -54,7 +54,7 @@ - - template - struct OFvariadic_find_type_t --: OFintegral_constant {}; -+: OFintegral_constant {}; - - template - struct OFvariadic_find_type diff --git a/dcmtk.spec b/dcmtk.spec index e914386..9210ae2 100644 --- a/dcmtk.spec +++ b/dcmtk.spec @@ -1,17 +1,22 @@ # TODO: # - use system libjpeg? (rather hard: it needs 8/12/16-bit versions; included libijg* # are libjpeg 6b with some arithmetic and lossless patches applied; -# libjpeg 8 already inclded arithmetic encoding support, but not lossless) +# libjpeg 8 already included arithmetic encoding support, but not lossless) # -Summary: DICOM To:olkit - implementation of DICOM/MEDICOM standard +# Conditional build: +%bcond_without icu # use glibc iconv() instead of icu for charset conversion +# glibc iconv supports only AbortTranscodingOnIllegalSequence conversion flag +# icu supports AbortTranscodingOnIllegalSequence and DiscardIllegalSequences +# standalone libiconv >= 1.8 supports additionally TransliterateIllegalSequences +Summary: DICOM Toolkit - implementation of DICOM/MEDICOM standard Summary(pl.UTF-8): Narzędzia DICOM - implementacja standardu DICOM/MEDICOM Name: dcmtk -Version: 3.6.3 -Release: 3 +Version: 3.6.5 +Release: 1 License: BSD Group: Libraries -Source0: ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk363/%{name}-%{version}.tar.gz -# Source0-md5: 2f79082d52cbbb06a360f48b4a9c61be +Source0: https://dicom.offis.de/download/dcmtk/release/%{name}-%{version}.tar.gz +# Source0-md5: e19707f64ee5695c496b9c1e48e39d07 Patch0: %{name}-3.6.0-0005-Fixed-includes-for-CharLS-1.0.patch Patch1: %{name}-3.6.1-0001-Removed-reference-to-bundled-libcharls.patch Patch2: %{name}-3.6.1-0002-Find-and-include-CharLS.patch @@ -19,17 +24,21 @@ Patch3: %{name}-3.6.1-0003-Create-FindCharLS.cmake.patch Patch4: %{name}-3.6.1-0004-Use-cmake-suggested-location-for-CharLS.patch Patch5: %{name}-etc.patch Patch6: CharLS.patch -Patch7: %{name}-fixes.patch URL: http://dicom.offis.de/dcmtk BuildRequires: CharLS-devel < 2.0 -BuildRequires: cmake >= 2.4 -BuildRequires: libicu-devel +BuildRequires: cmake >= 2.8.5 +BuildRequires: doxygen +%{?with_icu:BuildRequires: libicu-devel} BuildRequires: libpng-devel >= 2:1.2.8 +# handled during configuration, but actually not used +#BuildRequires: libsndfile-devel BuildRequires: libstdc++-devel >= 6:4.8.1 BuildRequires: libtiff-devel >= 3.7.0 BuildRequires: libwrap-devel BuildRequires: libxml2-devel >= 1:2.6.26 -BuildRequires: openssl-devel >= 0.9.8 +BuildRequires: openjpeg2-devel >= 2 +BuildRequires: openssl-devel >= 1.0.1 +BuildRequires: pkgconfig BuildRequires: zlib-devel >= 1.2.3 Requires: %{name}-libs = %{version}-%{release} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -47,6 +56,7 @@ Summary: DICOM ToolKit shared libraries Summary(pl.UTF-8): Biblioteki współdzielone DICOM Group: Libraries Requires: libstdc++ >= 6:4.8.1 +Requires: openssl >= 1.0.1 %description libs DICOM ToolKit shared libraries. @@ -76,25 +86,28 @@ Pliki nagłówkowe bibliotek DCMTK. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 # enforce system CharLS %{__rm} -r dcmjpls/libcharls %build -%cmake . \ - -DDCMTK_INSTALL_ETCDIR=%{_sysconfdir}/%{name} \ - -DDCMTK_INSTALL_LIBDIR=%{_lib} \ +install -d build +cd build +%cmake .. \ + -DCMAKE_INSTALL_LIBDIR=%{_lib} \ -DDCMTK_INSTALL_CMKDIR=%{_lib}/cmake/dcmtk \ -DBUILD_APPS:BOOL=ON \ -DBUILD_SHARED_LIBS:BOOL=ON \ + -DDCMTK_ENABLE_CXX11:BOOL=ON \ -DDCMTK_USE_CXX11_STL:BOOL=ON \ + -DDCMTK_WITH_CHARLS:BOOL=ON \ + -DDCMTK_WITH_ICONV:BOOL=OFF \ + %{!?with_icu:-DDCMTK_WITH_ICU:BOOL=OFF} \ -DDCMTK_WITH_OPENSSL:BOOL=ON \ -DDCMTK_WITH_PNG:BOOL=ON \ -DDCMTK_WITH_PRIVATE_TAGS:BOOL=ON \ -DDCMTK_WITH_TIFF:BOOL=ON \ -DDCMTK_WITH_XML:BOOL=ON \ - -DDCMTK_WITH_CHARLS=ON \ -DDCMTK_WITH_ZLIB:BOOL=ON %{__make} @@ -102,9 +115,10 @@ Pliki nagłówkowe bibliotek DCMTK. %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ +%{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT +# packaged as %doc %{__rm} -r $RPM_BUILD_ROOT%{_docdir} %clean @@ -118,6 +132,7 @@ rm -rf $RPM_BUILD_ROOT %doc ANNOUNCE CHANGES COPYRIGHT FAQ HISTORY README %doc dcmdata/docs/datadict.txt dcmnet/docs/asconfig.txt %doc dcmqrdb/docs/dcmqr*.txt dcmtls/docs/ciphers.txt +%attr(755,root,root) %{_bindir}/cda2dcm %attr(755,root,root) %{_bindir}/dcm* %attr(755,root,root) %{_bindir}/dcod2lum %attr(755,root,root) %{_bindir}/dconvlum @@ -136,6 +151,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_bindir}/msgserv %attr(755,root,root) %{_bindir}/ofstd_tests %attr(755,root,root) %{_bindir}/pdf2dcm +%attr(755,root,root) %{_bindir}/stl2dcm %attr(755,root,root) %{_bindir}/storescp %attr(755,root,root) %{_bindir}/storescu %attr(755,root,root) %{_bindir}/termscu @@ -152,6 +168,7 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dcmtk/storescp.cfg %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dcmtk/storescu.cfg %{_datadir}/dcmtk +%{_mandir}/man1/cda2dcm.1* %{_mandir}/man1/dcm*.1* %{_mandir}/man1/dcod2lum.1* %{_mandir}/man1/dconvlum.1* @@ -166,6 +183,7 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/img2dcm.1* %{_mandir}/man1/movescu.1* %{_mandir}/man1/pdf2dcm.1* +%{_mandir}/man1/stl2dcm.1* %{_mandir}/man1/storescp.1* %{_mandir}/man1/storescu.1* %{_mandir}/man1/termscu.1* @@ -176,55 +194,55 @@ rm -rf $RPM_BUILD_ROOT %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libcmr.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libcmr.so.13 +%attr(755,root,root) %ghost %{_libdir}/libcmr.so.15 %attr(755,root,root) %{_libdir}/libdcmdata.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmdata.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmdata.so.15 %attr(755,root,root) %{_libdir}/libdcmdsig.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmdsig.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmdsig.so.15 %attr(755,root,root) %{_libdir}/libdcmfg.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmfg.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmfg.so.15 %attr(755,root,root) %{_libdir}/libdcmimage.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmimage.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmimage.so.15 %attr(755,root,root) %{_libdir}/libdcmimgle.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmimgle.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmimgle.so.15 %attr(755,root,root) %{_libdir}/libdcmiod.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmiod.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmiod.so.15 %attr(755,root,root) %{_libdir}/libdcmjpeg.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmjpeg.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmjpeg.so.15 %attr(755,root,root) %{_libdir}/libdcmjpls.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmjpls.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmjpls.so.15 %attr(755,root,root) %{_libdir}/libdcmnet.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmnet.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmnet.so.15 %attr(755,root,root) %{_libdir}/libdcmpstat.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmpstat.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmpstat.so.15 %attr(755,root,root) %{_libdir}/libdcmqrdb.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmqrdb.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmqrdb.so.15 %attr(755,root,root) %{_libdir}/libdcmrt.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmrt.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmrt.so.15 %attr(755,root,root) %{_libdir}/libdcmseg.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmseg.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmseg.so.15 %attr(755,root,root) %{_libdir}/libdcmpmap.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmpmap.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmpmap.so.15 %attr(755,root,root) %{_libdir}/libdcmsr.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmsr.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmsr.so.15 %attr(755,root,root) %{_libdir}/libdcmtract.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmtract.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmtract.so.15 %attr(755,root,root) %{_libdir}/libdcmtls.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmtls.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmtls.so.15 %attr(755,root,root) %{_libdir}/libdcmwlm.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libdcmwlm.so.13 +%attr(755,root,root) %ghost %{_libdir}/libdcmwlm.so.15 %attr(755,root,root) %{_libdir}/libi2d.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libi2d.so.13 +%attr(755,root,root) %ghost %{_libdir}/libi2d.so.15 %attr(755,root,root) %{_libdir}/libijg12.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libijg12.so.13 +%attr(755,root,root) %ghost %{_libdir}/libijg12.so.15 %attr(755,root,root) %{_libdir}/libijg16.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libijg16.so.13 +%attr(755,root,root) %ghost %{_libdir}/libijg16.so.15 %attr(755,root,root) %{_libdir}/libijg8.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libijg8.so.13 +%attr(755,root,root) %ghost %{_libdir}/libijg8.so.15 %attr(755,root,root) %{_libdir}/liboflog.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/liboflog.so.13 +%attr(755,root,root) %ghost %{_libdir}/liboflog.so.15 %attr(755,root,root) %{_libdir}/libofstd.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libofstd.so.13 +%attr(755,root,root) %ghost %{_libdir}/libofstd.so.15 %files devel %defattr(644,root,root,755) -- 2.44.0