nixpkgs/pkgs/applications/version-management/meld/default.nix
Jan Tojnar b2ff709179
meld: Fix build on Darwin
Meld’s post install script requires gtk-update-icon-cache program on PATH.
Because Meld is a Python app, it uses strictDeps so we need to explicitly
add the program to nativeBuildInputs.

For some reason, Linux version has the program available, though,
which hides the missing dependency. Perhaps it is propagated by something
but I do not know how to determine it.
2020-10-24 01:17:26 +02:00

70 lines
1.3 KiB
Nix

{ stdenv
, fetchurl
, gettext
, itstool
, python3
, meson
, ninja
, wrapGAppsHook
, libxml2
, pkg-config
, desktop-file-utils
, gobject-introspection
, gtk3
, gtksourceview4
, gnome3
, gsettings-desktop-schemas
}:
python3.pkgs.buildPythonApplication rec {
pname = "meld";
version = "3.21.0";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "toARTVq3kzJFSf1Y9OsgLY4oDAYzoLdl7ebfs0FgqBs=";
};
nativeBuildInputs = [
meson
ninja
gettext
itstool
libxml2
pkg-config
desktop-file-utils
gobject-introspection
wrapGAppsHook
gtk3 # for gtk-update-icon-cache
];
buildInputs = [
gtk3
gtksourceview4
gsettings-desktop-schemas
gnome3.adwaita-icon-theme
gobject-introspection # fixes https://github.com/NixOS/nixpkgs/issues/56943 for now
];
propagatedBuildInputs = with python3.pkgs; [
pygobject3
pycairo
];
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; {
description = "Visual diff and merge tool";
homepage = "http://meldmerge.org/";
license = licenses.gpl2Plus;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ jtojnar mimame ];
};
}