Skip to content
Snippets Groups Projects
Commit 161d6205 authored by Adam J. Stewart's avatar Adam J. Stewart Committed by Todd Gamblin
Browse files

Allow spack create to handle packages with period in name (#2351)

* Allow spack create to handle packages with period in name

* Update tests to handle new package name detection scheme
parent 24093a93
No related branches found
No related tags found
No related merge requests found
......@@ -434,7 +434,6 @@ def create(parser, args):
# Figure out a name and repo for the package.
name, version = guess_name_and_version(url, args)
spec = Spec(name)
name = spec.name.lower() # factors out namespace, if any
repo = find_repository(spec, args)
tty.msg("This looks like a URL for %s version %s" % (name, version))
......
......@@ -59,10 +59,10 @@ def test_wwwoffle_version(self):
def test_version_sourceforge_download(self):
self.check(
'foo_bar', '1.21',
'foo-bar', '1.21',
'http://sourceforge.net/foo_bar-1.21.tar.gz/download')
self.check(
'foo_bar', '1.21',
'foo-bar', '1.21',
'http://sf.net/foo_bar-1.21.tar.gz/download')
def test_no_version(self):
......@@ -71,7 +71,7 @@ def test_no_version(self):
def test_version_all_dots(self):
self.check(
'foo.bar.la', '1.14', 'http://example.com/foo.bar.la.1.14.zip')
'foo-bar-la', '1.14', 'http://example.com/foo.bar.la.1.14.zip')
def test_version_underscore_separator(self):
self.check(
......@@ -136,12 +136,12 @@ def test_version_internal_dash(self):
def test_version_single_digit(self):
self.check(
'foo_bar', '45',
'foo-bar', '45',
'http://example.com/foo_bar.45.tar.gz')
def test_noseparator_single_digit(self):
self.check(
'foo_bar', '45',
'foo-bar', '45',
'http://example.com/foo_bar45.tar.gz')
def test_version_developer_that_hates_us_format(self):
......@@ -151,7 +151,7 @@ def test_version_developer_that_hates_us_format(self):
def test_version_regular(self):
self.check(
'foo_bar', '1.21',
'foo-bar', '1.21',
'http://example.com/foo_bar-1.21.tar.gz')
def test_version_github(self):
......@@ -216,7 +216,7 @@ def test_debian_style_2(self):
def test_imagemagick_style(self):
self.check(
'ImageMagick', '6.7.5-7',
'imagemagick', '6.7.5-7',
'http://downloads.sf.net/project/machomebrew/mirror/ImageMagick-6.7.5-7.tar.bz2')
......@@ -247,7 +247,7 @@ def test_openssl_version(self):
def test_xaw3d_version(self):
self.check(
'Xaw3d', '1.5E',
'xaw3d', '1.5E',
'ftp://ftp.visi.com/users/hawkeyd/X/Xaw3d-1.5E.tar.gz')
def test_fann_version(self):
......@@ -324,5 +324,5 @@ def test_gcc_version_precedence(self):
def test_github_raw_url(self):
self.check(
'PowerParser', '2.0.7',
'powerparser', '2.0.7',
'https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true')
......@@ -305,6 +305,10 @@ def parse_name_offset(path, v=None):
if match_string is stem:
start += offset
# package names should be lowercase and separated by dashes.
name = name.lower()
name = re.sub('[_.]', '-', name)
return name, start, len(name)
raise UndetectableNameError(path)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment