libxext: refactor, move to pkgs/by-name and rename from xorg.libXext

This commit is contained in:
Zitrone
2025-07-31 10:33:30 +02:00
committed by Alyssa Ross
parent 3c1d6186b0
commit 8ce173bef3
5 changed files with 79 additions and 51 deletions
+74
View File
@@ -0,0 +1,74 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
libX11,
xorgproto,
libxau,
writeScript,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libxext";
version = "1.3.6";
outputs = [
"out"
"dev"
"man"
"doc"
];
src = fetchurl {
url = "mirror://xorg/individual/lib/libXext-${finalAttrs.version}.tar.xz";
hash = "sha256-7bWfojmU5AX9xbQAr99YIK5hYLlPNePcPaRFehbol1M=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libX11
xorgproto
];
propagatedBuildInputs = [
xorgproto
libxau
];
configureFlags = lib.optional (
stdenv.hostPlatform != stdenv.buildPlatform
) "--enable-malloc0returnsnull";
passthru = {
updateScript = writeScript "update-${finalAttrs.pname}" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts
version="$(list-directory-versions --pname libXext \
--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 = "Xlib-based library for common extensions to the X11 protocol";
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxext";
license = with lib.licenses; [
mitOpenGroup
x11
hpnd
hpndSellVariant
hpndDocSell
hpndDoc
mit
isc
];
maintainers = [ ];
pkgConfigModules = [ "xext" ];
platforms = lib.platforms.unix;
};
})
+2 -36
View File
@@ -13,6 +13,7 @@
libxcb,
libxcvt,
libxdmcp,
libxext,
lndir,
luit,
makedepend,
@@ -53,6 +54,7 @@ self: with self; {
libX11 = libx11;
libXau = libxau;
libXdmcp = libxdmcp;
libXext = libxext;
utilmacros = util-macros;
xcbproto = xcb-proto;
xkeyboardconfig = xkeyboard-config;
@@ -2158,42 +2160,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXext = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libX11,
xorgproto,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libXext";
version = "1.3.6";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/lib/libXext-1.3.6.tar.xz";
sha256 = "0lwpx0b7lid47pff6dagp5h63bi0b3gsy05lqpyhbr4l76i9zdgd";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libX11
xorgproto
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ "xext" ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXfixes = callPackage (
{
@@ -45,6 +45,7 @@ $pcMap{"xau"} = "libXau";
$pcMap{"xbitmaps"} = "xbitmaps";
$pcMap{"xcb-proto"} = "xcbproto";
$pcMap{"xdmcp"} = "libXdmcp";
$pcMap{"xext"} = "libXext";
$pcMap{"xtrans"} = "xtrans";
$pcMap{"\$PIXMAN"} = "pixman";
$pcMap{"\$RENDERPROTO"} = "xorgproto";
@@ -297,6 +298,7 @@ print OUT <<EOF;
libxcb,
libxcvt,
libxdmcp,
libxext,
lndir,
luit,
makedepend,
@@ -337,6 +339,7 @@ self: with self; {
libX11 = libx11;
libXau = libxau;
libXdmcp = libxdmcp;
libXext = libxext;
utilmacros = util-macros;
xcbproto = xcb-proto;
xkeyboardconfig = xkeyboard-config;
-14
View File
@@ -316,20 +316,6 @@ self: super:
};
});
libXext = super.libXext.overrideAttrs (attrs: {
outputs = [
"out"
"dev"
"man"
"doc"
];
propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [
xorg.xorgproto
xorg.libXau
];
configureFlags = attrs.configureFlags or [ ] ++ malloc0ReturnsNullCrossFlag;
});
libXfixes = super.libXfixes.overrideAttrs (attrs: {
outputs = [
"out"
-1
View File
@@ -165,7 +165,6 @@ mirror://xorg/individual/lib/libXaw-1.0.16.tar.xz
mirror://xorg/individual/lib/libXcomposite-0.4.6.tar.xz
mirror://xorg/individual/lib/libXcursor-1.2.3.tar.xz
mirror://xorg/individual/lib/libXdamage-1.1.6.tar.xz
mirror://xorg/individual/lib/libXext-1.3.6.tar.xz
mirror://xorg/individual/lib/libXfixes-6.0.1.tar.xz
mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2
mirror://xorg/individual/lib/libXfont2-2.0.7.tar.xz