File libappimage.spec of Package libappimage

#
# spec file for package libappimage
#
# copyright (c) 2023 munix9@googlemail.com
#

%global sover 1_0
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects

Name:           libappimage
Version:        1.0.4
Release:        0
Summary:        Implements functionality for dealing with AppImage files
License:        MIT
URL:            https://github.com/AppImageCommunity/libappimage
Source0:        %{name}-%{version}.tar.gz
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  boost-devel
BuildRequires:  cmake
BuildRequires:  desktop-file-utils
BuildRequires:  libtool
BuildRequires:  ninja
BuildRequires:  pkgconfig
BuildRequires:  cmake(XdgUtils)
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%{?suse_version} <= 1500
BuildRequires:  gcc10-c++
%else
BuildRequires:  gcc-c++
%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
GIT_COMMIT="$(ver="%{version}";echo ${ver##*.})"

%cmake \
	-DBUILD_TESTING=ON			\
%if 0%{?suse_version} <= 1500
	-DCMAKE_C_COMPILER=gcc-10		\
	-DCMAKE_CXX_COMPILER=g++-10		\
%endif
	-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON	\
	-DCMAKE_SKIP_RPATH=OFF			\
	-DGIT_COMMIT="$GIT_COMMIT"		\
	-DUSE_SYSTEM_LIBARCHIVE=ON		\
	-DUSE_SYSTEM_SQUASHFUSE=ON		\
	-DUSE_SYSTEM_XDGUTILS=ON		\
	-DUSE_SYSTEM_XZ=ON

%cmake_build

%install
%cmake_install

%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