From 6de372d7fefccbe6db036cbc9a120e2a9921bcd7 Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Fri, 3 Apr 2015 13:11:50 +0100 Subject: [PATCH] gcc5: add regex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes the bottle regex problem seen in https://github.com/Homebrew/homebrew-versions/pull/678. I don’t know whether it’s a good regex, or an awful regex, but it works and passes `brew tests` and a bottled install. Open to improvements if anyone has them. Closes Homebrew/homebrew#38333. Signed-off-by: Mike McQuaid --- Library/Homebrew/bottle_version.rb | 4 ++++ Library/Homebrew/test/test_bottle_versions.rb | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/Library/Homebrew/bottle_version.rb b/Library/Homebrew/bottle_version.rb index 5921050865..de210e12b0 100644 --- a/Library/Homebrew/bottle_version.rb +++ b/Library/Homebrew/bottle_version.rb @@ -3,6 +3,10 @@ class BottleVersion < Version spec = Pathname.new(spec) unless spec.is_a? Pathname stem = spec.stem + # e.g. 5-20150215 from gcc5-5-20150215.yosemite.bottle.tar.gz + m = /[a-z]{3}\d-(\d{1}-\d{8})/.match(stem) + return m.captures.first unless m.nil? + # e.g. perforce-2013.1.610569-x86_64.mountain_lion.bottle.tar.gz m = /-([\d\.]+-x86(_64)?)/.match(stem) return m.captures.first unless m.nil? diff --git a/Library/Homebrew/test/test_bottle_versions.rb b/Library/Homebrew/test/test_bottle_versions.rb index 3e2374e67e..1ba8ba5d96 100644 --- a/Library/Homebrew/test/test_bottle_versions.rb +++ b/Library/Homebrew/test/test_bottle_versions.rb @@ -80,4 +80,9 @@ class BottleVersionParsingTests < Homebrew::TestCase assert_version_detected '11-062', 'apparix-11-062.yosemite.bottle.tar.gz' end + + def test_gcc_versions_style + assert_version_detected '5-20150215', + 'gcc5-5-20150215.yosemite.bottle.tar.gz' + end end