wxruby3 0.9.5 → 0.9.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/INSTALL.md +315 -78
- data/README.md +31 -20
- data/lib/wx/core/ext.rb +22 -3
- data/lib/wx/version.rb +1 -1
- data/lib/wx/wxruby/base.rb +6 -4
- data/lib/wx/wxruby/cmd/sampler.rb +39 -29
- data/lib/wx/wxruby/cmd/setup.rb +122 -0
- data/lib/wx/wxruby/cmd/test.rb +56 -6
- data/rakefile +14 -0
- data/rakelib/bin.rake +48 -0
- data/rakelib/bin.rb +62 -0
- data/rakelib/build.rb +11 -7
- data/rakelib/config.rake +3 -1
- data/rakelib/configure.rb +28 -8
- data/rakelib/doc.rake +3 -1
- data/rakelib/gem.rake +169 -0
- data/rakelib/gem.rb +82 -0
- data/rakelib/install.rb +2 -0
- data/rakelib/lib/config/linux.rb +24 -2
- data/rakelib/lib/config/macosx.rb +16 -0
- data/rakelib/lib/config/mingw.rb +133 -9
- data/rakelib/lib/config/pkgman/arch.rb +53 -0
- data/rakelib/lib/config/pkgman/base.rb +169 -0
- data/rakelib/lib/config/pkgman/debian.rb +66 -0
- data/rakelib/lib/config/pkgman/macosx.rb +183 -0
- data/rakelib/lib/config/pkgman/rhel.rb +54 -0
- data/rakelib/lib/config/pkgman/suse.rb +54 -0
- data/rakelib/lib/config/unixish.rb +36 -19
- data/rakelib/lib/config.rb +254 -61
- data/rakelib/lib/core/package.rb +47 -49
- data/rakelib/lib/director/gdicommon.rb +1 -2
- data/rakelib/lib/generate/doc.rb +29 -14
- data/rakelib/lib/generate/interface.rb +4 -2
- data/rakelib/lib/swig_runner.rb +11 -11
- data/rakelib/prepost.rake +9 -4
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +14 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +5 -5
- data/rakelib/yard/yard/relative_markdown_links.rb +7 -1
- metadata +21 -17
- data/ext/mkrf_conf_srcgem.rb +0 -67
- data/rakelib/run.rake +0 -52
data/rakelib/lib/swig_runner.rb
CHANGED
@@ -43,24 +43,23 @@ module WXRuby3
|
|
43
43
|
@swig_version
|
44
44
|
end
|
45
45
|
|
46
|
-
|
47
46
|
def check_swig
|
48
47
|
begin
|
49
48
|
@swig_version = `#{WXRuby3::Config.get_config('swig')} -version`[/\d+\.\d+\.\d+/]
|
50
49
|
rescue Exception
|
51
|
-
|
50
|
+
$stderr.puts "ERROR: Could not run SWIG (#{WXRuby3::Config.get_config('swig')})"
|
52
51
|
exit(1)
|
53
52
|
end
|
54
53
|
|
55
|
-
# Very old versions put --version on
|
54
|
+
# Very old versions put --version on $stderr, not $stdout
|
56
55
|
unless @swig_version
|
57
|
-
|
56
|
+
$stderr.puts "Could not get version info from SWIG; " +
|
58
57
|
"is a very old version installed?.\n"
|
59
58
|
exit(1)
|
60
59
|
end
|
61
60
|
|
62
61
|
if @swig_version < SWIG_MINIMUM_VERSION
|
63
|
-
|
62
|
+
$stderr.puts "SWIG version #{@swig_version} is installed, " +
|
64
63
|
"minimum version required is #{SWIG_MINIMUM_VERSION}.\n"
|
65
64
|
exit(1)
|
66
65
|
end
|
@@ -72,11 +71,12 @@ module WXRuby3
|
|
72
71
|
check_swig unless swig_state
|
73
72
|
inc_paths = "-I#{config.wxruby_dir} -I#{config.swig_dir}/custom"
|
74
73
|
inc_paths << " -I#{config.swig_dir}/custom/swig#{swig_major}"
|
75
|
-
sh "#{config.get_config('swig')} #{config.wx_cppflags.join(' ')} " +
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
74
|
+
WXRuby3.config.sh "#{config.get_config('swig')} #{config.wx_cppflags.join(' ')} " +
|
75
|
+
"#{config.extra_cppflags.join(' ')} #{config.verbose_flag} #{inc_paths} " +
|
76
|
+
#"-w401 -w801 -w515 -c++ -ruby " +
|
77
|
+
"-w801 -c++ -ruby " +
|
78
|
+
"-o #{target} #{source}",
|
79
|
+
fail_on_error: true
|
80
80
|
end
|
81
81
|
|
82
82
|
end
|
@@ -205,7 +205,7 @@ module WXRuby3
|
|
205
205
|
end
|
206
206
|
|
207
207
|
def self.run(pid, director, target)
|
208
|
-
|
208
|
+
Config.instance.log_progress("Processor.#{pid}: #{target}")
|
209
209
|
const_get(camelize(pid.to_s)).new(director, target).run
|
210
210
|
end
|
211
211
|
|
data/rakelib/prepost.rake
CHANGED
@@ -23,16 +23,21 @@ namespace 'wxruby' do
|
|
23
23
|
|
24
24
|
namespace 'post' do
|
25
25
|
|
26
|
-
task :srcgem => %w[gem:wxwin gem:install
|
26
|
+
task :srcgem => %w[gem:wxwin gem:install] do
|
27
|
+
$stdout.print "Generating wxRuby3 reference documentation..." if WXRuby3.config.run_silent?
|
28
|
+
Rake::Task['wxruby:doc'].invoke
|
29
|
+
$stdout.puts 'done!' if WXRuby3.config.run_silent?
|
27
30
|
# cleanup
|
28
|
-
rm_rf('rakelib')
|
29
|
-
rm_rf('ext/wxruby3')
|
30
|
-
|
31
|
+
rm_rf('rakelib', verbose: !WXRuby3.config.run_silent?)
|
32
|
+
rm_rf('ext/wxruby3', verbose: !WXRuby3.config.run_silent?)
|
33
|
+
WXRuby3.config.cleanup_bootstrap
|
34
|
+
File.open(File.join(WXRuby3::Config.wxruby_root, 'ext', 'wxruby.setup.done'), 'w') { |f| f << '1' }
|
31
35
|
end
|
32
36
|
|
33
37
|
task :bingem => 'gem:install' do
|
34
38
|
# cleanup
|
35
39
|
rm_rf('rakelib')
|
40
|
+
File.open(File.join(WXRuby3::Config.wxruby_root, 'ext', 'wxruby.setup.done'), 'w') { |f| f << '1' }
|
36
41
|
end
|
37
42
|
|
38
43
|
namespace 'gem' do
|
@@ -77,3 +77,17 @@ div.wxrb-logo table td {
|
|
77
77
|
font-weight: bold;
|
78
78
|
font-size: 0.9em;
|
79
79
|
}
|
80
|
+
|
81
|
+
#filecontents {
|
82
|
+
margin-right: 340px;
|
83
|
+
}
|
84
|
+
|
85
|
+
#filecontents blockquote {
|
86
|
+
border-left: .5em solid #e0e0e0;
|
87
|
+
margin: 10px;
|
88
|
+
padding-left: 10px;
|
89
|
+
}
|
90
|
+
|
91
|
+
#toc {
|
92
|
+
position: fixed;
|
93
|
+
}
|
@@ -1,19 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
def init
|
4
|
-
# It seems YARD messes things up so that a
|
4
|
+
# It seems YARD messes things up so that a lot of classes, modules and constants are not properly
|
5
5
|
# registered in their enclosing namespaces.
|
6
6
|
# This hack makes sure that if that is the case we fix that here.
|
7
|
-
|
8
|
-
|
7
|
+
all_objects = Registry.all(:class, :constant, :module)
|
8
|
+
all_objects.each do |c|
|
9
9
|
if (ns = c.namespace)
|
10
10
|
unless ns.children.any? { |nsc| nsc.path == c.path }
|
11
|
-
ns.children << c # class missing from child list of enclosing namespace -> add here
|
11
|
+
ns.children << c # class/module/constant missing from child list of enclosing namespace -> add here
|
12
12
|
end
|
13
13
|
end
|
14
14
|
if (ns = Registry[c.namespace.path])
|
15
15
|
unless ns.children.any? { |nsc| nsc.path == c.path }
|
16
|
-
ns.children << c # class missing from child list of enclosing namespace -> add here
|
16
|
+
ns.children << c # class/module/constant missing from child list of enclosing namespace -> add here
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -31,12 +31,18 @@ module YARD # rubocop:disable Style/Documentation
|
|
31
31
|
if fnames.include?(href.path)
|
32
32
|
link.replace "{file:#{href} #{link.inner_html}}"
|
33
33
|
elsif href.path.end_with?('_md.html') && (fname = fnames.find {|fnm| fnm.end_with?(href.path.sub(/_md.html\Z/, '.md')) })
|
34
|
-
link.replace "{file:#{fname} #{link.inner_html}}"
|
34
|
+
link.replace "{file:#{fname}#{href.fragment ? "##{fragment_to_yard(href.fragment)}" : ''} #{link.inner_html}}"
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
38
38
|
super(html.to_s)
|
39
39
|
end
|
40
|
+
|
41
|
+
# this does not work with mixed case labels but is good enough for us
|
42
|
+
def fragment_to_yard(s)
|
43
|
+
s.start_with?('label-') ? s : "label-#{s.gsub('-', '+').capitalize}"
|
44
|
+
end
|
45
|
+
|
40
46
|
end
|
41
47
|
|
42
48
|
Templates::Template.extra_includes << RelativeMarkdownLinks
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wxruby3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Corino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -71,8 +71,7 @@ description: wxRuby3 is a Ruby library providing an extension for the wxWidgets
|
|
71
71
|
email: mcorino@m2c-software.nl
|
72
72
|
executables:
|
73
73
|
- wxruby
|
74
|
-
extensions:
|
75
|
-
- ext/mkrf_conf_srcgem.rb
|
74
|
+
extensions: []
|
76
75
|
extra_rdoc_files: []
|
77
76
|
files:
|
78
77
|
- ".yardopts"
|
@@ -96,7 +95,6 @@ files:
|
|
96
95
|
- assets/logo.xcf
|
97
96
|
- assets/repo-social-preview.png
|
98
97
|
- bin/wxruby
|
99
|
-
- ext/mkrf_conf_srcgem.rb
|
100
98
|
- ext/wxruby3/include/wxRubyApp.h
|
101
99
|
- ext/wxruby3/include/wxruby-ClientData.h
|
102
100
|
- ext/wxruby3/include/wxruby-ComboPopup.h
|
@@ -398,13 +396,19 @@ files:
|
|
398
396
|
- lib/wx/version.rb
|
399
397
|
- lib/wx/wxruby/base.rb
|
400
398
|
- lib/wx/wxruby/cmd/sampler.rb
|
399
|
+
- lib/wx/wxruby/cmd/setup.rb
|
401
400
|
- lib/wx/wxruby/cmd/test.rb
|
401
|
+
- rakefile
|
402
|
+
- rakelib/bin.rake
|
403
|
+
- rakelib/bin.rb
|
402
404
|
- rakelib/build.rake
|
403
405
|
- rakelib/build.rb
|
404
406
|
- rakelib/config.rake
|
405
407
|
- rakelib/configure.rb
|
406
408
|
- rakelib/doc.rake
|
407
409
|
- rakelib/doc.rb
|
410
|
+
- rakelib/gem.rake
|
411
|
+
- rakelib/gem.rb
|
408
412
|
- rakelib/install.rake
|
409
413
|
- rakelib/install.rb
|
410
414
|
- rakelib/lib/config.rb
|
@@ -413,6 +417,12 @@ files:
|
|
413
417
|
- rakelib/lib/config/macosx.rb
|
414
418
|
- rakelib/lib/config/mingw.rb
|
415
419
|
- rakelib/lib/config/netbsd.rb
|
420
|
+
- rakelib/lib/config/pkgman/arch.rb
|
421
|
+
- rakelib/lib/config/pkgman/base.rb
|
422
|
+
- rakelib/lib/config/pkgman/debian.rb
|
423
|
+
- rakelib/lib/config/pkgman/macosx.rb
|
424
|
+
- rakelib/lib/config/pkgman/rhel.rb
|
425
|
+
- rakelib/lib/config/pkgman/suse.rb
|
416
426
|
- rakelib/lib/config/unixish.rb
|
417
427
|
- rakelib/lib/core/include/client_data.inc
|
418
428
|
- rakelib/lib/core/include/enum.inc
|
@@ -788,7 +798,6 @@ files:
|
|
788
798
|
- rakelib/lib/util/string.rb
|
789
799
|
- rakelib/prepost.rake
|
790
800
|
- rakelib/prepost.rb
|
791
|
-
- rakelib/run.rake
|
792
801
|
- rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css
|
793
802
|
- rakelib/yard/templates/default/fulldoc/html/full_list.erb
|
794
803
|
- rakelib/yard/templates/default/fulldoc/html/setup.rb
|
@@ -1135,19 +1144,14 @@ metadata:
|
|
1135
1144
|
source_code_uri: https://github.com/mcorino/wxRuby3
|
1136
1145
|
documentation_uri: https://mcorino.github.io/wxRuby3
|
1137
1146
|
homepage_uri: https://github.com/mcorino/wxRuby3
|
1138
|
-
post_install_message: |2
|
1147
|
+
post_install_message: |2+
|
1139
1148
|
|
1140
|
-
wxRuby3 has been successfully installed
|
1149
|
+
The wxRuby3 Gem has been successfully installed.
|
1150
|
+
Before being able to use wxRuby3 you need to run the post-install setup process
|
1151
|
+
by executing the command 'wxruby setup'.
|
1141
1152
|
|
1142
|
-
|
1153
|
+
Run 'wxruby setup -h' to see information on the available commandline options.
|
1143
1154
|
|
1144
|
-
$ ./wxruby test
|
1145
|
-
|
1146
|
-
The wxRuby3 sample selector can be run by executing:
|
1147
|
-
|
1148
|
-
$ ./wxruby sampler
|
1149
|
-
|
1150
|
-
Have fun using wxRuby3.
|
1151
1155
|
rdoc_options:
|
1152
1156
|
- "--exclude=\\.dll"
|
1153
1157
|
- "--exclude=\\.so"
|
@@ -1167,7 +1171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1167
1171
|
- !ruby/object:Gem::Version
|
1168
1172
|
version: '0'
|
1169
1173
|
requirements: []
|
1170
|
-
rubygems_version: 3.4.
|
1174
|
+
rubygems_version: 3.4.19
|
1171
1175
|
signing_key:
|
1172
1176
|
specification_version: 4
|
1173
1177
|
summary: wxWidgets extension for Ruby
|
data/ext/mkrf_conf_srcgem.rb
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
-
#
|
3
|
-
# This software is released under the MIT license.
|
4
|
-
|
5
|
-
###
|
6
|
-
# wxRuby3 extension configuration file for source gem
|
7
|
-
###
|
8
|
-
|
9
|
-
# generate Rakefile with appropriate default task (all actual task in rakelib)
|
10
|
-
File.open('../Rakefile', 'w') do |f|
|
11
|
-
f.puts <<EOF__
|
12
|
-
###
|
13
|
-
# wxRuby3 rake file
|
14
|
-
# Copyright (c) M.J.N. Corino, The Netherlands
|
15
|
-
###
|
16
|
-
|
17
|
-
task :default => 'wxruby:build' do
|
18
|
-
Rake::Task['wxruby:post:srcgem'].invoke
|
19
|
-
end
|
20
|
-
EOF__
|
21
|
-
end
|
22
|
-
|
23
|
-
require 'rbconfig'
|
24
|
-
if defined? ::RbConfig
|
25
|
-
RB_CONFIG = ::RbConfig
|
26
|
-
else
|
27
|
-
RB_CONFIG = ::Config
|
28
|
-
end unless defined? RB_CONFIG
|
29
|
-
RB_CONFIG::MAKEFILE_CONFIG['TRY_LINK'] = "$(CXX) #{RB_CONFIG::MAKEFILE_CONFIG['OUTFLAG']}conftest#{$EXEEXT} $(INCFLAGS) $(CPPFLAGS) " \
|
30
|
-
"$(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(ARCH_FLAG) $(LOCAL_LIBS) $(LIBS)"
|
31
|
-
require 'mkmf'
|
32
|
-
if defined?(MakeMakefile)
|
33
|
-
MakeMakefile::COMMON_HEADERS.clear
|
34
|
-
elsif defined?(COMMON_HEADERS)
|
35
|
-
COMMON_HEADERS.slice!(/./)
|
36
|
-
end
|
37
|
-
|
38
|
-
usage_txt =<<-__EOT
|
39
|
-
Please make sure you have a valid build environment either by having a system provided wxWidgets
|
40
|
-
development package installed (>= 3.2.0) or provide the paths to a locally built and installed
|
41
|
-
wxWidgets release (>= 3.2.0) by setting the WXWIN environment variable (and optionally WXXML)
|
42
|
-
for the 'gem install' command.
|
43
|
-
Installed versions of SWIG (>= 3.0.12) and (if no WXXML path is provided) doxygen and git are
|
44
|
-
also required.
|
45
|
-
Checkout the documentation at https://github.com/mcorino/wxRuby3 for more information.
|
46
|
-
__EOT
|
47
|
-
|
48
|
-
wxwin = ENV['WXWIN']
|
49
|
-
wxxml = ENV['WXXML']
|
50
|
-
with_wxwin = !!ENV['WITH_WXWIN']
|
51
|
-
|
52
|
-
# run configure with appropriate settings
|
53
|
-
cfgargs = ''
|
54
|
-
if wxwin || with_wxwin
|
55
|
-
cfgargs = ["--wxwin=#{wxwin}"]
|
56
|
-
cfgargs << "--wxxml=#{wxxml}" if wxxml
|
57
|
-
cfgargs << '--with-wxwin' if with_wxwin
|
58
|
-
cfgargs = "[#{cfgargs.join(',')}]"
|
59
|
-
end
|
60
|
-
Dir.chdir('..') do
|
61
|
-
puts "Running 'rake #{ARGV.join(' ')} configure#{cfgargs}'"
|
62
|
-
unless system("rake #{ARGV.join(' ')} configure#{cfgargs}")
|
63
|
-
puts 'Failed to configure wxRuby3'
|
64
|
-
puts usage_txt
|
65
|
-
exit(1)
|
66
|
-
end
|
67
|
-
end
|
data/rakelib/run.rake
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
-
#
|
3
|
-
# This software is released under the MIT license.
|
4
|
-
|
5
|
-
###
|
6
|
-
# wxRuby3 rake file
|
7
|
-
###
|
8
|
-
|
9
|
-
require_relative './configure'
|
10
|
-
|
11
|
-
namespace :wxruby do
|
12
|
-
|
13
|
-
task :run, [:app] => 'config:bootstrap' do |t, args|
|
14
|
-
Rake::Task[:build].invoke
|
15
|
-
WXRuby3.config.run args[:app]
|
16
|
-
end
|
17
|
-
|
18
|
-
task :debug, [:app] => 'config:bootstrap' do |t, args|
|
19
|
-
Rake::Task[:build].invoke
|
20
|
-
WXRuby3.config.debug args[:app]
|
21
|
-
end
|
22
|
-
|
23
|
-
task :test => 'config:bootstrap' do |t, args|
|
24
|
-
Rake::Task[:build].invoke
|
25
|
-
tests = args.extras - [':nodep']
|
26
|
-
tests << ENV['TEST'] if ENV['TEST']
|
27
|
-
WXRuby3.config.test *tests
|
28
|
-
end
|
29
|
-
|
30
|
-
task :irb => 'config:bootstrap' do |t, args|
|
31
|
-
Rake::Task[:build].invoke
|
32
|
-
WXRuby3.config.irb
|
33
|
-
end
|
34
|
-
|
35
|
-
task :exec => 'config:bootstrap' do |t, args|
|
36
|
-
WXRuby3.config.execute args.extras
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
desc "Run wxRuby tests"
|
42
|
-
task :test => 'wxruby:test'
|
43
|
-
|
44
|
-
task :tests => 'wxruby:test'
|
45
|
-
|
46
|
-
desc 'Run wxRuby (sample) app'
|
47
|
-
task :run, [:app] => 'wxruby:run'
|
48
|
-
|
49
|
-
desc 'Debug wxRuby (sample) app'
|
50
|
-
task :debug, [:app] => 'wxruby:debug'
|
51
|
-
|
52
|
-
task :irb => 'wxruby:irb'
|