-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathJupyterKernel-Java-2.2.0-GCCcore-13.3.0.eb
More file actions
107 lines (94 loc) · 3.78 KB
/
Copy pathJupyterKernel-Java-2.2.0-GCCcore-13.3.0.eb
File metadata and controls
107 lines (94 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# This file is part of JSC's public easybuild repository (https://github.com/easybuilders/jsc)
easyblock = 'JAR'
name = 'JupyterKernel-Java'
version = '2.2.0'
local_java_ver = '21'
homepage = 'https://github.com/padreati/rapaio-jupyter-kernel'
description = """Jupyter kernel for Java language based on JShell.
"""
toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
source_urls = ['https://github.com/padreati/rapaio-jupyter-kernel/releases/download/%(version)s']
sources = ['rapaio-jupyter-kernel-%(version)s.jar']
patches = [
('logo-32x32.png', '.'),
('logo-64x64.png', '.'),
('logo-128x128.png', '.'),
]
checksums = [
{'rapaio-jupyter-kernel-2.2.0.jar': 'a01cc1fadf7ed474d4353d207969c0773321d46f41ed66019936200e4a190e63'},
{'logo-32x32.png': 'ab3278228d3ed898050bec348c9aee2201f1e7792b7d29cc725b01b71df8dcec'},
{'logo-64x64.png': 'ff1bf6d14050371c69f1db86e39f02a3f58653915c702d259d7772335efa48cd'},
{'logo-128x128.png': '9c1fe77de07e5d2b0d2dbc0945058859a8b2fbc558e4a939db21bf1fba2a534c'},
]
builddependencies = [
('binutils', '2.42'),
]
dependencies = [
('Java', local_java_ver, '', SYSTEM),
('java-language-server', '0.2.46'),
]
local_jupyter_path = 'share/jupyter'
modextrapaths = {
'JUPYTER_PATH': ['share/jupyter'], # add search path for kernelspecs
}
local_kernel_dir = 'rapaio-jupyter-kernel'
local_kernel_name = 'Java -%s' % local_java_ver
# Ensure that the user-specific $HOME/.local/share/jupyter is always first entry in JUPYTHER_PATH
modluafooter = """
remove_path("JUPYTER_PATH", pathJoin(os.getenv("HOME"), ".local/share/jupyter"))
prepend_path("JUPYTER_PATH", pathJoin(os.getenv("HOME"), ".local/share/jupyter"))
"""
postinstallcmds = [
# create kernel skeleton
(
'mkdir -p %%(installdir)s/share/jupyter/kernels/%s && '
'mv %%(installdir)s/logo-32x32.png %%(installdir)s/share/jupyter/kernels/%s/logo-32x32.png && '
'mv %%(installdir)s/logo-64x64.png %%(installdir)s/share/jupyter/kernels/%s/logo-64x64.png && '
'mv %%(installdir)s/logo-128x128.png %%(installdir)s/share/jupyter/kernels/%s/logo-128x128.png && '
'mv %%(installdir)s/rapaio-jupyter-kernel-%%(version)s.jar %%(installdir)s/share/jupyter/kernels/%s/ '
) % (local_kernel_dir, local_kernel_dir, local_kernel_dir, local_kernel_dir, local_kernel_dir),
# write kernel.sh
(
'{ cat > %%(installdir)s/share/jupyter/kernels/%s/kernel.sh; } << EOF\n'
'#!/bin/sh\n'
'module purge\n'
'module load Stages/${STAGE}\n'
'module load Java/%s\n'
'exec java \$@\n'
'EOF'
) % (local_kernel_dir, local_java_ver),
'chmod +x %%(installdir)s/share/jupyter/kernels/%s/kernel.sh' % local_kernel_dir,
# Jupyter Kernel: Java
(
'{ cat > %%(installdir)s/share/jupyter/kernels/%s/kernel.json; } << EOF\n'
'{\n'
' "argv": [\n'
' "%%(installdir)s/share/jupyter/kernels/%s/kernel.sh",\n'
' "--enable-preview",\n'
' "--add-modules",\n'
' "java.base,jdk.incubator.vector",\n'
' "-jar",\n'
' "%%(installdir)s/share/jupyter/kernels/%s/rapaio-jupyter-kernel-%%(version)s.jar",\n'
' "{connection_file}"\n'
' ],\n'
' "display_name": "%s",\n'
' "language": "java",\n'
' "interrupt_mode": "message",\n'
' "env": {\n'
' "RJK_COMPILER_OPTIONS": "",\n'
' "RJK_INIT_SCRIPT": "",\n'
' "RJK_TIMEOUT_MILLIS": "-1"\n'
' }\n'
'}\n'
'EOF'
) % (local_kernel_dir, local_kernel_dir, local_kernel_dir, local_kernel_name),
]
sanity_check_paths = {
'files': [
'share/jupyter/kernels/%s/kernel.json' % (local_kernel_dir),
],
'dirs': [
'share/jupyter/kernels/%s' % (local_kernel_dir),
],
}
moduleclass = 'tools'