autobuild 1.9.2 → 1.9.3.b1
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/Rakefile +1 -1
- data/lib/autobuild/environment.rb +26 -4
- data/lib/autobuild/import/archive.rb +2 -0
- data/lib/autobuild/packages/cmake.rb +34 -6
- data/lib/autobuild/version.rb +1 -1
- metadata +15 -10
- data/.gemtest +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7006a5ebfb5923ee682d7a6cb3917e0a8b86343f
|
4
|
+
data.tar.gz: ff78df5799be57cd850c64cb1eeb23f5f386968a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e89ad92f96c77f244a8f8400cb7259d3ce2adce2f29641ebfeb3963b18488a27d23aaaea482ac5a35a564073d0ea6fdccfb846cdad825866a38598a33ef9db55
|
7
|
+
data.tar.gz: 70f6411149e3c389446bfb25aba4a5d089afca1ab6a79ffde0702486b730e4caeb53d60519d95e206d3d9e6151235dbc461ae82e14d006b555453a65703d58e7
|
data/Rakefile
CHANGED
@@ -17,6 +17,15 @@ module Autobuild
|
|
17
17
|
@macos
|
18
18
|
end
|
19
19
|
|
20
|
+
@freebsd = RbConfig::CONFIG["host_os"].include?('freebsd')
|
21
|
+
def self.freebsd?
|
22
|
+
@freebsd
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.bsd?
|
26
|
+
@freebsd || @macos #can be extended to some other OSes liek NetBSD
|
27
|
+
end
|
28
|
+
|
20
29
|
SYSTEM_ENV = Hash.new
|
21
30
|
ORIGINAL_ENV = Hash.new
|
22
31
|
ENV.each do |k, v|
|
@@ -46,7 +55,20 @@ module Autobuild
|
|
46
55
|
if windows? then "%s"
|
47
56
|
else ". \"%s\""
|
48
57
|
end
|
49
|
-
|
58
|
+
|
59
|
+
LIBRARY_PATH =
|
60
|
+
if macos? then 'DYLD_LIBRARY_PATH'
|
61
|
+
elsif windows? then 'PATH'
|
62
|
+
else 'LD_LIBRARY_PATH'
|
63
|
+
end
|
64
|
+
|
65
|
+
LIBRARY_SUFFIX =
|
66
|
+
if macos? then 'dylib'
|
67
|
+
elsif windows? then 'dll'
|
68
|
+
else 'so'
|
69
|
+
end
|
70
|
+
|
71
|
+
|
50
72
|
class << self
|
51
73
|
# List of the environment that should be set before calling a subcommand
|
52
74
|
#
|
@@ -451,11 +473,11 @@ module Autobuild
|
|
451
473
|
end
|
452
474
|
end
|
453
475
|
|
454
|
-
if !includes || includes.include?(
|
476
|
+
if !includes || includes.include?(LIBRARY_PATH)
|
455
477
|
ld_library_search = ['lib', 'lib/ARCH', 'libARCHSIZE']
|
456
478
|
each_env_search_path(newprefix, ld_library_search) do |path|
|
457
|
-
if !Dir.glob(File.join(path, "lib
|
458
|
-
env_add_path(
|
479
|
+
if !Dir.glob(File.join(path, "lib*.#{LIBRARY_SUFFIX}")).empty?
|
480
|
+
env_add_path(LIBRARY_PATH, path)
|
459
481
|
end
|
460
482
|
end
|
461
483
|
end
|
@@ -186,6 +186,8 @@ module Autobuild
|
|
186
186
|
begin
|
187
187
|
if(WINDOWS)
|
188
188
|
get_url_on_windows(@url, "#{cachefile}.partial")
|
189
|
+
elsif Autobuild.bsd?
|
190
|
+
Subprocess.run(package, :import, Autobuild.tool('curl'), '-Lso',"#{cachefile}.partial", @url)
|
189
191
|
else
|
190
192
|
additional_options = []
|
191
193
|
if timeout = self.timeout
|
@@ -28,13 +28,24 @@ module Autobuild
|
|
28
28
|
# It can be overriden on a per-package basis with CMake.generator=
|
29
29
|
attr_accessor :generator
|
30
30
|
|
31
|
+
attr_reader :prefix_path
|
31
32
|
attr_reader :module_path
|
32
33
|
end
|
34
|
+
@prefix_path = []
|
33
35
|
@module_path = []
|
34
36
|
@full_reconfigures = true
|
35
37
|
|
36
38
|
# a key => value association of defines for CMake
|
37
39
|
attr_reader :defines
|
40
|
+
# The list of all -D options that should be passed on to CMake
|
41
|
+
def all_defines
|
42
|
+
additional_defines = Hash[
|
43
|
+
"CMAKE_INSTALL_PREFIX" => prefix,
|
44
|
+
"CMAKE_MODULE_PATH" => module_path.join(";"),
|
45
|
+
"CMAKE_PREFIX_PATH" => prefix_path.join(";")]
|
46
|
+
self.class.defines.merge(additional_defines).merge(defines)
|
47
|
+
end
|
48
|
+
|
38
49
|
# If true, always run cmake before make during the build
|
39
50
|
attr_accessor :always_reconfigure
|
40
51
|
# If true, we always remove the CMake cache before reconfiguring.
|
@@ -279,6 +290,25 @@ module Autobuild
|
|
279
290
|
end
|
280
291
|
end
|
281
292
|
|
293
|
+
def module_path
|
294
|
+
CMake.module_path
|
295
|
+
end
|
296
|
+
|
297
|
+
def prefix_path
|
298
|
+
seen = Set.new
|
299
|
+
result = Array.new
|
300
|
+
|
301
|
+
raw = (dependencies.map { |pkg_name| Autobuild::Package[pkg_name].prefix } +
|
302
|
+
CMake.prefix_path)
|
303
|
+
raw.each do |path|
|
304
|
+
if !seen.include?(path)
|
305
|
+
seen << path
|
306
|
+
result << path
|
307
|
+
end
|
308
|
+
end
|
309
|
+
result
|
310
|
+
end
|
311
|
+
|
282
312
|
def prepare
|
283
313
|
# A failed initial CMake configuration leaves a CMakeCache.txt file,
|
284
314
|
# but no Makefile.
|
@@ -291,9 +321,7 @@ module Autobuild
|
|
291
321
|
doc_utility.source_ref_dir = builddir
|
292
322
|
|
293
323
|
if File.exist?(cmake_cache)
|
294
|
-
all_defines = self.
|
295
|
-
all_defines['CMAKE_INSTALL_PREFIX'] = prefix
|
296
|
-
all_defines['CMAKE_MODULE_PATH'] = "#{CMake.module_path.join(";")}"
|
324
|
+
all_defines = self.all_defines
|
297
325
|
cache = File.read(cmake_cache)
|
298
326
|
did_change = all_defines.any? do |name, value|
|
299
327
|
cache_line = cache.each_line.find do |line|
|
@@ -334,14 +362,14 @@ module Autobuild
|
|
334
362
|
raise ConfigException.new(self, 'configure'), "#{srcdir} contains no CMakeLists.txt file"
|
335
363
|
end
|
336
364
|
|
337
|
-
command = [ "cmake"
|
365
|
+
command = [ "cmake" ]
|
338
366
|
|
339
367
|
if Autobuild.windows?
|
340
368
|
command << '-G'
|
341
369
|
command << "MSYS Makefiles"
|
342
370
|
end
|
343
|
-
|
344
|
-
|
371
|
+
|
372
|
+
all_defines.each do |name, value|
|
345
373
|
command << "-D#{name}=#{value}"
|
346
374
|
end
|
347
375
|
if generator
|
data/lib/autobuild/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autobuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.3.b1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Joyeux
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -30,14 +30,20 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.0.0
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 3.0.0
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
41
|
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
43
|
+
version: 2.0.0
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 3.0.0
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: highline
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +78,14 @@ dependencies:
|
|
72
78
|
requirements:
|
73
79
|
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: '3.
|
81
|
+
version: '3.14'
|
76
82
|
type: :development
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
86
|
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version: '3.
|
88
|
+
version: '3.14'
|
83
89
|
description: Collection of classes to handle build systems (CMake, autotools, ...)
|
84
90
|
and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration
|
85
91
|
to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj)
|
@@ -93,7 +99,6 @@ extra_rdoc_files:
|
|
93
99
|
- Manifest.txt
|
94
100
|
- README.txt
|
95
101
|
files:
|
96
|
-
- ".gemtest"
|
97
102
|
- Changes.txt
|
98
103
|
- Manifest.txt
|
99
104
|
- README.txt
|
@@ -166,12 +171,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
166
171
|
version: 1.9.2
|
167
172
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
173
|
requirements:
|
169
|
-
- - "
|
174
|
+
- - ">"
|
170
175
|
- !ruby/object:Gem::Version
|
171
|
-
version:
|
176
|
+
version: 1.3.1
|
172
177
|
requirements: []
|
173
178
|
rubyforge_project:
|
174
|
-
rubygems_version: 2.2.
|
179
|
+
rubygems_version: 2.2.3
|
175
180
|
signing_key:
|
176
181
|
specification_version: 4
|
177
182
|
summary: Library to handle build systems and import mechanisms
|
data/.gemtest
DELETED
File without changes
|