64 lines
1.7 KiB
Nix
64 lines
1.7 KiB
Nix
{ lib
|
|
, buildNpmPackage
|
|
, fetchFromGitLab
|
|
, makeDesktopItem
|
|
, copyDesktopItems
|
|
, makeWrapper
|
|
, electron
|
|
}:
|
|
|
|
buildNpmPackage rec {
|
|
pname = "fcast-receiver";
|
|
version = "1.0.14";
|
|
|
|
src = fetchFromGitLab {
|
|
domain = "gitlab.futo.org";
|
|
owner = "videostreaming";
|
|
repo = "fcast";
|
|
rev = "c7a1cb27c470870df50dbf0de00a133061298d46";
|
|
hash = "sha256-9xF1DZ2wt6zMoUQywmvnNN3Z8m4GhOFJElENhozF9c8=";
|
|
};
|
|
|
|
sourceRoot = "${src.name}/receivers/electron";
|
|
|
|
makeCacheWritable = true;
|
|
|
|
npmDepsHash = "sha256-gpbFZ8rKYR/GUY1l4eH5io/lz6FpJLUTl5h8q3haxvw=";
|
|
|
|
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
|
|
|
desktopItems = [
|
|
(makeDesktopItem {
|
|
name = pname;
|
|
desktopName = "FCast Receiver";
|
|
genericName = "Media Streaming Receiver";
|
|
exec = "fcast-receiver";
|
|
icon = "fcast-receiver";
|
|
comment = "FCast Receiver, an open-source media streaming receiver";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
copyDesktopItems
|
|
makeWrapper
|
|
];
|
|
|
|
postInstall = ''
|
|
install -Dm644 $out/lib/node_modules/fcast-receiver/app.png $out/share/pixmaps/fcast-receiver.png
|
|
|
|
makeWrapper ${electron}/bin/electron $out/bin/fcast-receiver \
|
|
--add-flags $out/lib/node_modules/fcast-receiver/dist/bundle.js
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "FCast Receiver, an open-source media streaming receiver";
|
|
longDescription = ''
|
|
FCast Receiver is a receiver for an open-source media streaming protocol, FCast, an alternative to Chromecast and AirPlay.
|
|
'';
|
|
homepage = "https://fcast.org/";
|
|
license = licenses.gpl3;
|
|
maintainers = with maintainers; [ ymstnt ];
|
|
mainProgram = "fcast-receiver";
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|