diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:37:02 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:41:30 +0000 |
commit | 6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch) | |
tree | 035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/applications/video/mpv/default.nix | |
parent | da7500bc026e937ac7fce7b50f67a0e1765737a7 (diff) | |
parent | e4134747f5666bcab8680aff67fa3b63384f9a0f (diff) | |
download | nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2 nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip |
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/applications/video/mpv/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/video/mpv/default.nix | 74 |
1 files changed, 45 insertions, 29 deletions
diff --git a/nixpkgs/pkgs/applications/video/mpv/default.nix b/nixpkgs/pkgs/applications/video/mpv/default.nix index bb0b92eee030..c333790d6a67 100644 --- a/nixpkgs/pkgs/applications/video/mpv/default.nix +++ b/nixpkgs/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 @@ -9,7 +9,7 @@ , libxkbcommon ? null , x11Support ? stdenv.isLinux - , libGLU_combined ? null + , libGLU, libGL ? null , libX11 ? null , libXext ? null , libXxf86vm ? null @@ -20,33 +20,39 @@ , libcdio-paranoia ? null , vulkanSupport ? stdenv.isLinux - , shaderc ? null + , libplacebo ? null + , shaderc ? null , vulkan-headers ? null - , vulkan-loader ? null + , vulkan-loader ? null + +, drmSupport ? stdenv.isLinux + , libdrm ? null + , mesa ? null , alsaSupport ? stdenv.isLinux, alsaLib ? null , bluraySupport ? true, libbluray ? null , bs2bSupport ? true, libbs2b ? null , cacaSupport ? true, libcaca ? null , cmsSupport ? true, lcms2 ? null -, drmSupport ? stdenv.isLinux, libdrm ? null , dvdnavSupport ? stdenv.isLinux, libdvdnav ? null -, dvdreadSupport ? stdenv.isLinux, libdvdread ? null , libpngSupport ? true, libpng ? null , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null -, rubberbandSupport ? stdenv.isLinux, rubberband ? null +, rubberbandSupport ? stdenv.isLinux, rubberband ? null , screenSaverSupport ? true, libXScrnSaver ? null +, sambaSupport ? stdenv.isLinux, samba ? null , sdl2Support ? true, SDL2 ? null +, sndioSupport ? true, sndio ? null , speexSupport ? true, speex ? null , theoraSupport ? true, libtheora ? null -, vaapiSupport ? stdenv.isLinux, libva ? null +, vaapiSupport ? stdenv.isLinux, libva ? null , vdpauSupport ? true, libvdpau ? null , xineramaSupport ? stdenv.isLinux, libXinerama ? null , xvSupport ? stdenv.isLinux, libXv ? null , youtubeSupport ? true, youtube-dl ? null +, zimgSupport ? true, zimg ? null , archiveSupport ? false, libarchive ? null , jackaudioSupport ? false, libjack2 ? null -, openalSupport ? false, openalSoft ? null +, openalSupport ? true, openalSoft ? null , vapoursynthSupport ? false, vapoursynth ? null }: @@ -60,28 +66,31 @@ assert archiveSupport -> available libarchive; assert bluraySupport -> available libbluray; assert bs2bSupport -> available libbs2b; assert cacaSupport -> available libcaca; -assert cddaSupport -> all available [libcdio libcdio-paranoia]; +assert cddaSupport -> all available [ libcdio libcdio-paranoia ]; assert cmsSupport -> available lcms2; -assert drmSupport -> available libdrm; +assert drmSupport -> all available [ libdrm mesa ]; assert dvdnavSupport -> available libdvdnav; -assert dvdreadSupport -> available libdvdread; 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 sambaSupport -> available samba; assert sdl2Support -> available SDL2; +assert sndioSupport -> available sndio; 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_combined libX11 libXext libXxf86vm libXrandr ]; +assert x11Support -> all available [ libGLU libGL libX11 libXext libXxf86vm libXrandr ]; assert xineramaSupport -> x11Support && available libXinerama; assert xvSupport -> x11Support && available libXv; assert youtubeSupport -> available youtube-dl; +assert zimgSupport -> available zimg; let # Purity: Waf is normally downloaded by bootstrap.py, but @@ -92,17 +101,17 @@ let "http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ]; sha256 = "0j7sbn3w6bgslvwwh5v9527w3gi2sd08kskrgxamx693y0b0i3ia"; }; - luaEnv = lua.withPackages(ps: with ps; [ luasocket ]); + luaEnv = lua.withPackages (ps: with ps; [ luasocket ]); in stdenv.mkDerivation rec { pname = "mpv"; - version = "0.29.1"; + version = "0.31.0"; src = fetchFromGitHub { - owner = "mpv-player"; - repo = "mpv"; + owner = "mpv-player"; + repo = "mpv"; rev = "v${version}"; - sha256 = "138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m"; + sha256 = "138m09l4wi6ifbi15z76j578plmxkclhlzfryasfcdp8hswhs59r"; }; postPatch = '' @@ -115,7 +124,6 @@ in stdenv.mkDerivation rec { configureFlags = [ "--enable-libmpv-shared" "--enable-manpage-build" - "--enable-zsh-comp" "--disable-libmpv-static" "--disable-static-build" "--disable-build-date" # Purity @@ -123,8 +131,10 @@ in stdenv.mkDerivation rec { (enableFeature archiveSupport "libarchive") (enableFeature cddaSupport "cdda") (enableFeature dvdnavSupport "dvdnav") - (enableFeature dvdreadSupport "dvdread") (enableFeature openalSupport "openal") + (enableFeature sambaSupport "libsmbclient") + (enableFeature sdl2Support "sdl2") + (enableFeature sndioSupport "sndio") (enableFeature vaapiSupport "vaapi") (enableFeature waylandSupport "wayland") (enableFeature stdenv.isLinux "dvbin") @@ -135,8 +145,7 @@ in stdenv.mkDerivation rec { ''; nativeBuildInputs = [ - docutils makeWrapper perl - pkgconfig python3 which + addOpenGLRunpath docutils makeWrapper perl pkgconfig python3 which ]; buildInputs = [ @@ -148,15 +157,15 @@ in stdenv.mkDerivation rec { ++ optional bs2bSupport libbs2b ++ optional cacaSupport libcaca ++ optional cmsSupport lcms2 - ++ optional drmSupport libdrm - ++ optional dvdreadSupport libdvdread ++ optional jackaudioSupport libjack2 ++ optional libpngSupport libpng ++ optional openalSupport openalSoft ++ optional pulseSupport libpulseaudio ++ optional rubberbandSupport rubberband + ++ optional sambaSupport samba ++ optional screenSaverSupport libXScrnSaver ++ optional sdl2Support SDL2 + ++ optional sndioSupport sndio ++ optional speexSupport speex ++ optional theoraSupport libtheora ++ optional vaapiSupport libva @@ -165,13 +174,15 @@ in stdenv.mkDerivation rec { ++ optional xineramaSupport libXinerama ++ optional xvSupport libXv ++ optional youtubeSupport youtube-dl + ++ optional zimgSupport zimg ++ optional stdenv.isDarwin libiconv ++ optional stdenv.isLinux nv-codec-headers ++ optionals cddaSupport [ libcdio libcdio-paranoia ] + ++ optionals drmSupport [ libdrm mesa ] ++ optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ] ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] - ++ optionals x11Support [ libX11 libXext libGLU_combined libXxf86vm libXrandr ] - ++ optionals vulkanSupport [ shaderc vulkan-headers vulkan-loader ] + ++ optionals x11Support [ libX11 libXext libGLU libGL libXxf86vm libXrandr ] + ++ optionals vulkanSupport [ libplacebo shaderc vulkan-headers vulkan-loader ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation Cocoa CoreAudio ]); @@ -186,7 +197,6 @@ in stdenv.mkDerivation rec { # Ensure youtube-dl is available in $PATH for mpv wrapperFlags = - ''--prefix PATH : "${luaEnv}/bin" \'' + optionalString youtubeSupport '' --prefix PATH : "${youtube-dl}/bin" \ @@ -214,11 +224,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 fpletz globin ivan ma27 tadeokondrak ]; platforms = platforms.darwin ++ platforms.linux; longDescription = '' |