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