pkg-config 1.3.7 → 1.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/NEWS +47 -0
- data/README.rdoc +2 -8
- data/lib/pkg-config.rb +117 -55
- data/lib/pkg-config/version.rb +2 -2
- data/test/test_pkg_config.rb +61 -6
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca2690b236cb0845ff444ae843a41f4ad77532dc47eb65c984616398605510ed
|
4
|
+
data.tar.gz: 8434a6be7c364013b1a497406e797bebac4f7cb911764024bdd596e0b4c38f08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 067f058cf005a0c6835d9648f0dbbc224873ee1fc3b7596988a93866389c487d33059abf6d94ed0d81ac326371db66c5c755362efb2292e74ad5701adcc4cb99
|
7
|
+
data.tar.gz: 78b5ec42683dd4e87f07221f84ae634e535aacab38fba199de6f72e8b197662cb80ac4ac23a950d9795c559f3d8628ab28e975d0a0bd753dd187ad3dfbf10ffd
|
data/NEWS
CHANGED
@@ -1,5 +1,52 @@
|
|
1
1
|
= NEWS
|
2
2
|
|
3
|
+
== 1.4.2 - 2020-08-10
|
4
|
+
|
5
|
+
=== Improvements
|
6
|
+
|
7
|
+
* Added support for detecting pkgconfig path on RubyInstaller
|
8
|
+
without "ridk exec".
|
9
|
+
|
10
|
+
== 1.4.1 - 2020-02-10
|
11
|
+
|
12
|
+
=== Improvements
|
13
|
+
|
14
|
+
* Added support for cycled depended .pc such as freetype2.pc and
|
15
|
+
harfbuzz.pc on PLD Linux.
|
16
|
+
[Reported by Jakub Bogusz]
|
17
|
+
|
18
|
+
=== Thanks
|
19
|
+
|
20
|
+
* Jakub Bogusz
|
21
|
+
|
22
|
+
== 1.4.0 - 2019-10-24
|
23
|
+
|
24
|
+
=== Improvements
|
25
|
+
|
26
|
+
* Improved Homebrew detection.
|
27
|
+
|
28
|
+
== 1.3.9 - 2019-09-28
|
29
|
+
|
30
|
+
=== Improvements
|
31
|
+
|
32
|
+
* Added support for absolute path in Requires.
|
33
|
+
[GitHub#18][Reported by Josh Huckabee]
|
34
|
+
|
35
|
+
=== Thanks
|
36
|
+
|
37
|
+
* Josh Huckabee
|
38
|
+
|
39
|
+
== 1.3.8 - 2019-08-13
|
40
|
+
|
41
|
+
=== Improvements
|
42
|
+
|
43
|
+
* Added support for -framework on macOS.
|
44
|
+
[GitHub:ruby-gnome2/ruby-gnome2#1287][Reported by Viko]
|
45
|
+
|
46
|
+
=== Thanks
|
47
|
+
|
48
|
+
* Viko
|
49
|
+
|
3
50
|
== 1.3.7 - 2019-03-17
|
4
51
|
|
5
52
|
=== Improvements
|
data/README.rdoc
CHANGED
@@ -14,14 +14,8 @@ A pkg-config implementation by Ruby.
|
|
14
14
|
|
15
15
|
== Install
|
16
16
|
|
17
|
-
=== Package
|
18
|
-
|
19
17
|
# gem install pkg-config
|
20
18
|
|
21
|
-
=== No package
|
22
|
-
|
23
|
-
# ruby setup.rb
|
24
|
-
|
25
19
|
== Documents
|
26
20
|
|
27
21
|
* TODO
|
@@ -29,11 +23,11 @@ A pkg-config implementation by Ruby.
|
|
29
23
|
== Source
|
30
24
|
|
31
25
|
There is the pkg-config repository at GitHub:
|
32
|
-
http://github.com/
|
26
|
+
http://github.com/ruby-gnome/pkg-config
|
33
27
|
|
34
28
|
== Copyright
|
35
29
|
|
36
|
-
Copyright 2008-
|
30
|
+
Copyright 2008-2019 Kouhei Sutou <kou@clear-code.com>
|
37
31
|
|
38
32
|
This library is free software; you can redistribute it and/or
|
39
33
|
modify it under the terms of the GNU Lesser General Public
|
data/lib/pkg-config.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2008-
|
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
|
-
|
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
|
@@ -122,6 +121,7 @@ class PackageConfig
|
|
122
121
|
def compute_native_pkg_config_prefix
|
123
122
|
pkg_config = native_pkg_config
|
124
123
|
return nil unless pkg_config.absolute?
|
124
|
+
return nil unless pkg_config.exist?
|
125
125
|
|
126
126
|
pkg_config_prefix = pkg_config.parent.parent
|
127
127
|
if File::ALT_SEPARATOR
|
@@ -134,10 +134,19 @@ class PackageConfig
|
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
137
|
+
attr_reader :name
|
137
138
|
attr_reader :paths
|
138
139
|
attr_accessor :msvc_syntax
|
139
140
|
def initialize(name, options={})
|
140
|
-
|
141
|
+
if Pathname(name).absolute?
|
142
|
+
@pc_path = name
|
143
|
+
@path_position = 0
|
144
|
+
@name = File.basename(@pc_path, ".*")
|
145
|
+
else
|
146
|
+
@pc_path = nil
|
147
|
+
@path_position = nil
|
148
|
+
@name = name
|
149
|
+
end
|
141
150
|
@options = options
|
142
151
|
path = @options[:path] || ENV["PKG_CONFIG_PATH"]
|
143
152
|
@paths = [path, guess_default_path].compact.join(SEPARATOR).split(SEPARATOR)
|
@@ -220,29 +229,63 @@ class PackageConfig
|
|
220
229
|
end
|
221
230
|
|
222
231
|
def pc_path
|
223
|
-
@
|
224
|
-
|
225
|
-
|
232
|
+
if @pc_path
|
233
|
+
return @pc_path if File.exist?(@pc_path)
|
234
|
+
else
|
235
|
+
@paths.each_with_index do |path, i|
|
236
|
+
_pc_path = File.join(path, "#{@name}.pc")
|
237
|
+
if File.exist?(_pc_path)
|
238
|
+
@path_position = i + 1
|
239
|
+
return _pc_path
|
240
|
+
end
|
241
|
+
end
|
226
242
|
end
|
227
243
|
nil
|
228
244
|
end
|
229
245
|
|
246
|
+
protected
|
247
|
+
def path_position
|
248
|
+
@path_position
|
249
|
+
end
|
250
|
+
|
251
|
+
def collect_requires(processed_packages={}, &block)
|
252
|
+
packages = []
|
253
|
+
targets = yield(self)
|
254
|
+
targets.each do |name|
|
255
|
+
next if processed_packages.key?(name)
|
256
|
+
package = self.class.new(name, @options)
|
257
|
+
processed_packages[name] = package
|
258
|
+
packages << package
|
259
|
+
packages.concat(package.collect_requires(processed_packages, &block))
|
260
|
+
end
|
261
|
+
packages_without_self = packages.reject do |package|
|
262
|
+
package.name == @name
|
263
|
+
end
|
264
|
+
packages_without_self.uniq do |package|
|
265
|
+
package.name
|
266
|
+
end
|
267
|
+
end
|
268
|
+
|
230
269
|
private
|
231
|
-
def
|
232
|
-
|
233
|
-
|
234
|
-
self.class.new(package, @options).cflags
|
270
|
+
def sort_packages(packages)
|
271
|
+
packages.sort_by.with_index do |package, i|
|
272
|
+
[package.path_position, i]
|
235
273
|
end
|
236
|
-
|
237
|
-
|
274
|
+
end
|
275
|
+
|
276
|
+
def collect_cflags
|
277
|
+
target_packages = sort_packages([self, *all_required_packages])
|
278
|
+
cflags_set = []
|
279
|
+
target_packages.each do |package|
|
280
|
+
cflags_set << package.declaration("Cflags")
|
238
281
|
end
|
239
282
|
all_cflags = normalize_cflags(Shellwords.split(cflags_set.join(" ")))
|
240
283
|
path_flags, other_flags = all_cflags.partition {|flag| /\A-I/ =~ flag}
|
241
284
|
path_flags = normalize_path_flags(path_flags, "-I")
|
242
|
-
path_flags = remove_duplicated_include_paths(path_flags)
|
243
285
|
path_flags = path_flags.reject do |flag|
|
244
286
|
flag == "-I/usr/include"
|
245
287
|
end
|
288
|
+
path_flags = path_flags.uniq
|
246
289
|
if @msvc_syntax
|
247
290
|
path_flags = path_flags.collect do |flag|
|
248
291
|
flag.gsub(/\A-I/, "/I")
|
@@ -284,21 +327,19 @@ class PackageConfig
|
|
284
327
|
normalized_cflags
|
285
328
|
end
|
286
329
|
|
287
|
-
def remove_duplicated_include_paths(path_flags)
|
288
|
-
path_flags.uniq
|
289
|
-
end
|
290
|
-
|
291
330
|
def collect_libs
|
292
|
-
|
293
|
-
|
331
|
+
target_packages = sort_packages(required_packages + [self])
|
332
|
+
libs_set = []
|
333
|
+
target_packages.each do |package|
|
334
|
+
libs_set << package.declaration("Libs")
|
294
335
|
end
|
295
|
-
|
296
|
-
|
297
|
-
path_flags, other_flags = all_libs.partition {|flag| /\A-L/ =~ flag}
|
336
|
+
all_flags = split_lib_flags(libs_set.join(" "))
|
337
|
+
path_flags, other_flags = all_flags.partition {|flag| /\A-L/ =~ flag}
|
298
338
|
path_flags = normalize_path_flags(path_flags, "-L")
|
299
339
|
path_flags = path_flags.reject do |flag|
|
300
340
|
/\A-L\/usr\/lib(?:64|x32)?\z/ =~ flag
|
301
341
|
end
|
342
|
+
path_flags = path_flags.uniq
|
302
343
|
if @msvc_syntax
|
303
344
|
path_flags = path_flags.collect do |flag|
|
304
345
|
flag.gsub(/\A-L/, "/libpath:")
|
@@ -314,6 +355,29 @@ class PackageConfig
|
|
314
355
|
[path_flags, other_flags]
|
315
356
|
end
|
316
357
|
|
358
|
+
def split_lib_flags(libs_command_line)
|
359
|
+
all_flags = {}
|
360
|
+
flags = []
|
361
|
+
in_option = false
|
362
|
+
libs_command_line.gsub(/-([Ll]) /, "\\1").split.each do |arg|
|
363
|
+
if in_option
|
364
|
+
flags << arg
|
365
|
+
in_option = false
|
366
|
+
else
|
367
|
+
case arg
|
368
|
+
when /-[lL]/
|
369
|
+
next if all_flags.key?(arg)
|
370
|
+
all_flags[arg] = true
|
371
|
+
flags << arg
|
372
|
+
in_option = true
|
373
|
+
else
|
374
|
+
flags << arg
|
375
|
+
end
|
376
|
+
end
|
377
|
+
end
|
378
|
+
flags
|
379
|
+
end
|
380
|
+
|
317
381
|
IDENTIFIER_RE = /[a-zA-Z\d_\.]+/
|
318
382
|
def parse_pc
|
319
383
|
raise ".pc for #{@name} doesn't exist." unless exist?
|
@@ -321,7 +385,7 @@ class PackageConfig
|
|
321
385
|
@declarations = {}
|
322
386
|
File.open(pc_path) do |input|
|
323
387
|
input.each_line do |line|
|
324
|
-
line = line.gsub(/#.*/,
|
388
|
+
line = line.gsub(/#.*/, "").strip
|
325
389
|
next if line.empty?
|
326
390
|
case line
|
327
391
|
when /^(#{IDENTIFIER_RE})=/
|
@@ -335,7 +399,7 @@ class PackageConfig
|
|
335
399
|
|
336
400
|
def parse_requires(requires)
|
337
401
|
return [] if requires.nil?
|
338
|
-
requires_without_version = requires.gsub(/[<>]?=\s*[\d.a-zA-Z_-]+\s*/,
|
402
|
+
requires_without_version = requires.gsub(/[<>]?=\s*[\d.a-zA-Z_-]+\s*/, "")
|
339
403
|
requires_without_version.split(/[,\s]+/)
|
340
404
|
end
|
341
405
|
|
@@ -375,6 +439,11 @@ class PackageConfig
|
|
375
439
|
"/opt/X11/lib/pkgconfig",
|
376
440
|
"/usr/share/pkgconfig",
|
377
441
|
]
|
442
|
+
if Object.const_defined?(:RubyInstaller)
|
443
|
+
mingw_bin_path = RubyInstaller::Runtime.msys2_installation.mingw_bin_path
|
444
|
+
mingw_pkgconfig_path = Pathname.new(mingw_bin_path) + "../lib/pkgconfig"
|
445
|
+
default_paths.unshift(mingw_pkgconfig_path.cleanpath.to_s)
|
446
|
+
end
|
378
447
|
libdir = ENV["PKG_CONFIG_LIBDIR"]
|
379
448
|
default_paths.unshift(libdir) if libdir
|
380
449
|
|
@@ -403,14 +472,13 @@ class PackageConfig
|
|
403
472
|
homebrew_repository_candidates << pkg_config_prefix + "Homebrew"
|
404
473
|
homebrew_repository_candidates << pkg_config_prefix
|
405
474
|
end
|
406
|
-
else
|
407
|
-
brew = self.class.__send__(:search_executable_from_path, "brew")
|
408
|
-
if brew
|
409
|
-
homebrew_repository = `brew --repository`.chomp
|
410
|
-
homebrew_repository_candidates << Pathname(homebrew_repository)
|
411
|
-
end
|
412
475
|
end
|
413
|
-
|
476
|
+
brew = self.class.__send__(:search_executable_from_path, "brew")
|
477
|
+
if brew
|
478
|
+
homebrew_repository = `brew --repository`.chomp
|
479
|
+
homebrew_repository_candidates << Pathname(homebrew_repository)
|
480
|
+
end
|
481
|
+
homebrew_repository_candidates.uniq.each do |candidate|
|
414
482
|
path = candidate + "Library/Homebrew/os/mac/pkgconfig/#{mac_os_version}"
|
415
483
|
paths << path.to_s if path.exist?
|
416
484
|
end
|
@@ -420,21 +488,15 @@ class PackageConfig
|
|
420
488
|
end
|
421
489
|
|
422
490
|
def required_packages
|
423
|
-
|
424
|
-
|
425
|
-
end
|
426
|
-
end
|
427
|
-
|
428
|
-
def private_required_packages
|
429
|
-
requires_private.reject do |package|
|
430
|
-
@name == package
|
431
|
-
end.uniq
|
491
|
+
collect_requires do |package|
|
492
|
+
package.requires
|
493
|
+
end
|
432
494
|
end
|
433
495
|
|
434
496
|
def all_required_packages
|
435
|
-
|
436
|
-
|
437
|
-
end
|
497
|
+
collect_requires do |package|
|
498
|
+
package.requires_private + package.requires
|
499
|
+
end
|
438
500
|
end
|
439
501
|
|
440
502
|
def normalize_paths(paths)
|
@@ -458,7 +520,7 @@ module PKGConfig
|
|
458
520
|
end
|
459
521
|
|
460
522
|
def msvc?
|
461
|
-
/mswin/.match(RUBY_PLATFORM) and /^cl\b/.match(RbConfig::CONFIG[
|
523
|
+
/mswin/.match(RUBY_PLATFORM) and /^cl\b/.match(RbConfig::CONFIG["CC"])
|
462
524
|
end
|
463
525
|
|
464
526
|
def package_config(package)
|
@@ -533,18 +595,18 @@ module PKGConfig
|
|
533
595
|
dldflags = libs(pkg)
|
534
596
|
dldflags = (Shellwords.shellwords(dldflags) -
|
535
597
|
Shellwords.shellwords(libraries))
|
536
|
-
dldflags = dldflags.map {|s| /\s/ =~ s ? "\"#{s}\"" : s }.join(
|
537
|
-
$libs +=
|
598
|
+
dldflags = dldflags.map {|s| /\s/ =~ s ? "\"#{s}\"" : s }.join(" ")
|
599
|
+
$libs += " " + libraries
|
538
600
|
if /mswin/ =~ RUBY_PLATFORM
|
539
|
-
$DLDFLAGS +=
|
601
|
+
$DLDFLAGS += " " + dldflags
|
540
602
|
else
|
541
|
-
$LDFLAGS +=
|
603
|
+
$LDFLAGS += " " + dldflags
|
542
604
|
end
|
543
|
-
$CFLAGS +=
|
605
|
+
$CFLAGS += " " + cflags_only_other(pkg)
|
544
606
|
if defined?($CXXFLAGS)
|
545
|
-
$CXXFLAGS +=
|
607
|
+
$CXXFLAGS += " " + cflags_only_other(pkg)
|
546
608
|
end
|
547
|
-
$INCFLAGS +=
|
609
|
+
$INCFLAGS += " " + cflags_only_I(pkg)
|
548
610
|
end
|
549
611
|
enough_version
|
550
612
|
end
|
data/lib/pkg-config/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2012-
|
1
|
+
# Copyright 2012-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,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.
|
18
|
+
VERSION = "1.4.2"
|
19
19
|
end
|
data/test/test_pkg_config.rb
CHANGED
@@ -17,10 +17,10 @@ class PkgConfigTest < Test::Unit::TestCase
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def test_exist?
|
20
|
-
assert(system(
|
20
|
+
assert(system("pkg-config --exists cairo"))
|
21
21
|
assert(@cairo.exist?)
|
22
22
|
|
23
|
-
assert(system(
|
23
|
+
assert(system("pkg-config --exists cairo-png"))
|
24
24
|
assert(@cairo_png.exist?)
|
25
25
|
end
|
26
26
|
|
@@ -36,14 +36,65 @@ class PkgConfigTest < Test::Unit::TestCase
|
|
36
36
|
assert_pkg_config("cairo-png", ["--cflags-only-I"], @cairo_png.cflags_only_I)
|
37
37
|
end
|
38
38
|
|
39
|
+
def split_lib_flags(libs_command_line)
|
40
|
+
@cairo.__send__(:split_lib_flags, libs_command_line)
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_split_libs
|
44
|
+
assert_equal([
|
45
|
+
"-L/usr/local/Cellar/gtk+3/3.24.10/lib",
|
46
|
+
"-L/usr/local/Cellar/pango/1.44.3/lib",
|
47
|
+
"-L/usr/local/Cellar/harfbuzz/2.5.3/lib",
|
48
|
+
"-L/usr/local/Cellar/gdk-pixbuf/2.38.1_1/lib",
|
49
|
+
"-L/usr/local/Cellar/cairo/1.16.0_2/lib",
|
50
|
+
"-L/usr/local/Cellar/glib/2.60.6/lib",
|
51
|
+
"-L/usr/local/opt/gettext/lib",
|
52
|
+
"-lgdk-3",
|
53
|
+
"-framework", "Cocoa",
|
54
|
+
"-framework", "Carbon",
|
55
|
+
"-framework", "CoreGraphics",
|
56
|
+
"-lpangocairo-1.0",
|
57
|
+
"-lpango-1.0",
|
58
|
+
"-lharfbuzz",
|
59
|
+
"-lgdk_pixbuf-2.0",
|
60
|
+
"-lcairo-gobject",
|
61
|
+
"-lcairo",
|
62
|
+
"-lgobject-2.0",
|
63
|
+
"-lglib-2.0",
|
64
|
+
"-lintl"
|
65
|
+
],
|
66
|
+
split_lib_flags("-L/usr/local/Cellar/gtk+3/3.24.10/lib " +
|
67
|
+
"-L/usr/local/Cellar/pango/1.44.3/lib " +
|
68
|
+
"-L/usr/local/Cellar/harfbuzz/2.5.3/lib " +
|
69
|
+
"-L/usr/local/Cellar/gdk-pixbuf/2.38.1_1/lib " +
|
70
|
+
"-L/usr/local/Cellar/cairo/1.16.0_2/lib " +
|
71
|
+
"-L/usr/local/Cellar/glib/2.60.6/lib " +
|
72
|
+
"-L/usr/local/opt/gettext/lib " +
|
73
|
+
"-lgdk-3 " +
|
74
|
+
"-framework Cocoa " +
|
75
|
+
"-framework Carbon " +
|
76
|
+
"-framework CoreGraphics " +
|
77
|
+
"-lpangocairo-1.0 " +
|
78
|
+
"-lpango-1.0 " +
|
79
|
+
"-lharfbuzz " +
|
80
|
+
"-lgdk_pixbuf-2.0 " +
|
81
|
+
"-lcairo-gobject " +
|
82
|
+
"-lcairo " +
|
83
|
+
"-lgobject-2.0 " +
|
84
|
+
"-lglib-2.0 " +
|
85
|
+
"-lintl"))
|
86
|
+
end
|
87
|
+
|
39
88
|
def test_libs
|
40
89
|
assert_pkg_config("cairo", ["--libs"], @cairo.libs)
|
41
90
|
assert_pkg_config("cairo-png", ["--libs"], @cairo_png.libs)
|
91
|
+
end
|
42
92
|
|
93
|
+
def test_libs_msvc
|
43
94
|
@cairo.msvc_syntax = true
|
44
95
|
result = pkg_config("cairo", "--libs")
|
45
96
|
msvc_result = result.gsub(/-lcairo\b/, "cairo.lib")
|
46
|
-
msvc_result = msvc_result.gsub(/-L/,
|
97
|
+
msvc_result = msvc_result.gsub(/-L/, "/libpath:")
|
47
98
|
assert_not_equal(msvc_result, result)
|
48
99
|
assert_equal(msvc_result, @cairo.libs)
|
49
100
|
end
|
@@ -51,10 +102,12 @@ class PkgConfigTest < Test::Unit::TestCase
|
|
51
102
|
def test_libs_only_l
|
52
103
|
assert_pkg_config("cairo", ["--libs-only-l"], @cairo.libs_only_l)
|
53
104
|
assert_pkg_config("cairo-png", ["--libs-only-l"], @cairo_png.libs_only_l)
|
105
|
+
end
|
54
106
|
|
107
|
+
def test_libs_only_l_msvc
|
55
108
|
@cairo_png.msvc_syntax = true
|
56
109
|
result = pkg_config("cairo-png", "--libs-only-l")
|
57
|
-
msvc_result = result.gsub(/-l(cairo|png[0-9]+|z)\b/,
|
110
|
+
msvc_result = result.gsub(/-l(cairo|png[0-9]+|z)\b/, "\\1.lib")
|
58
111
|
assert_not_equal(msvc_result, result)
|
59
112
|
assert_equal(msvc_result, @cairo_png.libs_only_l)
|
60
113
|
end
|
@@ -62,10 +115,12 @@ class PkgConfigTest < Test::Unit::TestCase
|
|
62
115
|
def test_libs_only_L
|
63
116
|
assert_pkg_config("cairo", ["--libs-only-L"], @cairo.libs_only_L)
|
64
117
|
assert_pkg_config("cairo-png", ["--libs-only-L"], @cairo_png.libs_only_L)
|
118
|
+
end
|
65
119
|
|
120
|
+
def test_libs_only_L_msvc
|
66
121
|
@cairo_png.msvc_syntax = true
|
67
122
|
result = pkg_config("cairo-png", "--libs-only-L")
|
68
|
-
msvc_result = result.gsub(/-L/,
|
123
|
+
msvc_result = result.gsub(/-L/, "/libpath:")
|
69
124
|
assert_not_equal(msvc_result, result)
|
70
125
|
assert_equal(msvc_result, @cairo_png.libs_only_L)
|
71
126
|
end
|
@@ -112,7 +167,7 @@ class PkgConfigTest < Test::Unit::TestCase
|
|
112
167
|
private
|
113
168
|
def pkg_config(package, *args)
|
114
169
|
args.unshift("--define-variable=libdir=#{@custom_libdir}")
|
115
|
-
args = args.collect {|arg| arg.dump}.join(
|
170
|
+
args = args.collect {|arg| arg.dump}.join(" ")
|
116
171
|
`pkg-config #{args} #{package}`.strip
|
117
172
|
end
|
118
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
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit
|
@@ -69,7 +69,7 @@ files:
|
|
69
69
|
- lib/pkg-config/version.rb
|
70
70
|
- test/run-test.rb
|
71
71
|
- test/test_pkg_config.rb
|
72
|
-
homepage: https://github.com/ruby-
|
72
|
+
homepage: https://github.com/ruby-gnome/pkg-config
|
73
73
|
licenses:
|
74
74
|
- LGPLv2+
|
75
75
|
metadata:
|
@@ -89,8 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
requirements: []
|
92
|
-
|
93
|
-
rubygems_version: 2.7.6
|
92
|
+
rubygems_version: 3.2.0.rc.1
|
94
93
|
signing_key:
|
95
94
|
specification_version: 4
|
96
95
|
summary: A pkg-config implementation for Ruby
|