python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / interpreters / bqn / dzaima-bqn / default.nix
blobb6591825f887804ae3dcdb63dc1ae99123b2fc8d
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , jdk
5 , makeWrapper
6 , buildNativeImage ? true
7 }:
9 stdenv.mkDerivation rec {
10   pname = "dbqn" + lib.optionalString buildNativeImage "-native";
11   version = "0.2.1";
13   src = fetchFromGitHub {
14     owner = "dzaima";
15     repo = "BQN";
16     rev = "v${version}";
17     sha256 = "1kxzxz2hrd1871281s4rsi569qk314aqfmng9pkqn8gv9nqhmph0";
18   };
20   nativeBuildInputs = [
21     jdk
22     makeWrapper
23   ];
25   dontConfigure = true;
27   postPatch = ''
28     patchShebangs --build ./build8
29   '';
31   buildPhase = ''
32     runHook preBuild
34     ./build8
35   '' + lib.optionalString buildNativeImage ''
36     native-image --report-unsupported-elements-at-runtime \
37       -H:CLibraryPath=${lib.getLib jdk}/lib -J-Dfile.encoding=UTF-8 \
38       -jar BQN.jar dbqn
39   '' + ''
40     runHook postBuild
41   '';
43   installPhase = ''
44     runHook preInstall
46     mkdir -p $out/bin
48   '' + (if buildNativeImage then ''
49     mv dbqn $out/bin
50   '' else ''
51     mkdir -p $out/share/${pname}
52     mv BQN.jar $out/share/${pname}/
54     makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dbqn" \
55       --add-flags "-jar $out/share/${pname}/BQN.jar"
56   '') + ''
57     ln -s $out/bin/dbqn $out/bin/bqn
59     runHook postInstall
60   '';
62   meta = with lib; {
63     homepage = "https://github.com/dzaima/BQN";
64     description = "A BQN implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image";
65     license = licenses.mit;
66     maintainers = with maintainers; [ AndersonTorres sternenseemann ];
67     inherit (jdk.meta) platforms;
68     broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/dbqn-native.x86_64-darwin
69   };
71 # TODO: Processing app
72 # TODO: minimalistic JDK