forked from easybuilders/easybuild-easyconfigs
-
Notifications
You must be signed in to change notification settings - Fork 0
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 easybuilders#19362 from WilleBell/20231206140657_n…
…ew_pr_SBCL2311 {lang}[GCCcore/11.3.0] SBCL v2.3.11, CCL v1.12.2
- Loading branch information
Showing
2 changed files
with
98 additions
and
0 deletions.
There are no files selected for viewing
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 = '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
46
easybuild/easyconfigs/s/SBCL/SBCL-2.3.11-GCCcore-11.3.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,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' |