A useful CLI script I found that's way light than VLC and other GUI apps since SSDP is pretty much a text-based protocol built on top of HTTP.
69 lines
1.7 KiB
Nix
69 lines
1.7 KiB
Nix
{
|
|
# Derivation stuff
|
|
fetchFromGitHub,
|
|
lib,
|
|
makeWrapper,
|
|
stdenv,
|
|
# Dependencies
|
|
# Add these to the wrapper
|
|
curl,
|
|
gawk,
|
|
gnugrep,
|
|
gnused,
|
|
socat,
|
|
wget,
|
|
}:
|
|
stdenv.mkDerivation {
|
|
pname = "simple-dlna-browser";
|
|
version = "unstable-2023-01-09";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "javier-lopez";
|
|
repo = "learn";
|
|
sparseCheckout = [
|
|
"sh/tools/simple-dlna-browser"
|
|
];
|
|
rev = "666e2c402723251ba19ce9d7c11b83b06c15a2c5";
|
|
sha256 = "sha256-jwPAEgti5DrjNnNVW/61GGTP+QedGAjz9kPwYhMAdTk=";
|
|
};
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
installPhase = ''
|
|
outputWrapper="$out/bin/simple-dlna-browser"
|
|
outputWrapped="$out/bin/wrapped-simple-dlna-browser"
|
|
|
|
mkdir -p $out/bin
|
|
cp sh/tools/simple-dlna-browser $outputWrapped
|
|
makeWrapper $outputWrapped $outputWrapper \
|
|
--prefix PATH : ${lib.makeBinPath [
|
|
curl
|
|
gawk
|
|
gnugrep
|
|
gnused
|
|
socat
|
|
wget
|
|
]}
|
|
|
|
# Set the program name to a fixed value
|
|
# Normally it is guessed by the filename, but we don't want it to be the name of the wrapper
|
|
sed -i -e 's/PROGNAME=".*"/PROGNAME="simple-dlna-browser"/' $outputWrapped
|
|
'';
|
|
|
|
meta = {
|
|
description = "Query dlna media servers";
|
|
longDescription = ''
|
|
A bash script that allows simple interactions with [DLNA] media servers.
|
|
It is a light-weight, CLI alternative to [VLC], [Kodi], and other players.
|
|
|
|
[DLNA]: https://en.wikipedia.org/wiki/Digital_Living_Network_Alliance
|
|
[Kodi]: https://kodi.tv/
|
|
[VLC]: https://www.videolan.org/vlc/
|
|
'';
|
|
homepage = "https://github.com/javier-lopez/learn/blob/master/sh/tools/simple-dlna-browser";
|
|
license = lib.licenses.fair;
|
|
maintainers = with lib.maintainers; [ loveisgrief ];
|
|
};
|
|
}
|
|
|