File libjcat.spec of Package libjcat
%define realname libjcat
%define srcext tar.bz2
%define so_ver 1
# Common info
Name: %{realname}%{?so_ver}
Version: 0
Release: wiz%{?extraver:0.}1
License: LGPL-2.1+
Group: System/Libraries
URL: https://github.com/hughsie/libjcat
Summary: Library for reading and writing Jcat files
# Install-time parameters
# Build-time parameters
BuildRequires: meson >= 0.49.2 ninja
BuildRequires: pkg-config
BuildRequires: gettext
BuildRequires: help2man
BuildRequires: pkgconfig(gio-2.0) >= 2.45.8
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.45.8
BuildRequires: pkgconfig(json-glib-1.0) >= 1.1.1
BuildRequires: gnutls pkgconfig(gnutls) >= 3.6.0
BuildRequires: gpgme-devel
BuildRoot: %{_tmppath}/%{name}-root
Source: %{realname}-%{version}%{?extraver}.%{srcext}
%description
%package -n %{realname}-devel
Group: Development/Languages/C and C++
Summary: Development files for %{realname}
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: %{realname}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
%description -n %{realname}-devel
Headers and libraries required to build software using %{realname}.
# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{version}%{?extraver}
%build
_CFLAGS='%{optflags} %{?gcc_lto}'
_LDFLAGS='-Wl,--as-needed -Wl,--strip-all -Wl,--no-undefined -Wl,-z,now -Wl,-z,relro %{?gcc_lto}'
meson setup build \
--buildtype=release \
--strip \
\
--prefix=%{_prefix} \
--default-library=shared \
\
-Dintrospection=false \
-Dtests=false \
\
-Dc_args="$_CFLAGS" \
-Dc_link_args="$_LDFLAGS"
ninja -v -C build %{?_smp_mflags}
%install
DESTDIR=%{buildroot} ninja -C build install
%clean
[ "%{buildroot}" != "/" ] && rm -rf %{buildroot}
%files
%defattr(-,root,root)
%doc LICENSE MAINTAINERS NEWS README.md
%{_bindir}/jcat-tool
%{_libdir}/%{realname}.so.%{?so_ver}*
%doc %{_mandir}/man1/jcat-tool.1*
# Development stuff
%files -n %{realname}-devel
%defattr(-,root,root)
%doc LICENSE MAINTAINERS NEWS README.md
%doc CODE_OF_CONDUCT.md RELEASE
%{_libdir}/pkgconfig/jcat.pc
%{_includedir}/libjcat-1
%{_libdir}/%{realname}.so
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog