midilib 2.0.2 → 3.0.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.
data/install.rb CHANGED
@@ -5,53 +5,72 @@
5
5
  # This script installs midilib into the Ruby site-local library directory.
6
6
  #
7
7
  # Author:: Jim Menard (mailto:jim@jimmenard.com)
8
- # Copyright:: Copyright (c) 2003-2012 by Jim Menard
8
+ # Copyright:: Copyright (c) 2003-2013 by Jim Menard
9
9
  # License:: Distributed under the same license as Ruby.
10
10
  #
11
11
 
12
12
  require 'getoptlong'
13
- require 'ftools'
14
13
  require 'find'
14
+ begin
15
+ require 'ftools'
16
+ def mkdirs(dir)
17
+ File.makedirs(dir)
18
+ end
19
+
20
+ def install(*args)
21
+ File.install(*args)
22
+ end
23
+ rescue LoadError
24
+ require 'fileutils'
25
+ def mkdirs(dir)
26
+ FileUtils.mkdir_p(dir)
27
+ end
28
+
29
+ def install(*args)
30
+ args[2] = { mode: args[2], verbose: args[3] }
31
+ args.pop
32
+ FileUtils.install(*args)
33
+ end
34
+ end
15
35
 
16
36
  SOURCE_DIR = 'lib'
17
37
  LIB_DIR = 'midilib'
18
38
  IO_DIR = File.join(LIB_DIR, 'io')
19
39
 
20
40
  def instdir
21
- g = GetoptLong.new(['--install-dir', '-i', GetoptLong::REQUIRED_ARGUMENT])
22
- g.each { | name, arg |
23
- if name == '--install-dir'
24
- return arg
25
- else
26
- $stderr.puts "usage: $0 [--install-dir dir]"
27
- end
28
- }
29
-
30
- begin
31
- require 'rbconfig'
32
- libdir = Config::CONFIG['sitedir'] + "/" +
33
- Config::CONFIG['MAJOR'] + "." +
34
- Config::CONFIG['MINOR']
35
- rescue ScriptError
36
- $LOAD_PATH.each do |l|
37
- if l =~ /site_ruby/ && l =~ /\d$/ && l !~ /#{PLATFORM}/
38
- libdir = l
39
- break
40
- end
41
- end
42
- STDERR.puts "Can't find required file `rbconfig.rb'."
43
- STDERR.puts "The `midilib' files need to be installed manually in" +
44
- " #{libdir}"
41
+ g = GetoptLong.new(['--install-dir', '-i', GetoptLong::REQUIRED_ARGUMENT])
42
+ g.each do |name, arg|
43
+ if name == '--install-dir'
44
+ return arg
45
+ else
46
+ warn 'usage: $0 [--install-dir dir]'
45
47
  end
46
- return libdir
48
+ end
49
+
50
+ begin
51
+ require 'rbconfig'
52
+ libdir = Config::CONFIG['sitedir'] + '/' +
53
+ Config::CONFIG['MAJOR'] + '.' +
54
+ Config::CONFIG['MINOR']
55
+ rescue ScriptError
56
+ $LOAD_PATH.each do |l|
57
+ if l =~ /site_ruby/ && l =~ /\d$/ && l !~ /#{PLATFORM}/
58
+ libdir = l
59
+ break
60
+ end
61
+ end
62
+ warn "Can't find required file `rbconfig.rb'."
63
+ warn "The `midilib' files need to be installed manually in #{libdir}"
64
+ end
65
+ libdir
47
66
  end
48
67
 
49
- INSTALL_DIR = instdir()
68
+ INSTALL_DIR = instdir
50
69
  files = Dir.chdir('lib') { Dir['**/*.rb'] }
51
70
 
52
- files.each { | f |
53
- dir = File.dirname(f)
54
- target_dir = File.join(INSTALL_DIR, dir)
55
- File.makedirs(target_dir) unless File.exist?(target_dir)
56
- File.install(File.join('lib', f), File.join(INSTALL_DIR, f), 0644, true)
57
- }
71
+ files.each do |f|
72
+ dir = File.dirname(f)
73
+ target_dir = File.join(INSTALL_DIR, dir)
74
+ mkdirs(target_dir) unless File.exist?(target_dir)
75
+ install(File.join('lib', f), File.join(INSTALL_DIR, f), 0o644, true)
76
+ end