Merge pull request #145509 from SuperSandro2000/mpv
This commit is contained in:
commit
e476113f29
1 changed files with 55 additions and 86 deletions
|
@ -19,95 +19,63 @@
|
|||
, nv-codec-headers
|
||||
, lua
|
||||
, libuchardet
|
||||
, libiconv ? null
|
||||
, libiconv
|
||||
, CoreFoundation, Cocoa, CoreAudio, MediaPlayer
|
||||
|
||||
, waylandSupport ? stdenv.isLinux
|
||||
, wayland ? null
|
||||
, wayland-protocols ? null
|
||||
, libxkbcommon ? null
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, libxkbcommon
|
||||
|
||||
, x11Support ? stdenv.isLinux
|
||||
, libGLU, libGL ? null
|
||||
, libX11 ? null
|
||||
, libXext ? null
|
||||
, libXxf86vm ? null
|
||||
, libXrandr ? null
|
||||
, libGLU, libGL
|
||||
, libX11
|
||||
, libXext
|
||||
, libXxf86vm
|
||||
, libXrandr
|
||||
|
||||
, cddaSupport ? false
|
||||
, libcdio ? null
|
||||
, libcdio-paranoia ? null
|
||||
, libcdio
|
||||
, libcdio-paranoia
|
||||
|
||||
, vulkanSupport ? stdenv.isLinux
|
||||
, libplacebo ? null
|
||||
, shaderc ? null
|
||||
, vulkan-headers ? null
|
||||
, vulkan-loader ? null
|
||||
, libplacebo
|
||||
, shaderc
|
||||
, vulkan-headers
|
||||
, vulkan-loader
|
||||
|
||||
, drmSupport ? stdenv.isLinux
|
||||
, libdrm ? null
|
||||
, mesa ? null
|
||||
, libdrm
|
||||
, mesa
|
||||
|
||||
, alsaSupport ? stdenv.isLinux, alsa-lib ? null
|
||||
, archiveSupport ? true, libarchive ? null
|
||||
, bluraySupport ? true, libbluray ? null
|
||||
, bs2bSupport ? true, libbs2b ? null
|
||||
, cacaSupport ? true, libcaca ? null
|
||||
, cmsSupport ? true, lcms2 ? null
|
||||
, dvdnavSupport ? stdenv.isLinux, libdvdnav ? null
|
||||
, jackaudioSupport ? false, libjack2 ? null
|
||||
, libpngSupport ? true, libpng ? null
|
||||
, openalSupport ? true, openalSoft ? null
|
||||
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
|
||||
, rubberbandSupport ? stdenv.isLinux, rubberband ? null
|
||||
, screenSaverSupport ? true, libXScrnSaver ? null
|
||||
, sdl2Support ? true, SDL2 ? null
|
||||
, sixelSupport ? false, libsixel ? null
|
||||
, speexSupport ? true, speex ? null
|
||||
, swiftSupport ? false, swift ? null
|
||||
, theoraSupport ? true, libtheora ? null
|
||||
, vaapiSupport ? stdenv.isLinux, libva ? null
|
||||
, vapoursynthSupport ? false, vapoursynth ? null
|
||||
, vdpauSupport ? true, libvdpau ? null
|
||||
, xineramaSupport ? stdenv.isLinux, libXinerama ? null
|
||||
, xvSupport ? stdenv.isLinux, libXv ? null
|
||||
, zimgSupport ? true, zimg ? null
|
||||
, alsaSupport ? stdenv.isLinux, alsa-lib
|
||||
, archiveSupport ? true, libarchive
|
||||
, bluraySupport ? true, libbluray
|
||||
, bs2bSupport ? true, libbs2b
|
||||
, cacaSupport ? true, libcaca
|
||||
, cmsSupport ? true, lcms2
|
||||
, dvdnavSupport ? stdenv.isLinux, libdvdnav
|
||||
, jackaudioSupport ? false, libjack2
|
||||
, libpngSupport ? true, libpng
|
||||
, openalSupport ? true, openalSoft
|
||||
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
|
||||
, rubberbandSupport ? stdenv.isLinux, rubberband
|
||||
, screenSaverSupport ? true, libXScrnSaver
|
||||
, sdl2Support ? true, SDL2
|
||||
, sixelSupport ? false, libsixel
|
||||
, speexSupport ? true, speex
|
||||
, swiftSupport ? false, swift
|
||||
, theoraSupport ? true, libtheora
|
||||
, vaapiSupport ? stdenv.isLinux, libva
|
||||
, vapoursynthSupport ? false, vapoursynth
|
||||
, vdpauSupport ? true, libvdpau
|
||||
, xineramaSupport ? stdenv.isLinux, libXinerama
|
||||
, xvSupport ? stdenv.isLinux, libXv
|
||||
, zimgSupport ? true, zimg
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
available = x: x != null;
|
||||
in
|
||||
assert alsaSupport -> available alsa-lib;
|
||||
assert archiveSupport -> available libarchive;
|
||||
assert bluraySupport -> available libbluray;
|
||||
assert bs2bSupport -> available libbs2b;
|
||||
assert cacaSupport -> available libcaca;
|
||||
assert cddaSupport -> all available [ libcdio libcdio-paranoia ];
|
||||
assert cmsSupport -> available lcms2;
|
||||
assert drmSupport -> all available [ libdrm mesa ];
|
||||
assert dvdnavSupport -> available libdvdnav;
|
||||
assert jackaudioSupport -> available libjack2;
|
||||
assert libpngSupport -> available libpng;
|
||||
assert openalSupport -> available openalSoft;
|
||||
assert pulseSupport -> available libpulseaudio;
|
||||
assert rubberbandSupport -> available rubberband;
|
||||
assert screenSaverSupport -> available libXScrnSaver;
|
||||
assert sdl2Support -> available SDL2;
|
||||
assert sixelSupport -> available libsixel;
|
||||
assert speexSupport -> available speex;
|
||||
assert theoraSupport -> available libtheora;
|
||||
assert vaapiSupport -> available libva;
|
||||
assert vapoursynthSupport -> available vapoursynth;
|
||||
assert vdpauSupport -> available libvdpau;
|
||||
assert vulkanSupport -> all available [ libplacebo shaderc vulkan-headers vulkan-loader ];
|
||||
assert waylandSupport -> all available [ wayland wayland-protocols libxkbcommon ];
|
||||
assert x11Support -> all available [ libGLU libGL libX11 libXext libXxf86vm libXrandr ];
|
||||
assert xineramaSupport -> x11Support && available libXinerama;
|
||||
assert xvSupport -> x11Support && available libXv;
|
||||
assert zimgSupport -> available zimg;
|
||||
|
||||
let
|
||||
luaEnv = lua.withPackages (ps: with ps; [ luasocket ]);
|
||||
|
||||
|
@ -127,8 +95,9 @@ in stdenv.mkDerivation rec {
|
|||
postPatch = ''
|
||||
patchShebangs ./TOOLS/
|
||||
'';
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString x11Support "-lX11 -lXext "
|
||||
+ lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
|
||||
+ lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
|
||||
|
||||
wafConfigureFlags = [
|
||||
"--enable-libmpv-shared"
|
||||
|
@ -227,18 +196,6 @@ in stdenv.mkDerivation rec {
|
|||
addOpenGLRunpath $out/bin/mpv
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://mpv.io";
|
||||
description = "General-purpose media player, fork of MPlayer and mplayer2";
|
||||
longDescription = ''
|
||||
mpv is a free and open-source general-purpose video player, based on the
|
||||
MPlayer and mplayer2 projects, with great improvements above both.
|
||||
'';
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres fpletz globin ma27 tadeokondrak ];
|
||||
platforms = platforms.darwin ++ platforms.linux;
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit
|
||||
# The wrapper consults luaEnv and lua.version
|
||||
|
@ -252,4 +209,16 @@ in stdenv.mkDerivation rec {
|
|||
vapoursynth
|
||||
;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://mpv.io";
|
||||
description = "General-purpose media player, fork of MPlayer and mplayer2";
|
||||
longDescription = ''
|
||||
mpv is a free and open-source general-purpose video player, based on the
|
||||
MPlayer and mplayer2 projects, with great improvements above both.
|
||||
'';
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres fpletz globin ma27 tadeokondrak ];
|
||||
platforms = platforms.darwin ++ platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue