Skip to content

Commit

Permalink
Merge pull request easybuilders#19362 from WilleBell/20231206140657_n…
Browse files Browse the repository at this point in the history
…ew_pr_SBCL2311

{lang}[GCCcore/11.3.0] SBCL v2.3.11, CCL v1.12.2
  • Loading branch information
lexming authored Dec 8, 2023
2 parents d995317 + e202f94 commit f6459d4
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 0 deletions.
52 changes: 52 additions & 0 deletions easybuild/easyconfigs/c/CCL/CCL-1.12.2-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
easyblock = 'MakeCp'
name = 'CCL'
version = '1.12.2'

homepage = 'https://ccl.clozure.com/'
description = """Clozure CL (often called CCL for short) is a free Common Lisp
implementation with a long history. Some distinguishing features of the implementation
include fast compilation speed, native threads, a precise, generational, compacting
garbage collector, and a convenient foreign-function interface."""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}

source_urls = ['https://github.com/Clozure/ccl/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s-linuxx86.tar.gz']
checksums = ['a94fda3daf26ce8c3d08e0db0e6e9907995acc10e0f8aad2125790b93eaa1556']

builddependencies = [
('binutils', '2.38'),
('M4', '1.4.19'),
]

local_ccl_bin = 'lx86cl64'
local_ccl_dirs = [
'compiler', 'level-0', 'level-1', 'lib', 'library', 'lisp-kernel', 'scripts', 'tools', 'xdump', 'x86-headers64'
]

# Build the kernel
buildopts = "-C lisp-kernel/linuxx8664 all CC=${CC} && "
# Rebuild CCL
buildopts += "./%s -n -b -Q -e '(ccl:rebuild-ccl :full t)' -e '(ccl:quit)'" % local_ccl_bin

files_to_copy = [local_ccl_bin, '%s.image' % local_ccl_bin] + local_ccl_dirs

postinstallcmds = [
# Cleanup of build files
"find %(installdir)s -type f -name '*fsl' -delete",
"find %(installdir)s/lisp-kernel -type f -name '*.o' -delete",
# Link executable with generic name
"mkdir %(installdir)s/bin",
"cd %%(installdir)s/bin && ln -s ../%s ccl" % local_ccl_bin,
]

sanity_check_paths = {
'files': [local_ccl_bin, '%s.image' % local_ccl_bin, 'bin/ccl'],
'dirs': local_ccl_dirs,
}

sanity_check_commands = ["ccl --help"]

modextrapaths = {'CCL_DEFAULT_DIRECTORY': ''}

moduleclass = 'lang'
46 changes: 46 additions & 0 deletions easybuild/easyconfigs/s/SBCL/SBCL-2.3.11-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
easyblock = 'ConfigureMake'
name = 'SBCL'
version = '2.3.11'

homepage = 'http://sbcl.sourceforge.net/'
description = """
Steel Bank Common Lisp (SBCL) is a high performance Common Lisp compiler. It is
open source / free software, with a permissive license. In addition to the
compiler and runtime system for ANSI Common Lisp, it provides an interactive
environment including a debugger, a statistical profiler, a code coverage tool,
and many other extensions."""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}

source_urls = [SOURCEFORGE_SOURCE]
sources = ['%(namelower)s-%(version)s-source.tar.bz2']
checksums = ['84beeb8d72c87897847fc0285adcb3fa4f481bdb39102c4fb9ab79684184ad29']

builddependencies = [
('binutils', '2.38'),
('CCL', '1.12.2'),
]

parallel = False
skipsteps = ['configure']
local_prefixarg = '--prefix=%(installdir)s'

# Build SBCL with Clozure CL
# Using the binary distribution of SBCL to build SBCL is not trivial because
# it needs GLIBC v2.28
build_cmd = "sh make.sh"
buildopts = "%s --xc-host=ccl" % local_prefixarg

install_cmd = "sh install.sh"
installopts = local_prefixarg

sanity_check_paths = {
'files': ['bin/sbcl'],
'dirs': ['lib/sbcl'],
}

sanity_check_commands = ["sbcl --help"]

modextrapaths = {'SBCL_HOME': 'lib/sbcl'}

moduleclass = 'lang'

0 comments on commit f6459d4

Please sign in to comment.