Skip to content

Commit 13de536

Browse files
committed
pin r, java, deno versions
1 parent 36529ce commit 13de536

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

template/template.py

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)