File rom-properties.spec of Package rom-properties
#
# spec file for package rom-properties
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#original COPR specfile @ https://copr.fedorainfracloud.org/coprs/kylegospo/rom-properties/
Name: rom-properties
Version: 2.3
Release: 1%{?dist}
Summary: File browser extension for managing video game ROM and disc images
License: GPL-2.0-only
URL: https://github.com/KyleGospo/%{name}
Source: %{name}-%{version}.tar.xz
Requires: %{name}-common = %{version}-%{release}
Requires: %{name}-thumbnailer-dbus = %{version}-%{release}
Requires: %{name}-utils = %{version}-%{release}
Requires: curl
Requires: libjpeg-turbo
#Requires: libpng
#Requires: libseccomp
#Requires: nettle
#Requires: tinyxml2
Requires: zlib-ng
Recommends: lz4
Recommends: lzo
BuildRequires: pkgconf
BuildRequires: thunar-devel
BuildRequires: pkgconfig(cairo)
BuildRequires: cmake
BuildRequires: extra-cmake-modules
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gdk-wayland-3.0)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(x11)
BuildRequires: gettext-devel
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: gsound-devel
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk+-wayland-3.0)
BuildRequires: gtk4-devel
BuildRequires: kf6-kfilemetadata-devel
BuildRequires: kf6-kio-devel
BuildRequires: kf6-kwidgetsaddons-devel
BuildRequires: libcurl-devel
#use libjpeg pkgconfig
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: libseccomp-devel
BuildRequires: libzstd-devel
BuildRequires: liblz4-devel
BuildRequires: lzo-devel
BuildRequires: nautilus-devel
BuildRequires: pkgconfig(nettle)
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Platform)
BuildRequires: qt6-base-devel
BuildRequires: qt6-tools-devel
BuildRequires: systemd-rpm-macros
BuildRequires: tinyxml2-devel
BuildRequires: wayland-devel
BuildRequires: wayland-protocols-devel
BuildRequires: qt6-waylandclient-devel
BuildRequires: qt6-waylandclient-private-devel
BuildRequires: pkgconfig(zlib-ng)
BuildRequires: gtk2-devel
BuildRequires: patterns-kde-devel_qt6
BuildRequires: patterns-kde-devel_kde_frameworks6
BuildRequires: patterns-gnome-devel_gnome
BuildRequires: patterns-base-basesystem
BuildRequires: libxfce4ui-devel
BuildRequires: libxfce4util-devel
BuildRequires: libxfce4windowing-devel
%global debug_package %{nil}
%description
This shell extension adds a few nice features to file browsers for managing video game ROM and disc images.
%prep
%autosetup -p1 -n %{name}-%{version}
%build
%cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_XFCE=ON
%cmake_build
%install
%cmake_install
kbuildsycoca6 --noincremental
rm -rf %{buildroot}%{_sysconfdir}/apparmor.d
rm -rf %{buildroot}%{_prefix}/lib/debug
mkdir -p %{buildroot}%{_defaultdocdir}
mv %{buildroot}/%{_datadir}/doc/%name/ %{buildroot}%{_defaultdocdir}/%{name}/
%files
%dir %{_defaultdocdir}/%{name}
%license %{_defaultdocdir}/%{name}/LICENSE
%doc %{_defaultdocdir}/%{name}/NETWORK.md
%doc %{_defaultdocdir}/%{name}/COMPILING.md
%doc %{_defaultdocdir}/%{name}/README.md
%doc %{_defaultdocdir}/%{name}/NEWS.md
%doc %{_defaultdocdir}/%{name}/keys.conf.example
%doc %{_defaultdocdir}/%{name}/rom-properties.conf.example
%{_libdir}/libromdata.*
%package cli
Summary: CLI tools for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
%description cli
%{summary}
%files cli
%{_bindir}/rpcli
%package common
Summary: Common files for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildArch: noarch
%description common
%{summary}
%files common
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/amiibo-data.bin
%{_datadir}/applications/com.gerbilsoft.rom-properties.rp-config.desktop
%{_datadir}/metainfo/com.gerbilsoft.rom-properties.metainfo.xml
%{_datadir}/mime/packages/rom-properties.xml
%{_datarootdir}/locale/*/LC_MESSAGES/rom-properties.mo
%package gtk3
Summary: GTK3/4 integration for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
%description gtk3
%{summary}
%files gtk3
%dir %{_libdir}/nautilus/extensions-3.0
%dir %{_libdir}/caja
%dir %{_libdir}/caja/extensions-2.0
%dir %{_libdir}/nemo
%dir %{_libdir}/nemo/extensions-3.0
%{_libdir}/nautilus/extensions-3.0/rom-properties-gtk3.so
%{_libdir}/nautilus/extensions-4/rom-properties-gtk4.so
%{_libdir}/caja/extensions-2.0/rom-properties-gtk3.so
%{_libdir}/nemo/extensions-3.0/rom-properties-gtk3.so
%package kf6
Summary: KDE6 integration for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
%description kf6
%{summary}
%files kf6
%dir %{_datadir}/kio
%dir %{_datadir}/kio/servicemenus
%dir %{_libdir}/qt6/plugins/kf6/thumbcreator
%dir %{_libdir}/qt6/plugins/kf6/propertiesdialog
%dir %{_libdir}/qt6/plugins/kf6/overlayicon
%{_datadir}/kio/servicemenus/rp-convert-to-png.desktop
%{_libdir}/qt6/plugins/kf6/thumbcreator/*
%{_libdir}/qt6/plugins/kf6/propertiesdialog/*
%{_libdir}/qt6/plugins/kf6/kfilemetadata/*
%{_libdir}/qt6/plugins/kf6/overlayicon/*
%{_libdir}/qt6/plugins/kf6/propertiesdialog/*
%package xfce
Summary: XFCE integration for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
%description xfce
%{summary}
%files xfce
%dir %{_libdir}/thunarx-2
%dir %{_libdir}/thunarx-3
%{_libdir}/thunarx-2/rom-properties-xfce.so
%{_libdir}/thunarx-3/rom-properties-gtk3.so
%package thumbnailer-dbus
Summary: Dbus service for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
%description thumbnailer-dbus
%{summary}
%files thumbnailer-dbus
%dir %{_datadir}/thumbnailers
%{_bindir}/rp-thumbnailer-dbus
%{_datadir}/dbus-1/services/com.gerbilsoft.rom-properties.SpecializedThumbnailer1.service
%{_datadir}/thumbnailers/com.gerbilsoft.rom-properties.SpecializedThumbnailer1.service
%package tracker3-miners
Summary: Tracker3 miners for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tracker3-miners
%{summary}
%files tracker3-miners
%{_libdir}/tracker-miners-3.0/extract-modules/libextract-rom-properties.so
%{_datadir}/tracker3-miners/extract-rules/14-rp-application-packages.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-audio.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-banners.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-cd-images.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-disk-images.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-executables.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-rom-images.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-save-files.rule
%{_datadir}/tracker3-miners/extract-rules/14-rp-textures.rule
%package utils
Summary: utils for rom-properties
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
%{summary}
%files utils
%dir %{_datadir}/thumbnailers
%{_libexecdir}/rp-download
%{_libexecdir}/rp-thumbnail
%{_datadir}/thumbnailers/rom-properties.thumbnailer
%{_bindir}/rp-stub
%{_bindir}/rp-config
%changelog