clojupyter: init at 0.3.2

launchpad/nixpkgs/master
Tom McLaughlin 4 years ago
parent 1079e282c0
commit fc4d8d7c64
  1. 73
      pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix
  2. 1
      pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
  3. 1107
      pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
  4. 16
      pkgs/applications/editors/jupyter-kernels/clojupyter/update.sh
  5. 4
      pkgs/top-level/all-packages.nix

@ -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"}}}

File diff suppressed because it is too large Load Diff

@ -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…
Cancel
Save