nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 meson,
6 libtsm,
7 systemdLibs,
8 libxkbcommon,
9 libdrm,
10 libGLU,
11 libGL,
12 pango,
13 pixman,
14 pkg-config,
15 docbook_xsl,
16 libxslt,
17 libgbm,
18 ninja,
19 check,
20 buildPackages,
21}:
22stdenv.mkDerivation {
23 pname = "kmscon";
24 version = "9.0.0-unstable-2025-01-09";
25
26 src = fetchFromGitHub {
27 owner = "Aetf";
28 repo = "kmscon";
29 rev = "a81941f4464e6f9cee75bfb8a1db88c253ede33d";
30 sha256 = "sha256-l7Prt7CsYi4VCnp9xktvqqNT+4djSdO2GvP1JdxhNSI=";
31 };
32
33 strictDeps = true;
34
35 depsBuildBuild = [
36 buildPackages.stdenv.cc
37 ];
38
39 buildInputs = [
40 libGLU
41 libGL
42 libdrm
43 libtsm
44 libxkbcommon
45 pango
46 pixman
47 systemdLibs
48 libgbm
49 check
50 ];
51
52 nativeBuildInputs = [
53 meson
54 ninja
55 docbook_xsl
56 pkg-config
57 libxslt # xsltproc
58 ];
59
60 env.NIX_CFLAGS_COMPILE =
61 lib.optionalString stdenv.cc.isGNU "-O "
62 + "-Wno-error=maybe-uninitialized -Wno-error=unused-result -Wno-error=implicit-function-declaration";
63
64 enableParallelBuilding = true;
65
66 patches = [
67 ./sandbox.patch # Generate system units where they should be (nix store) instead of /etc/systemd/system
68 ];
69
70 meta = with lib; {
71 description = "KMS/DRM based System Console";
72 mainProgram = "kmscon";
73 homepage = "https://www.freedesktop.org/wiki/Software/kmscon/";
74 license = licenses.mit;
75 maintainers = with maintainers; [ omasanori ];
76 platforms = platforms.linux;
77 };
78}