Merge pull request #58588 from shazow/fix/vlc

vlc: Add chromecast support; libmicrodns: Init at 0.0.10
This commit is contained in:
Florian Klink 2019-04-01 17:16:42 +02:00 committed by GitHub
commit 8313a5dcd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 60 additions and 2 deletions

View File

@ -5401,4 +5401,9 @@
github = "minijackson";
name = "Rémi Nicole";
};
shazow = {
email = "andrey.petrov@shazow.net";
github = "shazow";
name = "Andrey Petrov";
};
}

View File

@ -99,6 +99,16 @@
and fix all the bugs it uncovers.
</para>
</listitem>
<listitem>
<para>
The <literal>vlc</literal> package gained support for Chromecast
streaming, enabled by default. TCP port 8010 must be open for it to work,
so something like <literal>networking.firewall.allowedTCPPorts = [ 8010
];</literal> may be required in your configuration. Also consider enabling
<link xlink:href="https://nixos.wiki/wiki/Accelerated_Video_Playback">
Accelerated Video Playback</link> for better transcoding performance.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View File

@ -13,8 +13,13 @@
, jackSupport ? false
, fetchpatch
, removeReferencesTo
, chromecastSupport ? true, protobuf, libmicrodns
}:
# chromecastSupport requires TCP port 8010 to be open for it to work.
# If your firewall is enabled, make sure to have something like:
# networking.firewall.allowedTCPPorts = [ 8010 ];
with stdenv.lib;
assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null);
@ -42,7 +47,8 @@ stdenv.mkDerivation rec {
fluidsynth wayland wayland-protocols
] ++ optional (!stdenv.hostPlatform.isAarch64) live555
++ optionals withQt5 [ qtbase qtsvg qtx11extras ]
++ optional jackSupport libjack2;
++ optional jackSupport libjack2
++ optionals chromecastSupport [ protobuf libmicrodns ];
nativeBuildInputs = [ autoreconfHook perl pkgconfig removeReferencesTo ];
@ -76,7 +82,12 @@ stdenv.mkDerivation rec {
# "--enable-foo" flags here
configureFlags = [
"--with-kde-solid=$out/share/apps/solid/actions"
] ++ optional onlyLibVLC "--disable-vlc";
] ++ optional onlyLibVLC "--disable-vlc"
++ optionals chromecastSupport [
"--enable-sout"
"--enable-chromecast"
"--enable-microdns"
];
# Remove runtime dependencies on libraries
postConfigure = ''

View File

@ -0,0 +1,30 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkgconfig
}:
stdenv.mkDerivation rec {
version = "0.0.10";
pname = "libmicrodns";
src = fetchFromGitHub {
owner = "videolabs";
repo = pname;
rev = version;
sha256 = "1xvl9k49ng35wbsqmnjnyqvkyjf8dcq2ywsq3jp3wh0rgmxhq2fh";
};
nativeBuildInputs = [
autoreconfHook
pkgconfig
];
meta = with stdenv.lib; {
description = "Minimal mDNS resolver library, used by VLC";
homepage = https://github.com/videolabs/libmicrodns;
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = [ maintainers.shazow ];
};
}

View File

@ -4105,6 +4105,8 @@ in
libpointmatcher = callPackage ../development/libraries/libpointmatcher { };
libmicrodns = callPackage ../development/libraries/libmicrodns { };
libnids = callPackage ../tools/networking/libnids { };
libtorrent = callPackage ../tools/networking/p2p/libtorrent { };