diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index bb0b92eee030..2a8a0a64274f 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -1,6 +1,6 @@ { config, stdenv, fetchurl, fetchFromGitHub, makeWrapper -, docutils, perl, pkgconfig, python3, which, ffmpeg_4 -, freefont_ttf, freetype, libass, libpthreadstubs, mujs +, addOpenGLRunpath, docutils, perl, pkgconfig, python3, which +, ffmpeg_4, freefont_ttf, freetype, libass, libpthreadstubs, mujs , nv-codec-headers, lua, libuchardet, libiconv ? null, darwin , waylandSupport ? stdenv.isLinux @@ -135,8 +135,7 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - docutils makeWrapper perl - pkgconfig python3 which + addOpenGLRunpath docutils makeWrapper perl pkgconfig python3 which ]; buildInputs = [ @@ -214,11 +213,17 @@ in stdenv.mkDerivation rec { ${wrapperFlags} ''; + # Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found. + # See the explanation in addOpenGLRunpath. + postFixup = optionalString stdenv.isLinux '' + addOpenGLRunpath $out/bin/.mpv-wrapped + ''; + meta = with stdenv.lib; { description = "A media player that supports many video formats (MPlayer and mplayer2 fork)"; homepage = https://mpv.io; license = licenses.gpl2Plus; - maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ]; + maintainers = with maintainers; [ AndersonTorres fuuzetsu fpletz globin ivan ]; platforms = platforms.darwin ++ platforms.linux; longDescription = '' diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 4c0ca0210cc8..b3310e44ae06 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm +{ stdenv, fetchurl, pkgconfig, addOpenGLRunpath, perl, texinfo, yasm , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d @@ -42,7 +42,7 @@ let inherit (stdenv) isDarwin isFreeBSD isLinux isAarch32; - inherit (stdenv.lib) optional optionals enableFeature; + inherit (stdenv.lib) optional optionals optionalString enableFeature; cmpVer = builtins.compareVersions; reqMin = requiredVersion: (cmpVer requiredVersion branch != 1); @@ -157,7 +157,7 @@ stdenv.mkDerivation rec { "--enable-cross-compile" ] ++ optional stdenv.cc.isClang "--cc=clang"; - nativeBuildInputs = [ perl pkgconfig texinfo yasm ]; + nativeBuildInputs = [ addOpenGLRunpath perl pkgconfig texinfo yasm ]; buildInputs = [ bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora @@ -186,6 +186,10 @@ stdenv.mkDerivation rec { substituteInPlace $pc \ --replace "includedir=$out" "includedir=''${!outputInclude}" done + '' + optionalString stdenv.isLinux '' + # Set RUNPATH so that libnvcuvid in /run/opengl-driver(-32)/lib can be found. + # See the explanation in addOpenGLRunpath. + addOpenGLRunpath $out/lib/libavcodec.so* ''; installFlags = [ "install-man" ];