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.
This commit is contained in:
22
var/spack/repos/builtin/packages/rkt-base/package.py
Normal file
22
var/spack/repos/builtin/packages/rkt-base/package.py
Normal file
@@ -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)
|
25
var/spack/repos/builtin/packages/rkt-cext-lib/package.py
Normal file
25
var/spack/repos/builtin/packages/rkt-cext-lib/package.py
Normal file
@@ -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
|
25
var/spack/repos/builtin/packages/rkt-compiler-lib/package.py
Normal file
25
var/spack/repos/builtin/packages/rkt-compiler-lib/package.py
Normal file
@@ -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)
|
21
var/spack/repos/builtin/packages/rkt-dynext-lib/package.py
Normal file
21
var/spack/repos/builtin/packages/rkt-dynext-lib/package.py
Normal file
@@ -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
|
22
var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py
Normal file
22
var/spack/repos/builtin/packages/rkt-rackunit-lib/package.py
Normal file
@@ -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
|
20
var/spack/repos/builtin/packages/rkt-scheme-lib/package.py
Normal file
20
var/spack/repos/builtin/packages/rkt-scheme-lib/package.py
Normal file
@@ -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
|
@@ -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
|
21
var/spack/repos/builtin/packages/rkt-zo-lib/package.py
Normal file
21
var/spack/repos/builtin/packages/rkt-zo-lib/package.py
Normal file
@@ -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)
|
Reference in New Issue
Block a user