clojupyter: init at 0.3.2
This commit is contained in:
parent
1079e282c0
commit
fc4d8d7c64
@ -0,0 +1,73 @@
|
||||
{ pkgs
|
||||
, stdenv
|
||||
, lib
|
||||
, jre
|
||||
, fetchFromGitHub
|
||||
, writeShellScript
|
||||
, runCommand
|
||||
, imagemagick
|
||||
}:
|
||||
|
||||
# To test:
|
||||
# $(nix-build --no-out-link -E 'with import <nixpkgs> {}; jupyter.override { definitions = { clojure = clojupyter.definition; }; }')/bin/jupyter-notebook
|
||||
|
||||
let
|
||||
cljdeps = import ./deps.nix { inherit pkgs; };
|
||||
classp = cljdeps.makeClasspaths {};
|
||||
|
||||
shellScript = writeShellScript "clojupyter" ''
|
||||
${jre}/bin/java -cp ${classp} clojupyter.kernel.core "$@"
|
||||
'';
|
||||
|
||||
pname = "clojupyter";
|
||||
version = "0.3.2";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Jupyter kernel for Clojure";
|
||||
homepage = "https://github.com/clojupyter/clojupyter";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ thomasjm ];
|
||||
platforms = jre.meta.platforms;
|
||||
};
|
||||
|
||||
sizedLogo = size: stdenv.mkDerivation {
|
||||
name = "clojupyter-logo-${size}x${size}.png";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "clojupyter";
|
||||
repo = "clojupyter";
|
||||
rev = "0.3.2";
|
||||
sha256 = "1wphc7h74qlm9bcv5f95qhq1rq9gmcm5hvjblb01vffx996vr6jz";
|
||||
};
|
||||
|
||||
buildInputs = [ imagemagick ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontInstall = true;
|
||||
|
||||
buildPhase = ''
|
||||
convert ./resources/clojupyter/assets/logo-64x64.png -resize ${size}x${size} $out
|
||||
'';
|
||||
|
||||
inherit meta;
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
launcher = runCommand "clojupyter" { inherit pname version meta shellScript; } ''
|
||||
mkdir -p $out/bin
|
||||
ln -s $shellScript $out/bin/clojupyter
|
||||
'';
|
||||
|
||||
definition = {
|
||||
displayName = "Clojure";
|
||||
argv = [
|
||||
"${launcher}/bin/clojupyter"
|
||||
"{connection_file}"
|
||||
];
|
||||
language = "clojure";
|
||||
logo32 = sizedLogo "32";
|
||||
logo64 = sizedLogo "64";
|
||||
};
|
||||
}
|
@ -0,0 +1 @@
|
||||
{:deps {clojupyter/clojupyter {:mvn/version "0.3.2"}}}
|
1107
pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
generated
Normal file
1107
pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
generated
Normal file
File diff suppressed because it is too large
Load Diff
16
pkgs/applications/editors/jupyter-kernels/clojupyter/update.sh
Executable file
16
pkgs/applications/editors/jupyter-kernels/clojupyter/update.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
### To update clj2nix
|
||||
# $ nix-prefetch-github hlolli clj2nix
|
||||
|
||||
nix-shell --run "clj2nix deps.edn deps.nix" -E '
|
||||
with import ../../../../.. { };
|
||||
mkShell {
|
||||
buildInputs = [(callPackage (fetchFromGitHub {
|
||||
owner = "hlolli";
|
||||
repo = "clj2nix";
|
||||
rev = "b9a28d4a920d5d680439b1b0d18a1b2c56d52b04";
|
||||
sha256 = "0d8xlja62igwg757lab9ablz1nji8cp9p9x3j0ihqvp1y48w2as3";
|
||||
}) {})];
|
||||
}
|
||||
'
|
@ -12538,6 +12538,10 @@ with pkgs;
|
||||
clisp = callPackage ../development/interpreters/clisp { };
|
||||
clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
|
||||
|
||||
clojupyter = callPackage ../applications/editors/jupyter-kernels/clojupyter {
|
||||
jre = jre8;
|
||||
};
|
||||
|
||||
clojure = callPackage ../development/interpreters/clojure {
|
||||
# set this to an LTS version of java
|
||||
jdk = jdk11;
|
||||
|
Loading…
Reference in New Issue
Block a user