python312Packages.lion-pytorch: 0.2.2 -> 0.2.3 (#364581)
[NixPkgs.git] / pkgs / applications / editors / jupyter-kernels / clojupyter / default.nix
blob0a1de3a871a2c178cdf511b50441bea67442f682
2   pkgs,
3   stdenv,
4   lib,
5   jre,
6   fetchFromGitHub,
7   writeShellScript,
8   runCommand,
9   imagemagick,
12 # Jupyter console:
13 # nix run --impure --expr 'with import <nixpkgs> {}; jupyter-console.withSingleKernel clojupyter.definition'
15 # Jupyter notebook:
16 # nix run --impure --expr 'with import <nixpkgs> {}; jupyter.override { definitions.clojure = clojupyter.definition; }'
18 let
19   cljdeps = import ./deps.nix { inherit pkgs; };
20   classp = cljdeps.makeClasspaths { };
22   shellScript = writeShellScript "clojupyter" ''
23     ${jre}/bin/java -cp ${classp} clojupyter.kernel.core "$@"
24   '';
26   pname = "clojupyter";
27   version = "0.3.3";
29   meta = with lib; {
30     description = "Jupyter kernel for Clojure";
31     homepage = "https://github.com/clojupyter/clojupyter";
32     sourceProvenance = with sourceTypes; [ binaryBytecode ]; # deps from maven
33     license = licenses.mit;
34     maintainers = with maintainers; [ thomasjm ];
35     platforms = jre.meta.platforms;
36   };
38   sizedLogo =
39     size:
40     stdenv.mkDerivation {
41       name = "clojupyter-logo-${size}x${size}.png";
43       src = fetchFromGitHub {
44         owner = "clojupyter";
45         repo = "clojupyter";
46         rev = version;
47         sha256 = "sha256-BCzcPnLSonm+ELFU4JIIzLPlVnP0VzlrRSGxOd/LFow=";
48       };
50       buildInputs = [ imagemagick ];
52       dontConfigure = true;
53       dontInstall = true;
55       buildPhase = ''
56         convert ./resources/clojupyter/assets/logo-64x64.png -resize ${size}x${size} $out
57       '';
59       inherit meta;
60     };
64 rec {
65   launcher =
66     runCommand "clojupyter"
67       {
68         inherit
69           pname
70           version
71           meta
72           shellScript
73           ;
74       }
75       ''
76         mkdir -p $out/bin
77         ln -s $shellScript $out/bin/clojupyter
78       '';
80   definition = {
81     displayName = "Clojure";
82     argv = [
83       "${launcher}/bin/clojupyter"
84       "{connection_file}"
85     ];
86     language = "clojure";
87     logo32 = sizedLogo "32";
88     logo64 = sizedLogo "64";
89   };