1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
{
lib,
stdenv,
cmake,
pkg-config,
aquamarine,
cairo,
epoll-shim,
gtest,
hyprgraphics,
hyprlang,
hyprutils,
hyprwayland-scanner,
iniparser,
libGL,
libdrm,
libgbm,
libxkbcommon,
pango,
pixman,
wayland,
wayland-protocols,
wayland-scanner,
version ? "git",
doCheck ? false,
}:
let
inherit (lib.lists) optional;
inherit (lib.strings) optionalString;
in
stdenv.mkDerivation {
pname = "hyprtoolkit" + optionalString doCheck "-with-tests";
inherit version doCheck;
src = ../.;
nativeBuildInputs = [
cmake
pkg-config
hyprwayland-scanner
wayland-scanner
];
buildInputs = [
aquamarine
cairo
gtest
hyprgraphics
hyprlang
hyprutils
iniparser
libGL
libdrm
libgbm
libxkbcommon
pango
pixman
wayland
wayland-protocols
] ++ (optional stdenv.isBSD epoll-shim);
env.XDG_RUNTIME_DIR = "/tmp/runtime";
cmakeBuildType = if doCheck then "Debug" else "RelWithDebInfo";
preCheck = ''
mkdir -p /tmp/runtime
'';
meta = {
homepage = "https://github.com/hyprwm/hyprtoolkit";
description = "A modern C++ Wayland-native GUI toolkit";
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
};
}
|