ffmpeg_8{,-headless,-full}: init at 8.0 (#435958)

authored by jopejoe1 and committed by GitHub 590eff31 75a69094

+77 -2
+2
doc/release-notes/rl-2511.section.md
··· 114 114 115 115 - `lisp-modules` were brought in sync with the [June 2025 Quicklisp release](http://blog.quicklisp.org/2025/07/june-2025-quicklisp-dist-now-available.html). 116 116 117 + - `ffmpeg_8`, `ffmpeg_8-headless`, and `ffmpeg_8-full` have been added. The default version of FFmpeg remains ffmpeg_7 for now, though this may change before release. 118 + 117 119 - `searx` was updated to use `envsubst` instead of `sed` for parsing secrets from environment variables. 118 120 If your previous configuration included a secret reference like `server.secret_key = "@SEARX_SECRET_KEY@"`, you must migrate to the new envsubst syntax: `server.secret_key = "$SEARX_SECRET_KEY"`. 119 121
+37
pkgs/by-name/op/openapv/package.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + writeText, 5 + fetchFromGitHub, 6 + cmake, 7 + }: 8 + let 9 + # Requires an /etc/os-release file, so we override it with this. 10 + osRelease = writeText "os-release" ''ID=NixOS''; 11 + in 12 + stdenv.mkDerivation (finalAttrs: { 13 + pname = "openapv"; 14 + version = "0.2.0.1"; 15 + 16 + src = fetchFromGitHub { 17 + owner = "AcademySoftwareFoundation"; 18 + repo = "openapv"; 19 + tag = "v${finalAttrs.version}"; 20 + hash = "sha256-Edj3xQ7AcHcdIbg4o2FidAGZ06fUBltW+1ojJPoIktA="; 21 + }; 22 + 23 + postPatch = '' 24 + substituteInPlace CMakeLists.txt \ 25 + --replace-fail "/etc/os-release" "${osRelease}" 26 + ''; 27 + 28 + nativeBuildInputs = [ cmake ]; 29 + 30 + meta = { 31 + changelog = "https://github.com/AcademySoftwareFoundation/openapv/releases/tag/v${finalAttrs.version}"; 32 + description = "Reference implementation of the APV codec"; 33 + homepage = "https://github.com/AcademySoftwareFoundation/openapv"; 34 + license = [ lib.licenses.bsd3 ]; 35 + maintainers = with lib.maintainers; [ pyrox0 ]; 36 + }; 37 + })
+8
pkgs/development/libraries/ffmpeg/default.nix
··· 29 29 version = "7.1.1"; 30 30 hash = "sha256-GyS8imOqfOUPxXrzCiQtzCQIIH6bvWmQAB0fKUcRsW4="; 31 31 }; 32 + v8 = { 33 + version = "8.0"; 34 + hash = "sha256-okNZ1/m/thFAY3jK/GSV0+WZFnjrMr8uBPsOdH6Wq9E="; 35 + }; 32 36 in 33 37 34 38 rec { ··· 46 50 ffmpeg_7 = mkFFmpeg v7 "small"; 47 51 ffmpeg_7-headless = mkFFmpeg v7 "headless"; 48 52 ffmpeg_7-full = mkFFmpeg v7 "full"; 53 + 54 + ffmpeg_8 = mkFFmpeg v8 "small"; 55 + ffmpeg_8-headless = mkFFmpeg v8 "headless"; 56 + ffmpeg_8-full = mkFFmpeg v8 "full"; 49 57 50 58 # Please make sure this is updated to new major versions once they 51 59 # build and work on all the major platforms. If absolutely necessary
+27 -2
pkgs/development/libraries/ffmpeg/generic.nix
··· 10 10 texinfo, 11 11 texinfo6, 12 12 yasm, 13 + nasm, 13 14 14 15 # You can fetch any upstream version using this derivation by specifying version and hash 15 16 # NOTICE: Always use this argument to override the version. Do not use overrideAttrs. ··· 108 109 withNvdec ? withHeadlessDeps && withNvcodec, 109 110 withNvenc ? withHeadlessDeps && withNvcodec, 110 111 withOpenal ? withFullDeps, # OpenAL 1.1 capture support 112 + withOpenapv ? withHeadlessDeps && lib.versionAtLeast version "8.0", # APV encoding support 111 113 withOpencl ? withHeadlessDeps, 112 114 withOpencoreAmrnb ? withFullDeps && withVersion3, # AMR-NB de/encoder 113 115 withOpencoreAmrwb ? withFullDeps && withVersion3, # AMR-WB decoder ··· 152 154 withVulkan ? withHeadlessDeps && !stdenv.hostPlatform.isDarwin, 153 155 withVvenc ? withFullDeps && lib.versionAtLeast version "7.1", # H.266/VVC encoding 154 156 withWebp ? withHeadlessDeps, # WebP encoder 157 + withWhisper ? withFullDeps && lib.versionAtLeast version "8.0", # Whisper speech recognition 155 158 withX264 ? withHeadlessDeps && withGPL, # H.264/AVC encoder 156 159 withX265 ? withHeadlessDeps && withGPL, # H.265/HEVC encoder 157 160 withXavs ? withFullDeps && withGPL, # AVS encoder ··· 206 209 # https://github.com/NixOS/nixpkgs/pull/211834#issuecomment-1417435991) 207 210 buildAvresample ? withHeadlessDeps && lib.versionOlder version "5", # Build avresample library 208 211 buildAvutil ? withHeadlessDeps, # Build avutil library 209 - buildPostproc ? withHeadlessDeps, # Build postproc library 212 + # Libpostproc is only available on versions lower than 8.0 213 + # https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/8c920c4c396163e3b9a0b428dd550d3c986236aa 214 + buildPostproc ? withHeadlessDeps && lib.versionOlder version "8.0", # Build postproc library 210 215 buildSwresample ? withHeadlessDeps, # Build swresample library 211 216 buildSwscale ? withHeadlessDeps, # Build swscale library 212 217 withLib ? ··· 313 318 nv-codec-headers-12, 314 319 ocl-icd, # OpenCL ICD 315 320 openal, 321 + openapv, 316 322 opencl-headers, # OpenCL headers 317 323 opencore-amr, 318 324 openh264, ··· 338 344 vulkan-headers, 339 345 vulkan-loader, 340 346 vvenc, 347 + whisper-cpp, 341 348 x264, 342 349 x265, 343 350 xavs, ··· 570 577 ] 571 578 ++ [ 572 579 (enableFeature buildAvutil "avutil") 580 + ] 581 + ++ optionals (lib.versionOlder version "8.0") [ 582 + # FFMpeg >= 8 doesn't know about the flag anymore 573 583 (enableFeature (buildPostproc && withGPL) "postproc") 584 + ] 585 + ++ [ 574 586 (enableFeature buildSwresample "swresample") 575 587 (enableFeature buildSwscale "swscale") 576 588 ] ··· 678 690 (enableFeature withNvdec "nvdec") 679 691 (enableFeature withNvenc "nvenc") 680 692 (enableFeature withOpenal "openal") 693 + ] 694 + ++ optionals (versionAtLeast version "8.0") [ 695 + (enableFeature withOpenapv "liboapv") 696 + ] 697 + ++ [ 681 698 (enableFeature withOpencl "opencl") 682 699 (enableFeature withOpencoreAmrnb "libopencore-amrnb") 683 700 (enableFeature withOpencoreAmrwb "libopencore-amrwb") ··· 742 759 ] 743 760 ++ [ 744 761 (enableFeature withWebp "libwebp") 762 + ] 763 + ++ optionals (versionAtLeast version "8.0") [ 764 + (enableFeature withWhisper "whisper") 765 + ] 766 + ++ [ 745 767 (enableFeature withX264 "libx264") 746 768 (enableFeature withX265 "libx265") 747 769 (enableFeature withXavs "libxavs") ··· 803 825 addDriverRunpath 804 826 perl 805 827 pkg-config 806 - yasm 807 828 ] 829 + # 8.0 is only compatible with nasm, and we don't want to rebuild all older ffmpeg builds at this moment. 830 + ++ (if versionOlder version "8.0" then [ yasm ] else [ nasm ]) 808 831 # Texinfo version 7.1 introduced breaking changes, which older versions of ffmpeg do not handle. 809 832 ++ (if versionOlder version "5" then [ texinfo6 ] else [ texinfo ]) 810 833 ++ optionals withCudaLLVM [ clang ] ··· 874 897 cuda_nvcc 875 898 ] 876 899 ++ optionals withOpenal [ openal ] 900 + ++ optionals withOpenapv [ openapv ] 877 901 ++ optionals withOpencl [ 878 902 ocl-icd 879 903 opencl-headers ··· 928 952 ] 929 953 ++ optionals withVvenc [ vvenc ] 930 954 ++ optionals withWebp [ libwebp ] 955 + ++ optionals withWhisper [ whisper-cpp ] 931 956 ++ optionals withX264 [ x264 ] 932 957 ++ optionals withX265 [ x265 ] 933 958 ++ optionals withXavs [ xavs ]
+3
pkgs/top-level/all-packages.nix
··· 7579 7579 ffmpeg_7 7580 7580 ffmpeg_7-headless 7581 7581 ffmpeg_7-full 7582 + ffmpeg_8 7583 + ffmpeg_8-headless 7584 + ffmpeg_8-full 7582 7585 ffmpeg 7583 7586 ffmpeg-headless 7584 7587 ffmpeg-full