diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 45b0594e33..efd7e36535 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -118,20 +118,12 @@ class Version spec.stem end - # GitHub tarballs, e.g. v1.2.3 - m = %r[github.com/.+/(?:zip|tar)ball/v?((\d+\.)+\d+)$].match(spec_s) - return m.captures.first unless m.nil? - + # GitHub tarballs + # e.g. https://github.com/foo/bar/tarball/v1.2.3 # e.g. https://github.com/sam-github/libnet/tarball/libnet-1.1.4 - m = %r[github.com/.+/(?:zip|tar)ball/.*-((\d+\.)+\d+)$].match(spec_s) - return m.captures.first unless m.nil? - # e.g. https://github.com/isaacs/npm/tarball/v0.2.5-1 - m = %r[github.com/.+/(?:zip|tar)ball/v?((\d+\.)+\d+-(\d+))$].match(spec_s) - return m.captures.first unless m.nil? - # e.g. https://github.com/petdance/ack/tarball/1.93_02 - m = %r[github.com/.+/(?:zip|tar)ball/v?((\d+\.)+\d+_(\d+))$].match(spec_s) + m = %r[github.com/.+/(?:zip|tar)ball/(?:v|\w+-)?((?:\d+[-._])+\d*)$].match(spec_s) return m.captures.first unless m.nil? # e.g. https://github.com/erlang/otp/tarball/OTP_R15B01 (erlang style)