libxvmc: refactor, move to pkgs/by-name and rename from xorg.libXvMC

This commit is contained in:
quantenzitrone
2025-08-19 15:33:48 +02:00
parent 480d1d6e5b
commit b7a50d3f53
5 changed files with 74 additions and 54 deletions
+68
View File
@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchurl,
pkg-config,
xorgproto,
libX11,
libXext,
libXv,
writeScript,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libxvmc";
version = "1.0.14";
outputs = [
"out"
"dev"
"doc"
];
src = fetchurl {
url = "mirror://xorg/individual/lib/libXvMC-${finalAttrs.version}.tar.xz";
hash = "sha256-5L6etra6/bv4H0f3FjBHIVN25F4tx4bQ6mGByTByXtk=";
};
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libX11
libXext
libXv
];
propagatedBuildInputs = [ xorgproto ];
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 libXvMC \
--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-Video Motion Compensation API";
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxvmc";
license = lib.licenses.mit;
maintainers = [ ];
pkgConfigModules = [
"xvmc"
"xvmc-wrapper"
];
platforms = lib.platforms.unix;
};
})
+2 -43
View File
@@ -24,6 +24,7 @@
libxrandr,
libxrender,
libxv,
libxvmc,
lndir,
luit,
makedepend,
@@ -99,6 +100,7 @@ self: with self; {
libXrandr = libxrandr;
libXrender = libxrender;
libXv = libxv;
libXvMC = libxvmc;
utilmacros = util-macros;
xcbproto = xcb-proto;
xkeyboardconfig = xkeyboard-config;
@@ -2545,49 +2547,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXvMC = callPackage (
{
stdenv,
pkg-config,
fetchurl,
xorgproto,
libX11,
libXext,
libXv,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "libXvMC";
version = "1.0.14";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/lib/libXvMC-1.0.14.tar.xz";
sha256 = "1nayf8qck0b1xb88dirdbvj7clr18wq1dxs73zwbpzdsnsv9xgp4";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
xorgproto
libX11
libXext
libXv
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [
"xvmc"
"xvmc-wrapper"
];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
libXxf86dga = callPackage (
{
@@ -55,6 +55,8 @@ $pcMap{"xrandr"} = "libXrandr";
$pcMap{"xrender"} = "libXrender";
$pcMap{"xtrans"} = "xtrans";
$pcMap{"xv"} = "libXv";
$pcMap{"xvmc"} = "libXvMC";
$pcMap{"xvmc-wrapper"} = "libXvMC";
$pcMap{"\$PIXMAN"} = "pixman";
$pcMap{"\$RENDERPROTO"} = "xorgproto";
$pcMap{"\$DRI3PROTO"} = "xorgproto";
@@ -317,6 +319,7 @@ print OUT <<EOF;
libxrandr,
libxrender,
libxv,
libxvmc,
lndir,
luit,
makedepend,
@@ -392,6 +395,7 @@ self: with self; {
libXrandr = libxrandr;
libXrender = libxrender;
libXv = libxv;
libXvMC = libxvmc;
utilmacros = util-macros;
xcbproto = xcb-proto;
xkeyboardconfig = xkeyboard-config;
-10
View File
@@ -354,16 +354,6 @@ self: super:
configureFlags = attrs.configureFlags or [ ] ++ malloc0ReturnsNullCrossFlag;
});
libXvMC = super.libXvMC.overrideAttrs (attrs: {
outputs = [
"out"
"dev"
"doc"
];
configureFlags = attrs.configureFlags or [ ] ++ malloc0ReturnsNullCrossFlag;
buildInputs = attrs.buildInputs ++ [ xorg.xorgproto ];
});
libXp = super.libXp.overrideAttrs (attrs: {
outputs = [
"out"
-1
View File
@@ -163,7 +163,6 @@ mirror://xorg/individual/lib/libxshmfence-1.3.3.tar.xz
mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2
mirror://xorg/individual/lib/libXt-1.3.1.tar.xz
mirror://xorg/individual/lib/libXtst-1.2.5.tar.xz
mirror://xorg/individual/lib/libXvMC-1.0.14.tar.xz
mirror://xorg/individual/lib/libXxf86dga-1.1.6.tar.xz
mirror://xorg/individual/lib/libXxf86misc-1.0.4.tar.bz2
mirror://xorg/individual/lib/libXxf86vm-1.1.6.tar.xz