]> git.pld-linux.org Git - packages/dcmtk.git/blobdiff - dcmtk.spec
icu rebuild
[packages/dcmtk.git] / dcmtk.spec
index 52d532946207f26629b17a3aae1b5740307fe810..0ea009b8ffb43b27fd442f6cb52e44e69a9f4295 100644 (file)
@@ -1,37 +1,45 @@
 # 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)
 #
+# 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.0
+Version:       3.6.7
 Release:       2
 License:       BSD
 Group:         Libraries
-Source0:       ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk360/%{name}-%{version}.tar.gz
-# Source0-md5: 19409e039e29a330893caea98715390e
-Patch0:                %{name}-configure.patch
-Patch1:                %{name}-0001-Added-soname-information-for-all-targets.patch
-Patch2:                %{name}-0002-Install-libs-in-the-correct-arch-dir.patch
-Patch3:                %{name}-0003-Removed-bundled-libcharl-reference-in-dcmjpls.patch
-Patch4:                %{name}-0004-Use-system-charls.patch
-Patch5:                %{name}-0005-Fixed-includes-for-CharLS-1.0.patch
-Patch6:                %{name}-0006-Added-optional-support-for-building-shared-libraries.patch
-Patch7:                %{name}-0007-Add-soname-generation-for-modules-which-are-not-in-D.patch
-Patch8:                %{name}-link.patch
-Patch9:                %{name}-libi2d.patch
-Patch10:       %{name}-etc.patch
-URL:           http://dicom.offis.de/dcmtk
-BuildRequires: CharLS-devel
-BuildRequires: cmake >= 2.4
+Source0:       https://nero.offis.de/download/dcmtk/release/%{name}-%{version}.tar.gz
+# Source0-md5: e4d519bb315ec3944f3f1d61df465cbd
+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
+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}-pc.patch
+URL:           https://dcmtk.org/
+BuildRequires: CharLS-devel < 2.0
+BuildRequires: cmake >= 3.0
+BuildRequires: doxygen
+%{?with_icu:BuildRequires:     libicu-devel}
 BuildRequires: libpng-devel >= 2:1.2.8
-BuildRequires: libstdc++-devel
-BuildRequires: libtiff-devel >= 3.7.0
+# handled during configuration, but actually not used
+#BuildRequires:        libsndfile-devel
+BuildRequires: libstdc++-devel >= 6:4.8.1
+BuildRequires: libtiff-devel >= 4
 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)
@@ -48,6 +56,9 @@ implementujących część standardu DICOM/MEDICOM.
 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
+Requires:      zlib >= 1.2.3
 
 %description libs
 DICOM ToolKit shared libraries.
@@ -60,7 +71,13 @@ Summary:     Header files for DCMTK libraries
 Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek DCMTK
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
-Requires:      libstdc++-devel
+%{?with_icu:Requires:  libicu-devel}
+Requires:      libstdc++-devel >= 6:4.8.1
+Requires:      libtiff-devel >= 4
+Requires:      libwrap-devel
+Requires:      openjpeg2-devel >= 2
+Requires:      openssl-devel >= 1.0.1
+Requires:      zlib-devel >= 1.2.3
 
 %description devel
 Header files for DCMTK libraries.
@@ -78,32 +95,45 @@ Pliki nagłówkowe bibliotek DCMTK.
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
 
 # enforce system CharLS
 %{__rm} -r dcmjpls/libcharls
 
 %build
-%cmake . \
-       -DDCMTK_WITH_OPENSSL=ON \
-       -DDCMTK_WITH_PNG=ON \
-       -DDCMTK_WITH_PRIVATE_TAGS=ON \
-       -DDCMTK_WITH_TIFF=ON \
-       -DDCMTK_WITH_XML=ON \
-       -DDCMTK_WITH_CHARLS=ON \
-       -DDCMTK_WITH_ZLIB=ON
+install -d build
+cd build
+# SNDFILE does nothing (as of 3.6.7), just -devel dependency
+%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_SNDFILE:BOOL=OFF \
+       -DDCMTK_WITH_TIFF:BOOL=ON \
+       -DDCMTK_WITH_XML:BOOL=ON \
+       -DDCMTK_WITH_ZLIB:BOOL=ON
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
+%{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/dcmtk
+# disable completeness check incompatible with split packaging
+%{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_libdir}/cmake/dcmtk/DCMTKTargets.cmake
+
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -113,23 +143,34 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc ANNOUNCE.360 CHANGES.360 COPYRIGHT FAQ HISTORY README dcmdata/docs/datadict.txt dcmnet/docs/asconfig.txt dcmqrdb/docs/dcmqr*.txt dcmtls/docs/ciphers.txt dcmwlm/docs/wwwapp.txt
+%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
+%attr(755,root,root) %{_bindir}/drtdump
+%attr(755,root,root) %{_bindir}/drttest
 %attr(755,root,root) %{_bindir}/dsr2html
 %attr(755,root,root) %{_bindir}/dsr2xml
 %attr(755,root,root) %{_bindir}/dsrdump
 %attr(755,root,root) %{_bindir}/dump2dcm
 %attr(755,root,root) %{_bindir}/echoscu
 %attr(755,root,root) %{_bindir}/findscu
+%attr(755,root,root) %{_bindir}/getscu
 %attr(755,root,root) %{_bindir}/img2dcm
+%attr(755,root,root) %{_bindir}/mkreport
 %attr(755,root,root) %{_bindir}/movescu
+%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
 %attr(755,root,root) %{_bindir}/wlmscpfs
+%attr(755,root,root) %{_bindir}/wltest
 %attr(755,root,root) %{_bindir}/xml2dcm
 %attr(755,root,root) %{_bindir}/xml2dsr
 %dir %{_sysconfdir}/dcmtk
@@ -141,18 +182,22 @@ 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*
+%{_mandir}/man1/drtdump.1*
 %{_mandir}/man1/dsr2html.1*
 %{_mandir}/man1/dsr2xml.1*
 %{_mandir}/man1/dsrdump.1*
 %{_mandir}/man1/dump2dcm.1*
 %{_mandir}/man1/echoscu.1*
 %{_mandir}/man1/findscu.1*
+%{_mandir}/man1/getscu.1*
 %{_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*
@@ -162,56 +207,80 @@ 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.17
 %attr(755,root,root) %{_libdir}/libdcmdata.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmdata.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmdata.so.17
+%attr(755,root,root) %{_libdir}/libdcmect.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmect.so.17
 %attr(755,root,root) %{_libdir}/libdcmdsig.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmdsig.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmdsig.so.17
+%attr(755,root,root) %{_libdir}/libdcmfg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmfg.so.17
 %attr(755,root,root) %{_libdir}/libdcmimage.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmimage.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmimage.so.17
 %attr(755,root,root) %{_libdir}/libdcmimgle.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmimgle.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmimgle.so.17
+%attr(755,root,root) %{_libdir}/libdcmiod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmiod.so.17
 %attr(755,root,root) %{_libdir}/libdcmjpeg.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmjpeg.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmjpeg.so.17
 %attr(755,root,root) %{_libdir}/libdcmjpls.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmjpls.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmjpls.so.17
 %attr(755,root,root) %{_libdir}/libdcmnet.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmnet.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmnet.so.17
 %attr(755,root,root) %{_libdir}/libdcmpstat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmpstat.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmpstat.so.17
 %attr(755,root,root) %{_libdir}/libdcmqrdb.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmqrdb.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmqrdb.so.17
+%attr(755,root,root) %{_libdir}/libdcmrt.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmrt.so.17
+%attr(755,root,root) %{_libdir}/libdcmseg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmseg.so.17
+%attr(755,root,root) %{_libdir}/libdcmpmap.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmpmap.so.17
 %attr(755,root,root) %{_libdir}/libdcmsr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmsr.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmsr.so.17
+%attr(755,root,root) %{_libdir}/libdcmtract.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmtract.so.17
 %attr(755,root,root) %{_libdir}/libdcmtls.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmtls.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmtls.so.17
 %attr(755,root,root) %{_libdir}/libdcmwlm.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmwlm.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libdcmwlm.so.17
 %attr(755,root,root) %{_libdir}/libi2d.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libi2d.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libi2d.so.17
 %attr(755,root,root) %{_libdir}/libijg12.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libijg12.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libijg12.so.17
 %attr(755,root,root) %{_libdir}/libijg16.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libijg16.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libijg16.so.17
 %attr(755,root,root) %{_libdir}/libijg8.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libijg8.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libijg8.so.17
 %attr(755,root,root) %{_libdir}/liboflog.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/liboflog.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/liboflog.so.17
 %attr(755,root,root) %{_libdir}/libofstd.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libofstd.so.3.6
+%attr(755,root,root) %ghost %{_libdir}/libofstd.so.17
 
 %files devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcmr.so
 %attr(755,root,root) %{_libdir}/libdcmdata.so
 %attr(755,root,root) %{_libdir}/libdcmdsig.so
+%attr(755,root,root) %{_libdir}/libdcmect.so
+%attr(755,root,root) %{_libdir}/libdcmfg.so
 %attr(755,root,root) %{_libdir}/libdcmimage.so
 %attr(755,root,root) %{_libdir}/libdcmimgle.so
+%attr(755,root,root) %{_libdir}/libdcmiod.so
 %attr(755,root,root) %{_libdir}/libdcmjpeg.so
 %attr(755,root,root) %{_libdir}/libdcmjpls.so
 %attr(755,root,root) %{_libdir}/libdcmnet.so
+%attr(755,root,root) %{_libdir}/libdcmpmap.so
 %attr(755,root,root) %{_libdir}/libdcmpstat.so
 %attr(755,root,root) %{_libdir}/libdcmqrdb.so
+%attr(755,root,root) %{_libdir}/libdcmrt.so
+%attr(755,root,root) %{_libdir}/libdcmseg.so
 %attr(755,root,root) %{_libdir}/libdcmsr.so
 %attr(755,root,root) %{_libdir}/libdcmtls.so
+%attr(755,root,root) %{_libdir}/libdcmtract.so
 %attr(755,root,root) %{_libdir}/libdcmwlm.so
 %attr(755,root,root) %{_libdir}/libi2d.so
 %attr(755,root,root) %{_libdir}/libijg12.so
@@ -219,4 +288,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libijg8.so
 %attr(755,root,root) %{_libdir}/liboflog.so
 %attr(755,root,root) %{_libdir}/libofstd.so
+%{_libdir}/cmake/dcmtk
 %{_includedir}/dcmtk
+%{_pkgconfigdir}/dcmtk.pc
This page took 0.09248 seconds and 4 git commands to generate.