[gdcm] Update to 2.4.0 and add python3-gdcm package
sebp
sebp at fedoraproject.org
Mon Oct 21 10:03:52 UTC 2013
commit 66e851acc11129d89cf7e84ff9791f230c18d69b
Author: Sebastian Pölsterl <sebp at k-d-w.org>
Date: Mon Oct 21 11:41:27 2013 +0200
Update to 2.4.0 and add python3-gdcm package
.gitignore | 1 +
gdcm-0005-support-vtk6.patch | 6 +-
gdcm-2.0.14-inplacebuild.patch | 14 -----
gdcm-2.0.14-usecopyright.patch | 15 ------
gdcm-2.0.17-install2libarch.patch | 13 -----
gdcm-2.0.17-no_versioned_dir.patch | 13 -----
gdcm-2.4.0-find-python27.patch | 13 +++++
gdcm-2.4.0-inplace-build.patch | 16 ++++++
gdcm-2.4.0-install2libarch.patch | 11 ++++
gdcm-2.4.0-no-versioned-dir.patch | 11 ++++
gdcm-2.4.0-usecopyright.patch | 15 ++++++
gdcm.spec | 93 ++++++++++++++++++++++++++++++------
sources | 3 +-
13 files changed, 149 insertions(+), 75 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 39f6f43..f87d186 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/gdcm-2.2.4.tar.bz2
/gdcmData.tar.bz2
/gdcmData.tar.gz
+/gdcm-2.4.0.tar.bz2
diff --git a/gdcm-0005-support-vtk6.patch b/gdcm-0005-support-vtk6.patch
index 933395c..1722452 100644
--- a/gdcm-0005-support-vtk6.patch
+++ b/gdcm-0005-support-vtk6.patch
@@ -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
diff --git a/gdcm-2.4.0-find-python27.patch b/gdcm-2.4.0-find-python27.patch
new file mode 100644
index 0000000..3348615
--- /dev/null
+++ b/gdcm-2.4.0-find-python27.patch
@@ -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:
diff --git a/gdcm-2.4.0-inplace-build.patch b/gdcm-2.4.0-inplace-build.patch
new file mode 100644
index 0000000..438325c
--- /dev/null
+++ b/gdcm-2.4.0-inplace-build.patch
@@ -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)
diff --git a/gdcm-2.4.0-install2libarch.patch b/gdcm-2.4.0-install2libarch.patch
new file mode 100644
index 0000000..ab81f0a
--- /dev/null
+++ b/gdcm-2.4.0-install2libarch.patch
@@ -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)
diff --git a/gdcm-2.4.0-no-versioned-dir.patch b/gdcm-2.4.0-no-versioned-dir.patch
new file mode 100644
index 0000000..7c92cf6
--- /dev/null
+++ b/gdcm-2.4.0-no-versioned-dir.patch
@@ -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")
diff --git a/gdcm-2.4.0-usecopyright.patch b/gdcm-2.4.0-usecopyright.patch
new file mode 100644
index 0000000..6b22818
--- /dev/null
+++ b/gdcm-2.4.0-usecopyright.patch
@@ -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()
diff --git a/gdcm.spec b/gdcm.spec
index 579f4ea..cabbe71 100644
--- a/gdcm.spec
+++ b/gdcm.spec
@@ -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,12 +123,52 @@ 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 \
+ -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=%{__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 \
@@ -126,6 +178,8 @@ pushd %{_target_platform}
-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
+rm -rf %{buildroot}
+
+# install python3 build
+pushd %{py3dir}
make install DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform}
+install -d %{buildroot}%{python3_sitearch}
+popd
-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}/
+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 at 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
diff --git a/sources b/sources
index 4112982..6edd84a 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-d53e708f973efbe2f1c500cc7198b27e gdcm-2.2.4.tar.bz2
-9e73255514b7406f365b615319ed9699 gdcmData.tar.gz
+91163ba15eea1bf7c9033dc20a6d9403 gdcm-2.4.0.tar.bz2
More information about the scm-commits
mailing list