54 lines
1.1 KiB
Nix
54 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
stdenvAdapters,
|
|
cmake,
|
|
pkg-config,
|
|
pixman,
|
|
version ? "git",
|
|
doCheck ? false,
|
|
debug ? false,
|
|
# whether to use the mold linker
|
|
# disable this for older machines without SSE4_2 and AVX2 support
|
|
withMold ? true,
|
|
}: let
|
|
inherit (builtins) foldl';
|
|
inherit (lib.lists) flatten;
|
|
inherit (lib.strings) optionalString;
|
|
|
|
adapters = flatten [
|
|
(lib.optional withMold stdenvAdapters.useMoldLinker)
|
|
(lib.optional debug stdenvAdapters.keepDebugInfo)
|
|
];
|
|
|
|
customStdenv = foldl' (acc: adapter: adapter acc) stdenv adapters;
|
|
in
|
|
customStdenv.mkDerivation {
|
|
pname = "hyprutils" + optionalString debug "-debug";
|
|
inherit version doCheck;
|
|
src = ../.;
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
pkg-config
|
|
];
|
|
|
|
buildInputs = [
|
|
pixman
|
|
];
|
|
|
|
outputs = ["out" "dev"];
|
|
|
|
cmakeBuildType =
|
|
if debug
|
|
then "Debug"
|
|
else "RelWithDebInfo";
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/hyprwm/hyprutils";
|
|
description = "Small C++ library for utilities used across the Hypr* ecosystem";
|
|
license = licenses.bsd3;
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|