rio: 0.0.36 -> 0.0.37
[NixPkgs.git] / pkgs / applications / misc / phoc / default.nix
blob534556e231dec3f277a1b7eb8c514f890a4b9280
1 { lib
2 , stdenv
3 , stdenvNoCC
4 , fetchurl
5 , meson
6 , ninja
7 , pkg-config
8 , python3
9 , wrapGAppsHook3
10 , libinput
11 , gobject-introspection
12 , gnome
13 , gnome-desktop
14 , glib
15 , gtk3
16 , wayland
17 , libdrm
18 , libxkbcommon
19 , wlroots
20 , xorg
21 , directoryListingUpdater
22 , nixosTests
23 , testers
26 stdenv.mkDerivation (finalAttrs: {
27   pname = "phoc";
28   version = "0.38.0";
30   src = fetchurl {
31     # This tarball includes the meson wrapped subproject 'gmobile'.
32     url = with finalAttrs; "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz";
33     hash = "sha256-OcRUnw1Fck9bMSgfMMcWqqR6a6yzyKjY8P3nqcwVULc=";
34   };
36   nativeBuildInputs = [
37     gobject-introspection
38     meson
39     ninja
40     pkg-config
41     python3
42     wrapGAppsHook3
43   ];
45   buildInputs = [
46     libdrm.dev
47     libxkbcommon
48     libinput
49     glib
50     gtk3
51     gnome-desktop
52     # For keybindings settings schemas
53     gnome.mutter
54     wayland
55     finalAttrs.wlroots
56     xorg.xcbutilwm
57   ];
59   mesonFlags = ["-Dembed-wlroots=disabled"];
61   # Patch wlroots to remove a check which crashes Phosh.
62   # This patch can be found within the phoc source tree.
63   wlroots = wlroots.overrideAttrs (old: {
64     patches = (old.patches or []) ++ [
65       (stdenvNoCC.mkDerivation {
66         name = "0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch";
67         inherit (finalAttrs) src;
68         preferLocalBuild = true;
69         allowSubstitutes = false;
70         installPhase = "cp subprojects/packagefiles/wlroots/$name $out";
71       })
72     ];
73   });
75   passthru = {
76     tests.phosh = nixosTests.phosh;
77     tests.version = testers.testVersion {
78       package = finalAttrs.finalPackage;
79     };
80     updateScript = directoryListingUpdater { };
81   };
83   meta = with lib; {
84     description = "Wayland compositor for mobile phones like the Librem 5";
85     mainProgram = "phoc";
86     homepage = "https://gitlab.gnome.org/World/Phosh/phoc";
87     license = licenses.gpl3Plus;
88     maintainers = with maintainers; [ masipcat tomfitzhenry zhaofengli ];
89     platforms = platforms.linux;
90   };