nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 83 lines 1.7 kB view raw
1{ 2 lib, 3 stdenvNoCC, 4 fetchFromGitHub, 5 jre, 6 makeWrapper, 7 buildNativeImage ? false, 8}: 9 10stdenvNoCC.mkDerivation rec { 11 pname = "dbqn" + lib.optionalString buildNativeImage "-native"; 12 version = "0.2.2"; 13 14 src = fetchFromGitHub { 15 owner = "dzaima"; 16 repo = "BQN"; 17 rev = "v${version}"; 18 hash = "sha256-AUfT7l7zr/pyG63wX8FMej8RUg7tXC1aroCrunjyw/8="; 19 }; 20 21 nativeBuildInputs = [ 22 jre 23 makeWrapper 24 ]; 25 26 dontConfigure = true; 27 28 postPatch = '' 29 patchShebangs --build ./build8 30 ''; 31 32 buildPhase = '' 33 runHook preBuild 34 35 ./build8 36 '' 37 + lib.optionalString buildNativeImage '' 38 native-image --report-unsupported-elements-at-runtime \ 39 -H:CLibraryPath=${lib.getLib jre}/lib -J-Dfile.encoding=UTF-8 \ 40 -jar BQN.jar dbqn 41 '' 42 + '' 43 runHook postBuild 44 ''; 45 46 installPhase = '' 47 runHook preInstall 48 49 mkdir -p $out/bin 50 51 '' 52 + ( 53 if buildNativeImage then 54 '' 55 mv dbqn $out/bin 56 '' 57 else 58 '' 59 mkdir -p $out/share/dbqn 60 mv BQN.jar $out/share/dbqn/ 61 62 makeWrapper "${lib.getBin jre}/bin/java" "$out/bin/dbqn" \ 63 --add-flags "-jar $out/share/dbqn/BQN.jar" 64 '' 65 ) 66 + '' 67 ln -s $out/bin/dbqn $out/bin/bqn 68 69 runHook postInstall 70 ''; 71 72 meta = { 73 homepage = "https://github.com/dzaima/BQN"; 74 description = 75 "BQN implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image"; 76 license = lib.licenses.mit; 77 maintainers = with lib.maintainers; [ 78 sternenseemann 79 ]; 80 inherit (jre.meta) platforms; 81 broken = stdenvNoCC.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/dbqn-native.x86_64-darwin 82 }; 83}