glib2 2.0.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README +4 -4
- data/Rakefile +31 -10
- data/ext/glib2/extconf.rb +2 -1
- data/ext/glib2/glib2.def +1 -0
- data/ext/glib2/rbglib.c +6 -5
- data/ext/glib2/rbglib.h +3 -3
- data/ext/glib2/rbglib_bookmarkfile.c +0 -5
- data/ext/glib2/rbglib_error.c +8 -11
- data/ext/glib2/rbglib_gettext.c +48 -0
- data/ext/glib2/rbglib_i18n.c +0 -4
- data/ext/glib2/rbglib_keyfile.c +0 -20
- data/ext/glib2/rbglib_maincontext.c +0 -14
- data/ext/glib2/rbglib_source.c +0 -4
- data/ext/glib2/rbglib_timer.c +0 -4
- data/ext/glib2/rbglib_unichar.c +0 -8
- data/ext/glib2/rbglib_utf8.c +0 -2
- data/ext/glib2/rbglib_utils.c +0 -16
- data/ext/glib2/rbglib_win32.c +0 -7
- data/ext/glib2/rbgobj_object.c +8 -12
- data/ext/glib2/rbgobj_strv.c +0 -4
- data/ext/glib2/rbgobj_typeinterface.c +0 -6
- data/ext/glib2/rbgobj_value.c +12 -0
- data/ext/glib2/rbgobject.c +20 -18
- data/ext/glib2/rbgobject.h +1 -0
- data/ext/glib2/rbgprivate.h +5 -2
- data/lib/glib2.rb +4 -0
- data/lib/gnome2/rake/external-package.rb +20 -3
- data/lib/gnome2/rake/native-binary-build-task.rb +47 -30
- data/lib/gnome2/rake/package-task.rb +11 -1
- data/lib/gnome2/rake/source-download-task.rb +2 -1
- data/lib/gnome2/rake/win32-binary-build-task.rb +28 -3
- data/lib/mkmf-gnome2.rb +2 -8
- metadata +13 -18
data/ext/glib2/rbgobject.h
CHANGED
@@ -143,6 +143,7 @@ extern gpointer rbgobj_instance_from_ruby_object(VALUE obj);
|
|
143
143
|
extern VALUE rbgobj_ruby_object_from_instance(gpointer instance);
|
144
144
|
extern VALUE rbgobj_ruby_object_from_instance2(gpointer instance, gboolean alloc);
|
145
145
|
extern VALUE rbgobj_ruby_object_from_instance_with_unref(gpointer instance);
|
146
|
+
extern void rbgobj_instance_unref(gpointer instance);
|
146
147
|
|
147
148
|
extern void rbgobj_add_relative(VALUE obj, VALUE relative);
|
148
149
|
extern void rbgobj_invalidate_relatives(VALUE obj);
|
data/ext/glib2/rbgprivate.h
CHANGED
@@ -33,6 +33,10 @@
|
|
33
33
|
# define rb_str_new_cstr(c_string) rb_str_new2(c_string)
|
34
34
|
#endif
|
35
35
|
|
36
|
+
#ifndef HAVE_RB_EXC_NEW_STR
|
37
|
+
# define rb_exc_new_str(klass, message) rb_exc_new3(klass, message)
|
38
|
+
#endif
|
39
|
+
|
36
40
|
#ifndef G_VALUE_INIT
|
37
41
|
# define G_VALUE_INIT { 0, { { 0 } } }
|
38
42
|
#endif
|
@@ -119,6 +123,7 @@ G_GNUC_INTERNAL char *rg_obj_constant_lookup(const char *name);
|
|
119
123
|
|
120
124
|
G_GNUC_INTERNAL void Init_gutil(void);
|
121
125
|
G_GNUC_INTERNAL void Init_gutil_callback(void);
|
126
|
+
G_GNUC_INTERNAL void Init_glib_gettext(void);
|
122
127
|
G_GNUC_INTERNAL void Init_glib_int64(void);
|
123
128
|
G_GNUC_INTERNAL void Init_glib_error(void);
|
124
129
|
G_GNUC_INTERNAL void Init_glib_threads(void);
|
@@ -157,9 +162,7 @@ G_GNUC_INTERNAL void Init_gobject_typeinstance(void);
|
|
157
162
|
G_GNUC_INTERNAL void Init_gobject_gvalue(void);
|
158
163
|
G_GNUC_INTERNAL void Init_gobject_gvaluetypes(void);
|
159
164
|
G_GNUC_INTERNAL void Init_gobject_gboxed(void);
|
160
|
-
#if GLIB_CHECK_VERSION(2,6,0)
|
161
165
|
G_GNUC_INTERNAL void Init_gobject_gstrv(void);
|
162
|
-
#endif
|
163
166
|
G_GNUC_INTERNAL void Init_gobject_value_array(void);
|
164
167
|
G_GNUC_INTERNAL void Init_gobject_genumflags(void);
|
165
168
|
G_GNUC_INTERNAL void Init_gobject_genums(void);
|
data/lib/glib2.rb
CHANGED
@@ -93,6 +93,10 @@ end
|
|
93
93
|
|
94
94
|
base_dir = Pathname.new(__FILE__).dirname.dirname.expand_path
|
95
95
|
vendor_dir = base_dir + "vendor" + "local"
|
96
|
+
if vendor_dir.exist?
|
97
|
+
require "cairo"
|
98
|
+
end
|
99
|
+
|
96
100
|
GLib.prepend_dll_path(vendor_dir + "bin")
|
97
101
|
begin
|
98
102
|
major, minor, _ = RUBY_VERSION.split(/\./)
|
@@ -19,6 +19,8 @@
|
|
19
19
|
module GNOME2
|
20
20
|
module Rake
|
21
21
|
class ExternalPackage < Struct.new(:name,
|
22
|
+
:base_name,
|
23
|
+
:archive_base_name,
|
22
24
|
:label,
|
23
25
|
:version,
|
24
26
|
:download_site,
|
@@ -43,11 +45,11 @@ module GNOME2
|
|
43
45
|
end
|
44
46
|
|
45
47
|
def base_name
|
46
|
-
"#{name}-#{version}"
|
48
|
+
super || "#{name}-#{version}"
|
47
49
|
end
|
48
50
|
|
49
51
|
def archive_base_name
|
50
|
-
"#{base_name}.tar.#{compression_method}"
|
52
|
+
super || "#{base_name}.tar.#{compression_method}"
|
51
53
|
end
|
52
54
|
|
53
55
|
def archive_url
|
@@ -95,7 +97,7 @@ module GNOME2
|
|
95
97
|
case download_site
|
96
98
|
when :gnome
|
97
99
|
base_url = "http://ftp.gnome.org/pub/gnome/sources"
|
98
|
-
release_series = version.gsub(/\A(\d+\.\d+)
|
100
|
+
release_series = version.gsub(/\A(\d+\.\d+)(?:[^\d].*)?\z/, '\1')
|
99
101
|
base_url << "/#{name}/#{release_series}"
|
100
102
|
else
|
101
103
|
base_url = nil
|
@@ -107,7 +109,9 @@ module GNOME2
|
|
107
109
|
:include_paths,
|
108
110
|
:library_paths,
|
109
111
|
:configure_args,
|
112
|
+
:cc_args,
|
110
113
|
:patches,
|
114
|
+
:built_file,
|
111
115
|
:need_autogen,
|
112
116
|
:need_autoreconf,
|
113
117
|
:build_concurrently,
|
@@ -135,10 +139,18 @@ module GNOME2
|
|
135
139
|
super || []
|
136
140
|
end
|
137
141
|
|
142
|
+
def cc_args
|
143
|
+
super || []
|
144
|
+
end
|
145
|
+
|
138
146
|
def patches
|
139
147
|
super || []
|
140
148
|
end
|
141
149
|
|
150
|
+
def built_file
|
151
|
+
super || nil
|
152
|
+
end
|
153
|
+
|
142
154
|
def need_autogen?
|
143
155
|
need_autogen.nil? ? false : need_autogen
|
144
156
|
end
|
@@ -159,6 +171,7 @@ module GNOME2
|
|
159
171
|
class NativeConfiguration < Struct.new(:build,
|
160
172
|
:configure_args,
|
161
173
|
:patches,
|
174
|
+
:built_file,
|
162
175
|
:need_autogen,
|
163
176
|
:need_autoreconf,
|
164
177
|
:build_concurrently)
|
@@ -181,6 +194,10 @@ module GNOME2
|
|
181
194
|
super || []
|
182
195
|
end
|
183
196
|
|
197
|
+
def built_file
|
198
|
+
super || nil
|
199
|
+
end
|
200
|
+
|
184
201
|
def need_autogen?
|
185
202
|
need_autogen.nil? ? false : need_autogen
|
186
203
|
end
|
@@ -52,41 +52,58 @@ module GNOME2
|
|
52
52
|
def define_build_tasks
|
53
53
|
namespace :build do
|
54
54
|
build_packages.each do |package|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
Dir.chdir(package_tmp_dir.to_s) do
|
64
|
-
sh("tar", "xf", tar_full_path.to_s) or exit(false)
|
65
|
-
end
|
66
|
-
|
67
|
-
Dir.chdir((package_tmp_dir + package.base_name).to_s) do
|
68
|
-
package.native.patches.each do |patch|
|
69
|
-
sh("patch -p1 < #{@package.patches_dir}/#{patch}")
|
55
|
+
namespace package.name do
|
56
|
+
download_task = "source:downloader:download:#{package.name}"
|
57
|
+
built_file = package.native.built_file
|
58
|
+
if built_file
|
59
|
+
built_file = dist_dir + built_file
|
60
|
+
file built_file.to_s do
|
61
|
+
::Rake::Task[download_task].invoke
|
62
|
+
build_package_task_body(package)
|
70
63
|
end
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
"--prefix=#{dist_dir}",
|
76
|
-
*package.native.configure_args) or exit(false)
|
77
|
-
common_make_args = []
|
78
|
-
common_make_args << "GLIB_COMPILE_SCHEMAS=glib-compile-schemas"
|
79
|
-
build_make_args = common_make_args.dup
|
80
|
-
install_make_args = common_make_args.dup
|
81
|
-
if package.native.build_concurrently?
|
82
|
-
make_n_jobs = ENV["MAKE_N_JOBS"]
|
83
|
-
build_make_args << "-j#{make_n_jobs}" if make_n_jobs
|
64
|
+
task :build => built_file.to_s
|
65
|
+
else
|
66
|
+
task :build => [download_task] do
|
67
|
+
build_patckage_task_body(package)
|
84
68
|
end
|
85
|
-
sh("nice", "make", *build_make_args) or exit(false)
|
86
|
-
sh("make", "install", *install_make_args) or exit(false)
|
87
69
|
end
|
88
70
|
end
|
71
|
+
desc "Build #{package.label} and install it into #{dist_dir}."
|
72
|
+
task package.name => "native:builder:build:#{package.name}:build"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def build_package_task_body(package)
|
78
|
+
package_tmp_dir = @package.tmp_dir + package.name
|
79
|
+
rm_rf(package_tmp_dir)
|
80
|
+
mkdir_p(package_tmp_dir)
|
81
|
+
|
82
|
+
tar_full_path = @package.download_dir + package.archive_base_name
|
83
|
+
Dir.chdir(package_tmp_dir.to_s) do
|
84
|
+
sh("tar", "xf", tar_full_path.to_s) or exit(false)
|
85
|
+
end
|
86
|
+
|
87
|
+
Dir.chdir((package_tmp_dir + package.base_name).to_s) do
|
88
|
+
package.native.patches.each do |patch|
|
89
|
+
sh("patch -p1 < #{@package.patches_dir}/#{patch}")
|
90
|
+
end
|
91
|
+
sh("./autogen.sh") if package.native.need_autogen?
|
92
|
+
sh("autoreconf --install") if package.native.need_autoreconf?
|
93
|
+
sh("./configure",
|
94
|
+
"PKG_CONFIG_PATH=#{pkg_config_path}",
|
95
|
+
"--prefix=#{dist_dir}",
|
96
|
+
*package.native.configure_args) or exit(false)
|
97
|
+
common_make_args = []
|
98
|
+
common_make_args << "GLIB_COMPILE_SCHEMAS=glib-compile-schemas"
|
99
|
+
build_make_args = common_make_args.dup
|
100
|
+
install_make_args = common_make_args.dup
|
101
|
+
if package.native.build_concurrently?
|
102
|
+
make_n_jobs = ENV["MAKE_N_JOBS"]
|
103
|
+
build_make_args << "-j#{make_n_jobs}" if make_n_jobs
|
89
104
|
end
|
105
|
+
sh("nice", "make", *build_make_args) or exit(false)
|
106
|
+
sh("make", "install", *install_make_args) or exit(false)
|
90
107
|
end
|
91
108
|
end
|
92
109
|
|
@@ -131,7 +131,7 @@ module GNOME2
|
|
131
131
|
"{ext,sample,test,test-unit}/**/*"]
|
132
132
|
files.existing!
|
133
133
|
s.files = files
|
134
|
-
s.required_ruby_version = @required_ruby_version || ">= 1.
|
134
|
+
s.required_ruby_version = @required_ruby_version || ">= 1.9.3"
|
135
135
|
s.post_install_message = @post_install_message
|
136
136
|
@dependency_configuration.apply(s)
|
137
137
|
end
|
@@ -180,6 +180,16 @@ module GNOME2
|
|
180
180
|
end
|
181
181
|
end
|
182
182
|
spec.files += win32_files
|
183
|
+
stage_path = "#{ext.tmp_dir}/#{ext.cross_platform}/stage"
|
184
|
+
win32_files.each do |win32_file|
|
185
|
+
next unless File.file?(win32_file)
|
186
|
+
stage_win32_file = "#{stage_path}/#{win32_file}"
|
187
|
+
stage_win32_binary_dir = File.dirname(stage_win32_file)
|
188
|
+
directory stage_win32_binary_dir
|
189
|
+
file stage_win32_file => [stage_win32_binary_dir, win32_file] do
|
190
|
+
cp win32_file, stage_win32_file
|
191
|
+
end
|
192
|
+
end
|
183
193
|
end
|
184
194
|
@cross_compiling_hooks.each do |hook|
|
185
195
|
hook.call(spec)
|
@@ -60,7 +60,8 @@ module GNOME2
|
|
60
60
|
task :before
|
61
61
|
task :after
|
62
62
|
desc "Download #{package.label} into #{download_dir}."
|
63
|
-
task package[:name] => [:before, tar_full_path.to_s, :after]
|
63
|
+
# task package[:name] => [:before, tar_full_path.to_s, :after]
|
64
|
+
task package[:name] => tar_full_path.to_s
|
64
65
|
|
65
66
|
directory_path = tar_full_path.dirname
|
66
67
|
directory directory_path.to_s
|
@@ -48,6 +48,11 @@ class GNOME2Win32BinaryBuildTask
|
|
48
48
|
end.join(":")
|
49
49
|
ENV["PKG_CONFIG_LIBDIR"] = rcairo_win32_pkgconfig_path
|
50
50
|
end
|
51
|
+
|
52
|
+
prepare_task_names << "pkg_config_for_build"
|
53
|
+
task :pkg_config_for_build do
|
54
|
+
ENV["PKG_CONFIG_FOR_BUILD"] = "env - pkg-config"
|
55
|
+
end
|
51
56
|
end
|
52
57
|
|
53
58
|
full_prepare_task_names = prepare_task_names.collect do |name|
|
@@ -59,8 +64,19 @@ class GNOME2Win32BinaryBuildTask
|
|
59
64
|
namespace package.name do
|
60
65
|
task :before
|
61
66
|
download_task = "source:downloader:download:#{package.name}"
|
62
|
-
|
63
|
-
|
67
|
+
built_file = package.windows.built_file
|
68
|
+
if built_file
|
69
|
+
built_file = dist_dir + built_file
|
70
|
+
file built_file.to_s do
|
71
|
+
Rake::Task["win32:builder:build:prepare"].invoke
|
72
|
+
Rake::Task[download_task].invoke
|
73
|
+
build_package_task_body(package)
|
74
|
+
end
|
75
|
+
task :build => built_file.to_s
|
76
|
+
else
|
77
|
+
task :build => [:prepare, download_task] do
|
78
|
+
build_package_task_body(package)
|
79
|
+
end
|
64
80
|
end
|
65
81
|
task :after
|
66
82
|
end
|
@@ -92,7 +108,7 @@ class GNOME2Win32BinaryBuildTask
|
|
92
108
|
end
|
93
109
|
sh("./autogen.sh") if package.windows.need_autogen?
|
94
110
|
sh("autoreconf --install") if package.windows.need_autoreconf?
|
95
|
-
cc_env = "CC=#{
|
111
|
+
cc_env = "CC=#{cc(package)}"
|
96
112
|
sh("./configure",
|
97
113
|
cc_env,
|
98
114
|
"CPPFLAGS=#{cppflags(package)}",
|
@@ -101,6 +117,7 @@ class GNOME2Win32BinaryBuildTask
|
|
101
117
|
"--host=#{@package.windows.build_host}",
|
102
118
|
*package.windows.configure_args) or exit(false)
|
103
119
|
common_make_args = []
|
120
|
+
common_make_args << "MAKE=make"
|
104
121
|
common_make_args << "GLIB_COMPILE_SCHEMAS=glib-compile-schemas"
|
105
122
|
if package.windows.use_cc_environment_variable?
|
106
123
|
common_make_args << cc_env
|
@@ -175,6 +192,14 @@ class GNOME2Win32BinaryBuildTask
|
|
175
192
|
"#{rcairo_win32_dir}/vendor/local/lib"
|
176
193
|
end
|
177
194
|
|
195
|
+
def cc(package)
|
196
|
+
cc_command_line = [
|
197
|
+
"#{@package.windows.build_host}-gcc",
|
198
|
+
*package.windows.cc_args,
|
199
|
+
]
|
200
|
+
cc_command_line.compact.join(" ")
|
201
|
+
end
|
202
|
+
|
178
203
|
def cppflags(package)
|
179
204
|
include_paths = package.windows.include_paths
|
180
205
|
if @package.windows.build_dependencies.include?("glib2")
|
data/lib/mkmf-gnome2.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Extended mkmf for Ruby-GNOME2 and Ruby/GLib based libraries.
|
5
5
|
#
|
6
|
-
# Copyright(C) 2003-
|
6
|
+
# Copyright(C) 2003-2013 Ruby-GNOME2 Project.
|
7
7
|
#
|
8
8
|
# This program is licenced under the same
|
9
9
|
# license of Ruby-GNOME2.
|
@@ -11,13 +11,7 @@
|
|
11
11
|
|
12
12
|
require 'English'
|
13
13
|
require 'mkmf'
|
14
|
-
|
15
|
-
require 'pkg-config'
|
16
|
-
rescue LoadError
|
17
|
-
require 'rubygems'
|
18
|
-
gem 'pkg-config'
|
19
|
-
require 'pkg-config'
|
20
|
-
end
|
14
|
+
require 'pkg-config'
|
21
15
|
require 'glib-mkenums'
|
22
16
|
|
23
17
|
$CFLAGS += " #{ENV['CFLAGS']}" if ENV['CFLAGS']
|
metadata
CHANGED
@@ -1,46 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- The Ruby-GNOME2 Project Team
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-12-28 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: pkg-config
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: test-unit
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '2'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '2'
|
46
41
|
description: Ruby/GLib2 is a Ruby binding of GLib-2.x.
|
@@ -76,6 +71,7 @@ files:
|
|
76
71
|
- ext/glib2/rbglib_convert.c
|
77
72
|
- ext/glib2/rbglib_error.c
|
78
73
|
- ext/glib2/rbglib_fileutils.c
|
74
|
+
- ext/glib2/rbglib_gettext.c
|
79
75
|
- ext/glib2/rbglib_i18n.c
|
80
76
|
- ext/glib2/rbglib_int64.c
|
81
77
|
- ext/glib2/rbglib_io_constants.c
|
@@ -165,26 +161,25 @@ files:
|
|
165
161
|
- test/test_win32.rb
|
166
162
|
homepage: http://ruby-gnome2.sourceforge.jp/
|
167
163
|
licenses: []
|
164
|
+
metadata: {}
|
168
165
|
post_install_message:
|
169
166
|
rdoc_options: []
|
170
167
|
require_paths:
|
171
168
|
- lib
|
172
169
|
required_ruby_version: !ruby/object:Gem::Requirement
|
173
|
-
none: false
|
174
170
|
requirements:
|
175
|
-
- -
|
171
|
+
- - '>='
|
176
172
|
- !ruby/object:Gem::Version
|
177
|
-
version: 1.
|
173
|
+
version: 1.9.3
|
178
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
|
-
none: false
|
180
175
|
requirements:
|
181
|
-
- -
|
176
|
+
- - '>='
|
182
177
|
- !ruby/object:Gem::Version
|
183
178
|
version: '0'
|
184
179
|
requirements: []
|
185
180
|
rubyforge_project:
|
186
|
-
rubygems_version:
|
181
|
+
rubygems_version: 2.0.14
|
187
182
|
signing_key:
|
188
|
-
specification_version:
|
183
|
+
specification_version: 4
|
189
184
|
summary: Ruby/GLib2 is a Ruby binding of GLib-2.x.
|
190
185
|
test_files: []
|