pkg-config 1.4.0 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a83385090e3b6e095368c03006b2c5acd72667ceb0b906f21e5fe0b3a1becf2e
4
- data.tar.gz: 41816b28d440895d76ce10c57c64e323109a893a01a51a0011441dbb8205794f
3
+ metadata.gz: 94b6c4b1e8df7f419e2faa25afd76dc8a29aa665aa0774b6ea9ff6bd8e2d5768
4
+ data.tar.gz: e885bc6fe1a7f17f01cfdff2db3822a76ae9bdafc0c299192a90f2e582634b90
5
5
  SHA512:
6
- metadata.gz: eee27aa9f295b5f2d3570c1b2caa45790be5d4870c294db31cfeeebc52b512c24ccc8d4a7b406bcb9b189960ba5ddb17b9b17c34f2445517a374dd6acd140e80
7
- data.tar.gz: 5fcace2bbadde0b6dc0f33eba70a90c587dbc339a60637f0020b9bbddc7615332aa40d55b19d52603c5575abbf40c538d0c4c00146bb904a2261d7517687de5b
6
+ metadata.gz: d5c54b359d84ce673cd8556f5124671514ce68b9f6b952652429165e43b7e9a8b35ed6834f72aab18e2d0a25c0844b74816191ac66b024c31f43a071b1bc9ef2
7
+ data.tar.gz: fd44996b5a304e03caabfd7ce55b156e6eb2b19eada66c64bab3777326263db51a3f444d651d1ba64d175172f895f9674b5e7fcb6e52e3a948fb55bee6540148
data/NEWS CHANGED
@@ -1,5 +1,17 @@
1
1
  = NEWS
2
2
 
3
+ == 1.4.1 - 2020-02-10
4
+
5
+ === Improvements
6
+
7
+ * Added support for cycled depended .pc such as freetype2.pc and
8
+ harfbuzz.pc on PLD Linux.
9
+ [Reported by Jakub Bogusz]
10
+
11
+ === Thanks
12
+
13
+ * Jakub Bogusz
14
+
3
15
  == 1.4.0 - 2019-10-24
4
16
 
5
17
  === Improvements
@@ -1,4 +1,4 @@
1
- # Copyright 2008-2019 Kouhei Sutou <kou@cozmixng.org>
1
+ # Copyright 2008-2020 Sutou Kouhei <kou@cozmixng.org>
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -15,15 +15,14 @@
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
  begin
18
- require "pkg-config/version"
18
+ require_relative "pkg-config/version"
19
19
  rescue LoadError
20
20
  end
21
21
 
22
+ require "English"
23
+ require "pathname"
22
24
  require "rbconfig"
23
-
24
- require 'shellwords'
25
- require 'English'
26
- require 'pathname'
25
+ require "shellwords"
27
26
 
28
27
  class PackageConfig
29
28
  SEPARATOR = File::PATH_SEPARATOR
@@ -249,13 +248,15 @@ class PackageConfig
249
248
  @path_position
250
249
  end
251
250
 
252
- def collect_requires(&block)
251
+ def collect_requires(processed_packages={}, &block)
253
252
  packages = []
254
253
  targets = yield(self)
255
254
  targets.each do |name|
255
+ next if processed_packages.key?(name)
256
256
  package = self.class.new(name, @options)
257
+ processed_packages[name] = package
257
258
  packages << package
258
- packages.concat(package.collect_requires(&block))
259
+ packages.concat(package.collect_requires(processed_packages, &block))
259
260
  end
260
261
  packages_without_self = packages.reject do |package|
261
262
  package.name == @name
@@ -358,7 +359,7 @@ class PackageConfig
358
359
  all_flags = {}
359
360
  flags = []
360
361
  in_option = false
361
- libs_command_line.gsub(/-([Ll]) /, '\1').split.each do |arg|
362
+ libs_command_line.gsub(/-([Ll]) /, "\\1").split.each do |arg|
362
363
  if in_option
363
364
  flags << arg
364
365
  in_option = false
@@ -384,7 +385,7 @@ class PackageConfig
384
385
  @declarations = {}
385
386
  File.open(pc_path) do |input|
386
387
  input.each_line do |line|
387
- line = line.gsub(/#.*/, '').strip
388
+ line = line.gsub(/#.*/, "").strip
388
389
  next if line.empty?
389
390
  case line
390
391
  when /^(#{IDENTIFIER_RE})=/
@@ -398,7 +399,7 @@ class PackageConfig
398
399
 
399
400
  def parse_requires(requires)
400
401
  return [] if requires.nil?
401
- requires_without_version = requires.gsub(/[<>]?=\s*[\d.a-zA-Z_-]+\s*/, '')
402
+ requires_without_version = requires.gsub(/[<>]?=\s*[\d.a-zA-Z_-]+\s*/, "")
402
403
  requires_without_version.split(/[,\s]+/)
403
404
  end
404
405
 
@@ -514,7 +515,7 @@ module PKGConfig
514
515
  end
515
516
 
516
517
  def msvc?
517
- /mswin/.match(RUBY_PLATFORM) and /^cl\b/.match(RbConfig::CONFIG['CC'])
518
+ /mswin/.match(RUBY_PLATFORM) and /^cl\b/.match(RbConfig::CONFIG["CC"])
518
519
  end
519
520
 
520
521
  def package_config(package)
@@ -589,18 +590,18 @@ module PKGConfig
589
590
  dldflags = libs(pkg)
590
591
  dldflags = (Shellwords.shellwords(dldflags) -
591
592
  Shellwords.shellwords(libraries))
592
- dldflags = dldflags.map {|s| /\s/ =~ s ? "\"#{s}\"" : s }.join(' ')
593
- $libs += ' ' + libraries
593
+ dldflags = dldflags.map {|s| /\s/ =~ s ? "\"#{s}\"" : s }.join(" ")
594
+ $libs += " " + libraries
594
595
  if /mswin/ =~ RUBY_PLATFORM
595
- $DLDFLAGS += ' ' + dldflags
596
+ $DLDFLAGS += " " + dldflags
596
597
  else
597
- $LDFLAGS += ' ' + dldflags
598
+ $LDFLAGS += " " + dldflags
598
599
  end
599
- $CFLAGS += ' ' + cflags_only_other(pkg)
600
+ $CFLAGS += " " + cflags_only_other(pkg)
600
601
  if defined?($CXXFLAGS)
601
- $CXXFLAGS += ' ' + cflags_only_other(pkg)
602
+ $CXXFLAGS += " " + cflags_only_other(pkg)
602
603
  end
603
- $INCFLAGS += ' ' + cflags_only_I(pkg)
604
+ $INCFLAGS += " " + cflags_only_I(pkg)
604
605
  end
605
606
  enough_version
606
607
  end
@@ -15,5 +15,5 @@
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
  module PKGConfig
18
- VERSION = "1.4.0"
18
+ VERSION = "1.4.1"
19
19
  end
@@ -17,10 +17,10 @@ class PkgConfigTest < Test::Unit::TestCase
17
17
  end
18
18
 
19
19
  def test_exist?
20
- assert(system('pkg-config --exists cairo'))
20
+ assert(system("pkg-config --exists cairo"))
21
21
  assert(@cairo.exist?)
22
22
 
23
- assert(system('pkg-config --exists cairo-png'))
23
+ assert(system("pkg-config --exists cairo-png"))
24
24
  assert(@cairo_png.exist?)
25
25
  end
26
26
 
@@ -94,7 +94,7 @@ class PkgConfigTest < Test::Unit::TestCase
94
94
  @cairo.msvc_syntax = true
95
95
  result = pkg_config("cairo", "--libs")
96
96
  msvc_result = result.gsub(/-lcairo\b/, "cairo.lib")
97
- msvc_result = msvc_result.gsub(/-L/, '/libpath:')
97
+ msvc_result = msvc_result.gsub(/-L/, "/libpath:")
98
98
  assert_not_equal(msvc_result, result)
99
99
  assert_equal(msvc_result, @cairo.libs)
100
100
  end
@@ -107,7 +107,7 @@ class PkgConfigTest < Test::Unit::TestCase
107
107
  def test_libs_only_l_msvc
108
108
  @cairo_png.msvc_syntax = true
109
109
  result = pkg_config("cairo-png", "--libs-only-l")
110
- msvc_result = result.gsub(/-l(cairo|png[0-9]+|z)\b/, '\1.lib')
110
+ msvc_result = result.gsub(/-l(cairo|png[0-9]+|z)\b/, "\\1.lib")
111
111
  assert_not_equal(msvc_result, result)
112
112
  assert_equal(msvc_result, @cairo_png.libs_only_l)
113
113
  end
@@ -120,7 +120,7 @@ class PkgConfigTest < Test::Unit::TestCase
120
120
  def test_libs_only_L_msvc
121
121
  @cairo_png.msvc_syntax = true
122
122
  result = pkg_config("cairo-png", "--libs-only-L")
123
- msvc_result = result.gsub(/-L/, '/libpath:')
123
+ msvc_result = result.gsub(/-L/, "/libpath:")
124
124
  assert_not_equal(msvc_result, result)
125
125
  assert_equal(msvc_result, @cairo_png.libs_only_L)
126
126
  end
@@ -167,7 +167,7 @@ class PkgConfigTest < Test::Unit::TestCase
167
167
  private
168
168
  def pkg_config(package, *args)
169
169
  args.unshift("--define-variable=libdir=#{@custom_libdir}")
170
- args = args.collect {|arg| arg.dump}.join(' ')
170
+ args = args.collect {|arg| arg.dump}.join(" ")
171
171
  `pkg-config #{args} #{package}`.strip
172
172
  end
173
173
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkg-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-24 00:00:00.000000000 Z
11
+ date: 2020-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-unit