Blob Blame History Raw
# Conditional for release and snapshot builds. Uncomment for release-builds.
#global rel_build	1

# Settings used for build from git-snapshots.
%if 0%{?rel_build}
%global gittar		%{name}-%{version}.tar.gz
%else  # 0%%{?rel_build}
%global commit		589c448aa93f27e28533d5474e07272efcf889e7
%global commit_date	20160304
%global shortcommit	%(c=%{commit};echo ${c:0:7})
%global gitver		git%{commit_date}-%{shortcommit}
%global gitrel		.git%{commit_date}.%{shortcommit}
%global gittar		%{name}-%{version}-%{gitver}.tar.gz
%endif # 0%%{?rel_build}

# Setup _pkgdocdir if not defined already.
%{!?_pkgdocdir:%global _pkgdocdir	%{_docdir}/%{name}-%{version}}

# CMake-builds go out-of-tree.
%global cmake_builddir	build-%{?__isa}%{?dist}

# Fix 'W: unused-direct-shlib-dependency'.
%global __global_ldflags %(echo '%{?__global_ldflags} -Wl,--as-needed' | %{__sed} -e 's!^[ \t]\+!!g' -e 's![ \t]\+$!!g')


Name:		dynaplugz
Version:	0.0.0.0
Release:	0.1%{?gitrel}%{?dist}
Summary:	Dynamic plugin-loading like a boss

License:	BSD
URL:		https://github.com/shogun-toolbox/%{name}
%if 0%{?rel_build}
Source0:	%{url}/archive/v%{version}.tar.gz#/%{gittar}
%else  # 0%%{?rel_build}
Source0:	%{url}/archive/%{commit}.tar.gz#/%{gittar}
%endif # 0%%{?rel_build}

BuildRequires:	cmake			>= 3.1
BuildRequires:	gcc-c++			>= 4.4
BuildRequires:	hardlink
BuildRequires:	perl
BuildRequires:	valgrind

%description
Dynamic plugin-loading like a boss.


%package devel
Summary:	Development-files for %{name}
Requires:	%{name}%{?_isa}		== %{version}-%{release}

%description devel
This package contains files to develop applications
using %{name}.


%package doc
Summary:	Documentation-files for %{name}

BuildArch:	noarch

BuildRequires:	doxygen
BuildRequires:	graphviz

%description doc
This package contains documentation-files for %{name}.


%prep
%setup -q%{?commit:n %{name}-%{commit}}
%{__mkdir} -p %{cmake_builddir}


%build
pushd %{cmake_builddir}
%{cmake}						\
	-DCMAKE_BUILD_TYPE=RELEASE			\
	-DPROJECT_VERSION_GIT='%{?gitrel}'		\
	..
%{_bindir}/doxygen -u doc/Doxyfile
%{__make} %{?_smp_mflags}

# Build the autodocs.
%{__make} doc
popd


%install
pushd %{cmake_builddir}
%{__make} install DESTDIR=%{buildroot}

# Install the autodocs.
%{__mkdir} -p %{buildroot}%{_pkgdocdir}
%{__cp} -a doc/html %{buildroot}%{_pkgdocdir}
popd

# Create symlink to tag-file.
/bin/ln -fs %{_datadir}/%{name}/%{name}.tag		\
	%{buildroot}%{_pkgdocdir}/html

# Install other documentation.
%{__install} -pm 0644					\
	AUTHORS README.md				\
	%{buildroot}%{_pkgdocdir}

# Hardlink duplicate documentation-files.
/sbin/hardlink -cv %{buildroot}%{_pkgdocdir}


%check
pushd %{cmake_builddir}
%{__make} memcheck
popd


%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig


%files
# EPEL <= 6 doesn't support %%license.  See:
# https://fedoraproject.org/wiki/EPEL:Packaging#The_.25license_tag
%{!?_licensedir:%global license %doc}
%doc %dir %{_pkgdocdir}
%doc %{_pkgdocdir}/README.md
%license LICENSE.txt
%dir %{_libdir}/%{name}
%{_libdir}/lib%{name}.so.*


%files devel
%doc %dir %{_pkgdocdir}
%doc %{_pkgdocdir}/AUTHORS
#doc %%{_pkgdocdir}/ChangeLog
#doc %%{_pkgdocdir}/NEWS
%{_datadir}/%{name}
%{_includedir}/%{name}-%{version}%{?gitrel}
%{_libdir}/cmake
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc


%files doc
# EPEL <= 6 doesn't support %%license.  See:
# https://fedoraproject.org/wiki/EPEL:Packaging#The_.25license_tag
%{?_licensedir:%license %{_datadir}/licenses/%{name}}
%doc %{_pkgdocdir}
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/%{name}.tag


%changelog
* Fri Mar 04 2016 Björn Esser <fedora@besser82.io> - 0.0.0.0-0.1.git20160304.589c448
- initial rpm-release (#1314895)