pkg-config 1.4.9 → 1.5.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 +4 -4
- data/NEWS +17 -0
- data/lib/pkg-config/version.rb +1 -1
- data/lib/pkg-config.rb +112 -74
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c90e9d9dd81d99b7fd6412e1befe74deaabf67d3c181d50261846a2da0fe9d43
|
|
4
|
+
data.tar.gz: 9dd90a3ffc4e140bce369c8b45ba0c34ba8f3ccea6f0a49ce884b8ba6a2d9825
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: de054c89cbe328715e28258636442959dfbca1c859e1fbff4f076bd945e019ced3aa0515f69cdb470288c76811b2d0138293b65398470acc24415c4631f298bc
|
|
7
|
+
data.tar.gz: a5414ffd42e1bc9cdde74df9ae83689473c9799ef7b6606ee9bb02379017b42db93b5d80f550820f9cea9befddd2a3402cf65435290b0f78db578c55480b9c00
|
data/NEWS
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
= NEWS
|
|
2
2
|
|
|
3
|
+
== 1.5.1 - 2022-11-23
|
|
4
|
+
|
|
5
|
+
=== Improvements
|
|
6
|
+
|
|
7
|
+
* Improved the default search path. "/usr" in "/usr/bin/pkg-config"
|
|
8
|
+
isn't used for buidling the default search path if "pkg-config
|
|
9
|
+
--variable=pc_path pkg-config" is available.
|
|
10
|
+
[Reported by Watson][GitHub:#22]
|
|
11
|
+
|
|
12
|
+
== 1.5.0 - 2022-11-23
|
|
13
|
+
|
|
14
|
+
=== Improvements
|
|
15
|
+
|
|
16
|
+
* Improved the default search path. "pkg-config --variable=pc_path
|
|
17
|
+
pkg-config" is used as the default search path if it's available.
|
|
18
|
+
[Reported by Watson][GitHub:#22]
|
|
19
|
+
|
|
3
20
|
== 1.4.9 - 2022-07-31
|
|
4
21
|
|
|
5
22
|
This is a bug fix release of 1.4.8. All 1.4.8 users should be upgraded
|
data/lib/pkg-config/version.rb
CHANGED
data/lib/pkg-config.rb
CHANGED
|
@@ -44,6 +44,11 @@ class PackageConfig
|
|
|
44
44
|
@native_pkg_config_prefix ||= compute_native_pkg_config_prefix
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
+
@default_path = nil
|
|
48
|
+
def default_path
|
|
49
|
+
@default_path ||= compute_default_path
|
|
50
|
+
end
|
|
51
|
+
|
|
47
52
|
@custom_override_variables = nil
|
|
48
53
|
def custom_override_variables
|
|
49
54
|
@custom_override_variables ||= with_config("override-variables", "")
|
|
@@ -52,6 +57,7 @@ class PackageConfig
|
|
|
52
57
|
def clear_configure_args_cache
|
|
53
58
|
@native_pkg_config = nil
|
|
54
59
|
@native_pkg_config_prefix = nil
|
|
60
|
+
@default_path = nil
|
|
55
61
|
@custom_override_variables = nil
|
|
56
62
|
end
|
|
57
63
|
|
|
@@ -138,6 +144,111 @@ class PackageConfig
|
|
|
138
144
|
pkg_config_prefix
|
|
139
145
|
end
|
|
140
146
|
end
|
|
147
|
+
|
|
148
|
+
def compute_default_path
|
|
149
|
+
default_paths = nil
|
|
150
|
+
if native_pkg_config
|
|
151
|
+
pc_path = run_command(native_pkg_config.to_s,
|
|
152
|
+
"--variable=pc_path",
|
|
153
|
+
"pkg-config")
|
|
154
|
+
if pc_path
|
|
155
|
+
default_paths = pc_path.strip.split(SEPARATOR)
|
|
156
|
+
default_paths = nil if default_paths.empty?
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
if default_paths.nil?
|
|
160
|
+
arch_depended_path = Dir.glob("/usr/lib/*/pkgconfig")
|
|
161
|
+
default_paths = []
|
|
162
|
+
pkg_config_prefix = native_pkg_config_prefix
|
|
163
|
+
if pkg_config_prefix
|
|
164
|
+
pkg_config_arch_depended_paths =
|
|
165
|
+
Dir.glob((pkg_config_prefix + "lib/*/pkgconfig").to_s)
|
|
166
|
+
default_paths.concat(pkg_config_arch_depended_paths)
|
|
167
|
+
default_paths << (pkg_config_prefix + "lib64/pkgconfig").to_s
|
|
168
|
+
default_paths << (pkg_config_prefix + "libx32/pkgconfig").to_s
|
|
169
|
+
default_paths << (pkg_config_prefix + "lib/pkgconfig").to_s
|
|
170
|
+
default_paths << (pkg_config_prefix + "libdata/pkgconfig").to_s
|
|
171
|
+
default_paths << (pkg_config_prefix + "share/pkgconfig").to_s
|
|
172
|
+
end
|
|
173
|
+
default_paths << "/usr/local/lib64/pkgconfig"
|
|
174
|
+
default_paths << "/usr/local/libx32/pkgconfig"
|
|
175
|
+
default_paths << "/usr/local/lib/pkgconfig"
|
|
176
|
+
default_paths << "/usr/local/libdata/pkgconfig"
|
|
177
|
+
default_paths << "/usr/local/share/pkgconfig"
|
|
178
|
+
default_paths << "/opt/local/lib/pkgconfig"
|
|
179
|
+
default_paths.concat(arch_depended_path)
|
|
180
|
+
default_paths << "/usr/lib64/pkgconfig"
|
|
181
|
+
default_paths << "/usr/libx32/pkgconfig"
|
|
182
|
+
default_paths << "/usr/lib/pkgconfig"
|
|
183
|
+
default_paths << "/usr/libdata/pkgconfig"
|
|
184
|
+
default_paths << "/usr/X11R6/lib/pkgconfig"
|
|
185
|
+
default_paths << "/usr/X11R6/share/pkgconfig"
|
|
186
|
+
default_paths << "/usr/X11/lib/pkgconfig"
|
|
187
|
+
default_paths << "/opt/X11/lib/pkgconfig"
|
|
188
|
+
default_paths << "/usr/share/pkgconfig"
|
|
189
|
+
end
|
|
190
|
+
if Object.const_defined?(:RubyInstaller)
|
|
191
|
+
mingw_bin_path = RubyInstaller::Runtime.msys2_installation.mingw_bin_path
|
|
192
|
+
mingw_pkgconfig_path = Pathname.new(mingw_bin_path) + "../lib/pkgconfig"
|
|
193
|
+
default_paths.unshift(mingw_pkgconfig_path.cleanpath.to_s)
|
|
194
|
+
end
|
|
195
|
+
libdir = ENV["PKG_CONFIG_LIBDIR"]
|
|
196
|
+
default_paths.unshift(libdir) if libdir
|
|
197
|
+
|
|
198
|
+
paths = []
|
|
199
|
+
if /-darwin\d[\d\.]*\z/ =~ RUBY_PLATFORM and
|
|
200
|
+
/\A(\d+\.\d+)/ =~ run_command("sw_vers", "-productVersion")
|
|
201
|
+
mac_os_version = $1
|
|
202
|
+
homebrew_repository_candidates = []
|
|
203
|
+
if pkg_config_prefix
|
|
204
|
+
brew_path = pkg_config_prefix + "bin" + "brew"
|
|
205
|
+
if brew_path.exist?
|
|
206
|
+
homebrew_repository = run_command(brew_path.to_s, "--repository")
|
|
207
|
+
if homebrew_repository
|
|
208
|
+
homebrew_repository_candidates <<
|
|
209
|
+
Pathname.new(homebrew_repository.strip)
|
|
210
|
+
end
|
|
211
|
+
else
|
|
212
|
+
homebrew_repository_candidates << pkg_config_prefix + "Homebrew"
|
|
213
|
+
homebrew_repository_candidates << pkg_config_prefix
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
brew = search_executable_from_path("brew")
|
|
217
|
+
if brew
|
|
218
|
+
homebrew_repository = run_command("brew", "--repository")
|
|
219
|
+
if homebrew_repository
|
|
220
|
+
homebrew_repository_candidates <<
|
|
221
|
+
Pathname(homebrew_repository.to_s)
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
homebrew_repository_candidates.uniq.each do |candidate|
|
|
225
|
+
pkgconfig_base_path = candidate + "Library/Homebrew/os/mac/pkgconfig"
|
|
226
|
+
path = pkgconfig_base_path + mac_os_version
|
|
227
|
+
unless path.exist?
|
|
228
|
+
path = pkgconfig_base_path + mac_os_version.gsub(/\.\d+\z/, "")
|
|
229
|
+
end
|
|
230
|
+
paths << path.to_s if path.exist?
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
paths.concat(default_paths)
|
|
234
|
+
paths.join(SEPARATOR)
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
def run_command(*command_line)
|
|
238
|
+
IO.pipe do |input, output|
|
|
239
|
+
begin
|
|
240
|
+
pid = spawn(*command_line,
|
|
241
|
+
out: output,
|
|
242
|
+
err: File::NULL)
|
|
243
|
+
output.close
|
|
244
|
+
_, status = Process.waitpid2(pid)
|
|
245
|
+
return nil unless status.success?
|
|
246
|
+
input.read
|
|
247
|
+
rescue SystemCallError
|
|
248
|
+
nil
|
|
249
|
+
end
|
|
250
|
+
end
|
|
251
|
+
end
|
|
141
252
|
end
|
|
142
253
|
|
|
143
254
|
attr_reader :name
|
|
@@ -155,7 +266,7 @@ class PackageConfig
|
|
|
155
266
|
end
|
|
156
267
|
@options = options
|
|
157
268
|
path = @options[:path] || ENV["PKG_CONFIG_PATH"]
|
|
158
|
-
@paths = [path,
|
|
269
|
+
@paths = [path, self.class.default_path].compact.join(SEPARATOR).split(SEPARATOR)
|
|
159
270
|
@paths.unshift(*(@options[:paths] || []))
|
|
160
271
|
@paths = normalize_paths(@paths)
|
|
161
272
|
@msvc_syntax = @options[:msvc_syntax]
|
|
@@ -425,79 +536,6 @@ class PackageConfig
|
|
|
425
536
|
end
|
|
426
537
|
end
|
|
427
538
|
|
|
428
|
-
def guess_default_path
|
|
429
|
-
arch_depended_path = Dir.glob("/usr/lib/*/pkgconfig")
|
|
430
|
-
default_paths = [
|
|
431
|
-
"/usr/local/lib64/pkgconfig",
|
|
432
|
-
"/usr/local/libx32/pkgconfig",
|
|
433
|
-
"/usr/local/lib/pkgconfig",
|
|
434
|
-
"/usr/local/libdata/pkgconfig",
|
|
435
|
-
"/usr/local/share/pkgconfig",
|
|
436
|
-
"/opt/local/lib/pkgconfig",
|
|
437
|
-
*arch_depended_path,
|
|
438
|
-
"/usr/lib64/pkgconfig",
|
|
439
|
-
"/usr/libx32/pkgconfig",
|
|
440
|
-
"/usr/lib/pkgconfig",
|
|
441
|
-
"/usr/libdata/pkgconfig",
|
|
442
|
-
"/usr/X11R6/lib/pkgconfig",
|
|
443
|
-
"/usr/X11R6/share/pkgconfig",
|
|
444
|
-
"/usr/X11/lib/pkgconfig",
|
|
445
|
-
"/opt/X11/lib/pkgconfig",
|
|
446
|
-
"/usr/share/pkgconfig",
|
|
447
|
-
]
|
|
448
|
-
if Object.const_defined?(:RubyInstaller)
|
|
449
|
-
mingw_bin_path = RubyInstaller::Runtime.msys2_installation.mingw_bin_path
|
|
450
|
-
mingw_pkgconfig_path = Pathname.new(mingw_bin_path) + "../lib/pkgconfig"
|
|
451
|
-
default_paths.unshift(mingw_pkgconfig_path.cleanpath.to_s)
|
|
452
|
-
end
|
|
453
|
-
libdir = ENV["PKG_CONFIG_LIBDIR"]
|
|
454
|
-
default_paths.unshift(libdir) if libdir
|
|
455
|
-
|
|
456
|
-
paths = []
|
|
457
|
-
pkg_config_prefix = self.class.native_pkg_config_prefix
|
|
458
|
-
if pkg_config_prefix
|
|
459
|
-
pkg_config_arch_depended_paths =
|
|
460
|
-
Dir.glob((pkg_config_prefix + "lib/*/pkgconfig").to_s)
|
|
461
|
-
paths.concat(pkg_config_arch_depended_paths)
|
|
462
|
-
paths << (pkg_config_prefix + "lib64/pkgconfig").to_s
|
|
463
|
-
paths << (pkg_config_prefix + "libx32/pkgconfig").to_s
|
|
464
|
-
paths << (pkg_config_prefix + "lib/pkgconfig").to_s
|
|
465
|
-
paths << (pkg_config_prefix + "libdata/pkgconfig").to_s
|
|
466
|
-
paths << (pkg_config_prefix + "share/pkgconfig").to_s
|
|
467
|
-
end
|
|
468
|
-
if /-darwin\d[\d\.]*\z/ =~ RUBY_PLATFORM and
|
|
469
|
-
/\A(\d+\.\d+)/ =~ `sw_vers -productVersion`
|
|
470
|
-
mac_os_version = $1
|
|
471
|
-
homebrew_repository_candidates = []
|
|
472
|
-
if pkg_config_prefix
|
|
473
|
-
brew_path = pkg_config_prefix + "bin" + "brew"
|
|
474
|
-
if brew_path.exist?
|
|
475
|
-
escaped_brew_path = Shellwords.escape(brew_path.to_s)
|
|
476
|
-
homebrew_repository = `#{escaped_brew_path} --repository`.chomp
|
|
477
|
-
homebrew_repository_candidates << Pathname.new(homebrew_repository)
|
|
478
|
-
else
|
|
479
|
-
homebrew_repository_candidates << pkg_config_prefix + "Homebrew"
|
|
480
|
-
homebrew_repository_candidates << pkg_config_prefix
|
|
481
|
-
end
|
|
482
|
-
end
|
|
483
|
-
brew = self.class.__send__(:search_executable_from_path, "brew")
|
|
484
|
-
if brew
|
|
485
|
-
homebrew_repository = `brew --repository`.chomp
|
|
486
|
-
homebrew_repository_candidates << Pathname(homebrew_repository)
|
|
487
|
-
end
|
|
488
|
-
homebrew_repository_candidates.uniq.each do |candidate|
|
|
489
|
-
pkgconfig_base_path = candidate + "Library/Homebrew/os/mac/pkgconfig"
|
|
490
|
-
path = pkgconfig_base_path + mac_os_version
|
|
491
|
-
unless path.exist?
|
|
492
|
-
path = pkgconfig_base_path + mac_os_version.gsub(/\.\d+\z/, "")
|
|
493
|
-
end
|
|
494
|
-
paths << path.to_s if path.exist?
|
|
495
|
-
end
|
|
496
|
-
end
|
|
497
|
-
paths.concat(default_paths)
|
|
498
|
-
paths.join(SEPARATOR)
|
|
499
|
-
end
|
|
500
|
-
|
|
501
539
|
def required_packages
|
|
502
540
|
collect_requires do |package|
|
|
503
541
|
package.requires
|
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.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kouhei Sutou
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-11-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-unit
|
|
@@ -74,7 +74,7 @@ licenses:
|
|
|
74
74
|
- LGPLv2+
|
|
75
75
|
metadata:
|
|
76
76
|
msys2_mingw_dependencies: pkg-config
|
|
77
|
-
post_install_message:
|
|
77
|
+
post_install_message:
|
|
78
78
|
rdoc_options: []
|
|
79
79
|
require_paths:
|
|
80
80
|
- lib
|
|
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
90
90
|
version: '0'
|
|
91
91
|
requirements: []
|
|
92
92
|
rubygems_version: 3.4.0.dev
|
|
93
|
-
signing_key:
|
|
93
|
+
signing_key:
|
|
94
94
|
specification_version: 4
|
|
95
95
|
summary: A pkg-config implementation for Ruby
|
|
96
96
|
test_files:
|