1{
2 stdenv,
3 lib,
4 replaceVars,
5 fetchurl,
6 meson,
7 ninja,
8 pkg-config,
9 gtk-doc,
10 docbook-xsl-nons,
11 docbook_xml_dtd_412,
12 python3,
13 nautilus,
14 gnome,
15}:
16
17stdenv.mkDerivation (finalAttrs: {
18 pname = "nautilus-python";
19 version = "4.0.1";
20
21 outputs = [
22 "out"
23 "dev"
24 "doc"
25 "devdoc"
26 ];
27
28 src = fetchurl {
29 url = "mirror://gnome/sources/nautilus-python/${lib.versions.majorMinor finalAttrs.version}/nautilus-python-${finalAttrs.version}.tar.xz";
30 hash = "sha256-/EnBBPsyoK0ZWmawE2eEzRnRDYs+jVnV7n9z6PlOko8=";
31 };
32
33 patches = [
34 # Make PyGObject’s gi library available.
35 (replaceVars ./fix-paths.patch {
36 pythonPaths = lib.concatMapStringsSep ", " (pkg: "'${pkg}/${python3.sitePackages}'") [
37 python3.pkgs.pygobject3
38 ];
39 })
40 ];
41
42 nativeBuildInputs = [
43 pkg-config
44 meson
45 ninja
46 gtk-doc
47 docbook-xsl-nons
48 docbook_xml_dtd_412
49 python3.pythonOnBuildForHost
50 ];
51
52 buildInputs = [
53 python3
54 python3.pkgs.pygobject3
55 nautilus
56 ];
57
58 passthru = {
59 updateScript = gnome.updateScript {
60 packageName = "nautilus-python";
61 };
62 };
63
64 meta = with lib; {
65 description = "Python bindings for the Nautilus Extension API";
66 homepage = "https://gitlab.gnome.org/GNOME/nautilus-python";
67 license = licenses.gpl2Plus;
68 teams = [ teams.gnome ];
69 platforms = platforms.unix;
70 };
71})