libxi: refactor, move to pkgs/by-name and rename from xorg.libXi

This commit is contained in:
quantenzitrone
2025-08-27 00:57:31 +02:00
parent 0b402f0725
commit 203364c3a7
5 changed files with 81 additions and 59 deletions
+76
View File
@@ -0,0 +1,76 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
xorgproto,
libx11,
libxext,
libxfixes,
writeScript,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libxi";
version = "1.8.2";
outputs = [
"out"
"dev"
"man"
"doc"
];
src = fetchurl {
url = "mirror://xorg/individual/lib/libXi-${finalAttrs.version}.tar.xz";
hash = "sha256-0OBVXlPW4hFOq/pEImuhYtJwhQGiXhjZnPs1wJTGwQQ=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libx11
libxext
libxfixes
];
propagatedBuildInputs = [
xorgproto
# header file dependencies
libx11
libxext
libxfixes
];
configureFlags =
lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "xorg_cv_malloc0_returns_null=no"
++ lib.optional stdenv.hostPlatform.isStatic "--disable-shared";
passthru = {
updateScript = writeScript "update-${finalAttrs.pname}" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts
version="$(list-directory-versions --pname libXi \
--url https://xorg.freedesktop.org/releases/individual/lib/ \
| sort -V | tail -n1)"
update-source-version ${finalAttrs.pname} "$version"
'';
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = {
description = "library for the X Input Extension";
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxi";
license = with lib.licenses; [
mitOpenGroup
hpnd
mit
];
maintainers = [ ];
pkgConfigModules = [ "xi" ];
platforms = lib.platforms.unix;
};
})
+2 -40
View File
@@ -39,6 +39,7 @@
libxfont_1,
libxfont_2,
libxft,
libxi,
libxmu,
libxpm,
libxrandr,
@@ -144,6 +145,7 @@ self: with self; {
libXfont2 = libxfont_2;
libXfont = libxfont_1;
libXft = libxft;
libXi = libxi;
libXmu = libxmu;
libXpm = libxpm;
libXrandr = libxrandr;
@@ -1768,46 +1770,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXi = callPackage (
{
stdenv,
pkg-config,
fetchurl,
xorgproto,
libX11,
libXext,
libXfixes,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libXi";
version = "1.8.2";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/lib/libXi-1.8.2.tar.xz";
sha256 = "0161qsac0dgvkkcihpm2062p1lk2l5mj4i7smd713qnnadg5bq6h";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libX11
libXext
libXfixes
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ "xi" ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXinerama = callPackage (
{
@@ -70,6 +70,7 @@ $pcMap{"xfixes"} = "libXfixes";
$pcMap{"xfont"} = "libXfont";
$pcMap{"xfont2"} = "libXfont2";
$pcMap{"xft"} = "libXft";
$pcMap{"xi"} = "libXi";
$pcMap{"xmu"} = "libXmu";
$pcMap{"xmuu"} = "libXmu";
$pcMap{"xpm"} = "libXpm";
@@ -360,6 +361,7 @@ print OUT <<EOF;
libxfont_1,
libxfont_2,
libxft,
libxi,
libxmu,
libxpm,
libxrandr,
@@ -465,6 +467,7 @@ self: with self; {
libXfont2 = libxfont_2;
libXfont = libxfont_1;
libXft = libxft;
libXi = libxi;
libXmu = libxmu;
libXpm = libxpm;
libXrandr = libxrandr;
-18
View File
@@ -194,24 +194,6 @@ self: super:
};
});
libXi = super.libXi.overrideAttrs (attrs: {
outputs = [
"out"
"dev"
"man"
"doc"
];
propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [
xorg.libXfixes
xorg.libXext
];
configureFlags =
lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"xorg_cv_malloc0_returns_null=no"
]
++ lib.optional stdenv.hostPlatform.isStatic "--disable-shared";
});
libXinerama = super.libXinerama.overrideAttrs (attrs: {
outputs = [
"out"
-1
View File
@@ -126,7 +126,6 @@ mirror://xorg/individual/font/font-sun-misc-1.0.4.tar.xz
mirror://xorg/individual/font/font-winitzki-cyrillic-1.0.4.tar.xz
mirror://xorg/individual/font/font-xfree86-type1-1.0.5.tar.xz
mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2
mirror://xorg/individual/lib/libXi-1.8.2.tar.xz
mirror://xorg/individual/lib/libXinerama-1.1.5.tar.xz
mirror://xorg/individual/lib/libxkbfile-1.1.3.tar.xz
mirror://xorg/individual/lib/libXp-1.0.4.tar.xz