ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / by-name / gb / gbforth / package.nix
blob0d0f426167259828539408070c5b6f1153adf30d
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   makeWrapper,
6   gforth,
7 }:
9 stdenv.mkDerivation {
10   pname = "gbforth";
11   version = "unstable-2023-03-02";
13   src = fetchFromGitHub {
14     owner = "ams-hackers";
15     repo = "gbforth";
16     rev = "428fcf5054fe301e90ac74b1d920ee3ecc375b5b";
17     hash = "sha256-v1bdwT15Wg1VKpo74Cc3tsTl1uOKvKdlHWtbZkJ/qbA=";
18   };
20   nativeBuildInputs = [
21     makeWrapper
22   ];
24   dontBuild = true;
26   installPhase = ''
27     runHook preInstall
28     mkdir -p $out/share/gbforth $out/bin
29     cp -r lib shared src gbforth.fs $out/share/gbforth/
30     makeWrapper ${gforth}/bin/gforth $out/bin/gbforth \
31       --set GBFORTH_PATH $out/share/gbforth/lib \
32       --add-flags $out/share/gbforth/gbforth.fs
33     runHook postInstall
34   '';
36   doInstallCheck = true;
37   installCheckPhase = ''
38     runHook preInstallCheck
39     $out/bin/gbforth examples/simon/simon.fs
40     runHook postInstallCheck
41   '';
43   meta = with lib; {
44     homepage = "https://gbforth.org/";
45     description = "Forth-based Game Boy development kit";
46     mainProgram = "gbforth";
47     longDescription = ''
48       A Forth-based Game Boy development kit.
49       It features a Forth-based assembler, a cross-compiler with support for
50       lazy code generation and a library of useful words.
51     '';
52     license = licenses.mit;
53     platforms = platforms.all;
54     maintainers = with maintainers; [ fgaz ];
55   };