diff --git a/default.nix b/default.nix index 5669008..9e2be10 100644 --- a/default.nix +++ b/default.nix @@ -1,4 +1,6 @@ final: prev: let inherit (prev) callPackage; in -{ } +{ + shoreline = callPackage ./shoreline { }; +} diff --git a/flake.nix b/flake.nix index 295929a..978430e 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,8 @@ { packages = { inherit (pkgs) - pixelnuke; + pixelnuke + shoreline; }; })); } diff --git a/shoreline/default.nix b/shoreline/default.nix new file mode 100644 index 0000000..a30e73e --- /dev/null +++ b/shoreline/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchFromGitHub, pkg-config, SDL2, freetype, libvncserver, numactl }: + +stdenv.mkDerivation rec { + pname = "shoreline"; + version = "unstable-2021-08-24"; + + src = fetchFromGitHub { + owner = "TobleMiner"; + repo = pname; + rev = "05a2bbfb4559090727c51673e1fb47d20eac5672"; + sha256 = "sha256-fWzk1gM8vmqkM9hwl6Jnut2AAMQQ91hAYu41xgoI1Jk="; + }; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ SDL2 freetype libvncserver numactl ]; + + installPhase = '' + runHook preInstall + install -D shoreline $out/bin/shoreline + runHook postInstall + ''; + + meta = with lib; { + description = "A very fast (40+ Gbit/s) pixelflut server written in C with full IPv6 support"; + homepage = "https://github.com/TobleMiner/shoreline"; + license = licenses.mit; + maintainers = with maintainers; [ sbruder ]; + }; +}