diff options
-rw-r--r-- | pkgs/applications/science/logic/elan/default.nix | 44 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 1 |
2 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/elan/default.nix b/pkgs/applications/science/logic/elan/default.nix new file mode 100644 index 00000000000..d9d90b3574c --- /dev/null +++ b/pkgs/applications/science/logic/elan/default.nix @@ -0,0 +1,44 @@ +{ stdenv, lib, pkgconfig, curl, openssl, zlib, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + name = "elan-${version}"; + version = "0.1.0"; + + cargoSha256 = "04cxwklfgz4q28grva52ws3lslaiq67fwqf6pglbzdrfbgdjjwb6"; + + src = fetchFromGitHub { + owner = "kha"; + repo = "elan"; + rev = "v${version}"; + sha256 = "065l9a1g974n8i44mz37sx88fl65h5hml611m4p81cy6av2x85sm"; + }; + + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ curl zlib openssl ]; + + cargoBuildFlags = [ "--features no-self-update" ]; + + postInstall = '' + pushd $out/bin + mv elan-init elan + for link in lean leanpkg; do + ln -s elan $link + done + popd + + # tries to create .elan + export HOME=$(mktemp -d) + mkdir -p "$out/share/"{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions} + $out/bin/elan completions bash > "$out/share/bash-completion/completions/elan" + $out/bin/elan completions fish > "$out/share/fish/vendor_completions.d/elan.fish" + $out/bin/elan completions zsh > "$out/share/zsh/site-functions/_elan" + ''; + + meta = with stdenv.lib; { + description = "Small tool to manage your installations of the Lean theorem prover"; + homepage = "https://github.com/Kha/elan"; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ gebner ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 914f0e54c02..9bc5658f7f4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20030,6 +20030,7 @@ with pkgs; lean = callPackage ../applications/science/logic/lean {}; lean2 = callPackage ../applications/science/logic/lean2 {}; lean3 = lean; + elan = callPackage ../applications/science/logic/elan {}; leo2 = callPackage ../applications/science/logic/leo2 { ocaml = ocamlPackages_4_01_0.ocaml;}; |