Skip to content

Instantly share code, notes, and snippets.

@lorenzleutgeb
Created October 29, 2020 17:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lorenzleutgeb/f16d1b19935fc22db526ce011a6df89c to your computer and use it in GitHub Desktop.
Save lorenzleutgeb/f16d1b19935fc22db526ce011a6df89c to your computer and use it in GitHub Desktop.
{
description = "lac";
inputs.nixpkgs = { url = "nixpkgs/nixos-20.09"; };
/* This flake has a more recent version of Graal that supports Java 11. */
inputs.glittershark = { url = "github:glittershark/nixpkgs/graalvm-ce"; };
outputs = { self, nixpkgs, glittershark }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; };
glittersharkPkgs = import glittershark { inherit system; };
in rec {
devShell."${system}" =
with pkgs;
mkShell {
buildInputs = [
dot2tex
glittersharkPkgs.graalvm11-ce
gradle
packages."${system}".z3
];
shellHook = ''
echo ${z3}
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
export GRAAL_HOME="${glittersharkPkgs.graalvm11-ce}"
export JAVA_HOME="$GRAAL_HOME"
export GRADLE_HOME="${pkgs.gradle}"
echo "org.gradle.java.home=$JAVA_HOME" > gradle.properties
$JAVA_HOME/bin/java -version
$GRAAL_HOME/bin/gu --version
$GRAAL_HOME/bin/gu list
$GRADLE_HOME/bin/gradle -version
z3 --version
dot2tex --version
if [ "$GITHUB_ACTIONS" = "true" ]
then
echo "$PATH" >> $GITHUB_PATH
env | grep -E "^((GRAAL|GRADLE|JAVA)_HOME|LD_LIBRARY_PATH)=" | tee -a $GITHUB_ENV
fi
env
'';
};
packages."${system}".z3 = (pkgs.z3.override { javaBindings = true; jdk = glittersharkPkgs.graalvm11-ce; }).overrideAttrs(old: rec {
outputs = old.outputs ++ [ "java" ];
postInstall = old.postInstall + ''
ls -la
mkdir $java
mv *.jar $java
'';
});
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment