From 2cf621a871fba0d6444c29f4dd06086d4ce7fa45 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 7 Jul 2024 14:48:15 +0300 Subject: [PATCH] Revert "nv-codec-headers: recreate under by-name" This reverts commit 01f7c8a1a317171a5a1b84086e955e0c28900523. It broke NixOS config evaluation, as in https://github.com/NixOS/nixpkgs/pull/324199#issuecomment-2212422318. --- pkgs/by-name/nv/nv-codec-headers/package.nix | 38 ----------------- pkgs/by-name/nv/nv-codec-headers/sources.nix | 42 ------------------- .../libraries/nv-codec-headers/default.nix | 32 ++++++++++++++ .../make-nv-codec-headers.nix | 32 ++++++++++++++ pkgs/top-level/all-packages.nix | 14 +++++-- 5 files changed, 74 insertions(+), 84 deletions(-) delete mode 100644 pkgs/by-name/nv/nv-codec-headers/package.nix delete mode 100644 pkgs/by-name/nv/nv-codec-headers/sources.nix create mode 100644 pkgs/development/libraries/nv-codec-headers/default.nix create mode 100644 pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix diff --git a/pkgs/by-name/nv/nv-codec-headers/package.nix b/pkgs/by-name/nv/nv-codec-headers/package.nix deleted file mode 100644 index cb0c222434cee..0000000000000 --- a/pkgs/by-name/nv/nv-codec-headers/package.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - 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; - }; -} diff --git a/pkgs/by-name/nv/nv-codec-headers/sources.nix b/pkgs/by-name/nv/nv-codec-headers/sources.nix deleted file mode 100644 index cc3d1bce5a61c..0000000000000 --- a/pkgs/by-name/nv/nv-codec-headers/sources.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - 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="; - }; -} diff --git a/pkgs/development/libraries/nv-codec-headers/default.nix b/pkgs/development/libraries/nv-codec-headers/default.nix new file mode 100644 index 0000000000000..b582548d79f5c --- /dev/null +++ b/pkgs/development/libraries/nv-codec-headers/default.nix @@ -0,0 +1,32 @@ +{ 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="; + }; +} diff --git a/pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix b/pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix new file mode 100644 index 0000000000000..b6bdc6dd58d7a --- /dev/null +++ b/pkgs/development/libraries/nv-codec-headers/make-nv-codec-headers.nix @@ -0,0 +1,32 @@ +{ 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 13e3e0892afeb..f23080580e819 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23366,10 +23366,16 @@ with pkgs; nuspell = callPackage ../development/libraries/nuspell { }; nuspellWithDicts = dicts: callPackage ../development/libraries/nuspell/wrapper.nix { inherit dicts; }; - 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"; }; + # 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; nvidiaCtkPackages = callPackage ../by-name/nv/nvidia-container-toolkit/packages.nix