libxp: refactor, move to pkgs/by-name and rename from xorg.libXp

This commit is contained in:
quantenzitrone
2025-09-23 19:41:37 +02:00
parent 82b0c16445
commit f8da5444ae
5 changed files with 74 additions and 48 deletions
+69
View File
@@ -0,0 +1,69 @@
# TODO: remove this deprecated package
# X.Org removed support for the Xprt server from the xorg-server releases in the 1.6.0 release in
# 2009, and the standalone git repo it was moved to has been unmaintained since 2009, making it
# difficult to actually use this library.
# Some packages in nixpkgs still somehow depend on it tho.
{
lib,
stdenv,
fetchurl,
pkg-config,
xorgproto,
libx11,
libxau,
libxext,
writeScript,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libxp";
version = "1.0.4";
outputs = [
"out"
"dev"
];
src = fetchurl {
url = "mirror://xorg/individual/lib/libXp-${finalAttrs.version}.tar.xz";
hash = "sha256-HxnjuOgqNKj9mImn2a8KvoWIywP7V8N8VpY0zzud8aQ=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libx11
libxau
libxext
];
propagatedBuildInputs = [ xorgproto ];
passthru = {
updateScript = writeScript "update-${finalAttrs.pname}" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts
version="$(list-directory-versions --pname libXp \
--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 = "X Print Client Library";
longDescription = ''
This library provides support for X11 clients to print via the X Print Extension, as
previously implemented in the Xprt server.
'';
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxp";
license = lib.licenses.x11;
maintainers = [ ];
pkgConfigModules = [ "xp" ];
platforms = lib.platforms.unix;
};
})
+2 -40
View File
@@ -63,6 +63,7 @@
libxft,
libxi,
libxmu,
libxp,
libxpm,
libxrandr,
libxrender,
@@ -229,6 +230,7 @@ self: with self; {
libXft = libxft;
libXi = libxi;
libXmu = libxmu;
libXp = libxp;
libXpm = libxpm;
libXrandr = libxrandr;
libXrender = libxrender;
@@ -1051,46 +1053,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXp = callPackage (
{
stdenv,
pkg-config,
fetchurl,
xorgproto,
libX11,
libXau,
libXext,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libXp";
version = "1.0.4";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/lib/libXp-1.0.4.tar.xz";
sha256 = "197iklxwyd4naryc6mzv0g5qi1dy1apxk9w9k3yshd1ax2wf668z";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libX11
libXau
libXext
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ "xp" ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXpresent = callPackage (
{
@@ -74,6 +74,7 @@ $pcMap{"xft"} = "libXft";
$pcMap{"xi"} = "libXi";
$pcMap{"xmu"} = "libXmu";
$pcMap{"xmuu"} = "libXmu";
$pcMap{"xp"} = "libXp";
$pcMap{"xpm"} = "libXpm";
$pcMap{"xrandr"} = "libXrandr";
$pcMap{"xrender"} = "libXrender";
@@ -386,6 +387,7 @@ print OUT <<EOF;
libxft,
libxi,
libxmu,
libxp,
libxpm,
libxrandr,
libxrender,
@@ -552,6 +554,7 @@ self: with self; {
libXft = libxft;
libXi = libxi;
libXmu = libxmu;
libXp = libxp;
libXpm = libxpm;
libXrandr = libxrandr;
libXrender = libxrender;
-7
View File
@@ -205,13 +205,6 @@ self: super:
configureFlags = attrs.configureFlags or [ ] ++ malloc0ReturnsNullCrossFlag;
});
libXp = super.libXp.overrideAttrs (attrs: {
outputs = [
"out"
"dev"
];
});
libXpresent = super.libXpresent.overrideAttrs (attrs: {
buildInputs = attrs.buildInputs ++ [
xorg.libXext
-1
View File
@@ -87,7 +87,6 @@ mirror://xorg/individual/font/font-misc-misc-1.1.3.tar.xz
mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2
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
mirror://xorg/individual/lib/libXpresent-1.0.2.tar.xz
mirror://xorg/individual/lib/libXres-1.2.3.tar.xz
mirror://xorg/individual/lib/libXScrnSaver-1.2.5.tar.xz