From b7a50d3f5348688f00c4040ef1e2b5e5d26b8cd4 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Mon, 18 Aug 2025 22:23:43 +0200 Subject: [PATCH] libxvmc: refactor, move to pkgs/by-name and rename from xorg.libXvMC --- pkgs/by-name/li/libxvmc/package.nix | 68 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 45 +----------- .../x11/xorg/generate-expr-from-tarballs.pl | 4 ++ pkgs/servers/x11/xorg/overrides.nix | 10 --- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 74 insertions(+), 54 deletions(-) create mode 100644 pkgs/by-name/li/libxvmc/package.nix diff --git a/pkgs/by-name/li/libxvmc/package.nix b/pkgs/by-name/li/libxvmc/package.nix new file mode 100644 index 000000000000..59ab561a47df --- /dev/null +++ b/pkgs/by-name/li/libxvmc/package.nix @@ -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; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index ab48f6f94e2c..45e3db83bb21 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -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 ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 9ea02810f2e6..cd81b807e8d3 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -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 <