]> git.pld-linux.org Git - packages/dcmtk.git/blobdiff - dcmtk.spec
- updated to 3.6.8 (new sonames)
[packages/dcmtk.git] / dcmtk.spec
index 1b5b66abc04b912dfe8ff40d1d7d389629b94f52..4980d88bf7b4d779ab4b82275ed9148ad9d02ce2 100644 (file)
@@ -1,28 +1,47 @@
 # TODO:
-# - shared libs
-# - use system libjpeg?
+# - 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 included arithmetic encoding support, but not lossless)
 #
 # Conditional build:
-%bcond_without apidocs         # do not build and package API docs
-#
+%bcond_without icu     # libicu instead of bundled oficonv
+# 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
-Release:       0.1
+Version:       3.6.8
+Release:       1
 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
-URL:           http://dicom.offis.de/dcmtk
+Source0:       https://dicom.offis.de/download/dcmtk/release/%{name}-%{version}.tar.gz
+# Source0-md5: 7522e06ca2479183eb535c5da2bdf5e4
+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)
 
 %description
@@ -33,12 +52,33 @@ applications implementing part of the DICOM/MEDICOM Standard.
 Pakiet DICOM ToolKit (DCMTK) to zbiór bibliotek i aplikacji
 implementujących część standardu DICOM/MEDICOM.
 
+%package libs
+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.
+
+%description libs -l pl.UTF-8
+Biblioteki współdzielone DICOM.
+
 %package devel
 Summary:       Header files for DCMTK libraries
 Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek DCMTK
 Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
-Requires:      libstdc++-devel
+Requires:      %{name}-libs = %{version}-%{release}
+%{?with_icu:Requires:  libicu-devel}
+Requires:      libpng-devel >= 2:1.2.8
+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.
@@ -46,71 +86,95 @@ Header files for DCMTK libraries.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe bibliotek DCMTK.
 
-%package static
-Summary:       Static DCMTK libraries
-Summary(pl.UTF-8):     Statyczne biblioteki DCMTK
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-
-%description static
-Static DCMTK libraries.
-
-%description static -l pl.UTF-8
-Statyczne biblioteki DCMTK.
-
-%package apidocs
-Summary:       DCMTK API documentation
-Summary(pl.UTF-8):     Dokumentacja API bibliotek DCMTK
-Group:         Documentation
-
-%description apidocs
-API documentation for DCMTK library.
-
-%description apidocs -l pl.UTF-8
-Dokumentacja API bibliotek DCMTK.
-
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+
+# enforce system CharLS
+%{__rm} -r dcmjpls/libcharls
 
 %build
-%configure \
-       --datadir=%{_datadir}/dcmtk \
-       --sysconfdir=%{_sysconfdir}/dcmtk
+install -d build
+cd build
+# SNDFILE does nothing (as of 3.6.7), just -devel dependency
+%cmake .. \
+       -DCMAKE_INSTALL_LIBDIR=%{_lib} \
+       %{?with_icu:-DDCMTK_ENABLE_CHARSET_CONVERSION=ICU} \
+       -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=ON} \
+       -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-all \
+%{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
+# 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
+
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/{oficonv,ofstd}_tests
+
+# packaged as %doc
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/doc-%{version}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post  -p /sbin/ldconfig
-%postun        -p /sbin/ldconfig
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%doc ANNOUNCE.360 CHANGES.360 COPYRIGHT FAQ HISTORY README
+%doc ANNOUNCE CHANGES COPYRIGHT FAQ HISTORY README
+%doc dcmdata/docs/datadict.txt dcmnet/docs/asconfig.txt 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}/mkcsmapper
+%attr(755,root,root) %{_bindir}/mkesdb
+%attr(755,root,root) %{_bindir}/mkreport
 %attr(755,root,root) %{_bindir}/movescu
+%attr(755,root,root) %{_bindir}/msgserv
 %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
@@ -121,19 +185,25 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dcmtk/printers.cfg
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dcmtk/storescp.cfg
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dcmtk/storescu.cfg
-%{_datadir}/dcmtk
+%{_datadir}/dcmtk-%{version}
+%{_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/mkcsmapper.1*
+%{_mandir}/man1/mkesdb.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*
@@ -141,34 +211,95 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/xml2dcm.1*
 %{_mandir}/man1/xml2dsr.1*
 
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcmr.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcmr.so.18
+%attr(755,root,root) %{_libdir}/libdcmdata.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmdata.so.18
+%attr(755,root,root) %{_libdir}/libdcmect.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmect.so.18
+%attr(755,root,root) %{_libdir}/libdcmdsig.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmdsig.so.18
+%attr(755,root,root) %{_libdir}/libdcmfg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmfg.so.18
+%attr(755,root,root) %{_libdir}/libdcmimage.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmimage.so.18
+%attr(755,root,root) %{_libdir}/libdcmimgle.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmimgle.so.18
+%attr(755,root,root) %{_libdir}/libdcmiod.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmiod.so.18
+%attr(755,root,root) %{_libdir}/libdcmjpeg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmjpeg.so.18
+%attr(755,root,root) %{_libdir}/libdcmjpls.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmjpls.so.18
+%attr(755,root,root) %{_libdir}/libdcmnet.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmnet.so.18
+%attr(755,root,root) %{_libdir}/libdcmpstat.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmpstat.so.18
+%attr(755,root,root) %{_libdir}/libdcmqrdb.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmqrdb.so.18
+%attr(755,root,root) %{_libdir}/libdcmrt.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmrt.so.18
+%attr(755,root,root) %{_libdir}/libdcmseg.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmseg.so.18
+%attr(755,root,root) %{_libdir}/libdcmpmap.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmpmap.so.18
+%attr(755,root,root) %{_libdir}/libdcmsr.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmsr.so.18
+%attr(755,root,root) %{_libdir}/libdcmtract.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmtract.so.18
+%attr(755,root,root) %{_libdir}/libdcmtls.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmtls.so.18
+%attr(755,root,root) %{_libdir}/libdcmwlm.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmwlm.so.18
+%attr(755,root,root) %{_libdir}/libdcmxml.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdcmxml.so.18
+%attr(755,root,root) %{_libdir}/libi2d.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libi2d.so.18
+%attr(755,root,root) %{_libdir}/libijg12.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libijg12.so.18
+%attr(755,root,root) %{_libdir}/libijg16.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libijg16.so.18
+%attr(755,root,root) %{_libdir}/libijg8.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libijg8.so.18
+%attr(755,root,root) %{_libdir}/liboficonv.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liboficonv.so.18
+%attr(755,root,root) %{_libdir}/liboflog.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/liboflog.so.18
+%attr(755,root,root) %{_libdir}/libofstd.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libofstd.so.18
+
 %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}/libdcmxml.so
+%attr(755,root,root) %{_libdir}/libi2d.so
+%attr(755,root,root) %{_libdir}/libijg12.so
+%attr(755,root,root) %{_libdir}/libijg16.so
+%attr(755,root,root) %{_libdir}/libijg8.so
+%attr(755,root,root) %{_libdir}/liboficonv.so
+%attr(755,root,root) %{_libdir}/liboflog.so
+%attr(755,root,root) %{_libdir}/libofstd.so
+%{_libdir}/cmake/dcmtk
 %{_includedir}/dcmtk
-
-#%files static
-#%defattr(644,root,root,755)
-%{_libdir}/libcharls.a
-%{_libdir}/libdcmdata.a
-%{_libdir}/libdcmdsig.a
-%{_libdir}/libdcmimage.a
-%{_libdir}/libdcmimgle.a
-%{_libdir}/libdcmjpeg.a
-%{_libdir}/libdcmjpls.a
-%{_libdir}/libdcmnet.a
-%{_libdir}/libdcmpstat.a
-%{_libdir}/libdcmqrdb.a
-%{_libdir}/libdcmsr.a
-%{_libdir}/libdcmtls.a
-%{_libdir}/libdcmwlm.a
-%{_libdir}/libi2d.a
-%{_libdir}/libijg12.a
-%{_libdir}/libijg16.a
-%{_libdir}/libijg8.a
-%{_libdir}/liboflog.a
-%{_libdir}/libofstd.a
-
-#%if %{with apidocs}
-#%files apidocs
-#%defattr(644,root,root,755)
-#%doc apidocs/*
-#%endif
+%{_pkgconfigdir}/dcmtk.pc
This page took 0.112247 seconds and 4 git commands to generate.