@@ -19,8 +19,11 @@ def make_template(
1919 "JUPYTER_CONFIG_PATH" : ".jupyter" ,
2020 "IPYTHON_CONFIG_PATH" : ".ipython" ,
2121 "SERVER_PATH" : ".server" ,
22- "JAVA_HOME" : "/opt/java/openjdk" ,
22+ "JAVA_VERSION" : "21" ,
23+ "JAVA_HOME" : "/usr/lib/jvm/java-${JAVA_VERSION}-openjdk-amd64" ,
2324 "DENO_INSTALL" : "/opt/deno" ,
25+ "DENO_VERSION" : "v2.4.0" ,
26+ "R_VERSION" : "4.5.*" ,
2427 }
2528 )
2629 .apt_install (
@@ -32,6 +35,10 @@ def make_template(
3235 "jq" ,
3336 "sudo" ,
3437 "fonts-noto-cjk" ,
38+ "dirmngr" ,
39+ "gnupg" ,
40+ "apt-transport-https" ,
41+ "ca-certificates" ,
3542 ]
3643 )
3744 .run_cmd ("curl -fsSL https://deb.nodesource.com/setup_20.x | bash -" )
@@ -45,11 +52,21 @@ def make_template(
4552
4653 # Install R Kernel if requested
4754 if "r" in kernels :
48- template = template .apt_install ("r-base" ).run_cmd (
49- [
50- "R -e \" install.packages('IRkernel', repos='https://cloud.r-project.org')\" " ,
51- "R -e \" IRkernel::installspec(user = FALSE, name = 'r', displayname = 'R')\" " ,
52- ]
55+ template = (
56+ template .run_cmd (
57+ [
58+ "sudo gpg --keyserver keyserver.ubuntu.com --recv-key 95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7" ,
59+ "sudo gpg --armor --export 95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7 | sudo tee /etc/apt/trusted.gpg.d/cran_debian_key.asc" ,
60+ 'echo "deb https://cloud.r-project.org/bin/linux/debian trixie-cran40/" | sudo tee /etc/apt/sources.list.d/cran.list' ,
61+ ]
62+ )
63+ .apt_install ("r-base=${R_VERSION} r-base-dev" )
64+ .run_cmd (
65+ [
66+ "R -e \" install.packages('IRkernel', repos='https://cloud.r-project.org')\" " ,
67+ "R -e \" IRkernel::installspec(user = FALSE, name = 'r', displayname = 'R')\" " ,
68+ ]
69+ )
5370 )
5471
5572 # Install JavaScript Kernel if requested
@@ -63,14 +80,11 @@ def make_template(
6380 if "deno" in kernels :
6481 template = template .run_cmd (
6582 [
66- "curl -fsSL https://deno.land/x/ install/install .sh | sh" ,
83+ "curl -fsSL https://deno.land/install.sh | sh -s ${DENO_VERSION} " ,
6784 "PATH=$DENO_INSTALL/bin:$PATH" ,
6885 "deno jupyter --unstable --install" ,
6986 ]
70- )
71- template = template .copy (
72- "deno.json" , ".local/share/jupyter/kernels/deno/kernel.json"
73- )
87+ ).copy ("deno.json" , ".local/share/jupyter/kernels/deno/kernel.json" )
7488
7589 # Install Bash Kernel if requested
7690 if "bash" in kernels :
@@ -80,9 +94,9 @@ def make_template(
8094
8195 # Install Java and Java Kernel if requested
8296 if "java" in kernels :
83- template = template .apt_install ("default-jdk" )
8497 template = template .run_cmd (
8598 [
99+ "apt-get install -y --no-install-recommends openjdk-${JAVA_VERSION}-jdk" ,
86100 "wget https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip" ,
87101 "unzip ijava-1.3.0.zip" ,
88102 "python install.py --sys-prefix" ,
0 commit comments