Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / version-management / meld / default.nix
blobfc8ec7b55d1fefa4bbb730935005ac5972eb5800
1 { lib
2 , fetchurl
3 , gettext
4 , itstool
5 , python3
6 , meson
7 , ninja
8 , wrapGAppsHook
9 , libxml2
10 , pkg-config
11 , desktop-file-utils
12 , gobject-introspection
13 , gtk3
14 , gtksourceview4
15 , gnome
16 , gsettings-desktop-schemas
19 python3.pkgs.buildPythonApplication rec {
20   pname = "meld";
21   version = "3.22.0";
23   format = "other";
25   src = fetchurl {
26     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
27     sha256 = "sha256-P8EHyY7251NY/9Kw0UyF3bSP4UoR6TmpQyL6qo6QxA0=";
28   };
30   nativeBuildInputs = [
31     meson
32     ninja
33     gettext
34     itstool
35     libxml2
36     pkg-config
37     desktop-file-utils
38     gobject-introspection
39     wrapGAppsHook
40     gtk3 # for gtk-update-icon-cache
41   ];
43   buildInputs = [
44     gtk3
45     gtksourceview4
46     gsettings-desktop-schemas
47     gnome.adwaita-icon-theme
48   ];
50   pythonPath = with python3.pkgs; [
51     pygobject3
52     pycairo
53   ];
55   postPatch = ''
56     patchShebangs meson_shebang_normalisation.py
57   '';
59   passthru = {
60     updateScript = gnome.updateScript {
61       packageName = pname;
62       versionPolicy = "none"; # should be odd-unstable but we are tracking unstable versions for now
63     };
64   };
66   meta = with lib; {
67     description = "Visual diff and merge tool";
68     homepage = "https://meld.app/";
69     license = licenses.gpl2Plus;
70     platforms = platforms.linux ++ platforms.darwin;
71     maintainers = with maintainers; [ jtojnar mimame ];
72   };