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"}}} |
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"; |
||||
}) {})]; |
||||
} |
||||
' |
Loading…
Reference in new issue