diff --git a/lib/pkg-config.rb b/lib/pkg-config.rb index 542d67c..f5bca62 100644 --- a/lib/pkg-config.rb +++ b/lib/pkg-config.rb @@ -690,7 +690,7 @@ def parse_pc def parse_requires(requires) return [] if requires.nil? - requires_without_version = requires.gsub(/(?:<|>|<=|>=|=)\s*[\d.a-zA-Z_-]+\s*/, "") + requires_without_version = requires.gsub(/(?:!=|<=|>=|<|>|=)\s*[^,\s]+\s*/, " ") requires_without_version.split(/[,\s]+/) end diff --git a/test/test-pkg-config.rb b/test/test-pkg-config.rb index 67893b3..523a49d 100644 --- a/test/test-pkg-config.rb +++ b/test/test-pkg-config.rb @@ -313,6 +313,11 @@ def test_equals_to assert_equal(["fribidi"], parse_requires("fribidi = 1.0")) end + + def test_multiple_requirements_with_compact_constraints + assert_equal(["foo", "bar", "baz"], + parse_requires("foo>=1.2 bar != 2.0, baz=3.0")) + end end sub_test_case("#merge_back_cflags") do