aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike McQuaid2017-10-06 04:34:12 +0100
committerGitHub2017-10-06 04:34:12 +0100
commitdd2083d03d1fe679e8d91b384ce1c8e6ef237ad8 (patch)
tree20529c339d43d310ff84feffbf9efed170b99d91
parent0b105960806f94ace5dc57b091854c8ff9c76af8 (diff)
parent4f55565677101a1a3b63567ce937b8cf72eae252 (diff)
downloadbrew-dd2083d03d1fe679e8d91b384ce1c8e6ef237ad8.tar.bz2
Merge pull request #3262 from kabel/version-detect-php
Add version detection support for php URL
-rw-r--r--Library/Homebrew/test/version_spec.rb5
-rw-r--r--Library/Homebrew/version.rb4
2 files changed, 9 insertions, 0 deletions
diff --git a/Library/Homebrew/test/version_spec.rb b/Library/Homebrew/test/version_spec.rb
index d670d79c8..d0393afa6 100644
--- a/Library/Homebrew/test/version_spec.rb
+++ b/Library/Homebrew/test/version_spec.rb
@@ -649,6 +649,11 @@ describe Version do
.to be_detected_from("ftp://gcc.gnu.org/pub/gcc/snapshots/6-20151227/gcc-6-20151227.tar.bz2")
end
+ specify "semver in middle of URL" do
+ expect(Version.create("7.1.10"))
+ .to be_detected_from("https://php.net/get/php-7.1.10.tar.gz/from/this/mirror")
+ end
+
specify "from URL" do
expect(Version.create("1.2.3"))
.to be_detected_from("http://github.com/foo/bar.git", tag: "v1.2.3")
diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb
index b03a4bc33..3ac748037 100644
--- a/Library/Homebrew/version.rb
+++ b/Library/Homebrew/version.rb
@@ -456,6 +456,10 @@ class Version
# e.g. http://www.ijg.org/files/jpegsrc.v8d.tar.gz
m = /\.v(\d+[a-z]?)/.match(stem)
return m.captures.first unless m.nil?
+
+ # e.g. https://secure.php.net/get/php-7.1.10.tar.bz2/from/this/mirror
+ m = /[-.vV]?((?:\d+\.)+\d+(?:[-_.]?(?i:alpha|beta|pre|rc)\.?\d{,2})?)/.match(spec_s)
+ return m.captures.first unless m.nil?
end
end