diff --git a/pkgs/games/wireworld/default.nix b/pkgs/games/wireworld/default.nix new file mode 100644 index 000000000000..5528b52a280a --- /dev/null +++ b/pkgs/games/wireworld/default.nix @@ -0,0 +1,57 @@ +{ lib +, stdenv +, fetchFromGitLab +, zip +, love +, makeWrapper +, makeDesktopItem +, copyDesktopItems +}: + +stdenv.mkDerivation rec { + pname = "wireworld"; + version = "unstable-2023-05-09"; + + src = fetchFromGitLab { + owner = "blinry"; + repo = pname; + rev = "03b82bf5d604d6d4ad3c07b224583de6c396fd17"; + hash = "sha256-8BshnGLuA8lmG9g7FU349DWKP/fZvlvjrQBau/LSJ4E="; + }; + + nativeBuildInputs = [ makeWrapper copyDesktopItems zip ]; + + desktopItems = [ + (makeDesktopItem { + name = "Wireworld"; + exec = pname; + comment = ""; + desktopName = "Wireworld"; + genericName = "Wireworld"; + categories = [ "Game" ]; + }) + ]; + + installPhase = '' + runHook preInstall + zip -9 -r Wireworld.love ./* + install -Dm444 -t $out/share/games/lovegames/ Wireworld.love + makeWrapper ${love}/bin/love $out/bin/Wireworld \ + --add-flags $out/share/games/lovegames/Wireworld.love + runHook postInstall + ''; + + meta = with lib; { + description = "Fascinating electronics logic puzzles, game where you'll learn how to build clocks, diodes, and logic gates"; + license = with licenses; [ + mit + ofl + blueOak100 + cc-by-sa-30 + cc-by-sa-40 + ]; + downloadPage = "https://ldjam.com/events/ludum-dare/53/wireworld"; + maintainers = with lib.maintainers; [ janik ]; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 20b5e2329b05..a75fdb6f72b9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39932,6 +39932,9 @@ with pkgs; wiremock = callPackage ../tools/networking/wiremock { }; + wireworld = callPackage ../games/wireworld { }; + + teseq = callPackage ../applications/misc/teseq { }; ape = callPackage ../applications/misc/ape { };