libxpresent: refactor, move to pkgs/by-name and rename from xorg.libXpresent

relevant changes:
- add a few propagatedBuildInputs that are includes of libxpresents
  header file
This commit is contained in:
quantenzitrone
2025-09-23 21:24:39 +02:00
parent f8da5444ae
commit 512533926e
5 changed files with 74 additions and 52 deletions
+69
View File
@@ -0,0 +1,69 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
xorgproto,
libx11,
libxext,
libxfixes,
libxrandr,
writeScript,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libxpresent";
version = "1.0.2";
outputs = [
"out"
"dev"
];
src = fetchurl {
url = "mirror://xorg/individual/lib/libXpresent-${finalAttrs.version}.tar.xz";
hash = "sha256-TlshtIEiBqSyIwE2Bq4xFwUCwQQwOHd6Hvj3DAnTdgI=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libx11
libxext
libxfixes
libxrandr
];
propagatedBuildInputs = [
xorgproto
# header includes dependencies
libxfixes
];
passthru = {
updateScript = writeScript "update-${finalAttrs.pname}" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts
version="$(list-directory-versions --pname libXpresent \
--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 Present Extension";
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxpresent";
license = with lib.licenses; [
hpndSellVariant
mit
];
maintainers = [ ];
pkgConfigModules = [ "xpresent" ];
platforms = lib.platforms.unix;
};
})
+2 -42
View File
@@ -65,6 +65,7 @@
libxmu,
libxp,
libxpm,
libxpresent,
libxrandr,
libxrender,
libxt,
@@ -232,6 +233,7 @@ self: with self; {
libXmu = libxmu;
libXp = libxp;
libXpm = libxpm;
libXpresent = libxpresent;
libXrandr = libxrandr;
libXrender = libxrender;
libXt = libxt;
@@ -1053,48 +1055,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXpresent = callPackage (
{
stdenv,
pkg-config,
fetchurl,
xorgproto,
libX11,
libXext,
libXfixes,
libXrandr,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libXpresent";
version = "1.0.2";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/lib/libXpresent-1.0.2.tar.xz";
sha256 = "00knsc4hrxzq3rx7ff1h0k0h418p66p0cdh14fra81i2h6s22nsf";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libX11
libXext
libXfixes
libXrandr
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ "xpresent" ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXres = callPackage (
{
@@ -76,6 +76,7 @@ $pcMap{"xmu"} = "libXmu";
$pcMap{"xmuu"} = "libXmu";
$pcMap{"xp"} = "libXp";
$pcMap{"xpm"} = "libXpm";
$pcMap{"xpresent"} = "libXpresent";
$pcMap{"xrandr"} = "libXrandr";
$pcMap{"xrender"} = "libXrender";
$pcMap{"xt"} = "libXt";
@@ -389,6 +390,7 @@ print OUT <<EOF;
libxmu,
libxp,
libxpm,
libxpresent,
libxrandr,
libxrender,
libxt,
@@ -556,6 +558,7 @@ self: with self; {
libXmu = libxmu;
libXp = libxp;
libXpm = libxpm;
libXpresent = libxpresent;
libXrandr = libxrandr;
libXrender = libxrender;
libXt = libxt;
-9
View File
@@ -205,15 +205,6 @@ self: super:
configureFlags = attrs.configureFlags or [ ] ++ malloc0ReturnsNullCrossFlag;
});
libXpresent = super.libXpresent.overrideAttrs (attrs: {
buildInputs = attrs.buildInputs ++ [
xorg.libXext
xorg.libXfixes
xorg.libXrandr
];
propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [ xorg.libXfixes ];
});
libxkbfile = super.libxkbfile.overrideAttrs (attrs: {
outputs = [
"out"
-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/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
mirror://xorg/individual/lib/libxshmfence-1.3.3.tar.xz