+# TODO: switch to gtk4-update-icon-cache
#
# Conditinal build:
%bcond_without apidocs # disable API documentation
%bcond_without selinux # SELinux context support in file properties dialog
-%ifarch alpha ia64 m68k parisc parisc64 sh4 sparc sparcv9 sparc64
-%define use_seccomp 0
-%else
-%define use_seccomp 1
-%endif
Summary: Nautilus is a file manager for the GNOME desktop environment
Summary(pl.UTF-8): Nautilus - powłoka GNOME i zarządca plików
Summary(pt_BR.UTF-8): Nautilus é um gerenciador de arquivos para o GNOME
Name: nautilus
-Version: 3.38.0
+Version: 45.2.1
Release: 1
License: GPL v3+
Group: X11/Applications
-Source0: http://ftp.gnome.org/pub/GNOME/sources/nautilus/3.38/%{name}-%{version}.tar.xz
-# Source0-md5: 47a75abba82f2b3fb21ec19e628106a8
+Source0: https://download.gnome.org/sources/nautilus/45/%{name}-%{version}.tar.xz
+# Source0-md5: 88aadc5165a20442e63afc97348f5586
URL: https://wiki.gnome.org/Apps/Files
-BuildRequires: docbook-dtd412-xml
-BuildRequires: fontconfig-devel
# -std=c11
BuildRequires: gcc >= 6:4.7
+BuildRequires: gdk-pixbuf2-devel >= 2.30.0
BuildRequires: gettext-tools >= 0.19.7
-BuildRequires: gexiv2-devel >= 0.10.0
-BuildRequires: glib2-devel >= 1:2.62.0
-BuildRequires: gnome-autoar-devel >= 0.2.1
-BuildRequires: gnome-desktop-devel >= 3.0.0
+BuildRequires: gexiv2-devel >= 0.14.2
+%{?with_apidocs:BuildRequires: gi-docgen}
+BuildRequires: glib2-devel >= 1:2.77.0
+BuildRequires: gnome-autoar-devel >= 0.4.4
+BuildRequires: gnome-desktop4-devel >= 43
BuildRequires: gobject-introspection-devel >= 0.6.4
BuildRequires: gsettings-desktop-schemas-devel >= 3.8.0
BuildRequires: gstreamer-plugins-base-devel >= 1.0
-BuildRequires: gtk+3-devel >= 3.22.27
-BuildRequires: gtk-doc >= 1.10
-%if %{use_seccomp}
-BuildRequires: libseccomp-devel
-%endif
+BuildRequires: gtk4-devel >= 4.11.2
+BuildRequires: libadwaita-devel >= 1.4
+BuildRequires: libcloudproviders-devel >= 0.3.1
+BuildRequires: libportal-devel >= 0.5
+BuildRequires: libportal-gtk4-devel >= 0.5
%{?with_selinux:BuildRequires: libselinux-devel >= 2.0}
BuildRequires: libxml2-devel >= 1:2.7.8
-BuildRequires: meson >= 0.49.0
+BuildRequires: meson >= 0.59.0
BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
-BuildRequires: rpmbuild(macros) >= 1.736
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 2.029
BuildRequires: tar >= 1:1.22
BuildRequires: tracker3-devel >= 3.0
# for tests
#BuildRequires: tracker3-testutils >= 3.0
-BuildRequires: xorg-lib-libX11-devel
BuildRequires: xz
Requires(post,postun): desktop-file-utils
-Requires(post,postun): glib2 >= 1:2.62.0
+Requires(post,postun): glib2 >= 1:2.77.0
Requires(post,postun): gtk-update-icon-cache
Requires: %{name}-libs = %{version}-%{release}
-Requires: gexiv2 >= 0.10.0
-Requires: glib2 >= 1:2.62.0
-Requires: gnome-autoar >= 0.2.1
+Requires: gdk-pixbuf2 >= 2.30.0
+Requires: gexiv2 >= 0.14.2
+Requires: glib2 >= 1:2.77.0
+Requires: gnome-autoar >= 0.4.4
Requires: gsettings-desktop-schemas >= 3.8.0
Requires: gvfs >= 1.16.0
Requires: hicolor-icon-theme
+Requires: libadwaita >= 1.4
+Requires: libcloudproviders >= 0.3.1
+Requires: libportal >= 0.5
Requires: libxml2 >= 1:2.7.8
Requires: tracker3 >= 3.0
+Requires: tracker3-miners >= 3.0
Provides: gnome-volume-manager
-Obsoletes: eel
-Obsoletes: gnome-volume-manager
-Obsoletes: gstreamer-player-nautilus
-Obsoletes: nautilus-gtkhtml
-Obsoletes: nautilus-media
+Obsoletes: eel < 2.21
+Obsoletes: gnome-volume-manager < 2.23
+Obsoletes: gstreamer-player-nautilus < 0.9
+Obsoletes: nautilus-extension-console < 43
+Obsoletes: nautilus-gtkhtml < 0.4
+Obsoletes: nautilus-media < 0.9
+Obsoletes: nautilus-sendto < 3.9
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary: Nautilus libraries
Summary(pl.UTF-8): Biblioteki Nautilusa
Group: X11/Libraries
-Requires: glib2 >= 1:2.62.0
-Requires: gtk+3 >= 3.22.27
+Requires: glib2 >= 1:2.77.0
+Requires: gtk4 >= 4.11.2
%description libs
Nautilus libraries.
Summary(pt_BR.UTF-8): Bibliotecas e arquivos para desenvolvimento com o nautilus
Group: X11/Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
-Requires: glib2-devel >= 1:2.62.0
-Requires: gtk+3-devel >= 3.22.27
-Obsoletes: eel-devel
-Obsoletes: nautils-static
+Requires: glib2-devel >= 1:2.77.0
+Requires: gtk4-devel >= 4.11.2
+Obsoletes: eel-devel < 2.21
+Obsoletes: nautilus-static < 3.26
%description devel
This package provides the necessary development libraries and include
Summary: Nautilus API documentation
Summary(pl.UTF-8): Dokumentacja API Nautilusa
Group: Documentation
-Requires: gtk-doc-common
-%if "%{_rpmversion}" >= "4.6"
BuildArch: noarch
-%endif
%description apidocs
Nautilus API documentation.
%{?with_selinux:-Dselinux=true} \
-Dtests=none
-%meson_build -C build
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%meson_install -C build
+%ninja_install -C build
%{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
# not supported by glibc
-%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/io
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ie,io}
+
+%if %{with apidocs}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/nautilus $RPM_BUILD_ROOT%{_gidocdir}
+%endif
%find_lang %{name} --with-gnome --all-name
%attr(755,root,root) %{_bindir}/nautilus
%attr(755,root,root) %{_bindir}/nautilus-autorun-software
%dir %{_libdir}/nautilus
-%dir %{_libdir}/nautilus/extensions-3.0
-%attr(755,root,root) %{_libdir}/nautilus/extensions-3.0/libnautilus-image-properties.so
-%attr(755,root,root) %{_libdir}/nautilus/extensions-3.0/libnautilus-sendto.so
-%attr(755,root,root) %{_libdir}/nautilus/extensions-3.0/libtotem-properties-page.so
+%dir %{_libdir}/nautilus/extensions-4
+%attr(755,root,root) %{_libdir}/nautilus/extensions-4/libnautilus-image-properties.so
+%attr(755,root,root) %{_libdir}/nautilus/extensions-4/libtotem-properties-page.so
%{_datadir}/metainfo/org.gnome.Nautilus.appdata.xml
%{_datadir}/dbus-1/services/org.freedesktop.FileManager1.service
%{_datadir}/dbus-1/services/org.gnome.Nautilus.service
%{_datadir}/glib-2.0/schemas/org.gnome.nautilus.gschema.xml
%{_datadir}/gnome-shell/search-providers/org.gnome.Nautilus.search-provider.ini
%{_datadir}/nautilus
+# XXX: tracker3 owns datadir/tracker3/ontologies, tracker3-miners own datadir/tracker3-miners/domain-ontologies - 3rd variant here?
+%dir %{_datadir}/tracker3/domain-ontologies
%{_datadir}/tracker3/domain-ontologies/org.gnome.Nautilus.domain.rule
%{_desktopdir}/nautilus-autorun-software.desktop
%{_desktopdir}/org.gnome.Nautilus.desktop
%{_iconsdir}/hicolor/scalable/apps/org.gnome.Nautilus.svg
%{_iconsdir}/hicolor/symbolic/apps/org.gnome.Nautilus-symbolic.svg
+%if %{with apidocs}
%{_mandir}/man1/nautilus.1*
%{_mandir}/man1/nautilus-autorun-software.1*
+%endif
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libnautilus-extension.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libnautilus-extension.so.1
-%{_libdir}/girepository-1.0/Nautilus-3.0.typelib
+%attr(755,root,root) %{_libdir}/libnautilus-extension.so.4
+%{_libdir}/girepository-1.0/Nautilus-4.0.typelib
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libnautilus-extension.so
%{_includedir}/nautilus
-%{_datadir}/gir-1.0/Nautilus-3.0.gir
-%{_pkgconfigdir}/libnautilus-extension.pc
+%{_datadir}/gir-1.0/Nautilus-4.0.gir
+%{_pkgconfigdir}/libnautilus-extension-4.pc
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)
-%{_gtkdocdir}/libnautilus-extension
+%{_gidocdir}/nautilus
%endif