diff --git a/pkgs/development/libraries/nv-codec-headers/10_x.nix b/pkgs/development/libraries/nv-codec-headers/10_x.nix deleted file mode 100644 index b1fe1611301ff..0000000000000 --- a/pkgs/development/libraries/nv-codec-headers/10_x.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ lib, stdenv, fetchgit }: - -stdenv.mkDerivation rec { - pname = "nv-codec-headers"; - version = "10.0.26.2"; - - src = fetchgit { - url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"; - rev = "n${version}"; - sha256 = "0n5jlwjfv5irx1if1g0n52m279bw7ab6bd3jz2v4vwg9cdzbxx85"; - }; - - makeFlags = [ "PREFIX=$(out)" ]; - - meta = { - description = "FFmpeg version of headers for NVENC"; - homepage = "https://ffmpeg.org/"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.MP2E ]; - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/libraries/nv-codec-headers/11_x.nix b/pkgs/development/libraries/nv-codec-headers/11_x.nix deleted file mode 100644 index fba333ff6dbe6..0000000000000 --- a/pkgs/development/libraries/nv-codec-headers/11_x.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv -, lib -, fetchgit -}: - -stdenv.mkDerivation rec { - pname = "nv-codec-headers"; - version = "11.1.5.2"; - - src = fetchgit { - url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"; - rev = "n${version}"; - sha256 = "sha256-KzaqwpzISHB7tSTruynEOJmSlJnAFK2h7/cRI/zkNPk="; - }; - - makeFlags = [ - "PREFIX=$(out)" - ]; - - meta = with lib; { - description = "FFmpeg version of headers for NVENC"; - homepage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git"; - license = licenses.mit; - maintainers = with maintainers; [ MP2E ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/development/libraries/nv-codec-headers/12_x.nix b/pkgs/development/libraries/nv-codec-headers/12_x.nix deleted file mode 100644 index dcbb34e33cdb0..0000000000000 --- a/pkgs/development/libraries/nv-codec-headers/12_x.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv -, lib -, fetchgit -}: - -stdenv.mkDerivation rec { - pname = "nv-codec-headers"; - version = "12.1.14.0"; - - src = fetchgit { - url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"; - rev = "n${version}"; - sha256 = "sha256-WJYuFmMGSW+B32LwE7oXv/IeTln6TNEeXSkquHh85Go="; - }; - - makeFlags = [ - "PREFIX=$(out)" - ]; - - meta = with lib; { - description = "FFmpeg version of headers for NVENC"; - homepage = "https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git"; - license = licenses.mit; - maintainers = with maintainers; [ MP2E ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/development/libraries/nv-codec-headers/default.nix b/pkgs/development/libraries/nv-codec-headers/default.nix index 9b8323e6c978b..b582548d79f5c 100644 --- a/pkgs/development/libraries/nv-codec-headers/default.nix +++ b/pkgs/development/libraries/nv-codec-headers/default.nix @@ -1,22 +1,32 @@ -{ lib, stdenv, fetchgit }: +{ lib +, fetchgit +, stdenvNoCC +}: -stdenv.mkDerivation rec { - pname = "nv-codec-headers"; - version = "9.1.23.1"; - - src = fetchgit { - url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git"; - rev = "n${version}"; - sha256 = "1xfvb3mhz6wfx9c732888xa82ivaig903lhvvrqqzs31qfznsplh"; +let + make-nv-codec-headers = (import ./make-nv-codec-headers.nix) { + inherit lib fetchgit stdenvNoCC; }; - - makeFlags = [ "PREFIX=$(out)" ]; - - meta = { - description = "FFmpeg version of headers for NVENC"; - homepage = "https://ffmpeg.org/"; - license = lib.licenses.mit; - maintainers = [ lib.maintainers.MP2E ]; - platforms = lib.platforms.all; +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 66549d664e402..98ff0c2f82e3a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24049,10 +24049,16 @@ with pkgs; nuspell = callPackage ../development/libraries/nuspell { }; nuspellWithDicts = dicts: callPackage ../development/libraries/nuspell/wrapper.nix { inherit dicts; }; - nv-codec-headers = callPackage ../development/libraries/nv-codec-headers { }; - nv-codec-headers-10 = callPackage ../development/libraries/nv-codec-headers/10_x.nix { }; - nv-codec-headers-11 = callPackage ../development/libraries/nv-codec-headers/11_x.nix { }; - nv-codec-headers-12 = callPackage ../development/libraries/nv-codec-headers/12_x.nix { }; + # 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