Blob Blame History Raw
%global commit bdc8caca0458759e1672a94ca2857595d40f17b0
%global comm %(c=%{commit}; echo ${c:0:7})
%global checkout 20151015git%{comm}
%global _docdir_fmt %{name}

Name:		ctk
Version:	0.1
Release:	0.2.%{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:		ctk-qreal_not_double.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=ON \
    ..
make %{?_smp_mflags}

popd


%install
pushd build
%make_install
popd


# 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
%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
* 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