xkbcomp: refactor & move to pkgs/by-name from xorg namespace

relevant changes:
- switch to GitLab source instead of release tarball
This commit is contained in:
quantenzitrone
2026-01-10 02:27:06 +01:00
parent 78fc996cb2
commit e896fd011f
5 changed files with 69 additions and 46 deletions
+65
View File
@@ -0,0 +1,65 @@
{
lib,
stdenv,
fetchFromGitLab,
autoreconfHook,
pkg-config,
util-macros,
bison,
libx11,
libxkbfile,
xorgproto,
xkeyboard-config,
nix-update-script,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xkbcomp";
version = "1.5.0";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
group = "xorg";
owner = "app";
repo = "xkbcomp";
tag = "xkbcomp-${finalAttrs.version}";
hash = "sha256-nkyBjIOX9Qr0K+R0JcvJ7egI0a8Zh/tyhZvG7E+VlZU=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
util-macros
bison
];
buildInputs = [
util-macros # unused dependency but the build fails if pkg-config can't find it
libx11
libxkbfile
xorgproto
];
configureFlags = [ "--with-xkb-config-root=${xkeyboard-config}/share/X11/xkb" ];
passthru = {
updateScript = nix-update-script { extraArgs = [ "--version-regex=xkbcomp-(.*)" ]; };
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = {
description = "XKB keyboard description compiler";
homepage = "https://gitlab.freedesktop.org/xorg/app/xkbcomp";
license = with lib.licenses; [
hpnd
mitOpenGroup
hpndDec
];
mainProgram = "xkbcomp";
maintainers = [ ];
pkgConfigModules = [ "xkbcomp" ];
platforms = lib.platforms.unix;
};
})
+2 -38
View File
@@ -136,6 +136,7 @@
xhost,
xinit,
xinput,
xkbcomp,
xkbevd,
xkbprint,
xkbutils,
@@ -226,6 +227,7 @@ self: with self; {
xhost
xinit
xinput
xkbcomp
xkbevd
xkbprint
xkbutils
@@ -2090,42 +2092,4 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xkbcomp = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libX11,
libxkbfile,
xorgproto,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xkbcomp";
version = "1.5.0";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/app/xkbcomp-1.5.0.tar.xz";
sha256 = "0q3092w42w9wyfr5zf3ymkmzlqr24z6kz6ypkinxnxh7c0k1zhra";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libX11
libxkbfile
xorgproto
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ "xkbcomp" ];
platforms = lib.platforms.unix;
};
})
) { };
}
@@ -468,6 +468,7 @@ print OUT <<EOF;
xhost,
xinit,
xinput,
xkbcomp,
xkbevd,
xkbprint,
xkbutils,
@@ -558,6 +559,7 @@ self: with self; {
xhost
xinit
xinput
xkbcomp
xkbevd
xkbprint
xkbutils
-7
View File
@@ -263,13 +263,6 @@ self: super:
};
});
xkbcomp = super.xkbcomp.overrideAttrs (attrs: {
configureFlags = [ "--with-xkb-config-root=${xorg.xkeyboardconfig}/share/X11/xkb" ];
meta = attrs.meta // {
mainProgram = "xkbcomp";
};
});
# xkeyboardconfig variant extensible with custom layouts.
# See nixos/modules/services/x11/extra-layouts.nix
xkeyboardconfig_custom =
-1
View File
@@ -1,4 +1,3 @@
mirror://xorg/individual/app/xkbcomp-1.5.0.tar.xz
mirror://xorg/individual/driver/xf86-input-evdev-2.11.0.tar.xz
mirror://xorg/individual/driver/xf86-input-joystick-1.6.4.tar.xz
mirror://xorg/individual/driver/xf86-input-keyboard-2.1.0.tar.xz