glib2 0.20.0 → 0.90.2
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +92 -0
- data/README +22 -10
- data/Rakefile +54 -72
- data/ext/glib2/depend +10 -0
- data/ext/glib2/extconf.rb +61 -0
- data/ext/glib2/glib2.def +89 -0
- data/{src → ext/glib2}/rbgcompat.h +0 -0
- data/{src → ext/glib2}/rbglib.c +17 -7
- data/{src → ext/glib2}/rbglib.h +2 -2
- data/{src → ext/glib2}/rbglib_bookmarkfile.c +0 -0
- data/{src → ext/glib2}/rbglib_completion.c +0 -0
- data/{src → ext/glib2}/rbglib_convert.c +0 -0
- data/{src → ext/glib2}/rbglib_error.c +0 -0
- data/{src → ext/glib2}/rbglib_fileutils.c +0 -0
- data/{src → ext/glib2}/rbglib_i18n.c +0 -0
- data/{src → ext/glib2}/rbglib_int64.c +0 -0
- data/{src → ext/glib2}/rbglib_iochannel.c +0 -0
- data/{src → ext/glib2}/rbglib_keyfile.c +0 -0
- data/{src → ext/glib2}/rbglib_maincontext.c +1 -3
- data/{src → ext/glib2}/rbglib_mainloop.c +0 -0
- data/{src → ext/glib2}/rbglib_messages.c +0 -0
- data/{src → ext/glib2}/rbglib_pollfd.c +0 -0
- data/{src → ext/glib2}/rbglib_shell.c +0 -0
- data/{src → ext/glib2}/rbglib_source.c +0 -0
- data/{src → ext/glib2}/rbglib_spawn.c +0 -0
- data/{src → ext/glib2}/rbglib_threads.c +0 -0
- data/{src → ext/glib2}/rbglib_timer.c +0 -0
- data/{src → ext/glib2}/rbglib_unicode.c +0 -0
- data/{src → ext/glib2}/rbglib_utils.c +0 -0
- data/{src → ext/glib2}/rbglib_win32.c +0 -0
- data/{src → ext/glib2}/rbgobj_boxed.c +0 -0
- data/{src → ext/glib2}/rbgobj_closure.c +0 -0
- data/{src → ext/glib2}/rbgobj_convert.c +0 -0
- data/{src → ext/glib2}/rbgobj_enums.c +0 -0
- data/{src → ext/glib2}/rbgobj_fundamental.c +0 -0
- data/{src → ext/glib2}/rbgobj_object.c +0 -0
- data/{src → ext/glib2}/rbgobj_param.c +0 -0
- data/{src → ext/glib2}/rbgobj_paramspecs.c +0 -0
- data/{src → ext/glib2}/rbgobj_signal.c +0 -0
- data/{src → ext/glib2}/rbgobj_strv.c +0 -0
- data/{src → ext/glib2}/rbgobj_type.c +0 -0
- data/{src → ext/glib2}/rbgobj_typeinstance.c +0 -0
- data/{src → ext/glib2}/rbgobj_typeinterface.c +0 -0
- data/{src → ext/glib2}/rbgobj_typemodule.c +0 -0
- data/{src → ext/glib2}/rbgobj_typeplugin.c +0 -0
- data/{src → ext/glib2}/rbgobj_value.c +0 -0
- data/{src → ext/glib2}/rbgobj_valuearray.c +0 -0
- data/{src → ext/glib2}/rbgobj_valuetypes.c +0 -0
- data/{src → ext/glib2}/rbgobject.c +0 -0
- data/{src → ext/glib2}/rbgobject.h +0 -0
- data/{src → ext/glib2}/rbgprivate.h +0 -0
- data/ext/glib2/rbgutil.c +316 -0
- data/{src → ext/glib2}/rbgutil.h +9 -9
- data/{src → ext/glib2}/rbgutil_callback.c +0 -0
- data/extconf.rb +48 -60
- data/{src/lib → lib}/glib-mkenums.rb +2 -2
- data/{src/lib → lib}/glib2.rb +28 -9
- data/lib/gnome2-win32-binary-downloader.rb +92 -0
- data/{src/lib → lib}/mkmf-gnome2.rb +76 -89
- data/test-unit/COPYING +56 -0
- data/test-unit/GPL +340 -0
- data/test-unit/History.txt +232 -0
- data/test-unit/Manifest.txt +110 -0
- data/test-unit/PSFL +271 -0
- data/test-unit/README.txt +75 -0
- data/test-unit/Rakefile +53 -0
- data/test-unit/TODO +5 -0
- data/test-unit/bin/testrb +5 -0
- data/test-unit/html/bar.png +0 -0
- data/test-unit/html/bar.svg +153 -0
- data/test-unit/html/developer.png +0 -0
- data/test-unit/html/developer.svg +469 -0
- data/test-unit/html/famfamfam-logo.png +0 -0
- data/test-unit/html/favicon.ico +0 -0
- data/test-unit/html/favicon.png +0 -0
- data/test-unit/html/favicon.svg +82 -0
- data/test-unit/html/heading-mark.png +0 -0
- data/test-unit/html/heading-mark.svg +393 -0
- data/test-unit/html/index.html +247 -0
- data/test-unit/html/index.html.ja +270 -0
- data/test-unit/html/install.png +0 -0
- data/test-unit/html/install.svg +636 -0
- data/test-unit/html/jp.png +0 -0
- data/test-unit/html/kinotan-failure.png +0 -0
- data/test-unit/html/kinotan-pass.png +0 -0
- data/test-unit/html/logo.png +0 -0
- data/test-unit/html/logo.svg +483 -0
- data/test-unit/html/reference.png +0 -0
- data/test-unit/html/rubyforge.png +0 -0
- data/test-unit/html/tango-logo.png +0 -0
- data/test-unit/html/test-unit.css +339 -0
- data/test-unit/html/tutorial.png +0 -0
- data/test-unit/html/tutorial.svg +559 -0
- data/test-unit/html/us.png +0 -0
- data/test-unit/images/color-diff.png +0 -0
- data/test-unit/lib/test/unit.rb +328 -0
- data/test-unit/lib/test/unit/assertionfailederror.rb +25 -0
- data/test-unit/lib/test/unit/assertions.rb +1334 -0
- data/test-unit/lib/test/unit/attribute.rb +125 -0
- data/test-unit/lib/test/unit/autorunner.rb +363 -0
- data/test-unit/lib/test/unit/collector.rb +36 -0
- data/test-unit/lib/test/unit/collector/descendant.rb +23 -0
- data/test-unit/lib/test/unit/collector/dir.rb +108 -0
- data/test-unit/lib/test/unit/collector/load.rb +144 -0
- data/test-unit/lib/test/unit/collector/objectspace.rb +34 -0
- data/test-unit/lib/test/unit/color-scheme.rb +106 -0
- data/test-unit/lib/test/unit/color.rb +96 -0
- data/test-unit/lib/test/unit/diff.rb +740 -0
- data/test-unit/lib/test/unit/error.rb +130 -0
- data/test-unit/lib/test/unit/exceptionhandler.rb +39 -0
- data/test-unit/lib/test/unit/failure.rb +136 -0
- data/test-unit/lib/test/unit/fixture.rb +176 -0
- data/test-unit/lib/test/unit/notification.rb +129 -0
- data/test-unit/lib/test/unit/omission.rb +191 -0
- data/test-unit/lib/test/unit/pending.rb +150 -0
- data/test-unit/lib/test/unit/priority.rb +180 -0
- data/test-unit/lib/test/unit/runner/console.rb +52 -0
- data/test-unit/lib/test/unit/runner/emacs.rb +8 -0
- data/test-unit/lib/test/unit/runner/tap.rb +8 -0
- data/test-unit/lib/test/unit/testcase.rb +483 -0
- data/test-unit/lib/test/unit/testresult.rb +121 -0
- data/test-unit/lib/test/unit/testsuite.rb +110 -0
- data/test-unit/lib/test/unit/ui/console/outputlevel.rb +14 -0
- data/test-unit/lib/test/unit/ui/console/testrunner.rb +430 -0
- data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +63 -0
- data/test-unit/lib/test/unit/ui/tap/testrunner.rb +82 -0
- data/test-unit/lib/test/unit/ui/testrunner.rb +53 -0
- data/test-unit/lib/test/unit/ui/testrunnermediator.rb +77 -0
- data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/test-unit/lib/test/unit/util/backtracefilter.rb +42 -0
- data/test-unit/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/test-unit/lib/test/unit/util/observable.rb +90 -0
- data/test-unit/lib/test/unit/util/output.rb +31 -0
- data/test-unit/lib/test/unit/util/procwrapper.rb +48 -0
- data/test-unit/lib/test/unit/version.rb +7 -0
- data/test-unit/sample/adder.rb +13 -0
- data/test-unit/sample/subtracter.rb +12 -0
- data/test-unit/sample/test_adder.rb +20 -0
- data/test-unit/sample/test_subtracter.rb +20 -0
- data/test-unit/sample/test_user.rb +23 -0
- data/test-unit/test/collector/test-descendant.rb +133 -0
- data/test-unit/test/collector/test-load.rb +442 -0
- data/test-unit/test/collector/test_dir.rb +406 -0
- data/test-unit/test/collector/test_objectspace.rb +100 -0
- data/test-unit/test/run-test.rb +15 -0
- data/test-unit/test/test-attribute.rb +86 -0
- data/test-unit/test/test-color-scheme.rb +69 -0
- data/test-unit/test/test-color.rb +47 -0
- data/test-unit/test/test-diff.rb +518 -0
- data/test-unit/test/test-emacs-runner.rb +60 -0
- data/test-unit/test/test-fixture.rb +287 -0
- data/test-unit/test/test-notification.rb +33 -0
- data/test-unit/test/test-omission.rb +81 -0
- data/test-unit/test/test-pending.rb +70 -0
- data/test-unit/test/test-priority.rb +119 -0
- data/test-unit/test/test-testcase.rb +544 -0
- data/test-unit/test/test_assertions.rb +1197 -0
- data/test-unit/test/test_error.rb +26 -0
- data/test-unit/test/test_failure.rb +33 -0
- data/test-unit/test/test_testresult.rb +113 -0
- data/test-unit/test/test_testsuite.rb +129 -0
- data/test-unit/test/testunit-test-util.rb +14 -0
- data/test-unit/test/ui/test_tap.rb +33 -0
- data/test-unit/test/ui/test_testrunmediator.rb +20 -0
- data/test-unit/test/util/test-method-owner-finder.rb +38 -0
- data/test-unit/test/util/test-output.rb +11 -0
- data/test-unit/test/util/test_backtracefilter.rb +41 -0
- data/test-unit/test/util/test_observable.rb +102 -0
- data/test-unit/test/util/test_procwrapper.rb +36 -0
- data/test/run-test.rb +2 -6
- metadata +197 -100
- data/src/glib-enum-types.c +0 -1032
- data/src/glib-enum-types.h +0 -140
- data/src/lib/pkg-config.rb +0 -137
- data/src/rbgutil.c +0 -222
data/ChangeLog
CHANGED
@@ -1,3 +1,95 @@
|
|
1
|
+
2010-09-26 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
|
3
|
+
* ext/glib2/rbglib.h: 0.90.2 -> 0.90.3.
|
4
|
+
|
5
|
+
2010-09-25 Kouhei Sutou <kou@cozmixng.org>
|
6
|
+
|
7
|
+
* lib/mkmf-gnome2.rb (ensure_objs): add.
|
8
|
+
|
9
|
+
* lib/mkmf-gnome2.rb: add generated files in build directory
|
10
|
+
to build targets too.
|
11
|
+
|
12
|
+
2010-09-23 Kouhei Sutou <kou@cozmixng.org>
|
13
|
+
|
14
|
+
* ext/glib2/rbglib.h: 0.90.1 -> 0.90.2.
|
15
|
+
|
16
|
+
* Rakefile: don't add .zip into gem.
|
17
|
+
|
18
|
+
* lib/mkmf-gnome2.rb (#add_depend_package): improve auto build
|
19
|
+
path detection.
|
20
|
+
|
21
|
+
* ext/glib2/rbglib.h: 0.90.0 -> 0.90.1.
|
22
|
+
|
23
|
+
* ext/glib2/rbglib.h (RBGLIB_MINOR_VERSION): 20 -> 90. (0.20.0 -> 0.90.0)
|
24
|
+
|
25
|
+
* lib/glib2.rb (GLib#prepend_environment_path): add for Windows DLL.
|
26
|
+
|
27
|
+
* ext/glib2/rbgutil.c (rbgutil_gslist2ary_and_free): fix wrong
|
28
|
+
address is passed.
|
29
|
+
|
30
|
+
* test/run-test.rb: fix extension library path.
|
31
|
+
|
32
|
+
* lib/mkmf-gnome2.rb (#add_depend_package): don't add nonexistent
|
33
|
+
path to include paths.
|
34
|
+
|
35
|
+
* lib/mkmf-gnome2.rb (#ruby_gnome2_version): follow directory
|
36
|
+
structure change.
|
37
|
+
|
38
|
+
* lib/mkmf-gnome2.rb (#add_depend_package): support top build
|
39
|
+
directory path.
|
40
|
+
|
41
|
+
* README: add installation document by RubyGems.
|
42
|
+
|
43
|
+
* lib/mkmf-gnome2.rb (#add_depend_package): add build directory to
|
44
|
+
include path.
|
45
|
+
|
46
|
+
2010-09-21 Kouhei Sutou <kou@cozmixng.org>
|
47
|
+
|
48
|
+
* lib/mkmf-gnome2.rb (#check_cairo): support rcairo path customize
|
49
|
+
by arguments.
|
50
|
+
|
51
|
+
* lib/mkmf-gnome2.rb (#check_cairo): follow rcairo's path change.
|
52
|
+
|
53
|
+
* ext/glib/extconfr.b, lib/mkmf-gnome2.rb: share Windows setup code.
|
54
|
+
|
55
|
+
* Rakefile, lib/gnome2-win32-binary-downloader.rb: share
|
56
|
+
Windows binary file downloader.
|
57
|
+
|
58
|
+
2010-09-11 Kouhei Sutou <kou@cozmixng.org>
|
59
|
+
|
60
|
+
* ext/glib2/rbglib_maincontext.c (idle_add): fix default priority.
|
61
|
+
Reported by ashbb. Thanks!!!
|
62
|
+
|
63
|
+
2010-09-07 Kouhei Sutou <kou@cozmixng.org>
|
64
|
+
|
65
|
+
* lib/mkmf-gnome2.rb: ensure add generated enum file.
|
66
|
+
|
67
|
+
* ./: support cross-compile for Windows.
|
68
|
+
|
69
|
+
2010-09-02 Kouhei Sutou <kou@cozmixng.org>
|
70
|
+
|
71
|
+
* ./: reconstruct directory structure for rake-compiler.
|
72
|
+
|
73
|
+
2010-07-24 Nikolai Weibull
|
74
|
+
|
75
|
+
src/rbgutil.c: make sure that all strings are fred in
|
76
|
+
rbgutil_glist2ary_string_and_free.
|
77
|
+
|
78
|
+
2010-07-23 Nikolai Weibull
|
79
|
+
|
80
|
+
src/rbgutil.c: use rb_ensure around all *_free functions and also fix a
|
81
|
+
bug that made sure that no lists were actually freed. That's the price
|
82
|
+
of reusing variables.
|
83
|
+
|
84
|
+
2010-07-14 Kouhei Sutou <kou@cozmixng.org>
|
85
|
+
|
86
|
+
* src/rbglib.c: fix coding style.
|
87
|
+
|
88
|
+
2010-07-12 Nikolai Weibull
|
89
|
+
|
90
|
+
* src/rbglib.c: use rb_ensure for rbg_cstr_to_rval to free the memory
|
91
|
+
even if an error occurs when creating the Ruby String.
|
92
|
+
|
1
93
|
2010-04-17 Kouhei Sutou <kou@cozmixng.org>
|
2
94
|
|
3
95
|
* src/rbglib.h: 0.19.4 -> 0.20.0.
|
data/README
CHANGED
@@ -4,20 +4,32 @@ Ruby/GLib2 is a Ruby binding of GLib-2.x.
|
|
4
4
|
|
5
5
|
Requirements
|
6
6
|
------------
|
7
|
-
Ruby: http://www.ruby-lang.org/
|
8
|
-
GLib: http://www.gtk.org/
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
8
|
+
Ruby >= 1.8.5: http://www.ruby-lang.org/
|
9
|
+
pkg-config.rb: http://github.com/rcairo/pkg-config
|
10
|
+
GLib >= 2.x: http://www.gtk.org/
|
11
|
+
|
12
|
+
Install (RubyGems)
|
13
|
+
------------------
|
14
|
+
|
15
|
+
% sudo gem install glib2
|
16
|
+
|
17
|
+
Windows:
|
18
|
+
|
19
|
+
> gem install glib2 --platform x86-mingw32
|
20
|
+
|
21
|
+
Install (traditional)
|
22
|
+
---------------------
|
23
|
+
|
24
|
+
Install ruby-1.8.5 or later, pkg-config.rb and GLib-2.x.
|
25
|
+
|
26
|
+
% ruby extconf.rb
|
27
|
+
% make
|
28
|
+
% sudo make install
|
17
29
|
|
18
30
|
Copying
|
19
31
|
-------
|
20
|
-
Copyright (c) 2002-
|
32
|
+
Copyright (c) 2002-2010 Ruby-GNOME2 Project Team
|
21
33
|
|
22
34
|
This program is free software.
|
23
35
|
You can distribute/modify this program under the terms of
|
data/Rakefile
CHANGED
@@ -1,87 +1,69 @@
|
|
1
|
-
|
2
|
-
CLEAN.include '**/*.o'
|
3
|
-
CLEAN.include "**/*.#{Config::MAKEFILE_CONFIG['DLEXT']}"
|
4
|
-
CLOBBER.include 'doc'
|
5
|
-
CLOBBER.include '**/*.log'
|
6
|
-
CLOBBER.include '**/Makefile'
|
7
|
-
CLOBBER.include '**/extconf.h'
|
1
|
+
# -*- ruby -*-
|
8
2
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
if buf =~ /\s*RBGLIB_MAJOR_VERSION\s*(\d.+)/
|
13
|
-
major = $1
|
14
|
-
else
|
15
|
-
major = 0
|
16
|
-
end
|
17
|
-
if buf =~ /\s*RBGLIB_MINOR_VERSION\s*(\d.+)/
|
18
|
-
minor = $1
|
19
|
-
else
|
20
|
-
minor = 0
|
21
|
-
end
|
22
|
-
if buf =~ /\s*RBGLIB_MICRO_VERSION\s*(\d.+)/
|
23
|
-
micro = $1
|
24
|
-
else
|
25
|
-
micro = 0
|
26
|
-
end
|
27
|
-
"#{major}.#{minor}.#{micro}"
|
28
|
-
end
|
29
|
-
|
30
|
-
CURRENT_VERSION = ruby_glib_version
|
31
|
-
|
32
|
-
desc "Default Task (Test project)"
|
33
|
-
task :default => :test
|
34
|
-
|
35
|
-
# Make tasks -----------------------------------------------------
|
36
|
-
make_program = (/mswin/ =~ RUBY_PLATFORM) ? 'nmake' : 'make'
|
37
|
-
MAKECMD = ENV['MAKE_CMD'] || make_program
|
38
|
-
MAKEOPTS = ENV['MAKE_OPTS'] || ''
|
3
|
+
require 'find'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'rake/extensiontask'
|
39
6
|
|
40
|
-
|
7
|
+
task :default => :build
|
41
8
|
|
42
|
-
|
43
|
-
|
9
|
+
def version
|
10
|
+
@version ||= ENV["VERSION"] || guess_version
|
44
11
|
end
|
45
12
|
|
46
|
-
def
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
13
|
+
def guess_version
|
14
|
+
versions = {}
|
15
|
+
File.open("ext/glib2/rbglib.h") do |rbglib_h|
|
16
|
+
rbglib_h.each_line do |line|
|
17
|
+
if /#define\s+RBGLIB_([A-Z]+)_VERSION\s+(\d+)/ =~ line
|
18
|
+
versions[$1.downcase] = $2.to_i
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
["major", "minor", "micro"].collect {|type| versions[type]}.compact.join(".")
|
55
23
|
end
|
56
24
|
|
57
|
-
|
58
|
-
task :configure => ['Makefile']
|
25
|
+
package_name = "glib2"
|
59
26
|
|
60
|
-
|
61
|
-
|
27
|
+
spec = Gem::Specification.new do |s|
|
28
|
+
s.name = package_name
|
29
|
+
s.summary = "Ruby/GLib2 is a Ruby binding of GLib-2.x."
|
30
|
+
s.description = "Ruby/GLib2 is a Ruby binding of GLib-2.x."
|
31
|
+
s.author = "The Ruby-GNOME2 Proejct Team"
|
32
|
+
s.email = "ruby-gnome2-devel-en@lists.sourceforge.net"
|
33
|
+
s.homepage = "http://ruby-gnome2.sourceforge.jp/"
|
34
|
+
s.version = version
|
35
|
+
s.platform = Gem::Platform::RUBY
|
36
|
+
s.extensions = FileList["ext/#{package_name}/extconf.rb"]
|
37
|
+
s.require_paths = ["lib"]
|
38
|
+
s.files = FileList["ChangeLog", "README", "Rakefile", "extconf.rb",
|
39
|
+
"lib/**/*.rb", "{ext,sample,test,test-unit}/**/*"]
|
40
|
+
end
|
62
41
|
|
63
|
-
|
64
|
-
task :test => :compile do
|
65
|
-
sh "ruby test/run-test.rb"
|
42
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
66
43
|
end
|
67
44
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
45
|
+
Rake::ExtensionTask.new(package_name, spec) do |ext|
|
46
|
+
ext.cross_compile = true
|
47
|
+
ext.cross_compiling do |spec|
|
48
|
+
if /mingw|mswin/ =~ spec.platform.to_s
|
49
|
+
win32_dir = File.join("vendor", "local")
|
50
|
+
win32_files = []
|
51
|
+
Find.find(win32_dir) do |file|
|
52
|
+
next if /\.zip\z/ =~ file
|
53
|
+
win32_files << file
|
54
|
+
end
|
55
|
+
spec.files += win32_files
|
56
|
+
end
|
74
57
|
end
|
75
58
|
end
|
76
59
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
60
|
+
namespace :win32 do
|
61
|
+
desc "download Windows binaries"
|
62
|
+
task :download do
|
63
|
+
base_dir = File.join(File.dirname(__FILE__), "lib")
|
64
|
+
$LOAD_PATH.unshift(base_dir)
|
65
|
+
require 'gnome2-win32-binary-downloader'
|
66
|
+
GNOME2Win32BinaryDownloader.download(:package => "glib",
|
67
|
+
:dependencies => ["gettext-runtime"])
|
68
|
+
end
|
86
69
|
end
|
87
|
-
|
data/ext/glib2/depend
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
install-so:
|
2
|
+
$(INSTALL_DATA) $(srcdir)/rbglib.h $(RUBYARCHDIR)
|
3
|
+
$(INSTALL_DATA) $(srcdir)/rbgutil.h $(RUBYARCHDIR)
|
4
|
+
$(INSTALL_DATA) $(srcdir)/rbgobject.h $(RUBYARCHDIR)
|
5
|
+
$(INSTALL_DATA) $(srcdir)/rbgcompat.h $(RUBYARCHDIR)
|
6
|
+
$(INSTALL_DATA) glib-enum-types.h $(RUBYARCHDIR)
|
7
|
+
|
8
|
+
install:
|
9
|
+
$(MAKEDIRS) $(libdir)/pkgconfig
|
10
|
+
$(INSTALL_DATA) ruby-glib2.pc $(libdir)/pkgconfig
|
@@ -0,0 +1,61 @@
|
|
1
|
+
=begin
|
2
|
+
extconf.rb for Ruby/GLib extention library
|
3
|
+
=end
|
4
|
+
|
5
|
+
require 'pathname'
|
6
|
+
|
7
|
+
base_dir = Pathname(__FILE__).dirname.parent.parent.expand_path
|
8
|
+
mkmf_gnome2_dir = base_dir + 'lib'
|
9
|
+
|
10
|
+
$LOAD_PATH.unshift(mkmf_gnome2_dir.to_s)
|
11
|
+
|
12
|
+
module_name = "glib2"
|
13
|
+
package_id = "gobject-2.0"
|
14
|
+
|
15
|
+
require 'mkmf-gnome2'
|
16
|
+
|
17
|
+
setup_win32(module_name, base_dir)
|
18
|
+
|
19
|
+
PKGConfig.have_package(package_id) or exit 1
|
20
|
+
PKGConfig.have_package('gthread-2.0')
|
21
|
+
|
22
|
+
have_header("unistd.h")
|
23
|
+
have_header("io.h")
|
24
|
+
|
25
|
+
glib_header = "glib.h"
|
26
|
+
have_func("g_spawn_close_pid", glib_header)
|
27
|
+
have_func("g_thread_init", glib_header)
|
28
|
+
have_func("g_main_depth", glib_header)
|
29
|
+
have_func("g_listenv", glib_header)
|
30
|
+
|
31
|
+
ruby_header = "ruby.h"
|
32
|
+
have_func("rb_check_array_type", ruby_header)
|
33
|
+
have_func("rb_exec_recursive", ruby_header)
|
34
|
+
have_func("rb_errinfo", ruby_header)
|
35
|
+
have_func("rb_sourcefile", ruby_header)
|
36
|
+
have_func("rb_sourceline", ruby_header)
|
37
|
+
have_func("ruby_set_current_source", ruby_header)
|
38
|
+
have_func("rb_thread_blocking_region", ruby_header)
|
39
|
+
have_func("ruby_native_thread_p", ruby_header)
|
40
|
+
have_func("rb_str_encode", ruby_header)
|
41
|
+
|
42
|
+
have_var("curr_thread", [ruby_header, "node.h"])
|
43
|
+
have_var("rb_curr_thread", [ruby_header, "node.h"])
|
44
|
+
|
45
|
+
create_pkg_config_file("Ruby/GLib2", package_id)
|
46
|
+
|
47
|
+
enum_type_prefix = "glib-enum-types"
|
48
|
+
include_paths = PKGConfig.cflags_only_I("glib-2.0")
|
49
|
+
headers = include_paths.split.inject([]) do |result, path|
|
50
|
+
result + Dir.glob(File.join(path.sub(/^-I/, ""), "glib", "*.h"))
|
51
|
+
end.reject do |file|
|
52
|
+
/g(iochannel|scanner)\.h/ =~ file
|
53
|
+
end
|
54
|
+
include_paths = PKGConfig.cflags_only_I("gobject-2.0")
|
55
|
+
headers = include_paths.split.inject(headers) do |result, path|
|
56
|
+
result + Dir.glob(File.join(path.sub(/^-I/, ""), "gobject", "gsignal.h"))
|
57
|
+
end
|
58
|
+
glib_mkenums(enum_type_prefix, headers, "G_TYPE_", ["glib-object.h"])
|
59
|
+
|
60
|
+
$defs << "-DRUBY_GLIB2_COMPILATION"
|
61
|
+
create_makefile(module_name)
|
data/ext/glib2/glib2.def
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
EXPORTS
|
2
|
+
Init_glib2
|
3
|
+
mGLib DATA
|
4
|
+
rbgobj_cType DATA
|
5
|
+
rbgobj_id_children DATA
|
6
|
+
rbgobj_add_relative
|
7
|
+
rbgobj_invalidate_relatives
|
8
|
+
rbgobj_add_relative_removable
|
9
|
+
rbgobj_get_relative_removable
|
10
|
+
rbgobj_remove_relative
|
11
|
+
rbgobj_remove_relative_all
|
12
|
+
rbgobj_define_class
|
13
|
+
rbgobj_define_class_dynamic
|
14
|
+
rbgobj_instance_from_ruby_object
|
15
|
+
rbgobj_ruby_object_from_instance
|
16
|
+
rbgobj_ruby_object_from_instance2
|
17
|
+
rbgobj_ruby_object_from_instance_with_unref
|
18
|
+
rbgobj_get_ruby_object_from_gobject
|
19
|
+
rbgobj_create_object
|
20
|
+
rbgobj_gobject_new
|
21
|
+
rbgobj_boxed_create
|
22
|
+
rbgobj_boxed_get
|
23
|
+
rbgobj_boxed_not_copy_obj
|
24
|
+
rbgobj_make_boxed
|
25
|
+
rbgobj_add_abstract_but_create_instance_class
|
26
|
+
rbgobj_gtype_get
|
27
|
+
rbgobj_gtype_new
|
28
|
+
rbgobj_gvalue_to_rvalue
|
29
|
+
rbgobj_rvalue_to_gvalue
|
30
|
+
rbgobj_initialize_gvalue
|
31
|
+
rbgobj_initialize_object
|
32
|
+
rbgobj_lookup_class
|
33
|
+
rbgobj_lookup_class_by_gtype
|
34
|
+
rbgobj_gtype_to_ruby_class
|
35
|
+
rbgobj_ptr2cptr
|
36
|
+
rbgobj_ptr_new
|
37
|
+
rbgobj_make_enum
|
38
|
+
rbgobj_get_enum
|
39
|
+
rbgobj_make_flags
|
40
|
+
rbgobj_get_flags
|
41
|
+
rbgobj_register_g2r_func
|
42
|
+
rbgobj_register_r2g_func
|
43
|
+
rbgobj_register_class
|
44
|
+
rbgobj_register_property_getter
|
45
|
+
rbgobj_register_property_setter
|
46
|
+
rbgobj_set_signal_func
|
47
|
+
rbgobj_get_signal_func
|
48
|
+
rbgobj_add_constants
|
49
|
+
rbgobj_constant_remap
|
50
|
+
rbgobj_signal_wrap
|
51
|
+
g_rclosure_new
|
52
|
+
g_rclosure_attach
|
53
|
+
g_rclosure_set_tag
|
54
|
+
rbgobj_ruby_value_get_type
|
55
|
+
g_value_get_ruby_value
|
56
|
+
g_value_set_ruby_value
|
57
|
+
g_key_file_get_type
|
58
|
+
rbg_rval_inspect
|
59
|
+
rbg_rval2cstr_accept_nil
|
60
|
+
rbg_cstr2rval
|
61
|
+
rbg_cstr2rval_with_free
|
62
|
+
rbg_string_value_ptr
|
63
|
+
rbgutil_id_module_eval DATA
|
64
|
+
rbgutil_def_setters
|
65
|
+
rbgutil_glist2ary
|
66
|
+
rbgutil_glist2ary_boxed
|
67
|
+
rbgutil_glist2ary_string
|
68
|
+
rbgutil_glist2ary_and_free
|
69
|
+
rbgutil_glist2ary_boxed_and_free
|
70
|
+
rbgutil_glist2ary_string_and_free
|
71
|
+
rbgutil_gslist2ary
|
72
|
+
rbgutil_gslist2ary_boxed
|
73
|
+
rbgutil_gslist2ary_and_free
|
74
|
+
rbgutil_gslist2ary_boxed_and_free
|
75
|
+
rbgutil_set_properties
|
76
|
+
rbgutil_sym_g2r_func
|
77
|
+
rbgutil_protect
|
78
|
+
rbgutil_invoke_callback
|
79
|
+
rbgutil_start_callback_dispatch_thread
|
80
|
+
rbgutil_stop_callback_dispatch_thread
|
81
|
+
rbgutil_string_set_utf8_encoding
|
82
|
+
rbgerr_define_gerror
|
83
|
+
rbgerr_gerror2exception
|
84
|
+
rbgobj_convert_define
|
85
|
+
rbgobj_fund_define_fundamental
|
86
|
+
rbgobj_gc_mark_gvalue
|
87
|
+
rbgobj_gc_mark_instance
|
88
|
+
|
89
|
+
g_connect_flags_get_type
|
File without changes
|
data/{src → ext/glib2}/rbglib.c
RENAMED
@@ -71,15 +71,25 @@ rbg_cstr2rval(const char* str)
|
|
71
71
|
return str ? rb_str_new2(str) : Qnil;
|
72
72
|
}
|
73
73
|
|
74
|
+
static VALUE
|
75
|
+
rbg_cstr2rval_with_free_body(VALUE str)
|
76
|
+
{
|
77
|
+
return rb_str_new2((gchar *)str);
|
78
|
+
}
|
79
|
+
|
80
|
+
static VALUE
|
81
|
+
rbg_cstr2rval_with_free_ensure(VALUE str)
|
82
|
+
{
|
83
|
+
g_free((gchar *)str);
|
84
|
+
|
85
|
+
return Qnil;
|
86
|
+
}
|
87
|
+
|
74
88
|
VALUE
|
75
|
-
rbg_cstr2rval_with_free(gchar*
|
89
|
+
rbg_cstr2rval_with_free(gchar *str)
|
76
90
|
{
|
77
|
-
|
78
|
-
|
79
|
-
ret = rb_str_new2(str);
|
80
|
-
g_free(str);
|
81
|
-
}
|
82
|
-
return ret;
|
91
|
+
return str ? rb_ensure(rbg_cstr2rval_with_free_body, (VALUE)str,
|
92
|
+
rbg_cstr2rval_with_free_ensure, (VALUE)str) : Qnil;
|
83
93
|
}
|
84
94
|
|
85
95
|
#if 0
|