#
# 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.22.1
+Version: 40.1
Release: 1
-License: GPL v2+
+License: GPL v3+
Group: X11/Applications
-Source0: http://ftp.gnome.org/pub/GNOME/sources/nautilus/3.22/%{name}-%{version}.tar.xz
-# Source0-md5: 6a7d8a57fa8324cf446dc8b9bee235a6
-Patch0: autostart-desc.patch
-URL: http://www.gnome.org/projects/nautilus/
-BuildRequires: autoconf >= 2.60
-BuildRequires: automake >= 1:1.11
+Source0: https://download.gnome.org/sources/nautilus/40/%{name}-%{version}.tar.xz
+# Source0-md5: 06434633fed0e10a899a31d2279e3336
+URL: https://wiki.gnome.org/Apps/Files
BuildRequires: docbook-dtd412-xml
-BuildRequires: exempi-devel >= 2.1.0
+BuildRequires: fontconfig-devel
+# -std=c11
+BuildRequires: gcc >= 6:4.7
BuildRequires: gettext-tools >= 0.19.7
-BuildRequires: glib2-devel >= 1:2.50.0
-BuildRequires: gnome-autoar-devel >= 0.1
-BuildRequires: gnome-desktop-devel >= 3.2.0
+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.22.0
+BuildRequires: gstreamer-plugins-base-devel >= 1.0
+BuildRequires: gtk+3-devel >= 3.22.27
BuildRequires: gtk-doc >= 1.10
-BuildRequires: libexif-devel >= 1:0.6.20
-BuildRequires: libselinux-devel
-BuildRequires: libtool
+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): glib2 >= 1:2.50.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.50.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: hicolor-icon-theme
-Requires: libexif >= 1:0.6.20
+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.50.0
-Requires: gtk+3 >= 3.22.0
+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.50.0
-Requires: gtk+3-devel >= 3.22.0
-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}
-%{__libtoolize}
-%{__aclocal} -I m4 -I libgd
-%{__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
%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-desktop
%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
-%{_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}/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}/org.gnome.Nautilus.desktop
-%{_mandir}/man1/nautilus.1*
-%{_sysconfdir}/xdg/autostart/nautilus-autostart.desktop
-%{_datadir}/gnome-shell/search-providers/nautilus-search-provider.ini
-%{_iconsdir}/hicolor/*/*/org.gnome.Nautilus.png
+%{_iconsdir}/hicolor/scalable/apps/org.gnome.Nautilus.svg
%{_iconsdir}/hicolor/symbolic/apps/org.gnome.Nautilus-symbolic.svg
+%{_mandir}/man1/nautilus.1*
+%{_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)