-
Notifications
You must be signed in to change notification settings - Fork 714
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #20060 from lazariv/20240307090339_new_pr_SOCI403
{lang}[GCC/13.2.0,GCCcore/13.2.0,gfbf/2023b] SOCI v4.0.3, yaml-cpp v0.8.0, RStudio-Server v2023.12.1+402 w/ Java 11 R 4.3.3
- Loading branch information
Showing
3 changed files
with
179 additions
and
0 deletions.
There are no files selected for viewing
98 changes: 98 additions & 0 deletions
98
...d/easyconfigs/r/RStudio-Server/RStudio-Server-2023.12.1+402-gfbf-2023b-Java-11-R-4.3.3.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
easyblock = 'CMakeNinja' | ||
|
||
name = 'RStudio-Server' | ||
version = "2023.12.1+402" | ||
versionsuffix = '-Java-%(javaver)s-R-%(rver)s' | ||
local_git_rev = '4da58325ffcff29d157d9264087d4b1ab27f7204' | ||
|
||
homepage = 'https://www.rstudio.com/' | ||
description = """This is the RStudio Server version. | ||
RStudio is a set of integrated tools designed to help you be more productive with R. | ||
The server can be started with: | ||
rserver --server-daemonize=0 --www-port=8787 | ||
If you need a database config one can be created with: | ||
MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > "${MYTMP}/db.conf" | ||
and then used with: | ||
rserver ... --database-config-file="${MYTMP}/db.conf" | ||
""" | ||
|
||
toolchain = {'name': 'gfbf', 'version': '2023b'} | ||
|
||
source_urls = ['https://github.com/rstudio/rstudio/archive'] | ||
sources = ['v%(version)s.tar.gz'] | ||
checksums = ['196d31094d580a74737fbf689d2d0b302da5fec13694aa1d63f8875d3e45e4dd'] | ||
|
||
builddependencies = [ | ||
('ant', '1.10.14', '-Java-%(javaver)s', SYSTEM), | ||
('CMake', '3.27.6'), | ||
('Ninja', '1.11.1'), | ||
('pkgconf', '2.0.3'), | ||
('nodejs', '20.9.0'), | ||
] | ||
|
||
dependencies = [ | ||
('Boost', '1.83.0'), | ||
('Java', '11', '', SYSTEM), | ||
('R', '4.3.3'), | ||
('SOCI', '4.0.3'), | ||
('yaml-cpp', '0.8.0'), | ||
] | ||
|
||
osdependencies = [ | ||
('pam-devel', 'libpam0g-dev') | ||
] | ||
|
||
preconfigopts = " && ".join([ | ||
# Install dependencies via scripts. Done in subshell to preserve PWD | ||
"(export RSTUDIO_TOOLS_ROOT='%(builddir)s'", | ||
"cd '%(start_dir)s/dependencies/common'", | ||
"./install-cef", | ||
"./install-dictionaries", | ||
"./install-mathjax", | ||
"./install-pandoc", | ||
"./install-packages", | ||
"./install-panmirror", | ||
"./install-npm-dependencies)", | ||
"" | ||
]) | ||
|
||
configopts = " ".join([ | ||
"-DRSTUDIO_TOOLS_ROOT='%(builddir)s'", | ||
"-DRSTUDIO_TARGET=Server", | ||
"-DRSTUDIO_USE_SYSTEM_BOOST=ON", | ||
"-DRSTUDIO_USE_SYSTEM_SOCI=ON", | ||
"-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON", | ||
"-DQUARTO_ENABLED=OFF", # Not available on all archs, use pandoc fallback | ||
"-DRSTUDIO_GIT_REVISION_HASH=" + local_git_rev | ||
]) | ||
|
||
sanity_check_commands = [ | ||
# RSession requires environment variables R_HOME and R_DOC_DIR | ||
'R_HOME="$EBROOTR/lib64/R" R_DOC_DIR="$R_HOME/doc" rsession --verify-installation=1', | ||
# RServer requires a db conf (this may also be needed for live use) | ||
# Also create and set a soem dirs so it doesn't try to use $HOME | ||
' '.join([ | ||
'MYTMP=`mktemp -d`', | ||
'&& export RSTUDIO_CONFIG_DIR="$MYTMP"', | ||
'&& export XDG_DATA_HOME="$MYTMP/.data"', | ||
'&& export XDG_CACHE_HOME="$MYTMP/.cache"', | ||
'&& mkdir "$XDG_DATA_HOME" "$XDG_CACHE_HOME"', | ||
'&& export RS_LOG_DIR="$MYTMP/log"', | ||
'&& echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf"', | ||
'&& rserver', | ||
'--verify-installation=1', | ||
'--server-user="$USER"', | ||
'--database-config-file="$MYTMP/db.conf"', | ||
'--server-data-dir="$MYTMP/sdd"', | ||
'--secure-cookie-key-file="$MYTMP/secure-cookie-key"', | ||
]), | ||
] | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/rstudio-server'], | ||
'dirs': ['bin', 'extras', 'resources', 'www', 'www-symbolmaps', 'R'], | ||
} | ||
|
||
moduleclass = 'lang' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
easyblock = 'CMakeMake' | ||
|
||
name = 'SOCI' | ||
version = '4.0.3' | ||
|
||
homepage = 'http://soci.sourceforge.net/' | ||
description = """SOCI is a database access library for C++ that makes the illusion of embedding SQL queries in the | ||
regular C++ code, staying entirely within the Standard C++.""" | ||
|
||
toolchain = {'name': 'GCC', 'version': '13.2.0'} | ||
|
||
source_urls = ['https://github.com/SOCI/soci/archive'] | ||
sources = ['v%(version)s.tar.gz'] | ||
checksums = ['4b1ff9c8545c5d802fbe06ee6cd2886630e5c03bf740e269bb625b45cf934928'] | ||
|
||
builddependencies = [ | ||
('CMake', '3.27.6'), | ||
] | ||
|
||
dependencies = [ | ||
('Boost', '1.83.0'), | ||
('SQLite', '3.43.1'), | ||
('PostgreSQL', '16.1'), | ||
] | ||
|
||
# Matches RStudio (1.4.1717) install options | ||
# https://github.com/rstudio/rstudio/blob/ddcd7191ec89c4da00e77afae7e9f27e61e87c36/dependencies/common/install-soci | ||
configopts = "-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true " | ||
configopts += "-DSOCI_TESTS=OFF " | ||
configopts += "-DSOCI_CXX11=ON " | ||
configopts += "-DSOCI_EMPTY=OFF " | ||
configopts += '-DCMAKE_INCLUDE_PATH="$EBROOTBOOST/include" ' | ||
configopts += "-DBoost_USE_STATIC_LIBS=ON " | ||
configopts += '-DCMAKE_LIBRARY_PATH="$EBROOTBOOST/lib" ' | ||
configopts += "-DWITH_BOOST=ON " | ||
configopts += "-DWITH_POSTGRESQL=ON " | ||
configopts += "-DWITH_SQLITE3=ON " | ||
configopts += "-DWITH_DB2=OFF " | ||
configopts += "-DWITH_MYSQL=OFF " | ||
configopts += "-DWITH_ORACLE=OFF " | ||
configopts += "-DWITH_FIREBIRD=OFF " | ||
configopts += "-DWITH_ODBC=OFF " | ||
configopts += "-DBoost_DEBUG=1 " | ||
|
||
local_dbs = ['postgresql', 'sqlite3'] | ||
|
||
sanity_check_paths = { | ||
'files': ['lib/libsoci_%s.%s' % (x, SHLIB_EXT) for x in local_dbs + ['core']], | ||
'dirs': ['include/soci/%s' % x for x in local_dbs], | ||
} | ||
|
||
moduleclass = 'lang' |
29 changes: 29 additions & 0 deletions
29
easybuild/easyconfigs/y/yaml-cpp/yaml-cpp-0.8.0-GCCcore-13.2.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# This easyconfig was created by the BEAR Software team at the University of Birmingham. | ||
easyblock = 'CMakeMake' | ||
name = 'yaml-cpp' | ||
version = "0.8.0" | ||
|
||
homepage = "https://github.com/jbeder/yaml-cpp" | ||
description = """yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '13.2.0'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['https://github.com/jbeder/%(name)s/archive/'] | ||
sources = ['%(version)s.tar.gz'] | ||
|
||
checksums = [ | ||
{'0.8.0.tar.gz': 'fbe74bbdcee21d656715688706da3c8becfd946d92cd44705cc6098bb23b3a16'}, | ||
] | ||
|
||
builddependencies = [ | ||
('binutils', '2.40'), | ||
('CMake', '3.27.6') | ||
] | ||
|
||
sanity_check_paths = { | ||
'files': ['lib/libyaml-cpp.a', 'include/yaml-cpp/yaml.h'], | ||
'dirs': ['lib', 'include'], | ||
} | ||
|
||
moduleclass = 'tools' |