glib2 2.0.2 → 2.0.3
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/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: []
|