Merge pull request #35885 from rnhmjoj/mpv

mpv: fix lua library paths and clean up
This commit is contained in:
Jörg Thalheim 2018-02-28 00:12:19 +00:00 committed by GitHub
commit 700a963111
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 20 deletions

View File

@ -1,7 +1,7 @@
{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeWrapper { stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeWrapper
, docutils, perl, pkgconfig, python3, which, ffmpeg , docutils, perl, pkgconfig, python3, which, ffmpeg
, freefont_ttf, freetype, libass, libpthreadstubs , freefont_ttf, freetype, libass, libpthreadstubs
, lua, lua5_sockets, libuchardet, libiconv ? null, darwin , lua, luasocket, libuchardet, libiconv ? null, darwin
, x11Support ? true, , x11Support ? true,
mesa ? null, mesa ? null,
@ -13,25 +13,25 @@
wayland ? null, wayland ? null,
libxkbcommon ? null libxkbcommon ? null
, rubberbandSupport ? !stdenv.isDarwin, rubberband ? null , rubberbandSupport ? true, rubberband ? null
, xineramaSupport ? true, libXinerama ? null , xineramaSupport ? true, libXinerama ? null
, xvSupport ? true, libXv ? null , xvSupport ? true, libXv ? null
, sdl2Support ? true, SDL2 ? null , sdl2Support ? true, SDL2 ? null
, alsaSupport ? !stdenv.isDarwin, alsaLib ? null , alsaSupport ? true, alsaLib ? null
, screenSaverSupport ? true, libXScrnSaver ? null , screenSaverSupport ? true, libXScrnSaver ? null
, vdpauSupport ? true, libvdpau ? null , vdpauSupport ? true, libvdpau ? null
, dvdreadSupport ? !stdenv.isDarwin, libdvdread ? null , dvdreadSupport ? true, libdvdread ? null
, dvdnavSupport ? dvdreadSupport, libdvdnav ? null , dvdnavSupport ? true, libdvdnav ? null
, bluraySupport ? true, libbluray ? null , bluraySupport ? true, libbluray ? null
, speexSupport ? true, speex ? null , speexSupport ? true, speex ? null
, theoraSupport ? true, libtheora ? null , theoraSupport ? true, libtheora ? null
, pulseSupport ? !stdenv.isDarwin, libpulseaudio ? null , pulseSupport ? true, libpulseaudio ? null
, bs2bSupport ? true, libbs2b ? null , bs2bSupport ? true, libbs2b ? null
, cacaSupport ? true, libcaca ? null , cacaSupport ? true, libcaca ? null
, libpngSupport ? true, libpng ? null , libpngSupport ? true, libpng ? null
, youtubeSupport ? true, youtube-dl ? null , youtubeSupport ? true, youtube-dl ? null
, vaapiSupport ? true, libva ? null , vaapiSupport ? true, libva ? null
, drmSupport ? !stdenv.isDarwin, libdrm ? null , drmSupport ? true, libdrm ? null
, vapoursynthSupport ? false, vapoursynth ? null , vapoursynthSupport ? false, vapoursynth ? null
, archiveSupport ? false, libarchive ? null , archiveSupport ? false, libarchive ? null
, jackaudioSupport ? false, libjack2 ? null , jackaudioSupport ? false, libjack2 ? null
@ -127,14 +127,15 @@ in stdenv.mkDerivation rec {
python3 ${waf} configure --prefix=$out $configureFlags python3 ${waf} configure --prefix=$out $configureFlags
''; '';
nativeBuildInputs = [ docutils makeWrapper perl pkgconfig python3 which ]; nativeBuildInputs = [
docutils makeWrapper perl
pkgconfig python3 which
];
buildInputs = [ buildInputs = [
ffmpeg freetype libass libpthreadstubs ffmpeg freetype libass libpthreadstubs
lua lua5_sockets libuchardet lua luasocket libuchardet
] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ] ++ optional alsaSupport alsaLib
libiconv Cocoa CoreAudio ])
++ optional alsaSupport alsaLib
++ optional xvSupport libXv ++ optional xvSupport libXv
++ optional theoraSupport libtheora ++ optional theoraSupport libtheora
++ optional xineramaSupport libXinerama ++ optional xineramaSupport libXinerama
@ -157,7 +158,10 @@ in stdenv.mkDerivation rec {
++ optional archiveSupport libarchive ++ optional archiveSupport libarchive
++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ] ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ]
++ optionals x11Support [ libX11 libXext mesa libXxf86vm ] ++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
++ optionals waylandSupport [ wayland libxkbcommon ]; ++ optionals waylandSupport [ wayland libxkbcommon ]
++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
libiconv Cocoa CoreAudio
]);
enableParallelBuilding = true; enableParallelBuilding = true;
@ -165,7 +169,14 @@ in stdenv.mkDerivation rec {
python3 ${waf} build python3 ${waf} build
''; '';
installPhase = '' installPhase =
let
getPath = type : "${luasocket}/lib/lua/${lua.luaversion}/?.${type};" +
"${luasocket}/share/lua/${lua.luaversion}/?.${type}";
luaPath = getPath "lua";
luaCPath = getPath "so";
in
''
python3 ${waf} install python3 ${waf} install
# Use a standard font # Use a standard font
@ -174,6 +185,8 @@ in stdenv.mkDerivation rec {
# Ensure youtube-dl is available in $PATH for MPV # Ensure youtube-dl is available in $PATH for MPV
wrapProgram $out/bin/mpv \ wrapProgram $out/bin/mpv \
--add-flags "--scripts=${concatStringsSep "," scripts}" \ --add-flags "--scripts=${concatStringsSep "," scripts}" \
--prefix LUA_PATH : "${luaPath}" \
--prefix LUA_CPATH : "${luaCPath}" \
'' + optionalString youtubeSupport '' '' + optionalString youtubeSupport ''
--prefix PATH : "${youtube-dl}/bin" \ --prefix PATH : "${youtube-dl}/bin" \
'' + optionalString vapoursynthSupport '' '' + optionalString vapoursynthSupport ''
@ -199,5 +212,3 @@ in stdenv.mkDerivation rec {
''; '';
}; };
} }
# TODO: investigate caca support
# TODO: investigate lua5_sockets bug

View File

@ -16554,11 +16554,19 @@ with pkgs;
}; };
mpv = callPackage ../applications/video/mpv rec { mpv = callPackage ../applications/video/mpv rec {
lua = lua5_1; inherit (luaPackages) luasocket;
lua5_sockets = lua5_1_sockets;
youtube-dl = pythonPackages.youtube-dl; youtube-dl = pythonPackages.youtube-dl;
libva = libva-full; libva = libva-full;
waylandSupport = stdenv.isLinux; waylandSupport = stdenv.isLinux;
alsaSupport = !stdenv.isDarwin;
pulseSupport = !stdenv.isDarwin;
rubberbandSupport = !stdenv.isDarwin;
dvdreadSupport = !stdenv.isDarwin;
dvdnavSupport = !stdenv.isDarwin;
drmSupport = !stdenv.isDarwin;
x11Support = !stdenv.isDarwin;
xineramaSupport = !stdenv.isDarwin;
xvSupport = !stdenv.isDarwin;
}; };
mpvScripts = { mpvScripts = {