Update to 2.4.0 and add python3-gdcm package

This commit is contained in:
Sebastian Pölsterl 2013-10-21 11:41:27 +02:00
parent f39b1c6c98
commit 66e851acc1
13 changed files with 151 additions and 77 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
/gdcm-2.2.4.tar.bz2
/gdcmData.tar.bz2
/gdcmData.tar.gz
/gdcm-2.4.0.tar.bz2

View File

@ -1,5 +1,5 @@
--- BUILD/gdcm-2.2.4/Utilities/VTK/CMakeLists.txt 2013-07-08 19:20:27.000000000 +0200
+++ BUILD/gdcm-2.2.4.new/Utilities/VTK/CMakeLists.txt 2013-07-16 09:28:59.317107484 +0200
--- gdcm-2.4.0.orig/Utilities/VTK/CMakeLists.txt 2013-10-16 10:28:54.000000000 +0200
+++ gdcm-2.4.0/Utilities/VTK/CMakeLists.txt 2013-10-20 21:06:06.247345157 +0200
@@ -2,6 +2,10 @@
# We need VTK
# Technically we require VTK 5.0 and above
@ -9,5 +9,5 @@
+
+
# Define the src for the vtk-gdcm bridge
SET(vtkgdcm_SRCS
set(vtkgdcm_SRCS
vtkGDCMTesting.cxx

View File

@ -1,14 +0,0 @@
--- CMakeLists.txt 2009-11-12 23:09:48.000000000 +0100
+++ CMakeLists2.txt 2010-02-05 18:08:06.000000000 +0100
@@ -38,10 +38,7 @@
STRING(COMPARE EQUAL "${GDCM_SOURCE_DIR}" "${GDCM_BINARY_DIR}" INSOURCE)
GET_FILENAME_COMPONENT(PARENTDIR ${GDCM_BINARY_DIR} PATH)
STRING(COMPARE EQUAL "${GDCM_SOURCE_DIR}" "${PARENTDIR}" INSOURCESUBDIR)
-IF(INSOURCE OR INSOURCESUBDIR)
- MESSAGE(FATAL_ERROR "GDCM requires an out of source Build. "
- "Please create a separate binary directory and run CMake there.")
-ENDIF(INSOURCE OR INSOURCESUBDIR)
+
#-----------------------------------------------------------------------------
SET(GDCM_MAJOR_VERSION 2)

View File

@ -1,15 +0,0 @@
--- CMake/UseCopyright.cmake 2009-11-12 23:09:48.000000000 +0100
+++ CMake/UseCopyright2.cmake 2010-02-17 13:24:09.000000000 +0100
@@ -18,8 +18,10 @@
# need to raise an error if COPYRIGHT_MODULE_FILENAME is not set...
IF(EXISTS ${COPYRIGHT_MODULE_FILENAME} )
FOREACH(filename ${ARGN})
- FILE(READ ${filename} content)
- FILE(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content})
+ IF(EXISTS ${filename} )
+ FILE(READ ${filename} content)
+ FILE(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content})
+ ENDIF(EXISTS ${filename} )
ENDFOREACH(filename)
ENDIF(EXISTS ${COPYRIGHT_MODULE_FILENAME} )
ENDMACRO(APPEND_COPYRIGHT)

View File

@ -1,13 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c920c15..75bc60f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -207,7 +207,7 @@ ENDIF(NOT GDCM_INSTALL_BIN_DIR)
IF(NOT GDCM_INSTALL_LIB_DIR)
#SET(GDCM_INSTALL_LIB_DIR "lib/${PROJECT_NAME}")
- SET(GDCM_INSTALL_LIB_DIR "lib")
+ SET(GDCM_INSTALL_LIB_DIR "lib${LIB_SUFFIX}")
ENDIF(NOT GDCM_INSTALL_LIB_DIR)
IF(NOT GDCM_INSTALL_DATA_DIR)

View File

@ -1,13 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 29f5802..93a2a24 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -199,7 +199,7 @@ ENDIF(MSVC)
# Install directories
STRING(TOLOWER ${PROJECT_NAME} projectname)
-SET(subdir "${projectname}-${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}")
+SET(subdir "${projectname}")
IF(NOT GDCM_INSTALL_BIN_DIR)
SET(GDCM_INSTALL_BIN_DIR "bin")

View File

@ -0,0 +1,13 @@
--- gdcm-2.4.0.orig/Wrapping/Python/CMakeLists.txt 2013-10-16 10:28:54.000000000 +0200
+++ gdcm-2.4.0/Wrapping/Python/CMakeLists.txt 2013-10-21 10:08:42.803226233 +0200
@@ -44,8 +44,8 @@
${CMAKE_CURRENT_SOURCE_DIR}
)
-find_package(PythonInterp REQUIRED)
-find_package(PythonLibs REQUIRED)
+find_package(PythonInterp 2.7 REQUIRED)
+find_package(PythonLibs 2.7 REQUIRED)
# TODO Need to check consistency python interp and python libs...
mark_as_advanced(PYTHON_LIBRARY PYTHON_INCLUDE_PATH)
# Lamest excuse ever:

View File

@ -0,0 +1,16 @@
--- gdcm-2.4.0.orig/CMakeLists.txt 2013-10-16 10:28:54.000000000 +0200
+++ gdcm-2.4.0/CMakeLists.txt 2013-10-20 20:49:44.857086416 +0200
@@ -27,13 +27,6 @@
#-----------------------------------------------------------------------------
# Disallow insource build since I never test that
-string(COMPARE EQUAL "${GDCM_SOURCE_DIR}" "${GDCM_BINARY_DIR}" INSOURCE)
-get_filename_component(PARENTDIR ${GDCM_BINARY_DIR} PATH)
-string(COMPARE EQUAL "${GDCM_SOURCE_DIR}" "${PARENTDIR}" INSOURCESUBDIR)
-if(INSOURCE OR INSOURCESUBDIR)
- message(FATAL_ERROR "GDCM requires an out of source Build. "
- "Please create a separate binary directory and run CMake there.")
-endif()
#----------------------------------------------------------------------------
set(GDCM_MAJOR_VERSION 2)

View File

@ -0,0 +1,11 @@
--- gdcm-2.4.0.orig/CMakeLists.txt 2013-10-16 10:28:54.000000000 +0200
+++ gdcm-2.4.0/CMakeLists.txt 2013-10-20 21:16:59.552765990 +0200
@@ -237,7 +230,7 @@
if(NOT GDCM_INSTALL_LIB_DIR)
#set(GDCM_INSTALL_LIB_DIR "lib/${PROJECT_NAME}")
- set(GDCM_INSTALL_LIB_DIR "lib")
+ set(GDCM_INSTALL_LIB_DIR "lib${LIB_SUFFIX}")
endif()
if(NOT GDCM_INSTALL_DATA_DIR)

View File

@ -0,0 +1,11 @@
--- gdcm-2.4.0.orig/CMakeLists.txt 2013-10-16 10:28:54.000000000 +0200
+++ gdcm-2.4.0/CMakeLists.txt 2013-10-20 21:01:35.475088018 +0200
@@ -229,7 +229,7 @@
# Install directories
string(TOLOWER ${PROJECT_NAME} projectname)
-set(subdir "${projectname}-${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}")
+set(subdir "${projectname}")
if(NOT GDCM_INSTALL_BIN_DIR)
set(GDCM_INSTALL_BIN_DIR "bin")

View File

@ -0,0 +1,15 @@
--- gdcm-2.4.0.orig/CMake/UseCopyright.cmake 2013-10-16 10:28:54.000000000 +0200
+++ gdcm-2.4.0/CMake/UseCopyright.cmake 2013-10-20 21:11:37.532101984 +0200
@@ -18,8 +18,10 @@
# need to raise an error if COPYRIGHT_MODULE_FILENAME is not set...
if(EXISTS ${COPYRIGHT_MODULE_FILENAME} )
foreach(filename ${ARGN})
- file(READ ${filename} content)
- file(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content})
+ if(EXISTS ${filename} )
+ file(READ ${filename} content)
+ file(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content})
+ endif()
endforeach()
endif()
endmacro()

View File

@ -5,8 +5,8 @@
}
Name: gdcm
Version: 2.2.4
Release: 5%{?dist}
Version: 2.4.0
Release: 1%{?dist}
Summary: Grassroots DiCoM is a C++ library to parse DICOM medical files
Group: Development/Libraries
License: BSD
@ -14,12 +14,13 @@ URL: http://gdcm.sourceforge.net/wiki/index.php/Main_Page
Source0: http://sourceforge.net/projects/gdcm/files/gdcm%202.x/GDCM%20%{version}/%{name}-%{version}.tar.bz2
Source1: http://downloads.sourceforge.net/project/gdcm/gdcmData/gdcmData/gdcmData.tar.gz
Patch1: gdcm-2.0.14-inplacebuild.patch
Patch2: gdcm-2.0.14-usecopyright.patch
Patch3: gdcm-2.0.17-install2libarch.patch
Patch4: gdcm-2.0.17-no_versioned_dir.patch
Patch1: gdcm-2.4.0-inplace-build.patch
Patch2: gdcm-2.4.0-usecopyright.patch
Patch3: gdcm-2.4.0-install2libarch.patch
Patch4: gdcm-2.4.0-no-versioned-dir.patch
# From http://public.kitware.com/pipermail/vtkusers/2013-February/127377.html
Patch5: gdcm-0005-support-vtk6.patch
Patch6: gdcm-2.4.0-find-python27.patch
BuildRequires: CharLS-devel >= 1.0
BuildRequires: cmake
@ -39,6 +40,7 @@ BuildRequires: openjpeg-devel
#BuildRequires: /usr/bin/pdflatex
#BuildRequires: poppler-devel
BuildRequires: python2-devel
BuildRequires: python3-devel
BuildRequires: postgresql-devel
BuildRequires: swig
#BuildRequires: texlive-ec
@ -85,14 +87,24 @@ Requires: %{name} = %{version}-%{release}
You should install the gdcm-python package if you would like to
used this library with python
%package -n python3-gdcm
Summary: Python binding for GDCM
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description -n python3-gdcm
You should install the python3-gdcm package if you would like to
used this library with python
%prep
%setup -q
%setup -T -D -a 1
%patch1
%patch2
%patch1 -p 1
%patch2 -p 1
%patch3 -p 1
%patch4 -p 1
%patch5 -p 2
%patch5 -p 1
# Remove bundled utilities (we use Fedora's ones)
@ -111,13 +123,20 @@ rm -rf Utilities/wxWidgets
# Needed for testing:
#rm -rf Utilities/gdcmmd5
# prepare python3 build
rm -rf %{py3dir}
cp -a . %{py3dir}
# apply patch after copying files for python3 build
%patch6 -p 1
%build
# build python3 build
pushd %{py3dir}
mkdir -p %{_target_platform}
pushd %{_target_platform}
%cmake .. \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DGDCM_BUILD_TESTING=ON \
@ -126,6 +145,41 @@ pushd %{_target_platform}
-DGDCM_DOCUMENTATION:BOOL=ON \
-DGDCM_PDF_DOCUMENTATION:BOOL=OFF \
-DGDCM_WRAP_PYTHON:BOOL=ON \
-DPYTHON_EXECUTABLE=%{__python3} \
-DGDCM_INSTALL_PYTHONMODULE_DIR=%{python3_sitearch} \
-DGDCM_WRAP_JAVA=OFF \
-DGDCM_BUILD_SHARED_LIBS:BOOL=ON \
-DGDCM_BUILD_APPLICATIONS:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING="RelWithDebInfo" \
-DGDCM_USE_VTK:BOOL=OFF \
-DGDCM_USE_SYSTEM_CHARLS=ON \
-DGDCM_USE_SYSTEM_EXPAT=ON \
-DGDCM_USE_SYSTEM_OPENJPEG=ON \
-DGDCM_USE_SYSTEM_ZLIB=ON \
-DGDCM_USE_SYSTEM_UUID=ON \
-DGDCM_USE_SYSTEM_LJPEG=OFF \
-DGDCM_USE_SYSTEM_OPENSSL=ON \
-DGDCM_USE_JPEGLS=ON \
-DGDCM_USE_SYSTEM_POPPLER=OFF
popd
make %{?_smp_mflags} -C %{_target_platform}
popd
# end python3
mkdir -p %{_target_platform}
pushd %{_target_platform}
%cmake .. \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DGDCM_BUILD_TESTING=ON \
-DGDCM_DATA_ROOT=../gdcmData/ \
-DGDCM_BUILD_EXAMPLES:BOOL=ON \
-DGDCM_DOCUMENTATION:BOOL=ON \
-DGDCM_PDF_DOCUMENTATION:BOOL=OFF \
-DGDCM_WRAP_PYTHON:BOOL=ON \
-DPYTHON_EXECUTABLE=%{__python2} \
-DGDCM_INSTALL_PYTHONMODULE_DIR=%{python2_sitearch} \
-DGDCM_WRAP_JAVA=OFF \
-DGDCM_BUILD_SHARED_LIBS:BOOL=ON \
-DGDCM_BUILD_APPLICATIONS:BOOL=ON \
@ -150,13 +204,15 @@ popd
make %{?_smp_mflags} -C %{_target_platform}
%install
make install DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform}
rm -rf %{buildroot}
install -d $RPM_BUILD_ROOT%{python_sitelib}/
mv $RPM_BUILD_ROOT%{_libdir}/*.py $RPM_BUILD_ROOT%{python_sitelib}/
#mv $RPM_BUILD_ROOT%{_libdir}/gdcmswig.py $RPM_BUILD_ROOT%{python_sitelib}/
mv $RPM_BUILD_ROOT%{_libdir}/_gdcmswig.so $RPM_BUILD_ROOT%{python_sitelib}/
#mv $RPM_BUILD_ROOT%{_libdir}/vtkgdcm.py $RPM_BUILD_ROOT%{python_sitelib}/
# install python3 build
pushd %{py3dir}
make install DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform}
install -d %{buildroot}%{python3_sitearch}
popd
make install DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform}
## Rearranging directory layout and removing version from dir
mv $RPM_BUILD_ROOT%{_libdir}/gdcm/*.cmake $RPM_BUILD_ROOT%{_datadir}/gdcm/
@ -196,9 +252,16 @@ make test -C %{_target_platform} || exit 0
%{_datadir}/gdcm/*.cmake
%files python
%{python_sitelib}/*
%{python2_sitearch}/*
%files -n python3-gdcm
%{python3_sitearch}/*
%changelog
* Sun Oct 20 2013 Sebastian Pölsterl <sebp@k-d-w.org> - 2.4.0-1
- Update to 2.4.0
- Added python3-gdcm package
* Tue Aug 13 2013 Mario Ceresa <mrceresa AT fedoraproject DOT org> - 2.2.4-5
- Still getting "vtkImageData has no member named 'GetWholeExtent" with vtk-devel
- Added additional debug symbols

View File

@ -1,2 +1 @@
d53e708f973efbe2f1c500cc7198b27e gdcm-2.2.4.tar.bz2
9e73255514b7406f365b615319ed9699 gdcmData.tar.gz
91163ba15eea1bf7c9033dc20a6d9403 gdcm-2.4.0.tar.bz2