1{ lib, stdenv, fetchurl, makeWrapper, jdk }:
2
3stdenv.mkDerivation rec {
4 pname = "rascal";
5 version = "0.33.8";
6
7 src = fetchurl {
8 url = "https://update.rascal-mpl.org/console/${pname}-${version}.jar";
9 sha256 = "sha256-8m7+ME0mu9LEMzklkz1CZ9s7ZCMjoA5oreICFSpb4S8=";
10 };
11
12 nativeBuildInputs = [ makeWrapper ];
13 buildInputs = [ jdk ];
14
15 dontUnpack = true;
16
17 installPhase =
18 ''
19 mkdir -p $out/bin
20 makeWrapper ${jdk}/bin/java $out/bin/rascal \
21 --add-flags "-jar ${src}" \
22 '';
23
24 meta = {
25 homepage = "https://www.rascal-mpl.org/";
26 description = "Command-line REPL for the Rascal metaprogramming language";
27 mainProgram = "rascal";
28 sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
29 license = lib.licenses.epl10;
30 maintainers = [ lib.maintainers.eelco ];
31 platforms = lib.platforms.unix;
32 };
33}