python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / tools / cambalache / default.nix
blob0fc470ca9a2c83e6673cc6c2041c821a82750256
1 { stdenv
2 , lib
3 , fetchFromGitLab
4 , python3
5 , meson
6 , ninja
7 , pkg-config
8 , gobject-introspection
9 , desktop-file-utils
10 , shared-mime-info
11 , wrapGAppsHook
12 , glib
13 , gtk3
14 , gtk4
15 , libadwaita
16 , libhandy
17 , webkitgtk
18 , nix-update-script
21 python3.pkgs.buildPythonApplication rec {
22   pname = "cambalache";
23   version = "0.10.3";
25   format = "other";
27   src = fetchFromGitLab {
28     domain = "gitlab.gnome.org";
29     owner = "jpu";
30     repo = pname;
31     rev = version;
32     sha256 = "sha256-Xm8h3BBRibdLCeI/OeprF5dCCiNrfJCg7aE24uleCds=";
33   };
35   nativeBuildInputs = [
36     meson
37     ninja
38     pkg-config
39     gobject-introspection # for setup hook
40     desktop-file-utils # for update-desktop-database
41     shared-mime-info # for update-mime-database
42     wrapGAppsHook
43   ];
45   pythonPath = with python3.pkgs; [
46     pygobject3
47     lxml
48   ];
50   buildInputs = [
51     glib
52     gtk3
53     gtk4
54     webkitgtk
55     # For extra widgets support.
56     libadwaita
57     libhandy
58   ];
60   # Not compatible with gobject-introspection setup hooks.
61   # https://github.com/NixOS/nixpkgs/issues/56943
62   strictDeps = false;
64   # Prevent double wrapping.
65   dontWrapGApps = true;
67   postPatch = ''
68     patchShebangs postinstall.py
69   '';
71   preFixup = ''
72     # Let python wrapper use GNOME flags.
73     makeWrapperArgs+=(
74       # For broadway daemons
75       --prefix PATH : "${lib.makeBinPath [ gtk3 gtk4 ]}"
76       "''${gappsWrapperArgs[@]}"
77     )
78   '';
80   postFixup = ''
81     # Wrap a helper script in an unusual location.
82     wrapPythonProgramsIn "$out/${python3.sitePackages}/cambalache/priv/merengue" "$out $pythonPath"
83   '';
85   passthru = {
86     updateScript = nix-update-script {
87       attrPath = pname;
88     };
89   };
91   meta = with lib; {
92     homepage = "https://gitlab.gnome.org/jpu/cambalache";
93     description = "RAD tool for GTK 4 and 3 with data model first philosophy";
94     maintainers = teams.gnome.members;
95     license = with licenses; [
96       lgpl21Only # Cambalache
97       gpl2Only # tools
98     ];
99     platforms = platforms.unix;
100   };