Merge #153325: vlc: quick fix issue with newer libcaca
This commit is contained in:
commit
78cd22c1b8
2 changed files with 164 additions and 36 deletions
|
@ -1,28 +1,87 @@
|
||||||
{ lib, stdenv, fetchurl, autoreconfHook, fetchpatch
|
{ lib
|
||||||
, libarchive, perl, xorg, libdvdnav, libbluray
|
, stdenv
|
||||||
, zlib, a52dec, libmad, faad2, ffmpeg, alsa-lib
|
, fetchurl
|
||||||
, pkg-config, dbus, fribidi, freefont_ttf, libebml, libmatroska
|
, fetchpatch
|
||||||
, libvorbis, libtheora, speex, lua5, libgcrypt, libgpg-error, libupnp
|
, SDL
|
||||||
, libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg
|
, SDL_image
|
||||||
, mpeg2dec, systemd, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
|
, a52dec
|
||||||
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, libssh2, liboggz
|
, alsa-lib
|
||||||
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
|
, autoreconfHook
|
||||||
, libvdpau, libsamplerate, libspatialaudio, live555, fluidsynth
|
, avahi
|
||||||
, wayland, wayland-protocols, ncurses, srt
|
, dbus
|
||||||
, onlyLibVLC ? false
|
, faad2
|
||||||
, withQt5 ? true, qtbase, qtsvg, qtx11extras, wrapQtAppsHook
|
, ffmpeg
|
||||||
, jackSupport ? false
|
, flac
|
||||||
, skins2Support ? !onlyLibVLC, freetype
|
, fluidsynth
|
||||||
|
, freefont_ttf
|
||||||
|
, fribidi
|
||||||
|
, gnutls
|
||||||
|
, libarchive
|
||||||
|
, libass
|
||||||
|
, libbluray
|
||||||
|
, libcaca
|
||||||
|
, libcddb
|
||||||
|
, libdc1394
|
||||||
|
, libdvbpsi
|
||||||
|
, libdvdnav
|
||||||
|
, libebml
|
||||||
|
, libgcrypt
|
||||||
|
, libgpg-error
|
||||||
|
, libjack2
|
||||||
|
, libkate
|
||||||
|
, libmad
|
||||||
|
, libmatroska
|
||||||
|
, libmtp
|
||||||
|
, liboggz
|
||||||
|
, libopus
|
||||||
|
, libpulseaudio
|
||||||
|
, libraw1394
|
||||||
|
, librsvg
|
||||||
|
, libsamplerate
|
||||||
|
, libspatialaudio
|
||||||
|
, libssh2
|
||||||
|
, libtheora
|
||||||
|
, libtiger
|
||||||
|
, libupnp
|
||||||
|
, libv4l
|
||||||
|
, libva
|
||||||
|
, libvdpau
|
||||||
|
, libvorbis
|
||||||
|
, libxml2
|
||||||
|
, live555
|
||||||
|
, lua5
|
||||||
|
, mpeg2dec
|
||||||
|
, ncurses
|
||||||
|
, perl
|
||||||
|
, pkg-config
|
||||||
, removeReferencesTo
|
, removeReferencesTo
|
||||||
, chromecastSupport ? true, protobuf, libmicrodns
|
, samba
|
||||||
|
, schroedinger
|
||||||
|
, speex
|
||||||
|
, srt
|
||||||
|
, 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
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# chromecastSupport requires TCP port 8010 to be open for it to work.
|
# chromecastSupport requires TCP port 8010 to be open for it to work.
|
||||||
# If your firewall is enabled, make sure to have something like:
|
# If your firewall is enabled, make sure to have something like:
|
||||||
# networking.firewall.allowedTCPPorts = [ 8010 ];
|
# networking.firewall.allowedTCPPorts = [ 8010 ];
|
||||||
|
|
||||||
with lib;
|
let
|
||||||
|
inherit (lib) optionalString optional optionals;
|
||||||
|
hostIsAarch = stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64;
|
||||||
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "${optionalString onlyLibVLC "lib"}vlc";
|
pname = "${optionalString onlyLibVLC "lib"}vlc";
|
||||||
version = "3.0.16";
|
version = "3.0.16";
|
||||||
|
@ -36,32 +95,95 @@ stdenv.mkDerivation rec {
|
||||||
# which are not included here for no other reason that nobody has mentioned
|
# which are not included here for no other reason that nobody has mentioned
|
||||||
# needing them
|
# needing them
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
zlib a52dec libmad faad2 ffmpeg alsa-lib libdvdnav libdvdnav.libdvdread
|
SDL
|
||||||
libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpg-error
|
SDL_image
|
||||||
libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
|
a52dec
|
||||||
systemd gnutls avahi libcddb SDL SDL_image libmtp taglib libarchive
|
alsa-lib
|
||||||
libkate libtiger libv4l samba libssh2 liboggz libass libdvbpsi libva
|
avahi
|
||||||
xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms
|
dbus
|
||||||
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
|
faad2
|
||||||
libspatialaudio fluidsynth wayland wayland-protocols ncurses srt
|
ffmpeg
|
||||||
] ++ optional (!stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isAarch32) live555
|
flac
|
||||||
++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
|
fluidsynth
|
||||||
++ optionals skins2Support (with xorg; [ libXpm freetype libXext libXinerama ])
|
fribidi
|
||||||
|
gnutls
|
||||||
|
libarchive
|
||||||
|
libass
|
||||||
|
libbluray
|
||||||
|
libcaca
|
||||||
|
libcddb
|
||||||
|
libdc1394
|
||||||
|
libdvbpsi
|
||||||
|
libdvdnav
|
||||||
|
libdvdnav.libdvdread
|
||||||
|
libebml
|
||||||
|
libgcrypt
|
||||||
|
libgpg-error
|
||||||
|
libkate
|
||||||
|
libmad
|
||||||
|
libmatroska
|
||||||
|
libmtp
|
||||||
|
liboggz
|
||||||
|
libopus
|
||||||
|
libpulseaudio
|
||||||
|
libraw1394
|
||||||
|
librsvg
|
||||||
|
libsamplerate
|
||||||
|
libspatialaudio
|
||||||
|
libssh2
|
||||||
|
libtheora
|
||||||
|
libtiger
|
||||||
|
libupnp
|
||||||
|
libv4l
|
||||||
|
libva
|
||||||
|
libvdpau
|
||||||
|
libvorbis
|
||||||
|
libxml2
|
||||||
|
lua5
|
||||||
|
mpeg2dec
|
||||||
|
ncurses
|
||||||
|
samba
|
||||||
|
schroedinger
|
||||||
|
speex
|
||||||
|
srt
|
||||||
|
systemd
|
||||||
|
taglib
|
||||||
|
wayland
|
||||||
|
wayland-protocols
|
||||||
|
zlib
|
||||||
|
]
|
||||||
|
++ (with xorg; [
|
||||||
|
libXpm
|
||||||
|
libXv
|
||||||
|
libXvMC
|
||||||
|
xcbutilkeysyms
|
||||||
|
xlibsWrapper
|
||||||
|
])
|
||||||
|
++ optional (!hostIsAarch) live555
|
||||||
++ optional jackSupport libjack2
|
++ optional jackSupport libjack2
|
||||||
++ optionals chromecastSupport [ protobuf libmicrodns ];
|
++ optionals chromecastSupport [ libmicrodns protobuf ]
|
||||||
|
++ optionals skins2Support (with xorg; [ freetype libXext libXinerama libXpm ])
|
||||||
|
++ optionals withQt5 [ qtbase qtsvg qtx11extras ];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook perl pkg-config removeReferencesTo unzip ]
|
nativeBuildInputs = [
|
||||||
|
autoreconfHook
|
||||||
|
perl
|
||||||
|
pkg-config
|
||||||
|
removeReferencesTo
|
||||||
|
unzip
|
||||||
|
]
|
||||||
++ optionals withQt5 [ wrapQtAppsHook ];
|
++ optionals withQt5 [ wrapQtAppsHook ];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
LIVE555_PREFIX = if (!stdenv.hostPlatform.isAarch64 && !stdenv.hostPlatform.isAarch32) then live555 else null;
|
LIVE555_PREFIX = if hostIsAarch then null else live555;
|
||||||
|
|
||||||
# vlc depends on a c11-gcc wrapper script which we don't have so we need to
|
# vlc depends on a c11-gcc wrapper script which we don't have so we need to
|
||||||
# set the path to the compiler
|
# set the path to the compiler
|
||||||
BUILDCC = "${stdenv.cc}/bin/gcc";
|
BUILDCC = "${stdenv.cc}/bin/gcc";
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
# Required in order to run newer srt plugin. Remove it when next release arrives
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4250fe8f28c220d883db454cec2b2c76a07473eb/trunk/vlc-3.0.11.1-srt_1.4.2.patch";
|
url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/4250fe8f28c220d883db454cec2b2c76a07473eb/trunk/vlc-3.0.11.1-srt_1.4.2.patch";
|
||||||
sha256 = "53poWjZfwq/6l316sqiCp0AtcGweyXBntcLDFPSokHQ=";
|
sha256 = "53poWjZfwq/6l316sqiCp0AtcGweyXBntcLDFPSokHQ=";
|
||||||
|
@ -86,8 +208,8 @@ stdenv.mkDerivation rec {
|
||||||
# Most of the libraries are auto-detected so we don't need to set a bunch of
|
# Most of the libraries are auto-detected so we don't need to set a bunch of
|
||||||
# "--enable-foo" flags here
|
# "--enable-foo" flags here
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-kde-solid=$out/share/apps/solid/actions"
|
|
||||||
"--enable-srt" # Explicit enable srt to ensure the patch is applied.
|
"--enable-srt" # Explicit enable srt to ensure the patch is applied.
|
||||||
|
"--with-kde-solid=$out/share/apps/solid/actions"
|
||||||
] ++ optional onlyLibVLC "--disable-vlc"
|
] ++ optional onlyLibVLC "--disable-vlc"
|
||||||
++ optional skins2Support "--enable-skins2"
|
++ optional skins2Support "--enable-skins2"
|
||||||
++ optionals chromecastSupport [
|
++ optionals chromecastSupport [
|
||||||
|
@ -111,6 +233,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Cross-platform media player and streaming server";
|
description = "Cross-platform media player and streaming server";
|
||||||
homepage = "http://www.videolan.org/vlc/";
|
homepage = "http://www.videolan.org/vlc/";
|
||||||
license = licenses.lgpl21Plus;
|
license = licenses.lgpl21Plus;
|
||||||
|
maintainers = with maintainers; [ AndersonTorres ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -29277,7 +29277,12 @@ with pkgs;
|
||||||
|
|
||||||
vkeybd = callPackage ../applications/audio/vkeybd {};
|
vkeybd = callPackage ../applications/audio/vkeybd {};
|
||||||
|
|
||||||
vlc = libsForQt5.callPackage ../applications/video/vlc {};
|
vlc = libsForQt5.callPackage ../applications/video/vlc {
|
||||||
|
# Newest libcaca changed the API, and libvlc didn't catch it. Until next
|
||||||
|
# version arrives, it is safer to disable it.
|
||||||
|
# Upstream thread: https://code.videolan.org/videolan/vlc/-/issues/26389
|
||||||
|
libcaca = null;
|
||||||
|
};
|
||||||
|
|
||||||
vlc_qt5 = vlc;
|
vlc_qt5 = vlc;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue