blob: 7e526d6e7c353dedcf29a7eefa3ef2dd6385f1d7 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# Copyright 2013-2020 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)
import os.path
class LuaLuafilesystem(Package):
"""LuaFileSystem is a Lua library developed to complement the set of
functions related to file systems offered by the standard Lua distribution.
LuaFileSystem offers a portable way to access the underlying directory
structure and file attributes.
LuaFileSystem is free software and uses the same license as Lua 5.1
"""
homepage = 'http://keplerproject.github.io/luafilesystem'
url = 'https://github.com/keplerproject/luafilesystem/archive/v1_6_3.tar.gz'
version('1_7_0_2', sha256='23b4883aeb4fb90b2d0f338659f33a631f9df7a7e67c54115775a77d4ac3cc59')
version('1_6_3', sha256='11c7b1fc2e560c0a521246b84e6257138d97dddde5a19e405714dbabcb9436ca')
# The version constraint here comes from this post:
#
# https://www.perforce.com/blog/git-beyond-basics-using-shallow-clones
#
# where it is claimed that full shallow clone support was added @1.9
depends_on('git@1.9.0:', type='build')
extends('lua')
@property
def rockspec(self):
version = self.spec.version
semver = version[0:3]
tweak_level = version[3] if len(version) > 3 else 1
fmt = os.path.join(
self.stage.source_path,
'rockspecs',
'luafilesystem-{semver.dotted}-{tweak_level}.rockspec'
)
return fmt.format(
version=version, semver=semver, tweak_level=tweak_level
)
def install(self, spec, prefix):
luarocks('--tree=' + prefix, 'make', self.rockspec)
|