File libappimage.spec of Package libappimage
%global sover 1_0
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
Name: libappimage
Version: 1.0
Release: 0%{?dist}
Summary: Implements functionality for dealing with AppImage files
License: MIT
URL: https://github.com/AppImageCommunity/libappimage
Source0: %{name}-%{version}.tar
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libarchive)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: pkgconfig(lzo2)
BuildRequires: pkgconfig(squashfuse)
BuildRequires: pkgconfig(zlib)
%if 0%{?fedora_version}
BuildRequires: ninja-build
BuildRequires: libxdg-basedir-devel
%endif
%if 0%{?suse_version}
BuildRequires: gcc-c++
BuildRequires: ninja
BuildRequires: cmake(XdgUtils)
%endif
%description
This library is part of the AppImage project. It implements functionality
for dealing with AppImage files. It is written in C++ and is using Boost.
%package -n %{name}%{sover}
Summary: Implements functionality for dealing with AppImage files
%description -n %{name}%{sover}
This library is part of the AppImage project. It implements functionality
for dealing with AppImage files. It is written in C++ and is using Boost.
%package devel
Summary: Header files for libappimage
Requires: %{name}%{sover} = %{version}
Requires: pkgconfig(cairo)
Requires: pkgconfig(glib-2.0)
Requires: pkgconfig(librsvg-2.0)
%description devel
Development files for libappimage
%prep
%autosetup -p1
# fix version
sed -e 's/set(V_PATCH 3)/set(V_PATCH 4)/' -i CMakeLists.txt
# fix pkgconfig/libappimage.pc
sed -e 's/@CMAKE_INSTALL_LIBDIR@/%{_lib}/' -i cmake/libappimage.pc.in
%build
%define __builder ninja
%cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
-DBUILD_TESTING=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_SYSTEM_LIBARCHIVE=ON \
-DUSE_SYSTEM_SQUASHFUSE=ON \
-DUSE_SYSTEM_XDGUTILS=ON \
-DUSE_SYSTEM_XZ=ON
%cmake_build
%install
%cmake_install
find %{buildroot}%{_libdir} -type f -executable -exec strip --strip-all {} \;
%check
%ctest --parallel 1 --timeout 60 --verbose
%if 0%{?suse_version} > 1500
%ldconfig_scriptlets -n %{name}%{sover}
%else
%post -n %{name}%{sover} -p /sbin/ldconfig
%postun -n %{name}%{sover} -p /sbin/ldconfig
%endif
%files -n %{name}%{sover}
%license LICENSE
%doc README.md
%{_libdir}/%{name}*.so.*
%files devel
%{_includedir}/appimage
%{_libdir}/%{name}*.a
%{_libdir}/%{name}*.so
%{_libdir}/cmake/%{name}
%{_libdir}/pkgconfig/%{name}.pc
%changelog