depot/third_party/nixpkgs/pkgs/desktops/gnome/misc/nautilus-python/default.nix

83 lines
1.9 KiB
Nix
Raw Normal View History

{ stdenv
, lib
, substituteAll
, fetchurl
, pkg-config
, which
, gtk-doc
, docbook_xsl
, docbook_xml_dtd_412
, python3
, ncurses
, nautilus
, gtk3
, gnome
}:
stdenv.mkDerivation rec {
pname = "nautilus-python";
version = "1.2.3";
outputs = [ "out" "dev" "doc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "161050sx3sdxqcpjkjcpf6wl4kx0jydihga7mcvrj9c2f8ly0g07";
};
patches = [
# Make PyGObjects gi library available.
(substituteAll {
src = ./fix-paths.patch;
pythonPaths = lib.concatMapStringsSep ", " (pkg: "'${pkg}/${python3.sitePackages}'") [
python3.pkgs.pygobject3
];
})
];
nativeBuildInputs = [
pkg-config
which
gtk-doc
docbook_xsl
docbook_xml_dtd_412
];
buildInputs = [
python3
ncurses # required by python3
python3.pkgs.pygobject3
nautilus
gtk3 # required by libnautilus-extension
];
# Workaround build failure on -fno-common toolchains:
# ld: nautilus-python-object.o:src/nautilus-python.h:61: multiple definition of
# `_PyNautilusMenu_Type'; nautilus-python.o:src/nautilus-python.h:61: first defined here
# TODO: remove it once upstream fixes and releases:
# https://gitlab.gnome.org/GNOME/nautilus-python/-/merge_requests/7
NIX_CFLAGS_COMPILE = "-fcommon";
makeFlags = [
"PYTHON_LIB_LOC=${python3}/lib"
];
PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
attrPath = "gnome.${pname}";
versionPolicy = "odd-unstable";
};
};
meta = with lib; {
description = "Python bindings for the Nautilus Extension API";
homepage = "https://wiki.gnome.org/Projects/NautilusPython";
license = licenses.gpl2Plus;
maintainers = teams.gnome.members;
platforms = platforms.unix;
};
}