diff --git a/pkgs/applications/misc/remarkable/restream/default.nix b/pkgs/applications/misc/remarkable/restream/default.nix new file mode 100644 index 000000000000..f2ce2bd441c2 --- /dev/null +++ b/pkgs/applications/misc/remarkable/restream/default.nix @@ -0,0 +1,48 @@ +{ lib +, bash +, stdenv +, lz4 +, ffmpeg-full +, fetchFromGitHub +, openssh +, makeWrapper +}: + +stdenv.mkDerivation rec { + pname = "restream"; + version = "1.1"; + + src = fetchFromGitHub { + owner = "rien"; + repo = pname; + rev = version; + sha256 = "18z17chl7r5dg12xmr3f9gbgv97nslm8nijigd03iysaj6dhymp3"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + install -D ${src}/restream.arm.static $out/libexec/restream.arm.static + install -D ${src}/reStream.sh $out/bin/restream + + runHook postInstall + ''; + + postInstall = '' + # `ffmpeg-full` is used here to bring in `ffplay`, which is used to display + # the reMarkable framebuffer + wrapProgram "$out/bin/restream" --suffix PATH ":" "${lib.makeBinPath [ ffmpeg-full lz4 openssh ]}" + ''; + + meta = with lib; { + description = "reMarkable screen sharing over SSH"; + homepage = "https://github.com/rien/reStream"; + license = licenses.mit; + maintainers = [ maintainers.cpcloud ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 04effbffbd3d..2bbc2ca4957a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3003,6 +3003,8 @@ in remarkable-mouse = python3Packages.callPackage ../applications/misc/remarkable/remarkable-mouse { }; + restream = callPackage ../applications/misc/remarkable/restream { }; + ryujinx = callPackage ../misc/emulators/ryujinx { }; scour = with python3Packages; toPythonApplication scour;