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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6091962c49f811cded44e5f054555f732e33ffc9
4
- data.tar.gz: 1bacc77f147d5e195035cb395adc4c11f49112a4
3
+ metadata.gz: 7006a5ebfb5923ee682d7a6cb3917e0a8b86343f
4
+ data.tar.gz: ff78df5799be57cd850c64cb1eeb23f5f386968a
5
5
  SHA512:
6
- metadata.gz: acf99d4e1f49fd393f71c6482b67c35283d68f95b1ae12326abd5ed139aa77c3e48965400e3333401494ae0d45a98dd61032987d2ee306890b3d9523e8e1cfcb
7
- data.tar.gz: 314c0ba8e3e9ffac67f027b8176785f8ce345551f78f114d27c50634668fb230c678908d3a48f14af7e1cdfe8898a713e7e6b6c39b5157f3dfb191e4a3f10431
6
+ metadata.gz: e89ad92f96c77f244a8f8400cb7259d3ce2adce2f29641ebfeb3963b18488a27d23aaaea482ac5a35a564073d0ea6fdccfb846cdad825866a38598a33ef9db55
7
+ data.tar.gz: 70f6411149e3c389446bfb25aba4a5d089afca1ab6a79ffde0702486b730e4caeb53d60519d95e206d3d9e6151235dbc461ae82e14d006b555453a65703d58e7
data/Rakefile CHANGED
@@ -15,7 +15,7 @@ Utilrb::Rake.hoe do
15
15
 
16
16
  self.extra_deps <<
17
17
  ['rake', '>= 0.9.0'] <<
18
- ['utilrb', '>= 1.6.0'] <<
18
+ ['utilrb', '>= 2.0.0', '< 3.0.0'] <<
19
19
  ['highline', '>= 0']
20
20
 
21
21
  self.test_globs = ['test/suite.rb']
@@ -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?('LD_LIBRARY_PATH')
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*.so")).empty?
458
- env_add_path('LD_LIBRARY_PATH', 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.class.defines.merge(defines)
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", "-DCMAKE_INSTALL_PREFIX=#{prefix}", "-DCMAKE_MODULE_PATH=#{CMake.module_path.join(";")}" ]
365
+ command = [ "cmake" ]
338
366
 
339
367
  if Autobuild.windows?
340
368
  command << '-G'
341
369
  command << "MSYS Makefiles"
342
370
  end
343
-
344
- self.class.defines.merge(defines).each do |name, value|
371
+
372
+ all_defines.each do |name, value|
345
373
  command << "-D#{name}=#{value}"
346
374
  end
347
375
  if generator
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.9.2" unless defined? Autobuild::VERSION
2
+ VERSION = "1.9.3.b1" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
 
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.2
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-07-28 00:00:00.000000000 Z
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: 1.6.0
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: 1.6.0
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.13'
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.13'
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: '0'
176
+ version: 1.3.1
172
177
  requirements: []
173
178
  rubyforge_project:
174
- rubygems_version: 2.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