[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