diff --git a/Library/Homebrew/extend/os/formula_cellar_checks.rb b/Library/Homebrew/extend/os/formula_cellar_checks.rb index 7198179563..30805adfb5 100644 --- a/Library/Homebrew/extend/os/formula_cellar_checks.rb +++ b/Library/Homebrew/extend/os/formula_cellar_checks.rb @@ -1 +1,5 @@ -require "extend/os/mac/formula_cellar_checks" if OS.mac? +if OS.mac? + require "extend/os/mac/formula_cellar_checks" +elsif OS.linux? + require "extend/os/linux/formula_cellar_checks" +end diff --git a/Library/Homebrew/extend/os/linux/formula_cellar_checks.rb b/Library/Homebrew/extend/os/linux/formula_cellar_checks.rb new file mode 100644 index 0000000000..0665f5678a --- /dev/null +++ b/Library/Homebrew/extend/os/linux/formula_cellar_checks.rb @@ -0,0 +1,5 @@ +module FormulaCellarChecks + def valid_library_extension?(filename) + generic_valid_library_extension?(filename) || filename.basename.to_s.include?(".so.") + end +end diff --git a/Library/Homebrew/formula_cellar_checks.rb b/Library/Homebrew/formula_cellar_checks.rb index 4ab4a32d0b..9d1633be9a 100644 --- a/Library/Homebrew/formula_cellar_checks.rb +++ b/Library/Homebrew/formula_cellar_checks.rb @@ -56,14 +56,19 @@ module FormulaCellarChecks EOS end + VALID_LIBRARY_EXTENSIONS = %w[.a .dylib .framework .jnilib .la .o .so .jar .prl .pm .sh].freeze + + def valid_library_extension?(filename) + VALID_LIBRARY_EXTENSIONS.include? filename.extname + end + alias generic_valid_library_extension? valid_library_extension? + def check_non_libraries return unless formula.lib.directory? - valid_extensions = %w[.a .dylib .framework .jnilib .la .o .so - .jar .prl .pm .sh] non_libraries = formula.lib.children.reject do |g| next true if g.directory? - valid_extensions.include? g.extname + valid_library_extension? g end return if non_libraries.empty?