Blame ctk.spec

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