diff --git a/pkgs/games/find-billy/default.nix b/pkgs/games/find-billy/default.nix new file mode 100644 index 000000000000..37f38a58041e --- /dev/null +++ b/pkgs/games/find-billy/default.nix @@ -0,0 +1,69 @@ +{ stdenv +, lib +, fetchFromGitea +, godot3-headless +, godot3-export-templates +, godot3 +, makeWrapper +, just +, inkscape +, imagemagick +}: + +stdenv.mkDerivation rec { + pname = "find-billy"; + version = "0.37.3"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "annaaurora"; + repo = "Find-Billy"; + rev = "v${version}"; + hash = "sha256-z1GR5W67LJb5z+u/qeFZreMK4B6PjB18coecLCYFHy8="; + }; + + strictDeps = true; + + nativeBuildInputs = [ godot3-headless makeWrapper just inkscape imagemagick ]; + + postPatch = '' + substituteInPlace export_presets.cfg --replace 'res://build/icons/usr/share/icons/hicolor' $out/share/icons/hicolor + substituteInPlace project.godot --replace 'res://build/icons/usr/share/icons/hicolor' $out/share/icons/hicolor + + substituteInPlace justfile --replace '{{build_icons_dir}}/usr' $out + ''; + + buildPhase = '' + runHook preBuild + + # Cannot create file `/homeless-shelter/.config/godot/projects/...` + export HOME=$TMPDIR + # Link the export-templates to the expected location. The `--export` option expects the templates in the home directory. + mkdir -p $HOME/.local/share/godot + ln -s ${godot3-export-templates}/share/godot/templates $HOME/.local/share/godot + + mkdir -p $out/share/find-billy + godot3-headless --export-pack 'Linux/X11' $out/share/${pname}/${pname}.pck + makeWrapper ${godot3}/bin/godot3 $out/bin/${pname} \ + --add-flags "--main-pack" \ + --add-flags "$out/share/${pname}/${pname}.pck" + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + just build-icons + install -D ${pname}.desktop -t $out/share/applications + + runHook postInstall + ''; + + meta = with lib; { + description = "A 2 dimensional Pixel Art Jump & Run"; + homepage = "https://codeberg.org/annaaurora/Find-Billy"; + license = licenses.gpl3Plus; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 26f01082edd5..ef5e5ee5b4f9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1049,6 +1049,8 @@ with pkgs; prefetch-yarn-deps fetchYarnDeps; + find-billy = callPackage ../games/find-billy { }; + find-cursor = callPackage ../tools/X11/find-cursor { }; flare-floss = callPackage ../tools/security/flare-floss { };