nv-codec-headers: recreate under by-name

This commit merely deletes the old directory, creates the new files in the new
location and rewrite the overrides.

The whole change needs to be made "atomically", since it is not pratical to
create intermediate steps that compile cleanly.
This commit is contained in:
Anderson Torres 2024-07-02 23:22:46 -03:00
parent 27b155c8fa
commit 01f7c8a1a3
5 changed files with 84 additions and 74 deletions

View File

@ -0,0 +1,38 @@
{
lib,
callPackage,
stdenvNoCC,
# Configurable options
sources ? callPackage ./sources.nix { },
majorVersion ? "9",
}:
let
pick = {
"8" = sources.nv-codec-headers-8;
"9" = sources.nv-codec-headers-9;
"10" = sources.nv-codec-headers-10;
"11" = sources.nv-codec-headers-11;
"12" = sources.nv-codec-headers-12;
}.${majorVersion};
in
stdenvNoCC.mkDerivation {
inherit (pick) pname version src;
makeFlags = [
"PREFIX=$(out)"
];
passthru = {
inherit sources;
};
meta = {
description = "FFmpeg version of headers for NVENC - version ${pick.version}";
homepage = "https://ffmpeg.org/";
downloadPage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,42 @@
{
fetchgit,
}:
let
nv-codec-headers-template =
{
version,
hash,
}:
{
pname = "nv-codec-headers";
inherit version;
src = fetchgit {
url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
rev = "n${version}";
inherit hash;
};
};
in
{
nv-codec-headers-8 = nv-codec-headers-template {
version = "8.2.15.2";
hash = "sha256-TKYT8vXqnUpq+M0grDeOR37n/ffqSWDYTrXIbl++BG4=";
};
nv-codec-headers-9 = nv-codec-headers-template {
version = "9.1.23.1";
hash = "sha256-kF5tv8Nh6I9x3hvSAdKLakeBVEcIiXFY6o6bD+tY2/U=";
};
nv-codec-headers-10 = nv-codec-headers-template {
version = "10.0.26.2";
hash = "sha256-BfW+fmPp8U22+HK0ZZY6fKUjqigWvOBi6DmW7SSnslg=";
};
nv-codec-headers-11 = nv-codec-headers-template {
version = "11.1.5.2";
hash = "sha256-KzaqwpzISHB7tSTruynEOJmSlJnAFK2h7/cRI/zkNPk=";
};
nv-codec-headers-12 = nv-codec-headers-template {
version = "12.1.14.0";
hash = "sha256-WJYuFmMGSW+B32LwE7oXv/IeTln6TNEeXSkquHh85Go=";
};
}

View File

@ -1,32 +0,0 @@
{ lib
, fetchgit
, stdenvNoCC
}:
let
make-nv-codec-headers = (import ./make-nv-codec-headers.nix) {
inherit lib fetchgit stdenvNoCC;
};
in
{
nv-codec-headers-8 = make-nv-codec-headers {
version = "8.2.15.2";
hash = "sha256-TKYT8vXqnUpq+M0grDeOR37n/ffqSWDYTrXIbl++BG4=";
};
nv-codec-headers-9 = make-nv-codec-headers {
version = "9.1.23.1";
hash = "sha256-kF5tv8Nh6I9x3hvSAdKLakeBVEcIiXFY6o6bD+tY2/U=";
};
nv-codec-headers-10 = make-nv-codec-headers {
version = "10.0.26.2";
hash = "sha256-BfW+fmPp8U22+HK0ZZY6fKUjqigWvOBi6DmW7SSnslg=";
};
nv-codec-headers-11 = make-nv-codec-headers {
version = "11.1.5.2";
hash = "sha256-KzaqwpzISHB7tSTruynEOJmSlJnAFK2h7/cRI/zkNPk=";
};
nv-codec-headers-12 = make-nv-codec-headers {
version = "12.1.14.0";
hash = "sha256-WJYuFmMGSW+B32LwE7oXv/IeTln6TNEeXSkquHh85Go=";
};
}

View File

@ -1,32 +0,0 @@
{ lib
, stdenvNoCC
, fetchgit
}:
{ pname ? "nv-codec-headers"
, version
, hash
}:
stdenvNoCC.mkDerivation {
inherit pname version;
src = fetchgit {
url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
rev = "n${version}";
inherit hash;
};
makeFlags = [
"PREFIX=$(out)"
];
meta = {
description = "FFmpeg version of headers for NVENC";
homepage = "https://ffmpeg.org/";
downloadPage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.all;
};
}

View File

@ -23353,16 +23353,10 @@ with pkgs;
nuspell = callPackage ../development/libraries/nuspell { };
nuspellWithDicts = dicts: callPackage ../development/libraries/nuspell/wrapper.nix { inherit dicts; };
# splicing magic
nv-codec-headers-versions = callPackages ../development/libraries/nv-codec-headers { };
inherit (nv-codec-headers-versions)
nv-codec-headers-9
nv-codec-headers-10
nv-codec-headers-11
nv-codec-headers-12
;
# A default nv-codec-headers to make people happy
nv-codec-headers = nv-codec-headers-versions.nv-codec-headers-9;
nv-codec-headers-9 = nv-codec-headers.override { majorVersion = "9"; };
nv-codec-headers-10 = nv-codec-headers.override { majorVersion = "10"; };
nv-codec-headers-11 = nv-codec-headers.override { majorVersion = "11"; };
nv-codec-headers-12 = nv-codec-headers.override { majorVersion = "12"; };
nvidiaCtkPackages =
callPackage ../by-name/nv/nvidia-container-toolkit/packages.nix