chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / db / dbqn / package.nix
blob7ec4dea0534292b4b2b313b5281926b4be5335ff
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , jdk
5 , makeWrapper
6 , buildNativeImage ? false
7 }:
9 stdenv.mkDerivation rec {
10   pname = "dbqn" + lib.optionalString buildNativeImage "-native";
11   version = "0.2.2";
13   src = fetchFromGitHub {
14     owner = "dzaima";
15     repo = "BQN";
16     rev = "v${version}";
17     hash = "sha256-AUfT7l7zr/pyG63wX8FMej8RUg7tXC1aroCrunjyw/8=";
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/dbqn
52     mv BQN.jar $out/share/dbqn/
54     makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dbqn" \
55       --add-flags "-jar $out/share/dbqn/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 = "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.hostPlatform.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