atheriel / snapshot-explorer

A GTK-based application for browsing ZFS snapshots using the system file manager (e.g. Nautilus on GNOME) and restoring files from them.
38 stars 3 forks source link

Nautilus extension does not build against GNOME 43 and later #3

Open danboid opened 4 months ago

danboid commented 4 months ago

I am running debian trixie / testing amd64. I have installed all the deps listed as needed to build snapshot -explorer including libnautilus-extension-dev but I currently only get as far as this when trying to build it:

$ meson build --prefix=/usr/local
The Meson build system
Version: 1.2.3
Source dir: /home/dan/src/snapshot-explorer
Build dir: /home/dan/src/snapshot-explorer/build
Build type: native build
Project name: snapshot-explorer
Project version: 0.1.0
C compiler for the host machine: cc (gcc 13.2.0 "cc (Debian 13.2.0-13) 13.2.0")
C linker for the host machine: cc ld.bfd 2.42
Vala compiler for the host machine: valac (valac 0.56.14)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program msgfmt found: YES (/usr/bin/msgfmt)
Program desktop-file-validate found: YES (/usr/bin/desktop-file-validate)
Program appstream-util found: NO
Program glib-compile-schemas found: YES (/usr/bin/glib-compile-schemas)
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Run-time dependency gio-2.0 found: YES 2.78.4
Run-time dependency gtk+-3.0 found: YES 3.24.41
Run-time dependency libhandy-1 found: YES 1.8.3
Found pkg-config: /usr/bin/pkg-config (1.8.1)
Dependency gio-2.0 found: YES 2.78.4 (cached)
Program /usr/bin/glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Found CMake: /usr/bin/cmake (3.28.3)
WARNING: CMake Toolchain: Failed to determine CMake compilers state
Run-time dependency libnautilus-extension found: NO (tried pkgconfig and cmake)

nautilus/meson.build:16:16: ERROR: Dependency "libnautilus-extension" not found, tried pkgconfig and cmake

A full log can be found at /home/dan/src/snapshot-explorer/build/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.

Is snapshot explorer known to work with the current (or even recent) GNOME releases?

atheriel commented 4 months ago

I did most of the work on Ubuntu 22.04 and it's possible that there are issues with more recent versions of GNOME. I'll try to get it building in a newer environment.

(There is also a complete GTK4 + libadwaita port in a branch that might provide a better starting point on newer distros.)

atheriel commented 4 months ago

An update on this: I've been able to get the Nautilus extension building, but they removed the API for showing the banner in GNOME 43, so it's not nearly as useful as it once was.

It's quite a pity, that API had been available for almost 18 years. There's some discussion in the issue tracker about a replacement, but it might take a while to become available. I'm an upstream contributor to Nautilus and this caught even me by surprise.

atheriel commented 4 months ago

Note that you can disable the Nautilus extension completely with

$ meson setup --reconfigure --prefix=/usr/local -Denable-nautilus-extension=false build
danboid commented 4 months ago

That's a shame! I do wish GNOME would stop removing useful features.