[dcmtk/f15/master] Initial import (#573910).
mrceresa
mrceresa at fedoraproject.org
Thu Apr 21 10:25:20 UTC 2011
commit 04c85d6ea0bbaa1d10e97ba104b7ef7d5e1df726
Author: Mario Ceresa <mrceresa at gmail.com>
Date: Thu Apr 21 12:25:10 2011 +0200
Initial import (#573910).
.gitignore | 1 +
...-Added-soname-information-for-all-targets.patch | 59 +++++++
...0002-Install-libs-in-the-correct-arch-dir.patch | 25 +++
...ved-bundled-libcharl-reference-in-dcmjpls.patch | 22 +++
dcmtk-3.6.0-0004-Use-system-charls.patch | 120 ++++++++++++++
...-3.6.0-0005-Fixed-includes-for-CharLS-1.0.patch | 53 ++++++
...nal-support-for-building-shared-libraries.patch | 143 ++++++++++++++++
...generation-for-modules-which-are-not-in-D.patch | 39 +++++
dcmtk.spec | 174 ++++++++++++++++++++
sources | 1 +
10 files changed, 637 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..5af8f04 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/dcmtk-3.6.0.tar.gz
diff --git a/dcmtk-3.6.0-0001-Added-soname-information-for-all-targets.patch b/dcmtk-3.6.0-0001-Added-soname-information-for-all-targets.patch
new file mode 100644
index 0000000..6cdd613
--- /dev/null
+++ b/dcmtk-3.6.0-0001-Added-soname-information-for-all-targets.patch
@@ -0,0 +1,59 @@
+From 0465f8ceab739a0f096c97c31d43a934a6617099 Mon Sep 17 00:00:00 2001
+From: Mario Ceresa <mrceresa at gmail.com>
+Date: Sun, 20 Mar 2011 12:52:41 +0100
+Subject: [PATCH 1/6] Added soname information for all targets
+
+---
+ CMakeLists.txt | 25 +++++++++++++++++++++++--
+ 1 files changed, 23 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 446d478..62e7a6f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,12 +20,21 @@ SET(DCMTK_MODULES config ofstd oflog dcmdata dcmimgle dcmjpeg dcmimage dcmtls dc
+ SET(DCMTK_PACKAGE_NAME "dcmtk")
+ SET(DCMTK_PACKAGE_DATE "2011-01-06")
+ #SET(DCMTK_PACKAGE_TARNAME "dcmtk-3.6.0")
+-SET(DCMTK_PACKAGE_VERSION "3.6.0")
+-SET(DCMTK_PACKAGE_VERSION_NUMBER "360")
++#SET(DCMTK_PACKAGE_VERSION "3.6.0")
++#SET(DCMTK_PACKAGE_VERSION_NUMBER "360")
+ SET(DCMTK_PACKAGE_VERSION_SUFFIX "")
+ #SET(DCMTK_PACKAGE_STRING "dcmtk 3.6.0")
+ #SET(DCMTK_PACKAGE_BUGREPORT "dicom-bugs at offis.de")
+
++SET(DCMTK_MAJOR_VERSION 3)
++SET(DCMTK_MINOR_VERSION 6)
++SET(DCMTK_BUILD_VERSION 0)
++SET(DCMTK_PACKAGE_VERSION "${DCMTK_MAJOR_VERSION}.${DCMTK_MINOR_VERSION}.${DCMTK_BUILD_VERSION}")
++SET(DCMTK_API_VERSION "${DCMTK_MAJOR_VERSION}.${DCMTK_MINOR_VERSION}")
++SET(DCMTK_LIBRARY_PROPERTIES VERSION "${DCMTK_PACKAGE_VERSION}" SOVERSION "${DCMTK_API_VERSION}")
++SET(DCMTK_PACKAGE_VERSION_NUMBER ${DCMTK_MAJOR_VERSION}${DCMTK_MINOR_VERSION}${DCMTK_BUILD_VERSION})
++
++
+ # DCMTK build options
+ OPTION(DCMTK_WITH_TIFF "Configure DCMTK with support for TIFF" ON)
+ OPTION(DCMTK_WITH_PNG "Configure DCMTK with support for PNG" ON)
+@@ -295,6 +304,18 @@ ENDIF(WITH_THREADS)
+ # Recurse into subdirectories
+ FOREACH(module ${DCMTK_MODULES})
+ ADD_SUBDIRECTORY(${module})
++
++# for each shared lib add proper soname information
++ IF(BUILD_SHARED_LIBS)
++ IF(${module} MATCHES config)
++ # Skip config module
++ ELSEIF(${module} MATCHES doxygen)
++ # Skip doxygen module
++ ELSE(${module} MATCHES config)
++ SET_TARGET_PROPERTIES(${module} PROPERTIES ${DCMTK_LIBRARY_PROPERTIES})
++ ENDIF(${module} MATCHES config)
++ ENDIF(BUILD_SHARED_LIBS)
++
+ ENDFOREACH(module)
+
+ #-----------------------------------------------------------------------------
+--
+1.7.4
+
diff --git a/dcmtk-3.6.0-0002-Install-libs-in-the-correct-arch-dir.patch b/dcmtk-3.6.0-0002-Install-libs-in-the-correct-arch-dir.patch
new file mode 100644
index 0000000..e0445e2
--- /dev/null
+++ b/dcmtk-3.6.0-0002-Install-libs-in-the-correct-arch-dir.patch
@@ -0,0 +1,25 @@
+From 8401d7914ef110d5aca35bf7e1409341c533f1e4 Mon Sep 17 00:00:00 2001
+From: Mario Ceresa <mrceresa at gmail.com>
+Date: Sun, 20 Mar 2011 12:54:16 +0100
+Subject: [PATCH 2/6] Install libs in the correct arch dir
+
+---
+ CMakeLists.txt | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 62e7a6f..86b7601 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,7 +82,7 @@ INCLUDE_DIRECTORIES(${DCMTK_INCLUDE_DIR})
+
+ SET(INSTALL_BINDIR "/bin")
+ SET(INSTALL_INCDIR "/include")
+-SET(INSTALL_LIBDIR "/lib")
++SET(INSTALL_LIBDIR "/lib${LIB_SUFFIX}")
+ SET(INSTALL_ETCDIR "/etc/dcmtk")
+ SET(INSTALL_DATDIR "/share/dcmtk")
+ SET(INSTALL_DOCDIR "/share/doc/dcmtk")
+--
+1.7.4
+
diff --git a/dcmtk-3.6.0-0003-Removed-bundled-libcharl-reference-in-dcmjpls.patch b/dcmtk-3.6.0-0003-Removed-bundled-libcharl-reference-in-dcmjpls.patch
new file mode 100644
index 0000000..18d2ab9
--- /dev/null
+++ b/dcmtk-3.6.0-0003-Removed-bundled-libcharl-reference-in-dcmjpls.patch
@@ -0,0 +1,22 @@
+From 066d61eaecdf0731be99782649340ed141b1d1be Mon Sep 17 00:00:00 2001
+From: Mario Ceresa <mrceresa at gmail.com>
+Date: Sun, 20 Mar 2011 13:11:54 +0100
+Subject: [PATCH 3/6] Removed bundled libcharl reference in dcmjpls
+
+---
+ dcmjpls/CMakeLists.txt | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/dcmjpls/CMakeLists.txt b/dcmjpls/CMakeLists.txt
+index d89eedf..a6faf10 100644
+--- a/dcmjpls/CMakeLists.txt
++++ b/dcmjpls/CMakeLists.txt
+@@ -2,4 +2,4 @@
+ PROJECT(dcmjpls)
+
+ # recurse into subdirectories
+-SUBDIRS(libsrc libcharls apps include/dcmtk/dcmjpls)
++SUBDIRS(libsrc apps include/dcmtk/dcmjpls)
+--
+1.7.4
+
diff --git a/dcmtk-3.6.0-0004-Use-system-charls.patch b/dcmtk-3.6.0-0004-Use-system-charls.patch
new file mode 100644
index 0000000..e3cf62b
--- /dev/null
+++ b/dcmtk-3.6.0-0004-Use-system-charls.patch
@@ -0,0 +1,120 @@
+From c20efddd5eee01bb5db0aeaac8fc0b64abf6d6cf Mon Sep 17 00:00:00 2001
+From: Mario Ceresa <mrceresa at gmail.com>
+Date: Sun, 20 Mar 2011 14:27:14 +0100
+Subject: [PATCH 4/6] Use system charls
+
+---
+ CMake/3rdparty.cmake | 17 +++++++++++++++++
+ CMake/FindCharLS.cmake | 34 ++++++++++++++++++++++++++++++++++
+ CMakeLists.txt | 1 +
+ dcmjpls/apps/CMakeLists.txt | 2 +-
+ dcmjpls/libsrc/CMakeLists.txt | 2 +-
+ 5 files changed, 54 insertions(+), 2 deletions(-)
+ create mode 100644 CMake/FindCharLS.cmake
+
+diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake
+index 74ce78f..36956ce 100755
+--- a/CMake/3rdparty.cmake
++++ b/CMake/3rdparty.cmake
+@@ -197,6 +197,23 @@ ELSE(WIN32)
+ SET(WITH_ZLIB 1)
+ ENDIF(NOT ZLIB_LIBS)
+ ENDIF(DCMTK_WITH_ZLIB)
++
++ # Find charls
++
++ 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)
++
+
+ ENDIF(WIN32)
+
+diff --git a/CMake/FindCharLS.cmake b/CMake/FindCharLS.cmake
+new file mode 100644
+index 0000000..eaa45b7
+--- /dev/null
++++ b/CMake/FindCharLS.cmake
+@@ -0,0 +1,34 @@
++FIND_PATH(CHARLS_INCLUDE_DIR CharLS/interface.h
++/usr/local/include
++/usr/include
++)
++
++FIND_LIBRARY(CHARLS_LIBRARY
++ NAMES CharLS
++ PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
++ )
++
++
++IF (CHARLS_LIBRARY AND CHARLS_INCLUDE_DIR)
++ SET(CHARLS_LIBRARIES ${CHARLS_LIBRARY})
++ SET(CHARLS_INCLUDE_DIRS ${CHARLS_INCLUDE_DIR})
++ SET(CHARLS_FOUND "YES")
++ELSE (CHARLS_LIBRARY AND CHARLS_INCLUDE_DIR)
++ SET(CHARLS_FOUND "NO")
++ENDIF (CHARLS_LIBRARY AND CHARLS_INCLUDE_DIR)
++
++
++IF (CHARLS_FOUND)
++ IF (NOT CHARLS_FIND_QUIETLY)
++ MESSAGE(STATUS "Found CHARLS: ${CHARLS_LIBRARIES}")
++ ENDIF (NOT CHARLS_FIND_QUIETLY)
++ELSE (CHARLS_FOUND)
++ IF (CHARLS_FIND_REQUIRED)
++ MESSAGE(FATAL_ERROR "Could not find CHARLS library")
++ ENDIF (CHARLS_FIND_REQUIRED)
++ENDIF (CHARLS_FOUND)
++
++MARK_AS_ADVANCED(
++ CHARLS_LIBRARIES
++ CHARLS_INCLUDE_DIR
++ )
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 86b7601..fa5d9ad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -36,6 +36,7 @@ SET(DCMTK_PACKAGE_VERSION_NUMBER ${DCMTK_MAJOR_VERSION}${DCMTK_MINOR_VERSION}${D
+
+
+ # DCMTK build options
++OPTION(DCMTK_WITH_CHARLS "Configure DCMTK with support for CHARLS" ON)
+ OPTION(DCMTK_WITH_TIFF "Configure DCMTK with support for TIFF" ON)
+ OPTION(DCMTK_WITH_PNG "Configure DCMTK with support for PNG" ON)
+ OPTION(DCMTK_WITH_XML "Configure DCMTK with support for XML" OFF)
+diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt
+index d993bc2..45abcb9 100644
+--- a/dcmjpls/apps/CMakeLists.txt
++++ b/dcmjpls/apps/CMakeLists.txt
+@@ -16,6 +16,6 @@ ENDFOREACH(PROGRAM)
+
+ # make sure executables are linked to the corresponding libraries
+ FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls charls dcmimage dcmimgle dcmdata oflog ofstd ofstd ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
++ TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
+ ENDFOREACH(PROGRAM)
+ TARGET_LINK_LIBRARIES(dcml2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
+diff --git a/dcmjpls/libsrc/CMakeLists.txt b/dcmjpls/libsrc/CMakeLists.txt
+index 63a2766..9499dd8 100644
+--- a/dcmjpls/libsrc/CMakeLists.txt
++++ b/dcmjpls/libsrc/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ # declare additional include directories
+-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmjpls_SOURCE_DIR}/libcharls ${ZLIB_INCDIR})
++INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${CHARLS_INCLUDE_DIRS} ${ZLIB_INCDIR})
+
+ # create library from source files
+ ADD_LIBRARY(dcmjpls djcparam djdecode djencode djrparam djcodecd djutils djcodece)
+--
+1.7.4
+
diff --git a/dcmtk-3.6.0-0005-Fixed-includes-for-CharLS-1.0.patch b/dcmtk-3.6.0-0005-Fixed-includes-for-CharLS-1.0.patch
new file mode 100644
index 0000000..ef3c3e4
--- /dev/null
+++ b/dcmtk-3.6.0-0005-Fixed-includes-for-CharLS-1.0.patch
@@ -0,0 +1,53 @@
+From 6d6a52c1c049c0fe8440d8b03d5cb852a47c0cd5 Mon Sep 17 00:00:00 2001
+From: Mario Ceresa <mrceresa at gmail.com>
+Date: Sun, 20 Mar 2011 14:40:48 +0100
+Subject: [PATCH 5/6] Fixed includes for CharLS 1.0
+
+---
+ dcmjpls/libsrc/djcodecd.cc | 2 +-
+ dcmjpls/libsrc/djcodece.cc | 2 +-
+ dcmjpls/libsrc/djerror.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/dcmjpls/libsrc/djcodecd.cc b/dcmjpls/libsrc/djcodecd.cc
+index 8a11515..8da8d7a 100644
+--- a/dcmjpls/libsrc/djcodecd.cc
++++ b/dcmjpls/libsrc/djcodecd.cc
+@@ -44,7 +44,7 @@
+ #include "djerror.h" /* for private class DJLSError */
+
+ // JPEG-LS library (CharLS) includes
+-#include "intrface.h"
++#include "CharLS/interface.h"
+
+ E_TransferSyntax DJLSLosslessDecoder::supportedTransferSyntax() const
+ {
+diff --git a/dcmjpls/libsrc/djcodece.cc b/dcmjpls/libsrc/djcodece.cc
+index 9d6e1d8..8148b31 100644
+--- a/dcmjpls/libsrc/djcodece.cc
++++ b/dcmjpls/libsrc/djcodece.cc
+@@ -62,7 +62,7 @@
+ #include "dcmtk/dcmimgle/dcmimage.h" /* for class DicomImage */
+
+ // JPEG-LS library (CharLS) includes
+-#include "intrface.h"
++#include "CharLS/interface.h"
+
+ BEGIN_EXTERN_C
+ #ifdef HAVE_FCNTL_H
+diff --git a/dcmjpls/libsrc/djerror.h b/dcmjpls/libsrc/djerror.h
+index 68ebae1..d3cd2ad 100644
+--- a/dcmjpls/libsrc/djerror.h
++++ b/dcmjpls/libsrc/djerror.h
+@@ -31,7 +31,7 @@
+
+ #include "dcmtk/config/osconfig.h"
+ #include "dcmtk/dcmjpls/djlsutil.h" /* For the OFCondition codes */
+-#include "intrface.h" /* CharLS include */
++#include "CharLS/interface.h" /* CharLS include */
+
+ /** Helper class for converting between dcmjpls and CharLS error codes
+ */
+--
+1.7.4
+
diff --git a/dcmtk-3.6.0-0006-Added-optional-support-for-building-shared-libraries.patch b/dcmtk-3.6.0-0006-Added-optional-support-for-building-shared-libraries.patch
new file mode 100644
index 0000000..da1d751
--- /dev/null
+++ b/dcmtk-3.6.0-0006-Added-optional-support-for-building-shared-libraries.patch
@@ -0,0 +1,143 @@
+From d3284cf35b8d92029cba487a285cdd6aeee16d38 Mon Sep 17 00:00:00 2001
+From: Joerg Riesmeier <dicom at offis.de>
+Date: Tue, 1 Feb 2011 09:52:35 +0000
+Subject: [PATCH 6/6] Added optional support for building shared libraries with CMake.
+
+---
+ CMakeLists.txt | 2 ++
+ dcmimage/apps/CMakeLists.txt | 3 +--
+ dcmimgle/apps/CMakeLists.txt | 3 +--
+ dcmjpeg/apps/CMakeLists.txt | 5 ++---
+ dcmjpls/apps/CMakeLists.txt | 3 +--
+ dcmpstat/apps/CMakeLists.txt | 8 +-------
+ dcmqrdb/apps/CMakeLists.txt | 4 ++--
+ dcmwlm/apps/CMakeLists.txt | 4 ++--
+ 8 files changed, 12 insertions(+), 20 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fa5d9ad..010c13c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,6 +34,8 @@ SET(DCMTK_API_VERSION "${DCMTK_MAJOR_VERSION}.${DCMTK_MINOR_VERSION}")
+ SET(DCMTK_LIBRARY_PROPERTIES VERSION "${DCMTK_PACKAGE_VERSION}" SOVERSION "${DCMTK_API_VERSION}")
+ SET(DCMTK_PACKAGE_VERSION_NUMBER ${DCMTK_MAJOR_VERSION}${DCMTK_MINOR_VERSION}${DCMTK_BUILD_VERSION})
+
++# General build options
++OPTION(BUILD_SHARED_LIBS "Build with shared libraries." OFF)
+
+ # DCMTK build options
+ OPTION(DCMTK_WITH_CHARLS "Configure DCMTK with support for CHARLS" ON)
+diff --git a/dcmimage/apps/CMakeLists.txt b/dcmimage/apps/CMakeLists.txt
+index aad94cf..d3f241f 100644
+--- a/dcmimage/apps/CMakeLists.txt
++++ b/dcmimage/apps/CMakeLists.txt
+@@ -13,6 +13,5 @@ ENDFOREACH(PROGRAM)
+
+ # make sure executables are linked to the corresponding libraries
+ FOREACH(PROGRAM dcm2pnm dcmquant dcmscale)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmimage dcmimgle dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
++ TARGET_LINK_LIBRARIES(${PROGRAM} dcmimage dcmimgle dcmdata oflog ofstd ${LIBTIFF_LIBS} ${LIBPNG_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
+ ENDFOREACH(PROGRAM)
+-TARGET_LINK_LIBRARIES(dcm2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
+diff --git a/dcmimgle/apps/CMakeLists.txt b/dcmimgle/apps/CMakeLists.txt
+index 8514a47..440b321 100644
+--- a/dcmimgle/apps/CMakeLists.txt
++++ b/dcmimgle/apps/CMakeLists.txt
+@@ -13,6 +13,5 @@ ENDFOREACH(PROGRAM)
+
+ # make sure executables are linked to the corresponding libraries
+ FOREACH(PROGRAM dcmdspfn dcod2lum dconvlum)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmimgle oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
++ TARGET_LINK_LIBRARIES(${PROGRAM} dcmimgle dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
+ ENDFOREACH(PROGRAM)
+-TARGET_LINK_LIBRARIES(dcmdspfn dcmdata)
+diff --git a/dcmjpeg/apps/CMakeLists.txt b/dcmjpeg/apps/CMakeLists.txt
+index 9c1f565..b9bc30b 100644
+--- a/dcmjpeg/apps/CMakeLists.txt
++++ b/dcmjpeg/apps/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ INCLUDE_DIRECTORIES(${dcmjpeg_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmjpeg_SOURCE_DIR}/libijg8 ${dcmjpeg_SOURCE_DIR}/libijg12 ${dcmjpeg_SOURCE_DIR}/libijg16 ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
+
+ # declare directories containing used libraries
+-LINK_DIRECTORIES(${dcmjpeg_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmimgle_BINARY_DIR} ${dcmimage_BINARY_DIR} ${ZLIB_LIBDIR} ${LIBTIFF_LIBDIR} ${LIBPNG_LIBDIR})
++LINK_DIRECTORIES(${dcmjpeg_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmimgle_BINARY_DIR} ${dcmimage_BINARY_DIR} ${ZLIB_LIBDIR} ${LIBTIFF_LIBDIR} ${LIBPNG_LIBDIR})
+
+ # declare executables
+ FOREACH(PROGRAM dcmcjpeg dcmdjpeg dcmj2pnm dcmmkdir)
+@@ -16,6 +16,5 @@ ENDFOREACH(PROGRAM)
+
+ # make sure executables are linked to the corresponding libraries
+ FOREACH(PROGRAM dcmcjpeg dcmdjpeg dcmj2pnm dcmmkdir)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpeg ijg8 ijg12 ijg16 dcmimage dcmimgle dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
++ TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpeg ijg8 ijg12 ijg16 dcmimage dcmimgle dcmdata oflog ofstd ${LIBTIFF_LIBS} ${LIBPNG_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
+ ENDFOREACH(PROGRAM)
+-TARGET_LINK_LIBRARIES(dcmj2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
+diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt
+index 45abcb9..41fc329 100644
+--- a/dcmjpls/apps/CMakeLists.txt
++++ b/dcmjpls/apps/CMakeLists.txt
+@@ -16,6 +16,5 @@ ENDFOREACH(PROGRAM)
+
+ # make sure executables are linked to the corresponding libraries
+ FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
++ TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd ${LIBTIFF_LIBS} ${LIBPNG_LIBS} ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
+ ENDFOREACH(PROGRAM)
+-TARGET_LINK_LIBRARIES(dcml2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
+diff --git a/dcmpstat/apps/CMakeLists.txt b/dcmpstat/apps/CMakeLists.txt
+index e795197..48398a8 100644
+--- a/dcmpstat/apps/CMakeLists.txt
++++ b/dcmpstat/apps/CMakeLists.txt
+@@ -17,11 +17,5 @@ ENDFOREACH(PROGRAM)
+
+ # make sure executables are linked to the corresponding libraries
+ FOREACH(PROGRAM dcmmkcrv dcmmklut dcmp2pgm dcmprscp dcmprscu dcmpsmk dcmpschk dcmpsprt dcmpsrcv dcmpssnd)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmpstat dcmimgle dcmqrdb dcmnet dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
+-ENDFOREACH(PROGRAM)
+-FOREACH(PROGRAM dcmmklut dcmp2pgm dcmprscp dcmprscu dcmpschk dcmpsmk dcmpsprt dcmpsrcv dcmpssnd)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmsr)
+-ENDFOREACH(PROGRAM)
+-FOREACH(PROGRAM dcmp2pgm dcmprscp dcmprscu dcmpsprt dcmpsrcv dcmpssnd)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmtls dcmdsig ${LIBXML_LIBS} ${OPENSSL_LIBS})
++ TARGET_LINK_LIBRARIES(${PROGRAM} dcmpstat dcmdsig dcmsr dcmimgle dcmqrdb dcmnet dcmtls dcmdata oflog ofstd ${LIBXML_LIBS} ${OPENSSL_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
+ ENDFOREACH(PROGRAM)
+diff --git a/dcmqrdb/apps/CMakeLists.txt b/dcmqrdb/apps/CMakeLists.txt
+index 249732c..6be0507 100644
+--- a/dcmqrdb/apps/CMakeLists.txt
++++ b/dcmqrdb/apps/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ # declare directories containing used libraries
+-LINK_DIRECTORIES(${dcmqrdb_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR})
++LINK_DIRECTORIES(${dcmqrdb_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR} ${OPENSSL_LIBDIR})
+
+ # declare executables
+ FOREACH(PROGRAM dcmqrscp dcmqridx dcmqrti)
+@@ -13,5 +13,5 @@ ENDFOREACH(PROGRAM)
+
+ # make sure executables are linked to the corresponding libraries
+ FOREACH(PROGRAM dcmqrscp dcmqridx dcmqrti)
+- TARGET_LINK_LIBRARIES(${PROGRAM} dcmqrdb dcmnet dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
++ TARGET_LINK_LIBRARIES(${PROGRAM} dcmqrdb dcmnet dcmdata oflog ofstd ${OPENSSL_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
+ ENDFOREACH(PROGRAM)
+diff --git a/dcmwlm/apps/CMakeLists.txt b/dcmwlm/apps/CMakeLists.txt
+index 445881f..13865ca 100644
+--- a/dcmwlm/apps/CMakeLists.txt
++++ b/dcmwlm/apps/CMakeLists.txt
+@@ -2,7 +2,7 @@
+ INCLUDE_DIRECTORIES(${dcmtls_SOURCE_DIR}/include)
+
+ # declare directories containing used libraries
+-LINK_DIRECTORIES(${dcmwlm_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmtls_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR})
++LINK_DIRECTORIES(${dcmwlm_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmtls_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR} ${OPENSSL_LIBDIR})
+
+ # declare executables
+ ADD_EXECUTABLE(wlmscpfs wlmscpfs wlcefs)
+@@ -11,4 +11,4 @@ ADD_EXECUTABLE(wlmscpfs wlmscpfs wlcefs)
+ INSTALL_TARGETS(${INSTALL_BINDIR} wlmscpfs)
+
+ # make sure executables are linked to the corresponding libraries
+-TARGET_LINK_LIBRARIES(wlmscpfs dcmwlm dcmnet dcmtls dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
++TARGET_LINK_LIBRARIES(wlmscpfs dcmwlm dcmnet dcmtls dcmdata oflog ofstd ${OPENSSL_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
+--
+1.7.4
+
diff --git a/dcmtk-3.6.0-0007-Add-soname-generation-for-modules-which-are-not-in-D.patch b/dcmtk-3.6.0-0007-Add-soname-generation-for-modules-which-are-not-in-D.patch
new file mode 100644
index 0000000..279c2c6
--- /dev/null
+++ b/dcmtk-3.6.0-0007-Add-soname-generation-for-modules-which-are-not-in-D.patch
@@ -0,0 +1,39 @@
+From 13f216a9ab2c93041cf18283ca4726c3c2e876d9 Mon Sep 17 00:00:00 2001
+From: Mario Ceresa <mrceresa at gmail.com>
+Date: Tue, 22 Mar 2011 18:06:54 +0100
+Subject: [PATCH] Add soname generation for modules which are not in DCMTK_MODULES variable
+
+---
+ CMakeLists.txt | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 010c13c..01e6287 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -304,6 +304,7 @@ ENDIF(WITH_THREADS)
+ # Start actual compilation tasks
+ #-----------------------------------------------------------------------------
+
++
+ # Recurse into subdirectories
+ FOREACH(module ${DCMTK_MODULES})
+ ADD_SUBDIRECTORY(${module})
+@@ -321,6 +322,14 @@ FOREACH(module ${DCMTK_MODULES})
+
+ ENDFOREACH(module)
+
++# Set target properties for modules which are not in DCMTK_MODULE
++SET_TARGET_PROPERTIES(dcmdsig PROPERTIES ${DCMTK_LIBRARY_PROPERTIES})
++SET_TARGET_PROPERTIES(ijg12 PROPERTIES ${DCMTK_LIBRARY_PROPERTIES})
++SET_TARGET_PROPERTIES(ijg16 PROPERTIES ${DCMTK_LIBRARY_PROPERTIES})
++SET_TARGET_PROPERTIES(ijg8 PROPERTIES ${DCMTK_LIBRARY_PROPERTIES})
++SET_TARGET_PROPERTIES(libi2d PROPERTIES ${DCMTK_LIBRARY_PROPERTIES})
++
++
+ #-----------------------------------------------------------------------------
+ # Installation tasks
+ #-----------------------------------------------------------------------------
+--
+1.7.4
+
diff --git a/dcmtk.spec b/dcmtk.spec
new file mode 100644
index 0000000..4283019
--- /dev/null
+++ b/dcmtk.spec
@@ -0,0 +1,174 @@
+Name: dcmtk
+Summary: Offis DICOM Toolkit (DCMTK)
+Version: 3.6.0
+Release: 5%{?dist}
+License: BSD
+Group: Development/Libraries
+Source: ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk360/dcmtk-3.6.0.tar.gz
+URL: http://dicom.offis.de/dcmtk.php.en
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+
+Patch1: dcmtk-3.6.0-0001-Added-soname-information-for-all-targets.patch
+Patch2: dcmtk-3.6.0-0002-Install-libs-in-the-correct-arch-dir.patch
+Patch3: dcmtk-3.6.0-0003-Removed-bundled-libcharl-reference-in-dcmjpls.patch
+Patch4: dcmtk-3.6.0-0004-Use-system-charls.patch
+Patch5: dcmtk-3.6.0-0005-Fixed-includes-for-CharLS-1.0.patch
+Patch6: dcmtk-3.6.0-0006-Added-optional-support-for-building-shared-libraries.patch
+Patch7: dcmtk-3.6.0-0007-Add-soname-generation-for-modules-which-are-not-in-D.patch
+
+BuildRequires: cmake
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libtiff-devel
+BuildRequires: libxml2-devel
+BuildRequires: openssl-devel
+BuildRequires: tcp_wrappers-devel
+BuildRequires: zlib-devel
+BuildRequires: CharLS-devel
+BuildRequires: dos2unix
+BuildRequires: doxygen
+
+%description
+DCMTK is a collection of libraries and applications implementing large
+parts the DICOM standard. It includes software for examining,
+constructing and converting DICOM image files, handling offline media,
+sending and receiving images over a network connection, as well as
+demonstrative image storage and worklist servers. DCMTK is is written
+in a mixture of ANSI C and C++. It comes in complete source code and
+is made available as "open source" software. This package includes
+multiple fixes taken from the "patched DCMTK" project.
+
+Install DCMTK if you are working with DICOM format medical image files.
+
+%package devel
+Summary: Development Libraries and Headers for dcmtk
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+Development Libraries and Headers for dcmtk. You only need to install
+this if you are developing programs that use the dcmtk libraries.
+
+%prep
+%setup -q
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+
+#Remove bundled libraries
+rm -rf dcmjpls/libcharls/
+
+%build
+
+%cmake -DCMAKE_BUILD_TYPE:STRING="Release"\
+ -DBUILD_SHARED_LIBS:BOOL=ON \
+ -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 %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+
+#move libraries from lib64 to lib64/${name}
+mv $RPM_BUILD_ROOT/usr/%{_lib} $RPM_BUILD_ROOT/tmp_lib
+mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}
+mv $RPM_BUILD_ROOT/tmp_lib $RPM_BUILD_ROOT/usr/%{_lib}/%{name}
+
+#Move configuration file from /usr/etc to /etc/
+mv $RPM_BUILD_ROOT/usr/etc $RPM_BUILD_ROOT
+
+#Move doc files from /usr/share/doc to /usr/share/doc/dcmtk-name-version/
+mv $RPM_BUILD_ROOT/usr/share/doc $RPM_BUILD_ROOT/usr/share/%{name}-%{version}
+mkdir $RPM_BUILD_ROOT/usr/share/doc
+mv $RPM_BUILD_ROOT/usr/share/%{name}-%{version} $RPM_BUILD_ROOT/usr/share/doc/
+
+dos2unix %{buildroot}%{_docdir}/%{name}-%{version}/ciphers.txt
+dos2unix %{buildroot}%{_docdir}/%{name}-%{version}/randseed.txt
+dos2unix %{buildroot}%{_docdir}/%{name}-%{version}/COPYRIGHT
+
+# Remove zero-lenght file
+rm $RPM_BUILD_ROOT%{_datadir}/%{name}/wlistdb/OFFIS/lockfile
+
+# Install ldd config file
+mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/
+echo %{_libdir}/%{name} > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}.conf
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root)
+%dir %{_sysconfdir}/%{name}/
+%dir %{_libdir}/%{name}/
+%dir %{_datarootdir}/%{name}
+%dir %{_docdir}/%{name}-%{version}/
+%docdir %{_docdir}/%{name}-%{version}/
+%{_docdir}/%{name}-%{version}/*
+%{_bindir}/*
+%{_libdir}/%{name}/*.so.*
+%config(noreplace) %{_sysconfdir}/%{name}/dcmpstat.cfg
+%config(noreplace) %{_sysconfdir}/%{name}/dcmqrscp.cfg
+%config(noreplace) %{_sysconfdir}/%{name}/printers.cfg
+%config(noreplace) %{_sysconfdir}/%{name}/storescp.cfg
+%config(noreplace) %{_sysconfdir}/%{name}/storescu.cfg
+%config(noreplace) %{_sysconfdir}/%{name}/filelog.cfg
+%config(noreplace) %{_sysconfdir}/%{name}/logger.cfg
+#In order to recognize /usr/lib64/dcmtk we need to ship a proper file for /etc/ld.so.conf.d/
+%config %{_sysconfdir}/ld.so.conf.d/%{name}.conf
+%{_datadir}/%{name}/*
+%{_mandir}/man1/*
+
+
+%files devel
+%defattr(-,root,root)
+%{_includedir}/*
+%{_libdir}/%{name}/*.so
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%changelog
+* Wed Apr 20 2011 Mario Ceresa <mrceresa at fedoraproject.org> 3.6.0-5
+- Fixed dir ownership
+
+* Wed Apr 20 2011 Mario Ceresa <mrceresa at fedoraproject.org> 3.6.0-4
+- Added doxygen BR
+
+* Tue Mar 22 2011 Mario Ceresa <mrceresa at fedoraproject.org> 3.6.0-3
+- Fixed soname generation for residual modules
+
+* Mon Mar 21 2011 Mario Ceresa <mrceresa at fedoraproject.org> 3.6.0-2
+- Fixed shared library generation
+- Fixed patch schema numbering
+
+* Sun Mar 20 2011 Mario Ceresa <mrceresa at fedoraproject.org> 3.6.0-1
+- Removed bundled charls
+- Rebased on public dcmtk git repository
+
+* Thu Feb 3 2011 Mario Ceresa <mrceresa at fedoraproject.org> 3.6.1-1.20110203git
+- Updated to new version
+- Added patch to fix shared lib generation
+
+* Tue Oct 19 2010 Mario Ceresa <mrceresa at fedoraproject.org> 3.5.4-4
+- Adding soname's to generated lib
+
+* Mon Mar 15 2010 Andy Loening <loening at alum dot mit dot edu> 3.5.4-3
+- updates for packaging with fedora core
+- multiple fixes/enhancements from pdcmtk version 48
+
+* Sat Jan 02 2010 Andy Loening <loening@ alum dot mit dot edu> 3.5.4-2
+- tlslayer.cc patch for openssl 1.0
+
+* Thu Feb 02 2006 Andy Loening <loening @ alum dot mit dot edu> 3.5.4-1
+- initial build
\ No newline at end of file
diff --git a/sources b/sources
index e69de29..974c30b 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+19409e039e29a330893caea98715390e dcmtk-3.6.0.tar.gz
More information about the scm-commits
mailing list