ffi-tk 2010.08.23 → 2018.02.20
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 +7 -0
- data/.gitignore +2 -0
- data/.rubocop.yml +7 -0
- data/.rubocop_todo.yml +371 -0
- data/AUTHORS +4 -2
- data/CHANGELOG +302 -262
- data/Gemfile +10 -0
- data/Gemfile.lock +45 -0
- data/MANIFEST +6 -6
- data/README.md +1 -1
- data/Rakefile +12 -11
- data/bin/rwish +6 -5
- data/example/choose_color.rb +5 -4
- data/example/choose_directory.rb +5 -4
- data/example/dialog.rb +9 -8
- data/example/hello.rb +2 -1
- data/example/message_box.rb +8 -5
- data/example/option_menu.rb +4 -3
- data/example/popup.rb +4 -3
- data/example/set_palette.rb +5 -4
- data/example/text.rb +30 -30
- data/example/tile/kroc_demo_small.rb +51 -55
- data/example/tile/kroc_rb_demo.rb +74 -83
- data/example/tile/notebook.rb +6 -9
- data/example/tile/theme_hello.rb +6 -8
- data/example/tile/themes.rb +4 -2
- data/example/tile/treeview.rb +16 -14
- data/example/tkgo.rb +120 -88
- data/example/various.rb +8 -7
- data/example/wait.rb +3 -2
- data/ffi-tk.gemspec +21 -20
- data/gemset.nix +134 -0
- data/lib/ffi-tk.rb +10 -11
- data/lib/ffi-tk/command.rb +3 -2
- data/lib/ffi-tk/command/after.rb +8 -7
- data/lib/ffi-tk/command/bell.rb +2 -1
- data/lib/ffi-tk/command/bind.rb +1 -0
- data/lib/ffi-tk/command/bindtags.rb +1 -0
- data/lib/ffi-tk/command/cget.rb +31 -24
- data/lib/ffi-tk/command/choose_color.rb +2 -1
- data/lib/ffi-tk/command/choose_directory.rb +2 -1
- data/lib/ffi-tk/command/clipboard.rb +6 -5
- data/lib/ffi-tk/command/configure.rb +23 -21
- data/lib/ffi-tk/command/destroy.rb +2 -1
- data/lib/ffi-tk/command/dialog.rb +4 -3
- data/lib/ffi-tk/command/event.rb +1 -0
- data/lib/ffi-tk/command/focus.rb +2 -1
- data/lib/ffi-tk/command/font.rb +12 -9
- data/lib/ffi-tk/command/get_open_file.rb +1 -0
- data/lib/ffi-tk/command/get_save_file.rb +1 -0
- data/lib/ffi-tk/command/grab.rb +2 -1
- data/lib/ffi-tk/command/grid.rb +7 -6
- data/lib/ffi-tk/command/image.rb +5 -4
- data/lib/ffi-tk/command/lower.rb +1 -0
- data/lib/ffi-tk/command/message_box.rb +2 -1
- data/lib/ffi-tk/command/option_menu.rb +3 -2
- data/lib/ffi-tk/command/pack.rb +5 -4
- data/lib/ffi-tk/command/place.rb +5 -4
- data/lib/ffi-tk/command/popup.rb +2 -1
- data/lib/ffi-tk/command/raise.rb +1 -0
- data/lib/ffi-tk/command/scrollable.rb +7 -10
- data/lib/ffi-tk/command/selection.rb +4 -3
- data/lib/ffi-tk/command/set_palette.rb +2 -1
- data/lib/ffi-tk/command/tk_cmd.rb +1 -0
- data/lib/ffi-tk/command/vars.rb +2 -1
- data/lib/ffi-tk/command/wait.rb +2 -1
- data/lib/ffi-tk/command/winfo.rb +9 -8
- data/lib/ffi-tk/command/wm.rb +11 -10
- data/lib/ffi-tk/core_extensions.rb +5 -4
- data/lib/ffi-tk/event/data.rb +32 -31
- data/lib/ffi-tk/event/handler.rb +4 -3
- data/lib/ffi-tk/ffi/tcl.rb +42 -31
- data/lib/ffi-tk/ffi/tcl/cmd_proc.rb +2 -1
- data/lib/ffi-tk/ffi/tcl/eval_result.rb +47 -8
- data/lib/ffi-tk/ffi/tcl/interp.rb +7 -4
- data/lib/ffi-tk/ffi/tcl/obj.rb +7 -32
- data/lib/ffi-tk/ffi/tcl/time.rb +2 -1
- data/lib/ffi-tk/ffi/tk.rb +8 -7
- data/lib/ffi-tk/geometry.rb +20 -17
- data/lib/ffi-tk/thread_sender.rb +1 -0
- data/lib/ffi-tk/tk.rb +23 -23
- data/lib/ffi-tk/variable.rb +25 -3
- data/lib/ffi-tk/version.rb +1 -1
- data/lib/ffi-tk/widget.rb +2 -1
- data/lib/ffi-tk/widget/button.rb +4 -1
- data/lib/ffi-tk/widget/canvas.rb +18 -15
- data/lib/ffi-tk/widget/canvas/arc.rb +2 -1
- data/lib/ffi-tk/widget/canvas/bitmap.rb +2 -1
- data/lib/ffi-tk/widget/canvas/image.rb +2 -1
- data/lib/ffi-tk/widget/canvas/item.rb +4 -4
- data/lib/ffi-tk/widget/canvas/line.rb +2 -1
- data/lib/ffi-tk/widget/canvas/oval.rb +2 -1
- data/lib/ffi-tk/widget/canvas/polygon.rb +2 -1
- data/lib/ffi-tk/widget/canvas/rectangle.rb +2 -1
- data/lib/ffi-tk/widget/canvas/text.rb +2 -1
- data/lib/ffi-tk/widget/canvas/window.rb +2 -1
- data/lib/ffi-tk/widget/checkbutton.rb +4 -1
- data/lib/ffi-tk/widget/entry.rb +4 -1
- data/lib/ffi-tk/widget/frame.rb +4 -1
- data/lib/ffi-tk/widget/label.rb +4 -1
- data/lib/ffi-tk/widget/labelframe.rb +4 -1
- data/lib/ffi-tk/widget/listbox.rb +5 -2
- data/lib/ffi-tk/widget/menu.rb +4 -1
- data/lib/ffi-tk/widget/menubutton.rb +4 -1
- data/lib/ffi-tk/widget/message.rb +4 -1
- data/lib/ffi-tk/widget/panedwindow.rb +5 -2
- data/lib/ffi-tk/widget/radiobutton.rb +4 -1
- data/lib/ffi-tk/widget/root.rb +1 -0
- data/lib/ffi-tk/widget/scale.rb +4 -1
- data/lib/ffi-tk/widget/scrollbar.rb +4 -1
- data/lib/ffi-tk/widget/spinbox.rb +4 -1
- data/lib/ffi-tk/widget/text.rb +20 -16
- data/lib/ffi-tk/widget/text/peer.rb +1 -0
- data/lib/ffi-tk/widget/tile.rb +2 -1
- data/lib/ffi-tk/widget/tile/button.rb +4 -1
- data/lib/ffi-tk/widget/tile/checkbutton.rb +4 -1
- data/lib/ffi-tk/widget/tile/combobox.rb +5 -2
- data/lib/ffi-tk/widget/tile/entry.rb +4 -1
- data/lib/ffi-tk/widget/tile/frame.rb +4 -1
- data/lib/ffi-tk/widget/tile/label.rb +4 -2
- data/lib/ffi-tk/widget/tile/labelframe.rb +4 -1
- data/lib/ffi-tk/widget/tile/menubutton.rb +4 -1
- data/lib/ffi-tk/widget/tile/notebook.rb +4 -1
- data/lib/ffi-tk/widget/tile/panedwindow.rb +4 -1
- data/lib/ffi-tk/widget/tile/progressbar.rb +4 -2
- data/lib/ffi-tk/widget/tile/radiobutton.rb +4 -1
- data/lib/ffi-tk/widget/tile/scale.rb +4 -1
- data/lib/ffi-tk/widget/tile/scrollbar.rb +7 -4
- data/lib/ffi-tk/widget/tile/separator.rb +4 -1
- data/lib/ffi-tk/widget/tile/sizegrip.rb +4 -1
- data/lib/ffi-tk/widget/tile/style.rb +16 -17
- data/lib/ffi-tk/widget/tile/treeview.rb +11 -5
- data/lib/ffi-tk/widget/toplevel.rb +4 -1
- data/shell.nix +19 -0
- data/spec/ffi-tk/command/bind.rb +5 -4
- data/spec/ffi-tk/command/bindtags.rb +2 -1
- data/spec/ffi-tk/command/clipboard.rb +4 -3
- data/spec/ffi-tk/command/font.rb +20 -19
- data/spec/ffi-tk/command/image.rb +13 -5
- data/spec/ffi-tk/command/pack.rb +3 -2
- data/spec/ffi-tk/command/place.rb +4 -3
- data/spec/ffi-tk/command/selection.rb +2 -1
- data/spec/ffi-tk/command/vars.rb +3 -2
- data/spec/ffi-tk/command/winfo.rb +10 -10
- data/spec/ffi-tk/command/wm.rb +23 -22
- data/spec/ffi-tk/event.rb +23 -21
- data/spec/ffi-tk/tile/button.rb +8 -8
- data/spec/ffi-tk/tile/checkbutton.rb +1 -1
- data/spec/ffi-tk/tile/combobox.rb +11 -12
- data/spec/ffi-tk/tile/entry.rb +18 -19
- data/spec/ffi-tk/tile/frame.rb +13 -13
- data/spec/ffi-tk/tile/label.rb +2 -2
- data/spec/ffi-tk/tile/labelframe.rb +1 -1
- data/spec/ffi-tk/tile/menubutton.rb +1 -1
- data/spec/ffi-tk/tile/notebook.rb +22 -20
- data/spec/ffi-tk/tile/panedwindow.rb +1 -1
- data/spec/ffi-tk/tile/progressbar.rb +1 -1
- data/spec/ffi-tk/tile/radiobutton.rb +1 -1
- data/spec/ffi-tk/tile/scale.rb +1 -1
- data/spec/ffi-tk/tile/scrollbar.rb +1 -16
- data/spec/ffi-tk/tile/separator.rb +2 -2
- data/spec/ffi-tk/tile/sizegrip.rb +1 -1
- data/spec/ffi-tk/tile/style.rb +63 -65
- data/spec/ffi-tk/tile/treeview.rb +11 -10
- data/spec/ffi-tk/variable.rb +5 -4
- data/spec/ffi-tk/widget/button.rb +3 -2
- data/spec/ffi-tk/widget/canvas.rb +59 -58
- data/spec/ffi-tk/widget/checkbutton.rb +6 -5
- data/spec/ffi-tk/widget/entry.rb +112 -103
- data/spec/ffi-tk/widget/frame.rb +2 -1
- data/spec/ffi-tk/widget/label.rb +2 -1
- data/spec/ffi-tk/widget/labelframe.rb +1 -0
- data/spec/ffi-tk/widget/listbox.rb +5 -4
- data/spec/ffi-tk/widget/menu.rb +3 -2
- data/spec/ffi-tk/widget/menubutton.rb +1 -0
- data/spec/ffi-tk/widget/message.rb +1 -0
- data/spec/ffi-tk/widget/panedwindow.rb +1 -0
- data/spec/ffi-tk/widget/radiobutton.rb +1 -0
- data/spec/ffi-tk/widget/root.rb +2 -1
- data/spec/ffi-tk/widget/scale.rb +1 -0
- data/spec/ffi-tk/widget/scrollbar.rb +1 -0
- data/spec/ffi-tk/widget/spinbox.rb +1 -0
- data/spec/ffi-tk/widget/text.rb +63 -54
- data/spec/ffi-tk/widget/toplevel.rb +1 -0
- data/spec/helper.rb +3 -1
- data/tasks/authors.rake +3 -2
- data/tasks/bacon.rake +13 -11
- data/tasks/changelog.rake +1 -0
- data/tasks/gem.rake +13 -11
- data/tasks/manifest.rake +2 -1
- data/tasks/release.rake +11 -32
- data/tasks/reversion.rake +2 -1
- metadata +52 -75
- data/spec/ffi-tk/command/grid.rb +0 -6
- data/tasks/gem_setup.rake +0 -113
- data/tasks/grancher.rake +0 -12
- data/tasks/rcov.rake +0 -17
- data/tasks/setup.rake +0 -12
- data/tasks/ycov.rake +0 -84
data/spec/helper.rb
CHANGED
data/tasks/authors.rake
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
# Once git has a fix for the glibc in handling .mailmap and another fix for
|
2
3
|
# allowing empty mail address to be mapped in .mailmap we won't have to handle
|
3
4
|
# them manually.
|
@@ -14,8 +15,8 @@ task :authors do
|
|
14
15
|
io.puts "Following persons have contributed to #{GEMSPEC.name}."
|
15
16
|
io.puts '(Sorted by number of submitted patches, then alphabetically)'
|
16
17
|
io.puts ''
|
17
|
-
authors.sort_by{|(n,
|
18
|
-
io.puts(
|
18
|
+
authors.sort_by { |(n, _e), c| [-c, n.downcase] }.each do |(name, email), count|
|
19
|
+
io.puts('%6d %s <%s>' % [count, name, email])
|
19
20
|
end
|
20
21
|
end
|
21
22
|
end
|
data/tasks/bacon.rake
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
desc 'Run all bacon specs with pretty output'
|
2
|
-
task :bacon
|
3
|
+
task :bacon do
|
3
4
|
require 'open3'
|
4
5
|
require 'scanf'
|
5
6
|
require 'matrix'
|
@@ -8,24 +9,25 @@ task :bacon => :setup do
|
|
8
9
|
|
9
10
|
some_failed = false
|
10
11
|
specs_size = specs.size
|
11
|
-
len = specs.map
|
12
|
-
total_tests = total_assertions = total_failures = total_errors = 0
|
12
|
+
len = specs.map(&:size).sort.last
|
13
13
|
totals = Vector[0, 0, 0, 0]
|
14
14
|
|
15
|
-
red
|
15
|
+
red = "\e[31m%s\e[0m"
|
16
|
+
yellow = "\e[33m%s\e[0m"
|
17
|
+
green = "\e[32m%s\e[0m"
|
16
18
|
left_format = "%4d/%d: %-#{len + 11}s"
|
17
|
-
spec_format =
|
19
|
+
spec_format = '%d specifications (%d requirements), %d failures, %d errors'
|
18
20
|
|
19
21
|
specs.each_with_index do |spec, idx|
|
20
22
|
print(left_format % [idx + 1, specs_size, spec])
|
21
23
|
|
22
|
-
Open3.popen3(RUBY, spec) do |
|
24
|
+
Open3.popen3(FileUtils::RUBY, spec) do |_sin, sout, serr|
|
23
25
|
out = sout.read.strip
|
24
26
|
err = serr.read.strip
|
25
27
|
|
26
28
|
# this is conventional, see spec/innate/state/fiber.rb for usage
|
27
29
|
if out =~ /^Bacon::Error: (needed .*)/
|
28
|
-
puts(yellow % (
|
30
|
+
puts(yellow % ('%6s %s' % ['', Regexp.last_match(1)]))
|
29
31
|
else
|
30
32
|
total = nil
|
31
33
|
|
@@ -40,19 +42,19 @@ task :bacon => :setup do
|
|
40
42
|
|
41
43
|
if total
|
42
44
|
totals += total
|
43
|
-
tests,
|
45
|
+
tests, _, failures, errors = total.to_a
|
44
46
|
|
45
47
|
if tests > 0 && failures + errors == 0
|
46
|
-
puts((green %
|
48
|
+
puts((green % '%6d passed') % tests)
|
47
49
|
else
|
48
50
|
some_failed = true
|
49
|
-
puts(red %
|
51
|
+
puts(red % ' failed')
|
50
52
|
puts out unless out.empty?
|
51
53
|
puts err unless err.empty?
|
52
54
|
end
|
53
55
|
else
|
54
56
|
some_failed = true
|
55
|
-
puts(red %
|
57
|
+
puts(red % ' failed')
|
56
58
|
puts out unless out.empty?
|
57
59
|
puts err unless err.empty?
|
58
60
|
end
|
data/tasks/changelog.rake
CHANGED
data/tasks/gem.rake
CHANGED
@@ -1,22 +1,24 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rubygems/package_task'
|
2
4
|
|
3
|
-
task :
|
5
|
+
task gemspec: [:manifest, :changelog] do
|
4
6
|
gemspec_file = "#{GEMSPEC.name}.gemspec"
|
5
|
-
File.open(gemspec_file, 'w+'){|gs| gs.puts(GEMSPEC.to_ruby) }
|
7
|
+
File.open(gemspec_file, 'w+') { |gs| gs.puts(GEMSPEC.to_ruby) }
|
6
8
|
end
|
7
9
|
|
8
|
-
desc
|
9
|
-
task :
|
10
|
-
sh
|
11
|
-
sh
|
10
|
+
desc 'package and install from gemspec'
|
11
|
+
task install: [:gemspec] do
|
12
|
+
sh 'gem', 'build', "#{GEMSPEC.name}.gemspec"
|
13
|
+
sh 'gem', 'install', "#{GEMSPEC.name}-#{GEMSPEC.version}.gem"
|
12
14
|
end
|
13
15
|
|
14
|
-
desc
|
15
|
-
task :
|
16
|
-
sh %
|
16
|
+
desc 'uninstall the gem'
|
17
|
+
task uninstall: [:clean] do
|
18
|
+
sh %(gem uninstall -x #{GEMSPEC.name})
|
17
19
|
end
|
18
20
|
|
19
|
-
|
21
|
+
Gem::PackageTask.new(GEMSPEC) do |p|
|
20
22
|
p.need_tar = true
|
21
23
|
p.need_zip = true
|
22
24
|
end
|
data/tasks/manifest.rake
CHANGED
data/tasks/release.rake
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
namespace :release do
|
2
|
-
task :
|
3
|
-
task :
|
3
|
+
task prepare: [:reversion, :authors, :gemspec]
|
4
|
+
task all: ['release:github', 'release:rubygems']
|
4
5
|
|
5
6
|
desc 'Release on github'
|
6
|
-
task :
|
7
|
-
name
|
7
|
+
task github: :prepare do
|
8
|
+
name = GEMSPEC.name
|
9
|
+
version = GEMSPEC.version
|
8
10
|
|
9
11
|
sh('git', 'add',
|
10
12
|
'MANIFEST', 'CHANGELOG', 'AUTHORS',
|
@@ -24,38 +26,15 @@ git push
|
|
24
26
|
INSTRUCTIONS
|
25
27
|
end
|
26
28
|
|
27
|
-
desc 'Release on
|
28
|
-
task :
|
29
|
-
name
|
30
|
-
|
31
|
-
pkgs = Dir["pkg/#{name}-#{version}.{tgz,zip}"].map{|file|
|
32
|
-
"rubyforge add_file #{name} #{name} '#{version}' '#{file}'"
|
33
|
-
}
|
34
|
-
|
35
|
-
puts <<-INSTRUCTIONS
|
36
|
-
================================================================================
|
37
|
-
|
38
|
-
To publish to rubyforge do following:
|
39
|
-
|
40
|
-
rubyforge login
|
41
|
-
rubyforge add_release #{name} #{name} '#{version}' pkg/#{name}-#{version}.gem
|
42
|
-
|
43
|
-
To publish the archives for distro packagers:
|
44
|
-
|
45
|
-
#{pkgs.join "\n"}
|
46
|
-
|
47
|
-
================================================================================
|
48
|
-
INSTRUCTIONS
|
49
|
-
end
|
50
|
-
|
51
|
-
desc 'Release on gemcutter'
|
52
|
-
task :gemcutter => ['release:prepare', :package] do
|
53
|
-
name, version = GEMSPEC.name, GEMSPEC.version
|
29
|
+
desc 'Release on rubygems'
|
30
|
+
task rubygems: ['release:prepare', :package] do
|
31
|
+
name = GEMSPEC.name
|
32
|
+
version = GEMSPEC.version
|
54
33
|
|
55
34
|
puts <<-INSTRUCTIONS
|
56
35
|
================================================================================
|
57
36
|
|
58
|
-
To publish to
|
37
|
+
To publish to rubygems do following:
|
59
38
|
|
60
39
|
gem push pkg/#{name}-#{version}.gem
|
61
40
|
|
data/tasks/reversion.rake
CHANGED
metadata
CHANGED
@@ -1,64 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-tk
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 2010
|
7
|
-
- 8
|
8
|
-
- 23
|
9
|
-
version: 2010.08.23
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2018.02.20
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Michael 'manveru' Fellinger
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2018-02-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
21
14
|
name: ffi
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 0
|
30
|
-
- 6
|
31
|
-
- 3
|
32
|
-
version: 0.6.3
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.9'
|
33
20
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: bacon
|
37
21
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.9'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bacon
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
48
34
|
type: :development
|
49
|
-
|
50
|
-
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.2'
|
41
|
+
description: Comfortably talk with Tcl/Tk using FFI.
|
51
42
|
email: m.fellinger@gmail.com
|
52
43
|
executables: []
|
53
|
-
|
54
44
|
extensions: []
|
55
|
-
|
56
45
|
extra_rdoc_files: []
|
57
|
-
|
58
|
-
|
59
|
-
- .
|
46
|
+
files:
|
47
|
+
- ".gitignore"
|
48
|
+
- ".rubocop.yml"
|
49
|
+
- ".rubocop_todo.yml"
|
60
50
|
- AUTHORS
|
61
51
|
- CHANGELOG
|
52
|
+
- Gemfile
|
53
|
+
- Gemfile.lock
|
62
54
|
- MANIFEST
|
63
55
|
- README.md
|
64
56
|
- Rakefile
|
@@ -85,6 +77,7 @@ files:
|
|
85
77
|
- example/various.rb
|
86
78
|
- example/wait.rb
|
87
79
|
- ffi-tk.gemspec
|
80
|
+
- gemset.nix
|
88
81
|
- lib/ffi-tk.rb
|
89
82
|
- lib/ffi-tk/command.rb
|
90
83
|
- lib/ffi-tk/command/after.rb
|
@@ -186,11 +179,11 @@ files:
|
|
186
179
|
- lib/ffi-tk/widget/tile/style.rb
|
187
180
|
- lib/ffi-tk/widget/tile/treeview.rb
|
188
181
|
- lib/ffi-tk/widget/toplevel.rb
|
182
|
+
- shell.nix
|
189
183
|
- spec/ffi-tk/command/bind.rb
|
190
184
|
- spec/ffi-tk/command/bindtags.rb
|
191
185
|
- spec/ffi-tk/command/clipboard.rb
|
192
186
|
- spec/ffi-tk/command/font.rb
|
193
|
-
- spec/ffi-tk/command/grid.rb
|
194
187
|
- spec/ffi-tk/command/image.rb
|
195
188
|
- spec/ffi-tk/command/pack.rb
|
196
189
|
- spec/ffi-tk/command/place.rb
|
@@ -242,47 +235,31 @@ files:
|
|
242
235
|
- tasks/bacon.rake
|
243
236
|
- tasks/changelog.rake
|
244
237
|
- tasks/gem.rake
|
245
|
-
- tasks/gem_setup.rake
|
246
|
-
- tasks/grancher.rake
|
247
238
|
- tasks/manifest.rake
|
248
|
-
- tasks/rcov.rake
|
249
239
|
- tasks/release.rake
|
250
240
|
- tasks/reversion.rake
|
251
|
-
- tasks/setup.rake
|
252
|
-
- tasks/ycov.rake
|
253
|
-
has_rdoc: true
|
254
241
|
homepage: http://github.com/manveru/ffi-tk
|
255
|
-
licenses:
|
256
|
-
|
242
|
+
licenses:
|
243
|
+
- MIT
|
244
|
+
metadata: {}
|
257
245
|
post_install_message:
|
258
246
|
rdoc_options: []
|
259
|
-
|
260
|
-
require_paths:
|
247
|
+
require_paths:
|
261
248
|
- lib
|
262
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
263
|
-
|
264
|
-
requirements:
|
249
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
250
|
+
requirements:
|
265
251
|
- - ">="
|
266
|
-
- !ruby/object:Gem::Version
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
271
|
-
none: false
|
272
|
-
requirements:
|
252
|
+
- !ruby/object:Gem::Version
|
253
|
+
version: '0'
|
254
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
255
|
+
requirements:
|
273
256
|
- - ">="
|
274
|
-
- !ruby/object:Gem::Version
|
275
|
-
segments:
|
276
|
-
- 1
|
277
|
-
- 3
|
278
|
-
- 3
|
257
|
+
- !ruby/object:Gem::Version
|
279
258
|
version: 1.3.3
|
280
259
|
requirements: []
|
281
|
-
|
282
260
|
rubyforge_project:
|
283
|
-
rubygems_version:
|
261
|
+
rubygems_version: 2.6.13
|
284
262
|
signing_key:
|
285
|
-
specification_version:
|
263
|
+
specification_version: 4
|
286
264
|
summary: Pure Ruby FFI wrapper for the Tk GUI toolkit.
|
287
265
|
test_files: []
|
288
|
-
|
data/spec/ffi-tk/command/grid.rb
DELETED
data/tasks/gem_setup.rake
DELETED
@@ -1,113 +0,0 @@
|
|
1
|
-
task :gem_setup do
|
2
|
-
class GemSetup
|
3
|
-
def initialize(options = {}, &block)
|
4
|
-
@gems = []
|
5
|
-
@options = options.dup
|
6
|
-
@verbose = @options.delete(:verbose)
|
7
|
-
|
8
|
-
run(&block)
|
9
|
-
end
|
10
|
-
|
11
|
-
def run(&block)
|
12
|
-
return unless block_given?
|
13
|
-
instance_eval(&block)
|
14
|
-
setup
|
15
|
-
end
|
16
|
-
|
17
|
-
def gem(name, version = nil, options = {})
|
18
|
-
if version.respond_to?(:merge!)
|
19
|
-
options = version
|
20
|
-
else
|
21
|
-
options[:version] = version
|
22
|
-
end
|
23
|
-
|
24
|
-
@gems << [name, options]
|
25
|
-
end
|
26
|
-
|
27
|
-
# all gems defined, let's try to load/install them
|
28
|
-
def setup
|
29
|
-
require 'rubygems'
|
30
|
-
require 'rubygems/dependency_installer'
|
31
|
-
|
32
|
-
@gems.each do |name, options|
|
33
|
-
setup_gem(name, options)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def setup_gemspec(gemspec)
|
38
|
-
gemspec.dependencies.each do |dependency|
|
39
|
-
dependency.version_requirements.as_list.each do |version|
|
40
|
-
gem(dependency.name, version)
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
setup
|
45
|
-
end
|
46
|
-
|
47
|
-
# First try to activate.
|
48
|
-
# If activation fails, try to install and activate again.
|
49
|
-
# If the second activation also fails, try to require as it may just as
|
50
|
-
# well be in $LOAD_PATH.
|
51
|
-
def setup_gem(name, options)
|
52
|
-
version = [options[:version]].compact
|
53
|
-
lib_name = options[:lib] || name
|
54
|
-
|
55
|
-
log "activating #{name}"
|
56
|
-
|
57
|
-
Gem.activate(name, *version)
|
58
|
-
rescue Gem::LoadError
|
59
|
-
log "activating #{name} failed, try to install"
|
60
|
-
|
61
|
-
install_gem(name, version, options)
|
62
|
-
end
|
63
|
-
|
64
|
-
# tell rubygems to install a gem
|
65
|
-
def install_gem(name, version, options)
|
66
|
-
installer = Gem::DependencyInstaller.new(options)
|
67
|
-
|
68
|
-
temp_argv(options[:extconf]) do
|
69
|
-
log "installing #{name}"
|
70
|
-
installer.install(name, *version)
|
71
|
-
end
|
72
|
-
|
73
|
-
Gem.activate(name, *version)
|
74
|
-
|
75
|
-
log "install and final activation successful"
|
76
|
-
rescue Gem::GemNotFoundException => ex
|
77
|
-
log "installation failed: #{ex}, use normal require"
|
78
|
-
|
79
|
-
require(options[:lib] || name)
|
80
|
-
|
81
|
-
log "require successful, cannot verify version though"
|
82
|
-
end
|
83
|
-
|
84
|
-
# prepare ARGV for rubygems installer
|
85
|
-
def temp_argv(extconf)
|
86
|
-
if extconf ||= @options[:extconf]
|
87
|
-
old_argv = ARGV.clone
|
88
|
-
ARGV.replace(extconf.split(' '))
|
89
|
-
end
|
90
|
-
|
91
|
-
yield
|
92
|
-
|
93
|
-
ensure
|
94
|
-
ARGV.replace(old_argv) if extconf
|
95
|
-
end
|
96
|
-
|
97
|
-
private
|
98
|
-
|
99
|
-
def log(msg)
|
100
|
-
return unless @verbose
|
101
|
-
|
102
|
-
if defined?(Log)
|
103
|
-
Log.info(msg)
|
104
|
-
else
|
105
|
-
puts(msg)
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
def rubyforge; 'http://gems.rubyforge.org/' end
|
110
|
-
def github; 'http://gems.github.com/' end
|
111
|
-
def gemcutter; 'http://gemcutter.org' end
|
112
|
-
end
|
113
|
-
end
|