From ee505e6c69528825d269cf90277654ff93a343e0 Mon Sep 17 00:00:00 2001 From: Thomas Dickerson Date: Mon, 4 Apr 2022 04:32:25 -0400 Subject: Add support for racket packages (#27564) - Add variants for various common build flags, including support for both versions of the Racket VM environment. - Prevent `-j` flags to `make`, which has been known to cause problems with Racket builds. - Prefer the minimal release to improve install times. Bells and whistles carry their own runtime dependencies and should be installed via `raco`. An enterprising user may even create a `RacketPackage` class to make spack aware of `raco` installed packages. - Match the official version numbering scheme. --- .../repos/builtin/packages/rkt-base/package.py | 22 +++++++++++++++++++ .../repos/builtin/packages/rkt-cext-lib/package.py | 25 ++++++++++++++++++++++ .../builtin/packages/rkt-compiler-lib/package.py | 25 ++++++++++++++++++++++ .../builtin/packages/rkt-dynext-lib/package.py | 21 ++++++++++++++++++ .../builtin/packages/rkt-rackunit-lib/package.py | 22 +++++++++++++++++++ .../builtin/packages/rkt-scheme-lib/package.py | 20 +++++++++++++++++ .../packages/rkt-testing-util-lib/package.py | 21 ++++++++++++++++++ .../repos/builtin/packages/rkt-zo-lib/package.py | 21 ++++++++++++++++++ 8 files changed, 177 insertions(+) create mode 100644 var/spack/repos/builtin/packages/rkt-base/package.py create mode 100644 var/spack/repos/builtin/packages/rkt-cext-lib/package.py create mode 100644 var/spack/repos/builtin/packages/rkt-compiler-lib/package.py create mode 100644 var/spack/repos/builtin/packages/rkt-dynext-lib/package.py create mode 100644 var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py create mode 100644 var/spack/repos/builtin/packages/rkt-scheme-lib/package.py create mode 100644 var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py create mode 100644 var/spack/repos/builtin/packages/rkt-zo-lib/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/rkt-base/package.py b/var/spack/repos/builtin/packages/rkt-base/package.py new file mode 100644 index 0000000000..36d7987a97 --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-base/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RktBase(RacketPackage): + """Stub package for packages which are currently part of core + racket installation (but which may change in the future).""" + + git = "ssh://git@github.com/racket/racket.git" + + maintainers = ['elfprince13'] + + version('8.3', commit='cab83438422bfea0e4bd74bc3e8305e6517cf25f') # tag='v8.3' + depends_on('racket@8.3', type=('build', 'run'), when='@8.3') + + name = 'base' + pkgs = True + subdirectory = "pkgs/{0}".format(name) diff --git a/var/spack/repos/builtin/packages/rkt-cext-lib/package.py b/var/spack/repos/builtin/packages/rkt-cext-lib/package.py new file mode 100644 index 0000000000..ed49ab3406 --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-cext-lib/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RktCextLib(RacketPackage): + """Racket library for running a C compiler/linker.""" + + git = "ssh://git@github.com/racket/cext-lib.git" + + maintainers = ['elfprince13'] + + version('8.3', commit='cc22e2456df881a9008240d70dd9012ef37395f5') # tag = 'v8.3' + + depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3') + depends_on('rkt-compiler-lib@8.3', type=('build', 'run'), when='@8.3') + depends_on('rkt-dynext-lib@8.3', type=('build', 'run'), when='@8.3') + depends_on('rkt-scheme-lib@8.3', type=('build', 'run'), when='@8.3') + + name = 'cext-lib' + pkgs = True + subdirectory = name diff --git a/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py b/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py new file mode 100644 index 0000000000..c7c333e4cd --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-compiler-lib/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RktCompilerLib(RacketPackage): + """Stub package for packages which are currently part of core + Racket installation (but which may change in the future).""" + + git = "ssh://git@github.com/racket/racket.git" + + maintainers = ['elfprince13'] + + version('8.3', commit='cab83438422bfea0e4bd74bc3e8305e6517cf25f') # tag='v8.3' + depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3') + depends_on('rkt-scheme-lib@8.3', type=('build', 'run'), when='@8.3') + depends_on('rkt-rackunit-lib@8.3', type=('build', 'run'), when='@8.3') + depends_on('rkt-zo-lib@1.3', type=('build', 'run'), when='@8.3') + + name = 'compiler-lib' + pkgs = True + subdirectory = "pkgs/{0}".format(name) diff --git a/var/spack/repos/builtin/packages/rkt-dynext-lib/package.py b/var/spack/repos/builtin/packages/rkt-dynext-lib/package.py new file mode 100644 index 0000000000..cc57851776 --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-dynext-lib/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RktDynextLib(RacketPackage): + """Racket library for running a C compiler/linker.""" + + git = "ssh://git@github.com/racket/cext-lib.git" + + maintainers = ['elfprince13'] + + version('8.3', commit='cc22e2456df881a9008240d70dd9012ef37395f5') # tag = 'v8.3' + depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3') + + name = 'dynext-lib' + pkgs = True + subdirectory = name diff --git a/var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py b/var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py new file mode 100644 index 0000000000..c1d7aa7444 --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT)- + +from spack import * + + +class RktRackunitLib(RacketPackage): + """RackUnit testing framework.""" + + git = "ssh://git@github.com/racket/rackunit.git" + + maintainers = ['elfprince13'] + + version('8.3', commit='683237bee2a979c7b1541092922fb51a75ea8ca9') # tag='v8.3' + depends_on('rkt-base@8.3:', type=('build', 'run'), when='@8.3') + depends_on('rkt-testing-util-lib@8.3', type=('build', 'run'), when='@8.3') + + name = 'rackunit-lib' + pkgs = True + subdirectory = name diff --git a/var/spack/repos/builtin/packages/rkt-scheme-lib/package.py b/var/spack/repos/builtin/packages/rkt-scheme-lib/package.py new file mode 100644 index 0000000000..e98c6d33f7 --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-scheme-lib/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RktSchemeLib(RacketPackage): + """Legacy Scheme Library.""" + + git = "ssh://git@github.com/racket/scheme-lib.git" + + maintainers = ['elfprince13'] + + version('8.3', commit='a36e729680818712820ee5269f5208c3c0715a6a') # tag='v8.3' + depends_on('rkt-base@8.3', type=('build', 'run'), when='@8.3') + + name = 'scheme-lib' + pkgs = True diff --git a/var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py b/var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py new file mode 100644 index 0000000000..a9d6e973ff --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-testing-util-lib/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RktTestingUtilLib(RacketPackage): + """Utilities for interoperating between different testing libraries.""" + + git = "ssh://git@github.com/racket/rackunit.git" + + maintainers = ['elfprince13'] + + version('8.3', commit='683237bee2a979c7b1541092922fb51a75ea8ca9') # tag='v8.3' + depends_on('rkt-base@8.3:', type=('build', 'run'), when='@8.3') + + name = 'testing-util-lib' + pkgs = True + subdirectory = name diff --git a/var/spack/repos/builtin/packages/rkt-zo-lib/package.py b/var/spack/repos/builtin/packages/rkt-zo-lib/package.py new file mode 100644 index 0000000000..10042fc6bd --- /dev/null +++ b/var/spack/repos/builtin/packages/rkt-zo-lib/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class RktZoLib(RacketPackage): + """Libraries for handling zo files.""" + + git = "ssh://git@github.com/racket/racket.git" + + maintainers = ['elfprince13'] + + version('1.3', commit='cab83438422bfea0e4bd74bc3e8305e6517cf25f') # tag='v1.3' + depends_on('rkt-base@8.3:', type=('build', 'run'), when='@1.3') + + name = 'zo-lib' + pkgs = True + subdirectory = "pkgs/{0}".format(name) -- cgit v1.2.3-70-g09d2