Merge pull request #295344 from seanybaggins/add-mingw-support-ffmpeg

ffmpeg: add `mingw` support

authored by Atemu and committed by GitHub c2e0c0ba 30d91b59

+7 -5
+7 -5
pkgs/development/libraries/ffmpeg/generic.nix
··· 71 , withOpenmpt ? withFullDeps # Tracked music files decoder 72 , withOpus ? withHeadlessDeps # Opus de/encoder 73 , withPlacebo ? withFullDeps && !stdenv.isDarwin # libplacebo video processing library 74 - , withPulse ? withSmallDeps && !stdenv.isDarwin # Pulseaudio input support 75 , withRav1e ? withFullDeps # AV1 encoder (focused on speed and safety) 76 , withRtmp ? false # RTMP[E] support 77 , withSamba ? withFullDeps && !stdenv.isDarwin && withGPLv3 # Samba protocol ··· 82 , withSrt ? withHeadlessDeps # Secure Reliable Transport (SRT) protocol 83 , withSsh ? withHeadlessDeps # SFTP protocol 84 , withSvg ? withFullDeps # SVG protocol 85 - , withSvtav1 ? withHeadlessDeps && !stdenv.isAarch64 # AV1 encoder/decoder (focused on speed and correctness) 86 , withTensorflow ? false # Tensorflow dnn backend support 87 , withTheora ? withHeadlessDeps # Theora encoder 88 - , withV4l2 ? withHeadlessDeps && !stdenv.isDarwin # Video 4 Linux support 89 , withV4l2M2m ? withV4l2 90 , withVaapi ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD) # Vaapi hardware acceleration 91 - , withVdpau ? withSmallDeps # Vdpau hardware acceleration 92 , withVidStab ? withFullDeps && withGPL # Video stabilization 93 , withVmaf ? withFullDeps && !stdenv.isAarch64 && lib.versionAtLeast version "5" # Netflix's VMAF (Video Multi-Method Assessment Fusion) 94 , withVoAmrwbenc ? withFullDeps && withVersion3 # AMR-WB encoder ··· 722 addOpenGLRunpath ${placeholder "lib"}/lib/libavutil.so 723 '' 724 # https://trac.ffmpeg.org/ticket/10809 725 - + optionalString (versionAtLeast version "5.0" && withVulkan) '' 726 patchelf $lib/lib/libavcodec.so --add-needed libvulkan.so --add-rpath ${lib.makeLibraryPath [ vulkan-loader ]} 727 ''; 728 ··· 749 ++ optional (withGPL && withUnfree) unfree; 750 pkgConfigModules = [ "libavutil" ]; 751 platforms = platforms.all; 752 maintainers = with maintainers; [ atemu arthsmn jopejoe1 ]; 753 mainProgram = "ffmpeg"; 754 };
··· 71 , withOpenmpt ? withFullDeps # Tracked music files decoder 72 , withOpus ? withHeadlessDeps # Opus de/encoder 73 , withPlacebo ? withFullDeps && !stdenv.isDarwin # libplacebo video processing library 74 + , withPulse ? withSmallDeps && stdenv.isLinux # Pulseaudio input support 75 , withRav1e ? withFullDeps # AV1 encoder (focused on speed and safety) 76 , withRtmp ? false # RTMP[E] support 77 , withSamba ? withFullDeps && !stdenv.isDarwin && withGPLv3 # Samba protocol ··· 82 , withSrt ? withHeadlessDeps # Secure Reliable Transport (SRT) protocol 83 , withSsh ? withHeadlessDeps # SFTP protocol 84 , withSvg ? withFullDeps # SVG protocol 85 + , withSvtav1 ? withHeadlessDeps && !stdenv.isAarch64 && !stdenv.hostPlatform.isMinGW # AV1 encoder/decoder (focused on speed and correctness) 86 , withTensorflow ? false # Tensorflow dnn backend support 87 , withTheora ? withHeadlessDeps # Theora encoder 88 + , withV4l2 ? withHeadlessDeps && stdenv.isLinux # Video 4 Linux support 89 , withV4l2M2m ? withV4l2 90 , withVaapi ? withHeadlessDeps && (with stdenv; isLinux || isFreeBSD) # Vaapi hardware acceleration 91 + , withVdpau ? withSmallDeps && !stdenv.hostPlatform.isMinGW # Vdpau hardware acceleration 92 , withVidStab ? withFullDeps && withGPL # Video stabilization 93 , withVmaf ? withFullDeps && !stdenv.isAarch64 && lib.versionAtLeast version "5" # Netflix's VMAF (Video Multi-Method Assessment Fusion) 94 , withVoAmrwbenc ? withFullDeps && withVersion3 # AMR-WB encoder ··· 722 addOpenGLRunpath ${placeholder "lib"}/lib/libavutil.so 723 '' 724 # https://trac.ffmpeg.org/ticket/10809 725 + + optionalString (versionAtLeast version "5.0" && withVulkan && !stdenv.hostPlatform.isMinGW) '' 726 patchelf $lib/lib/libavcodec.so --add-needed libvulkan.so --add-rpath ${lib.makeLibraryPath [ vulkan-loader ]} 727 ''; 728 ··· 749 ++ optional (withGPL && withUnfree) unfree; 750 pkgConfigModules = [ "libavutil" ]; 751 platforms = platforms.all; 752 + # See https://github.com/NixOS/nixpkgs/pull/295344#issuecomment-1992263658 753 + broken = stdenv.hostPlatform.isMinGW && stdenv.hostPlatform.is64bit; 754 maintainers = with maintainers; [ atemu arthsmn jopejoe1 ]; 755 mainProgram = "ffmpeg"; 756 };