diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb index 3efc1df6af..5bc9aded86 100644 --- a/Library/Homebrew/test/test_versions.rb +++ b/Library/Homebrew/test/test_versions.rb @@ -361,4 +361,8 @@ class VersionParsingTests < Homebrew::TestCase assert_version_detected "1.0.2", "https://opam.ocaml.org/archives/easy-format.1.0.2+opam.tar.gz" end + + def test_waf_version + assert_version_detected "1.8.12", "https://waf.io/waf-1.8.12" + end end diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 49296a1420..70e7198b0a 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -307,6 +307,10 @@ class Version m = /[-_]((?:\d+\.)*\d\.\d+-(?:p|rc|RC)?\d+)(?:[-._](?:bin|dist|stable|src|sources))?$/.match(stem) return m.captures.first unless m.nil? + # URL with no extension e.g. https://waf.io/waf-1.8.12 + m = /-((?:\d+\.)*\d+)$/.match(spec_s) + return m.captures.first unless m.nil? + # e.g. lame-398-1 m = /-((?:\d)+-\d)/.match(stem) return m.captures.first unless m.nil?