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
openSUSE Build Service is sponsored by