%global commit 71799c27da506c899f2ef04b50cd8d454374870d
%global comm %(c=%{commit}; echo ${c:0:7})
%global checkout 20171224git%{comm}
%global _docdir_fmt %{name}
Name: ctk
Version: 0.1
Release: 0.7.%{checkout}%{?dist}
Summary: The Commmon Toolkit for biomedical imaging
License: ASL 2.0
URL: http://www.commontk.org
Source0: https://github.com/commontk/CTK/archive/%{commit}.tar.gz#/CTK-%{commit}.tar.gz
Patch0: %{name}-0.1.20171224git71799c2-fix_qreal_cast.patch
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: dcmtk-devel
BuildRequires: gdcm-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libxml2-devel
BuildRequires: openssl-devel
BuildRequires: qt-devel
BuildRequires: tcp_wrappers-devel
%description
The Common Toolkit is a community effort to provide support code for medical
image analysis, surgical navigation, and related projects.
This package contains the CTK Core library.
%package dicom
Summary: Library of high-level classes for querying PACS and local databases
%description dicom
The Common Toolkit is a community effort to provide support code for medical
image analysis, surgical navigation, and related projects.
DICOM library provides high-level classes supporting query and retrieve
operations from PACS and local databases. It includes Qt widgets to easily
set-up a server connection and to send queries and view the results.
%package plugin-framework
Summary: A dynamic component system for C++
%description plugin-framework
The Common Toolkit is a community effort to provide support code for medical
image analysis, surgical navigation, and related projects.
The Plugin Framework is a dynamic component system for C++, modeled after the
OSGi specifications. It enable a development model where applications are
(dynamically) composed of many different (reusable) components following a
service oriented approach.
%package widgets
Summary: A collection of Qt widgets for biomedical imaging applications
%description widgets
The Common Toolkit is a community effort to provide support code for medical
image analysis, surgical navigation, and related projects.
The Widgets library is a collection of Qt widgets for usage in biomedical
imaging applications.
%package devel
Summary: Development files for the Common Toolkit
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-dicom%{?_isa} = %{version}-%{release}
Requires: %{name}-plugin-framework%{?_isa} = %{version}-%{release}
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
Requires: cmake%{?_isa}
Requires: qt-devel%{?_isa}
%description devel
The Common Toolkit is a community effort to provide support code for medical
image analysis, surgical navigation, and related projects.
This package contains files for development of CTK applications.
%package doc
Summary: Documentation for the Common Toolkit
BuildArch: noarch
%description doc
The Common Toolkit is a community effort to provide support code for medical
image analysis, surgical navigation, and related projects.
This package contains CTK developer documentation.
%prep
%autosetup -n CTK-%{commit} -p1
mkdir build
%build
pushd build
%cmake \
-DCMAKE_PREFIX_PATH=%{_libdir}/cmake/InsightToolkit \
-DCTK_SUPERBUILD=OFF \
-DCTK_INSTALL_LIB_DIR=%{_libdir} \
-DCTK_INSTALL_CMAKE_DIR=%{_libdir}/cmake/%{name} \
-DCTK_INSTALL_PLUGIN_DIR=%{_libdir}/%{name}/plugins \
-DCTK_INSTALL_QTPLUGIN_DIR=%{_qt4_plugindir} \
-DCTK_ENABLE_DICOM=ON \
-DCTK_ENABLE_PluginFramework=ON \
-DCTK_ENABLE_Widgets=ON \
-DDOCUMENTATION_TARGET_IN_ALL=OFF \
..
%make_build
%make_build doc
popd
%install
%make_install -C build
# No %%check section here because running tests requires working X server
# and data files that are distributed without any copyright/license info
# (see https://github.com/commontk/CTKData/issues/1).
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post dicom -p /sbin/ldconfig
%postun dicom -p /sbin/ldconfig
%post plugin-framework -p /sbin/ldconfig
%postun plugin-framework -p /sbin/ldconfig
%post widgets -p /sbin/ldconfig
%postun widgets -p /sbin/ldconfig
%files
%doc README.rst
%license NOTICE LICENSE
%{_libdir}/libCTKCore.so.*
%files dicom
%{_libdir}/libCTKDICOM*.so.*
%files plugin-framework
%{_libdir}/libCTKPluginFramework.so.*
%{_libdir}/libCTKDummyPlugin.so.*
%files widgets
%{_libdir}/libCTKWidgets.so.*
%files devel
%{_includedir}/%{name}-%{version}
%{_libdir}/*.so
%{_qt4_plugindir}/designer/*.so
%{_libdir}/cmake/%{name}
%files doc
%doc build/Documentation/html
%exclude %{_docdir}/%{name}/html/*.map
%exclude %{_docdir}/%{name}/html/*.md5
%changelog
* Wed Jan 03 2018 Björn Esser <besser82@fedoraproject.org> - 0.1-0.7.20171224git71799c2
- Update to recent snapshot
* Wed Jan 03 2018 Björn Esser <besser82@fedoraproject.org> - 0.1-0.6.20151015gitbdc8cac
- Rebuilt for dcmtk
* Sun Aug 06 2017 Björn Esser <besser82@fedoraproject.org> - 0.1-0.5.20151015gitbdc8cac
- Rebuilt for AutoReq cmake-filesystem
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-0.4.20151015gitbdc8cac
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-0.3.20151015gitbdc8cac
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.1-0.2.20151015gitbdc8cac
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Feb 2 2016 Dmitry Mikhirev <mikhirev@gmail.com> 0.1-0.1.20151015gitbdc8cac
- Initial package