nixpkgs/pkgs/tools/wayland/wlogout/default.nix
Artturin d3c7ef80ef pkgs/tools/wayland: mark all linux only
on non-linux they all fail various variations of
meson.build:26:0: ERROR: Dependency "wayland-client" not found, tried pkgconfig and framework
fatal error: 'wayland-util.h' file not found
2023-03-05 15:11:44 +02:00

65 lines
1.5 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, meson
, ninja
, scdoc
, gtk3
, libxkbcommon
, wayland
, wayland-protocols
, gtk-layer-shell
# gtk-layer-shell fails to cross-compile due to a hard dependency
# on gobject-introspection.
# Disable it when cross-compiling since it's an optional dependency.
# This disables transparency support.
, withGtkLayerShell ? (stdenv.buildPlatform == stdenv.hostPlatform)
}:
stdenv.mkDerivation rec {
pname = "wlogout";
version = "1.1.1";
src = fetchFromGitHub {
owner = "ArtsyMacaw";
repo = "wlogout";
rev = version;
sha256 = "cTscfx+erHVFHwwYpN7pADQWt5sq75sQSyXSP/H8kOs=";
};
strictDeps = true;
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ pkg-config meson ninja scdoc ];
buildInputs = [
gtk3
libxkbcommon
wayland
wayland-protocols
] ++ lib.optionals withGtkLayerShell [
gtk-layer-shell
];
postPatch = ''
substituteInPlace style.css \
--replace "/usr/share/wlogout" "$out/share/${pname}"
substituteInPlace main.c \
--replace "/etc/wlogout" "$out/etc/${pname}"
'';
mesonFlags = [
"--datadir=${placeholder "out"}/share"
"--sysconfdir=${placeholder "out"}/etc"
];
meta = with lib; {
homepage = "https://github.com/ArtsyMacaw/wlogout";
description = "A wayland based logout menu";
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.linux;
};
}
# TODO: shell completions