#
# Conditinal build:
%bcond_without apidocs # disable API documentation
+%bcond_without libportal # xdg-desktop-portals integration
+%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.14.2
+Version: 40.0
Release: 1
-License: GPL v2+
+License: GPL v3+
Group: X11/Applications
-Source0: http://ftp.gnome.org/pub/GNOME/sources/nautilus/3.14/%{name}-%{version}.tar.xz
-# Source0-md5: 69dcd039ca8b9835f015f6601a94119e
-Patch0: autostart-desc.patch
-URL: http://www.gnome.org/projects/nautilus/
-BuildRequires: autoconf >= 2.54
-BuildRequires: automake >= 1:1.11
+Source0: https://download.gnome.org/sources/nautilus/40/%{name}-%{version}.tar.xz
+# Source0-md5: 319404aeb542ecbdfd249053878bdca2
+URL: https://wiki.gnome.org/Apps/Files
BuildRequires: docbook-dtd412-xml
-BuildRequires: exempi-devel >= 2.1.0
-BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.36.0
-BuildRequires: gnome-desktop-devel >= 3.2.0
+BuildRequires: fontconfig-devel
+# -std=c11
+BuildRequires: gcc >= 6:4.7
+BuildRequires: gettext-tools >= 0.19.7
+BuildRequires: gexiv2-devel >= 0.10.0
+BuildRequires: glib2-devel >= 1:2.67.1
+BuildRequires: gnome-autoar-devel >= 0.3.0
+BuildRequires: gnome-desktop-devel >= 3.0.0
BuildRequires: gobject-introspection-devel >= 0.6.4
BuildRequires: gsettings-desktop-schemas-devel >= 3.8.0
-BuildRequires: gtk+3-devel >= 3.13.2
-BuildRequires: gtk-doc >= 1.8
-BuildRequires: intltool >= 0.40.1
-BuildRequires: libexif-devel >= 1:0.6.20
-BuildRequires: libnotify-devel >= 0.7.0
-BuildRequires: libselinux-devel
-BuildRequires: libtool
+BuildRequires: gstreamer-plugins-base-devel >= 1.0
+BuildRequires: gtk+3-devel >= 3.22.27
+BuildRequires: gtk-doc >= 1.10
+BuildRequires: libhandy1-devel >= 1.1.90
+%{?with_libportal:BuildRequires: libportal-devel >= 0.3}
+%if %{use_seccomp}
+BuildRequires: libseccomp-devel
+%endif
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.0}
BuildRequires: libxml2-devel >= 1:2.7.8
-BuildRequires: pango-devel >= 1:1.28.3
+BuildRequires: meson >= 0.49.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
-BuildRequires: rpmbuild(macros) >= 1.601
-BuildRequires: tracker-devel >= 1.0.0
-BuildRequires: xorg-lib-libSM-devel
+BuildRequires: rpmbuild(macros) >= 1.752
+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): shared-mime-info
-Requires(post,postun): glib2 >= 1:2.34.0
+Requires(post,postun): glib2 >= 1:2.67.1
+Requires(post,postun): gtk-update-icon-cache
Requires: %{name}-libs = %{version}-%{release}
-Requires: exempi >= 2.1.0
-Requires: glib2 >= 1:2.36.0
-Requires: gnome-desktop >= 3.2.0
+Requires: gexiv2 >= 0.10.0
+Requires: glib2 >= 1:2.67.1
+Requires: gnome-autoar >= 0.3.0
Requires: gsettings-desktop-schemas >= 3.8.0
Requires: gvfs >= 1.16.0
-Requires: libexif >= 1:0.6.20
-Requires: libnotify >= 0.7.0
+Requires: hicolor-icon-theme
+Requires: libhandy1 >= 1.1.90
+%{?with_libportal:Requires: libportal >= 0.3}
Requires: libxml2 >= 1:2.7.8
-Requires: pango >= 1:1.28.3
-Requires: tracker >= 1.0.0
+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
-# sr@Latn vs. sr@latin
-Conflicts: glibc-misc < 6:2.7
+Obsoletes: eel < 2.21
+Obsoletes: gnome-volume-manager < 2.23
+Obsoletes: gstreamer-player-nautilus < 0.9
+Obsoletes: nautilus-gtkhtml < 0.4
+Obsoletes: nautilus-media < 0.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.36.0
-Requires: gtk+3 >= 3.13.2
+Requires: glib2 >= 1:2.67.1
+Requires: gtk+3 >= 3.22.27
%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.36.0
-Requires: gtk+3-devel >= 3.13.2
-Requires: libselinux-devel
-Obsoletes: eel-devel
+Requires: glib2-devel >= 1:2.67.1
+Requires: gtk+3-devel >= 3.22.27
+Obsoletes: eel-devel < 2.21
+Obsoletes: nautilus-static < 3.26
%description devel
This package provides the necessary development libraries and include
Este pacote fornece os arquivos necessários para desenvolvimento
utilizando componentes do nautilus.
-%package static
-Summary: Static Nautilus libraries
-Summary(pl.UTF-8): Biblioteki statyczne Nautilusa
-Group: X11/Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-
-%description static
-Static Nautilus libraries.
-
-%description static -l pl.UTF-8
-Biblioteki statyczne Nautilusa.
-
%package apidocs
Summary: Nautilus API documentation
Summary(pl.UTF-8): Dokumentacja API Nautilusa
Group: Documentation
Requires: gtk-doc-common
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description apidocs
Nautilus API documentation.
%prep
%setup -q
-%patch0 -p1
%build
-%{__gtkdocize}
-%{__glib_gettextize}
-%{__intltoolize}
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- --enable-static \
- --enable-packagekit \
- --%{?with_apidocs:en}%{!?with_apidocs:dis}able-gtk-doc \
- --with-html-dir=%{_gtkdocdir} \
- --disable-silent-rules \
- --disable-update-mimedb
-%{__make}
+%meson build \
+ -Ddocs=%{__true_false apidocs} \
+ %{!?with_libportal:-Dlibportal=false} \
+ -Dpackagekit=true \
+ %{?with_selinux:-Dselinux=true} \
+ -Dtests=none
+
+%meson_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/nautilus/extensions-3.0/*.{a,la}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
-
-%{!?with_apidocs:rm -rf $RPM_BUILD_ROOT%{_gtkdocdir}}
+%meson_install -C build
%{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
# not supported by glibc
rm -rf $RPM_BUILD_ROOT
%post
-%update_mime_database
+%update_icon_cache hicolor
%update_desktop_database_post
%glib_compile_schemas
%postun
+%update_icon_cache hicolor
%update_desktop_database_postun
-%update_mime_database
if [ "$1" = "0" ]; then
%glib_compile_schemas
fi
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS MAINTAINERS NEWS README THANKS
+%doc NEWS README.md
%attr(755,root,root) %{_bindir}/nautilus
%attr(755,root,root) %{_bindir}/nautilus-autorun-software
-%attr(755,root,root) %{_bindir}/nautilus-connect-server
-%attr(755,root,root) %{_libexecdir}/nautilus-convert-metadata
%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
-%{_datadir}/GConf/gsettings/nautilus.convert
-%{_datadir}/appdata/org.gnome.Nautilus.appdata.xml
+%attr(755,root,root) %{_libdir}/nautilus/extensions-3.0/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}/dbus-1/services/org.gnome.Nautilus.Tracker3.Miner.Extract.service
+%{_datadir}/dbus-1/services/org.gnome.Nautilus.Tracker3.Miner.Files.service
%{_datadir}/glib-2.0/schemas/org.gnome.nautilus.gschema.xml
-%{_datadir}/mime/packages/nautilus.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}/nautilus-classic.desktop
-%{_desktopdir}/nautilus-connect-server.desktop
%{_desktopdir}/org.gnome.Nautilus.desktop
-%{_mandir}/man1/nautilus-connect-server.1*
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Nautilus.svg
+%{_iconsdir}/hicolor/symbolic/apps/org.gnome.Nautilus-symbolic.svg
%{_mandir}/man1/nautilus.1*
-%{_sysconfdir}/xdg/autostart/nautilus-autostart.desktop
-%{_datadir}/gnome-shell/search-providers/nautilus-search-provider.ini
+%{_mandir}/man1/nautilus-autorun-software.1*
%files libs
%defattr(644,root,root,755)
%{_datadir}/gir-1.0/Nautilus-3.0.gir
%{_pkgconfigdir}/libnautilus-extension.pc
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libnautilus-extension.a
-
%if %{with apidocs}
%files apidocs
%defattr(644,root,root,755)