Merge pull request #10121 from SeekingMeaning/shared-library

formula: include versioned `*.so.*` libs for `shared_library("*")`
This commit is contained in:
Michka Popoff 2020-12-25 15:19:01 +01:00 committed by GitHub
commit d9064eb65d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 2 deletions

View File

@ -5,7 +5,12 @@ class Formula
undef shared_library
def shared_library(name, version = nil)
"#{name}.so#{"." unless version.nil?}#{version}"
suffix = if version == "*" || (name == "*" && version.blank?)
"{,.*}"
elsif version.present?
".#{version}"
end
"#{name}.so#{suffix}"
end
class << self

View File

@ -1470,7 +1470,14 @@ class Formula
end
def shared_library(name, version = nil)
"#{name}.#{version}#{"." unless version.nil?}dylib"
return "*.dylib" if name == "*" && (version.blank? || version == "*")
infix = if version == "*"
"{,.*}"
elsif version.present?
".#{version}"
end
"#{name}#{infix}.dylib"
end
# an array of all core {Formula} names

View File

@ -107,6 +107,12 @@ describe Formula do
f = Testball.new
expect(f.shared_library("foobar")).to eq("foobar.so")
expect(f.shared_library("foobar", 2)).to eq("foobar.so.2")
expect(f.shared_library("foobar", nil)).to eq("foobar.so")
expect(f.shared_library("foobar", "*")).to eq("foobar.so{,.*}")
expect(f.shared_library("*")).to eq("*.so{,.*}")
expect(f.shared_library("*", 2)).to eq("*.so.2")
expect(f.shared_library("*", nil)).to eq("*.so{,.*}")
expect(f.shared_library("*", "*")).to eq("*.so{,.*}")
end
end
end

View File

@ -112,6 +112,12 @@ describe Formula do
f = Testball.new
expect(f.shared_library("foobar")).to eq("foobar.dylib")
expect(f.shared_library("foobar", 2)).to eq("foobar.2.dylib")
expect(f.shared_library("foobar", nil)).to eq("foobar.dylib")
expect(f.shared_library("foobar", "*")).to eq("foobar{,.*}.dylib")
expect(f.shared_library("*")).to eq("*.dylib")
expect(f.shared_library("*", 2)).to eq("*.2.dylib")
expect(f.shared_library("*", nil)).to eq("*.dylib")
expect(f.shared_library("*", "*")).to eq("*.dylib")
end
end
end