diff --git a/lib/spack/spack/test/url_parse.py b/lib/spack/spack/test/url_parse.py index 818903c90926a6100b6a55c2f1169a8fd2d67837..1131d2debc62b9ea4503e1ab6973d625cf23d426 100644 --- a/lib/spack/spack/test/url_parse.py +++ b/lib/spack/spack/test/url_parse.py @@ -331,3 +331,12 @@ def test_r_xml_version(self): self.check( 'xml', '3.98-1.4', 'https://cran.r-project.org/src/contrib/XML_3.98-1.4.tar.gz') + + def test_nco_version(self): + self.check( + 'nco', '4.6.2-beta03', + 'https://github.com/nco/nco/archive/4.6.2-beta03.tar.gz') + + self.check( + 'nco', '4.6.3-alpha04', + 'https://github.com/nco/nco/archive/4.6.3-alpha04.tar.gz') diff --git a/lib/spack/spack/url.py b/lib/spack/spack/url.py index d377a88bcc8e97a35b44817186d5b5cb229a2cc5..6921770f6c1dce6f7955f7c57c1a3094fcbe23bf 100644 --- a/lib/spack/spack/url.py +++ b/lib/spack/spack/url.py @@ -189,7 +189,7 @@ def parse_version_offset(path, debug=False): (r'github.com/.+/(?:zip|tar)ball/v?((\d+\.)+\d+_(\d+))$', path), # e.g. https://github.com/hpc/lwgrp/archive/v1.0.1.tar.gz - (r'github.com/[^/]+/[^/]+/archive/v?(\d+(?:\.\d+)*)$', path), + (r'github.com/[^/]+/[^/]+/archive/v?(\w+(?:[.-]\w+)*)$', path), # e.g. https://github.com/erlang/otp/tarball/OTP_R15B01 (erlang style) (r'[-_](R\d+[AB]\d*(-\d+)?)', path),