From 21225494766730afdd6fb2227bad947e6426d2c6 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Fri, 8 Oct 2021 00:14:23 -0300 Subject: [PATCH] dapl: init at 0.2.0+unstable=2021-06-30 --- .../interpreters/dzaima-apl/default.nix | 66 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 10 +++ 2 files changed, 76 insertions(+) create mode 100644 pkgs/development/interpreters/dzaima-apl/default.nix diff --git a/pkgs/development/interpreters/dzaima-apl/default.nix b/pkgs/development/interpreters/dzaima-apl/default.nix new file mode 100644 index 000000000000..956311584388 --- /dev/null +++ b/pkgs/development/interpreters/dzaima-apl/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, jdk +, makeWrapper +, buildNativeImage ? true +}: + +stdenv.mkDerivation rec { + pname = "dapl" + lib.optionalString buildNativeImage "-native"; + version = "0.2.0+unstable=2021-06-30"; + + src = fetchFromGitHub { + owner = "dzaima"; + repo = "APL"; + rev = "28b3667beb23c6472266bb2b6eb701708fa421c6"; + hash = "sha256-2kM9XDMclxJNOZngwLvoDQG23UZQQ6ePK/j215UumCg="; + }; + + nativeBuildInputs = [ + makeWrapper + jdk + ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + patchShebangs --build ./build + ./build + '' + lib.optionalString buildNativeImage '' + native-image --report-unsupported-elements-at-runtime \ + -H:CLibraryPath=${lib.getLib jdk}/lib -jar APL.jar dapl + '' + '' + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + '' + (if buildNativeImage then '' + mv dapl $out/bin + '' else '' + mkdir -p $out/share/${pname} + mv APL.jar $out/share/${pname}/ + + makeWrapper "${lib.getBin jdk}/bin/java" "$out/bin/dapl" \ + --add-flags "-jar $out/share/${pname}/APL.jar" + '') + '' + ln -s $out/bin/dapl $out/bin/apl + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://github.com/dzaima/APL"; + description = "An APL implementation in Java" + lib.optionalString buildNativeImage ", compiled as a native image"; + license = licenses.mit; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (jdk.meta) platforms; + }; +} +# TODO: Processing app +# TODO: minimalistic JDK diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 509cd7faf1ad..3faddffeccba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5621,6 +5621,16 @@ with pkgs; gnuapl = callPackage ../development/interpreters/gnu-apl { }; + dapl = callPackage ../development/interpreters/dzaima-apl { + buildNativeImage = false; + stdenv = stdenvNoCC; + jdk = jre; + }; + dapl-native = callPackage ../development/interpreters/dzaima-apl { + buildNativeImage = true; + jdk = graalvm11-ce; + }; + gnucap = callPackage ../applications/science/electronics/gnucap { }; gnu-cobol = callPackage ../development/compilers/gnu-cobol { };