File anpv.spec of Package anpv
%define builddir build
Name: anpv
Version: 0.1
Release: 0
License: GPL-2.0
Summary: Another Nameless Music Player
Url: https://www.github.com/derselbst/ANPV
Group: Development/Libraries/C and C++
Source0: anpv-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: clang >= 17
BuildRequires: llvm-gold
BuildRequires: cmake(Qt6Concurrent)
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(Qt6Test)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libjpeg) >= 2.1.4
BuildRequires: pkgconfig(libjxl)
BuildRequires: pkgconfig(libraw)
BuildRequires: pkgconfig(libpng16)
BuildRequires: extra-cmake-modules
BuildRequires: libexiv2-devel >= 0.27
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
Conflicts: libjpeg8 < 8.3.0
%description
A picture viewer for high-resolution JPEGs, TIFFs and Canon CR2s.
%prep
%autosetup -p1
%build
mkdir -p %{builddir}
# manually invoke cmake to build static libs
export CC=clang
export CXX=clang++
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
-DLIB_INSTALL_DIR:PATH=%{_libdir} \
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \
-DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_C_FLAGS="${CFLAGS:-%optflags} -DNDEBUG" \
-DCMAKE_CXX_FLAGS="${CXXFLAGS:-%optflags} -DNDEBUG" \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now" \
%if "%{?_lib}" == "lib64"
-DLIB_SUFFIX=64 \
%endif
-DCMAKE_SKIP_RPATH:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DBUILD_STATIC_LIBS:BOOL=ON \
-DCMAKE_COLOR_MAKEFILE:BOOL=OFF \
-DCMAKE_INSTALL_DO_STRIP:BOOL=OFF \
-DCMAKE_MODULES_INSTALL_DIR=%{_datadir}/cmake/Modules \
-B %{builddir} -S .
make -C %{builddir} %{?_smp_mflags}
%install
cd %{builddir}
DESTDIR=%{buildroot} make install
rm -rf %{buildroot}/KDCRAW %{buildroot}/KExiv2
%files
%defattr(-,root,root)
%{_bindir}/anpv
%{_datadir}/applications/ANPV.desktop
%{_datadir}/icons/hicolor/scalable/apps/ANPV.svg
%exclude %dir %{_datadir}/qlogging-categories?
%exclude %{_datadir}/qlogging-categories?/*
%exclude %dir %{_includedir}/KF6
%exclude %{_includedir}/KF6/*
%exclude %{_libdir}/lib*
%exclude %dir %{_libdir}/cmake
%exclude %{_libdir}/cmake/*