about summary refs log tree commit diff
path: root/pkgs/applications/video/vlc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/video/vlc/default.nix')
-rw-r--r--pkgs/applications/video/vlc/default.nix46
1 files changed, 31 insertions, 15 deletions
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 7706c425f2bc4..a5e65480b2bf1 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -10,7 +10,7 @@
 , avahi
 , dbus
 , faad2
-, ffmpeg
+, ffmpeg_4
 , flac
 , fluidsynth
 , freefont_ttf
@@ -62,16 +62,14 @@
 , systemd
 , taglib
 , unzip
-, wayland
-, wayland-protocols
 , xorg
 , zlib
-
 , chromecastSupport ? true, libmicrodns, protobuf
 , jackSupport ? false
 , onlyLibVLC ? false
 , skins2Support ? !onlyLibVLC, freetype
-, withQt5 ? true, qtbase, qtsvg, qtx11extras, wrapQtAppsHook
+, waylandSupport ? true, wayland, wayland-protocols
+, withQt5 ? true, qtbase, qtsvg, qtwayland, qtx11extras, wrapQtAppsHook
 }:
 
 # chromecastSupport requires TCP port 8010 to be open for it to work.
@@ -102,7 +100,7 @@ stdenv.mkDerivation rec {
     avahi
     dbus
     faad2
-    ffmpeg
+    ffmpeg_4
     flac
     fluidsynth
     fribidi
@@ -148,8 +146,6 @@ stdenv.mkDerivation rec {
     srt
     systemd
     taglib
-    wayland
-    wayland-protocols
     zlib
   ]
   ++ (with xorg; [
@@ -159,11 +155,18 @@ stdenv.mkDerivation rec {
     xcbutilkeysyms
     xlibsWrapper
   ])
-  ++ optional (!hostIsAarch) live555
+  ++ optional (!hostIsAarch && !onlyLibVLC) live555
   ++ optional jackSupport libjack2
   ++ optionals chromecastSupport [ libmicrodns protobuf ]
-  ++ optionals skins2Support (with xorg; [ freetype libXext libXinerama libXpm ])
-  ++ optionals withQt5 [ qtbase qtsvg qtx11extras ];
+  ++ optionals skins2Support (with xorg; [
+    freetype
+    libXext
+    libXinerama
+    libXpm
+  ])
+  ++ optionals waylandSupport [ wayland wayland-protocols ]
+  ++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
+  ++ optional (waylandSupport && withQt5) qtwayland;
 
   nativeBuildInputs = [
     autoreconfHook
@@ -172,7 +175,8 @@ stdenv.mkDerivation rec {
     removeReferencesTo
     unzip
   ]
-  ++ optionals withQt5 [ wrapQtAppsHook ];
+  ++ optionals withQt5 [ wrapQtAppsHook ]
+  ++ optionals waylandSupport [ wayland wayland-protocols ];
 
   enableParallelBuilding = true;
 
@@ -188,6 +192,16 @@ stdenv.mkDerivation rec {
       url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4250fe8f28c220d883db454cec2b2c76a07473eb/trunk/vlc-3.0.11.1-srt_1.4.2.patch";
       sha256 = "53poWjZfwq/6l316sqiCp0AtcGweyXBntcLDFPSokHQ=";
     })
+    # patches to build with recent live555
+    # upstream issue: https://code.videolan.org/videolan/vlc/-/issues/25473
+    (fetchpatch {
+      url = "https://code.videolan.org/videolan/vlc/uploads/3c84ea58d7b94d7a8d354eaffe4b7d55/0001-Get-addr-by-ref.-from-getConnectionEndpointAddress.patch";
+      sha256 = "171d3qjl9a4dm13sqig3ra8s2zcr76wfnqz4ba4asg139cyc1axd";
+    })
+    (fetchpatch {
+      url = "https://code.videolan.org/videolan/vlc/uploads/eb1c313d2d499b8a777314f789794f9d/0001-Add-lssl-and-lcrypto-to-liblive555_plugin_la_LIBADD.patch";
+      sha256 = "0kyi8q2zn2ww148ngbia9c7qjgdrijf4jlvxyxgrj29cb5iy1kda";
+    })
   ];
 
   postPatch = ''
@@ -210,9 +224,11 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-srt" # Explicit enable srt to ensure the patch is applied.
     "--with-kde-solid=$out/share/apps/solid/actions"
-  ] ++ optional onlyLibVLC "--disable-vlc"
-    ++ optional skins2Support "--enable-skins2"
-    ++ optionals chromecastSupport [
+  ]
+  ++ optional onlyLibVLC "--disable-vlc"
+  ++ optional skins2Support "--enable-skins2"
+  ++ optional waylandSupport "--enable-wayland"
+  ++ optionals chromecastSupport [
     "--enable-sout"
     "--enable-chromecast"
     "--enable-microdns"