python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / applications / misc / phoc / default.nix
blob494d287364c2ba99845616e2b00397b1e6f7fe87
1 { lib
2 , stdenv
3 , stdenvNoCC
4 , fetchFromGitLab
5 , meson
6 , ninja
7 , pkg-config
8 , python3
9 , wayland-scanner
10 , wrapGAppsHook3
11 , libinput
12 , gobject-introspection
13 , mutter
14 , gnome-desktop
15 , glib
16 , gtk3
17 , json-glib
18 , wayland
19 , libdrm
20 , libxkbcommon
21 , wlroots
22 , xorg
23 , directoryListingUpdater
24 , nixosTests
25 , testers
26 , gmobile
29 stdenv.mkDerivation (finalAttrs: {
30   pname = "phoc";
31   version = "0.41.0";
33   src = fetchFromGitLab {
34     domain = "gitlab.gnome.org";
35     group = "World";
36     owner = "Phosh";
37     repo = "phoc";
38     rev = "v${finalAttrs.version}";
39     hash = "sha256-T2gKvP3WyrGNOiCwiX93UjMuSTnnZ+nykEAFhq0BF4U=";
40   };
42   nativeBuildInputs = [
43     gobject-introspection
44     meson
45     ninja
46     pkg-config
47     python3
48     wayland-scanner
49     wrapGAppsHook3
50   ];
52   buildInputs = [
53     libdrm.dev
54     libxkbcommon
55     libinput
56     glib
57     gtk3
58     gnome-desktop
59     # For keybindings settings schemas
60     mutter
61     json-glib
62     wayland
63     finalAttrs.wlroots
64     xorg.xcbutilwm
65     gmobile
66   ];
68   mesonFlags = ["-Dembed-wlroots=disabled"];
70   # Patch wlroots to remove a check which crashes Phosh.
71   # This patch can be found within the phoc source tree.
72   wlroots = wlroots.overrideAttrs (old: {
73     patches = (old.patches or []) ++ [
74       (stdenvNoCC.mkDerivation {
75         name = "0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch";
76         inherit (finalAttrs) src;
77         preferLocalBuild = true;
78         allowSubstitutes = false;
79         installPhase = "cp subprojects/packagefiles/wlroots/$name $out";
80       })
81     ];
82   });
84   passthru = {
85     tests.phosh = nixosTests.phosh;
86     tests.version = testers.testVersion {
87       package = finalAttrs.finalPackage;
88     };
89     updateScript = directoryListingUpdater { };
90   };
92   meta = with lib; {
93     description = "Wayland compositor for mobile phones like the Librem 5";
94     mainProgram = "phoc";
95     homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
96     license = licenses.gpl3Plus;
97     maintainers = with maintainers; [ masipcat zhaofengli ];
98     platforms = platforms.linux;
99   };