|
Björn Esser |
58be2d7 |
# Conditional for release and snapshot builds.
|
|
Björn Esser |
58be2d7 |
# Uncomment for release-builds.
|
|
Björn Esser |
3735c78 |
#global rel_build 1
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
# Settings used for build from git-snapshots.
|
|
Björn Esser |
3735c78 |
%if 0%{?rel_build}
|
|
Björn Esser |
3735c78 |
%global gittar %{name}-%{version}.tar.gz
|
|
Björn Esser |
3735c78 |
%else # 0%%{?rel_build}
|
|
Björn Esser |
58be2d7 |
%global commit 597ce9fa42a5c11aa743c6bb3f45f57d2d395d9e
|
|
Björn Esser |
58be2d7 |
%global commit_date 20160309
|
|
Björn Esser |
3735c78 |
%global shortcommit %(c=%{commit};echo ${c:0:7})
|
|
Björn Esser |
3735c78 |
%global gitver git%{commit_date}-%{shortcommit}
|
|
Björn Esser |
3735c78 |
%global gitrel .git%{commit_date}.%{shortcommit}
|
|
Björn Esser |
3735c78 |
%global gittar %{name}-%{version}-%{gitver}.tar.gz
|
|
Björn Esser |
3735c78 |
%endif # 0%%{?rel_build}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
58be2d7 |
# Place rpm-macros into proper location.
|
|
Björn Esser |
58be2d7 |
%global rpm_macros_dir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d)
|
|
Björn Esser |
58be2d7 |
|
|
Björn Esser |
b834c82 |
# Setup _pkgdocdir.
|
|
Björn Esser |
b834c82 |
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/lib%{name}-%{version}}
|
|
Björn Esser |
b834c82 |
%{?_pkgdocdir:%global _pkgdocdir %{_docdir}/lib%{name}}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3c04d27 |
# These macros are defined by macros-file in davel-pkg.
|
|
Björn Esser |
3c04d27 |
%global dynaplugz_datadir %{_datadir}/%{name}
|
|
Björn Esser |
3c04d27 |
%global dynaplugz_plugindir %{_libdir}/%{name}
|
|
Björn Esser |
3c04d27 |
|
|
Björn Esser |
3735c78 |
# CMake-builds go out-of-tree.
|
|
Björn Esser |
3735c78 |
%global cmake_builddir build-%{?__isa}%{?dist}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
# Fix 'W: unused-direct-shlib-dependency'.
|
|
Björn Esser |
3735c78 |
%global __global_ldflags %(echo '%{?__global_ldflags} -Wl,--as-needed' | %{__sed} -e 's!^[ \t]\+!!g' -e 's![ \t]\+$!!g')
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
# Common description.
|
|
Björn Esser |
b834c82 |
%global common_description \
|
|
Björn Esser |
b834c82 |
Dynamic plugin-loading like a boss.
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
Name: dynaplugz
|
|
Björn Esser |
3735c78 |
Version: 0.0.0.0
|
|
Björn Esser |
3c04d27 |
Release: 0.4%{?gitrel}%{?dist}
|
|
Björn Esser |
3735c78 |
Summary: Dynamic plugin-loading like a boss
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
License: BSD
|
|
Björn Esser |
3735c78 |
URL: https://github.com/shogun-toolbox/%{name}
|
|
Björn Esser |
3735c78 |
%if 0%{?rel_build}
|
|
Björn Esser |
3735c78 |
Source0: %{url}/archive/v%{version}.tar.gz#/%{gittar}
|
|
Björn Esser |
3735c78 |
%else # 0%%{?rel_build}
|
|
Björn Esser |
3735c78 |
Source0: %{url}/archive/%{commit}.tar.gz#/%{gittar}
|
|
Björn Esser |
3735c78 |
%endif # 0%%{?rel_build}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%description
|
|
Björn Esser |
b834c82 |
%{common_description}
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
%package -n lib%{name}
|
|
Björn Esser |
b834c82 |
Summary: Dynamic plugin-loading like a boss
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
3c04d27 |
%if 0%{?fedora} || 0%{?rhel} > 7
|
|
Björn Esser |
3c04d27 |
BuildRequires: cmake
|
|
Björn Esser |
3c04d27 |
%else # 0%%{?fedora} || 0%%{?rhel} > 7
|
|
Björn Esser |
3c04d27 |
BuildRequires: cmake3
|
|
Björn Esser |
3c04d27 |
%endif # 0%%{?fedora} || 0%%{?rhel} > 7
|
|
Björn Esser |
b834c82 |
BuildRequires: gcc-c++ >= 4.4
|
|
Björn Esser |
3735c78 |
BuildRequires: hardlink
|
|
Björn Esser |
3735c78 |
BuildRequires: valgrind
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
Provides: %{name} == %{version}-%{release}
|
|
Björn Esser |
b834c82 |
Provides: %{name}%{?_isa} == %{version}-%{release}
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
%if 0%{?fedora} && 0%{?fedora} <= 25
|
|
Björn Esser |
b834c82 |
Obsoletes: %{name} <= 0.0.0.0-0.2
|
|
Björn Esser |
b834c82 |
%endif # 0%%{?fedora} && 0%%{?fedora} <= 25
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
%description -n lib%{name}
|
|
Björn Esser |
b834c82 |
%{common_description}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%package -n lib%{name}-devel
|
|
Björn Esser |
3735c78 |
Summary: Development-files for %{name}
|
|
Björn Esser |
58be2d7 |
|
|
Björn Esser |
b834c82 |
Requires: lib%{name}%{?_isa} == %{version}-%{release}
|
|
Björn Esser |
58be2d7 |
Requires: rpm
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
Provides: %{name}-devel == %{version}-%{release}
|
|
Björn Esser |
b834c82 |
Provides: %{name}-devel%{?_isa} == %{version}-%{release}
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
%if 0%{?fedora} && 0%{?fedora} <= 25
|
|
Björn Esser |
b834c82 |
Obsoletes: %{name}-devel <= 0.0.0.0-0.2
|
|
Björn Esser |
b834c82 |
%endif # 0%%{?fedora} && 0%%{?fedora} <= 25
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%description -n lib%{name}-devel
|
|
Björn Esser |
3735c78 |
This package contains files to develop applications
|
|
Björn Esser |
b834c82 |
using lib%{name}.
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%package -n lib%{name}-doc
|
|
Björn Esser |
b834c82 |
Summary: Documentation-files for lib%{name}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
BuildArch: noarch
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
BuildRequires: doxygen
|
|
Björn Esser |
3735c78 |
BuildRequires: graphviz
|
|
Björn Esser |
b834c82 |
BuildRequires: perl
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
Provides: %{name}-doc == %{version}-%{release}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%if 0%{?fedora} && 0%{?fedora} <= 25
|
|
Björn Esser |
b834c82 |
Obsoletes: %{name}-doc <= 0.0.0.0-0.2
|
|
Björn Esser |
b834c82 |
%endif # 0%%{?fedora} && 0%%{?fedora} <= 25
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
%description -n lib%{name}-doc
|
|
Björn Esser |
b834c82 |
This package contains documentation-files
|
|
Björn Esser |
b834c82 |
for lib%{name}.
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
%prep
|
|
Björn Esser |
3735c78 |
%setup -q%{?commit:n %{name}-%{commit}}
|
|
Björn Esser |
3735c78 |
%{__mkdir} -p %{cmake_builddir}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
%build
|
|
Björn Esser |
3735c78 |
pushd %{cmake_builddir}
|
|
Björn Esser |
b834c82 |
# Build using CMake3 on EPEL6 and EPEL7.
|
|
Björn Esser |
b834c82 |
%if 0%{?fedora} || 0%{?rhel} > 7
|
|
Björn Esser |
b834c82 |
%{cmake} \
|
|
Björn Esser |
b834c82 |
%else # 0%%{?fedora} || 0%%{?rhel} > 7
|
|
Björn Esser |
b834c82 |
%{cmake3} \
|
|
Björn Esser |
b834c82 |
%endif # 0%%{?fedora} || 0%%{?rhel} > 7
|
|
Björn Esser |
b834c82 |
-DCMAKE_BUILD_TYPE=RELEASE \
|
|
Björn Esser |
b834c82 |
-DPROJECT_VERSION_GIT='%{?gitrel}' \
|
|
Björn Esser |
58be2d7 |
-DRPMMACROS_INSTALL_DIR='%{rpm_macros_dir}' \
|
|
Björn Esser |
3735c78 |
..
|
|
Björn Esser |
3735c78 |
%{_bindir}/doxygen -u doc/Doxyfile
|
|
Björn Esser |
3735c78 |
%{__make} %{?_smp_mflags}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
# Build the autodocs.
|
|
Björn Esser |
3735c78 |
%{__make} doc
|
|
Björn Esser |
3735c78 |
popd
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
%install
|
|
Björn Esser |
3735c78 |
pushd %{cmake_builddir}
|
|
Björn Esser |
3735c78 |
%{__make} install DESTDIR=%{buildroot}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
# Install the autodocs.
|
|
Björn Esser |
3735c78 |
%{__mkdir} -p %{buildroot}%{_pkgdocdir}
|
|
Björn Esser |
3735c78 |
%{__cp} -a doc/html %{buildroot}%{_pkgdocdir}
|
|
Björn Esser |
3735c78 |
popd
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
# Create symlink to tag-file.
|
|
Björn Esser |
3c04d27 |
/bin/ln -fs %{dynaplugz_datadir}/%{name}.tag \
|
|
Björn Esser |
3735c78 |
%{buildroot}%{_pkgdocdir}/html
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
# Install other documentation.
|
|
Björn Esser |
b834c82 |
for i in ChangeLog NEWS
|
|
Björn Esser |
b834c82 |
do
|
|
Björn Esser |
b834c82 |
if [ ! -e "$i" ]
|
|
Björn Esser |
b834c82 |
then
|
|
Björn Esser |
b834c82 |
echo "dummy" > "$i"
|
|
Björn Esser |
b834c82 |
fi
|
|
Björn Esser |
b834c82 |
done
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
b834c82 |
%{__install} -pm 0644 \
|
|
Björn Esser |
b834c82 |
ChangeLog NEWS README.md \
|
|
Björn Esser |
3735c78 |
%{buildroot}%{_pkgdocdir}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
# Hardlink duplicate documentation-files.
|
|
Björn Esser |
a150124 |
%{_sbindir}/hardlink -cv %{buildroot}%{_pkgdocdir}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
%check
|
|
Björn Esser |
3735c78 |
pushd %{cmake_builddir}
|
|
Björn Esser |
3735c78 |
%{__make} memcheck
|
|
Björn Esser |
3735c78 |
popd
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%post -n lib%{name} -p /sbin/ldconfig
|
|
Björn Esser |
b834c82 |
%postun -n lib%{name} -p /sbin/ldconfig
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%files -n lib%{name}
|
|
Björn Esser |
3735c78 |
%doc %dir %{_pkgdocdir}
|
|
Björn Esser |
3735c78 |
%doc %{_pkgdocdir}/README.md
|
|
Björn Esser |
b834c82 |
%license AUTHORS LICENSE.txt
|
|
Björn Esser |
3c04d27 |
%dir %{dynaplugz_datadir}
|
|
Björn Esser |
3c04d27 |
%dir %{dynaplugz_plugindir}
|
|
Björn Esser |
3735c78 |
%{_libdir}/lib%{name}.so.*
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%files -n lib%{name}-devel
|
|
Björn Esser |
3735c78 |
%doc %dir %{_pkgdocdir}
|
|
Björn Esser |
b834c82 |
%doc %{_pkgdocdir}/ChangeLog
|
|
Björn Esser |
b834c82 |
%doc %{_pkgdocdir}/NEWS
|
|
Björn Esser |
3c04d27 |
%{dynaplugz_datadir}/*
|
|
Björn Esser |
3735c78 |
%{_includedir}/%{name}-%{version}%{?gitrel}
|
|
Björn Esser |
3735c78 |
%{_libdir}/cmake
|
|
Björn Esser |
3735c78 |
%{_libdir}/lib%{name}.so
|
|
Björn Esser |
3735c78 |
%{_libdir}/pkgconfig/%{name}.pc
|
|
Björn Esser |
58be2d7 |
%{rpm_macros_dir}/macros.%{name}
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
b834c82 |
%files -n lib%{name}-doc
|
|
Björn Esser |
b834c82 |
# Pick up previously installed licenses.
|
|
Björn Esser |
b834c82 |
%{?_licensedir:%license %{_datadir}/licenses/lib%{name}*}
|
|
Björn Esser |
3735c78 |
%doc %{_pkgdocdir}
|
|
Björn Esser |
3c04d27 |
%dir %{dynaplugz_datadir}
|
|
Björn Esser |
3c04d27 |
%{dynaplugz_datadir}/%{name}.tag
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
|
|
Björn Esser |
3735c78 |
%changelog
|
|
Björn Esser |
3c04d27 |
* Wed Mar 09 2016 Björn Esser <fedora@besser82.io> - 0.0.0.0-0.4.git20160309.597ce9f
|
|
Björn Esser |
3c04d27 |
- add dynaplugz_(data|plugin)dir
|
|
Björn Esser |
3c04d27 |
- fix ownership of %%{dynaplugz_datadir}
|
|
Björn Esser |
3c04d27 |
- explicitly BR cmake3 on EPEL <= 7
|
|
Björn Esser |
3c04d27 |
|
|
Björn Esser |
58be2d7 |
* Wed Mar 09 2016 Björn Esser <fedora@besser82.io> - 0.0.0.0-0.3.git20160309.597ce9f
|
|
Björn Esser |
58be2d7 |
- new snapshot git20160309.597ce9f
|
|
Björn Esser |
58be2d7 |
|
|
Björn Esser |
b834c82 |
* Wed Mar 09 2016 Björn Esser <fedora@besser82.io> - 0.0.0.0-0.2.git20160304.589c448
|
|
Björn Esser |
b834c82 |
- split things in lib%%{name}-packages
|
|
Björn Esser |
b834c82 |
- add conditionals for EPEL <= 7
|
|
Björn Esser |
b834c82 |
|
|
Björn Esser |
3735c78 |
* Fri Mar 04 2016 Björn Esser <fedora@besser82.io> - 0.0.0.0-0.1.git20160304.589c448
|
|
Björn Esser |
3735c78 |
- initial rpm-release (#1314895)
|