gobject-introspection 1.2.6 → 2.0.0

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.
data/Rakefile CHANGED
@@ -17,25 +17,102 @@
17
17
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
18
 
19
19
  $LOAD_PATH.unshift("./../glib2/lib")
20
- require "gnome2-raketask"
20
+ require "gnome2/rake/package-task"
21
21
 
22
- package = GNOME2Package.new do |_package|
23
- _package.summary = "Ruby/GObjectIntrospection is a Ruby binding of GObjectIntrospection."
24
- _package.description = "Ruby/GObjectIntrospection is a Ruby binding of GObjectIntrospection."
25
- _package.dependency.gem.runtime = ["glib2"]
26
- _package.dependency.gem.development = [["test-unit", ">= 2"]]
27
- _package.win32.packages = []
28
- _package.win32.dependencies = []
29
- _package.win32.build_dependencies = ["glib2"]
30
- _package.win32.build_packages = [
22
+ package = nil
23
+ package_task = GNOME2::Rake::PackageTask.new do |_package|
24
+ package = _package
25
+ package.summary = "Ruby/GObjectIntrospection is a Ruby binding of GObjectIntrospection."
26
+ package.description = "Ruby/GObjectIntrospection is a Ruby binding of GObjectIntrospection."
27
+ package.dependency.gem.runtime = ["glib2"]
28
+ package.dependency.gem.development = [["test-unit", ">= 2"]]
29
+ package.windows.packages = []
30
+ package.windows.dependencies = []
31
+ package.windows.build_dependencies = ["glib2"]
32
+ package.external_packages = [
33
+ {
34
+ :name => "glib",
35
+ :download_site => :gnome,
36
+ :label => "GLib",
37
+ :version => "2.36.0",
38
+ :compression_method => "xz",
39
+ :windows => {
40
+ :build => false,
41
+ },
42
+ :native => {
43
+ :build => true,
44
+ },
45
+ },
31
46
  {
32
47
  :name => "gobject-introspection",
33
48
  :download_site => :gnome,
34
49
  :label => "gobject-introspection",
35
- :version => "1.35.4",
36
- :configure_args => [],
50
+ :version => "1.36.0",
37
51
  :compression_method => "xz",
52
+ :windows => {
53
+ :configure_args => [
54
+ "--with-g-ir-scanner=#{package.native.absolute_binary_dir}/bin/g-ir-scanner",
55
+ "--disable-tests",
56
+ ],
57
+ :patches => [
58
+ "0001-Support-external-g-ir-scanner.patch",
59
+ ],
60
+ :need_autoreconf => true,
61
+ },
62
+ :native => {
63
+ :build => true,
64
+ :patches => [
65
+ # "cross-compilable-g-ir-scanner.diff",
66
+ ],
67
+ }
38
68
  },
39
69
  ]
40
70
  end
41
- package.define_tasks
71
+ package_task.define
72
+
73
+ namespace :native do
74
+ namespace :"gobject-introspection" do
75
+ desc "Make g-ir-scanner workable for Windows on non Windows"
76
+ task :cross do
77
+ g_ir_scanner_dir = package.native.absolute_binary_dir
78
+ g_ir_scanner_dir += "lib/gobject-introspection/giscanner"
79
+ Dir.chdir(g_ir_scanner_dir.to_s) do
80
+ patch = "#{package.patches_dir}/cross-g-ir-scanner.diff"
81
+ sh("patch -p2 < #{patch}")
82
+ end
83
+ end
84
+ end
85
+
86
+ namespace :builder do
87
+ task :after => "native:gobject-introspection:cross"
88
+ end
89
+ end
90
+
91
+ namespace :win32 do
92
+ namespace :"gobject-introspection" do
93
+ desc "Use native tools"
94
+ task :cross do
95
+ pkg_config_dir = package.windows.absolute_binary_dir + "lib/pkgconfig"
96
+ pc_path = pkg_config_dir + "gobject-introspection-1.0.pc"
97
+ original_pc = pc_path.read
98
+ new_pc = ""
99
+ new_pc << "native_prefix=#{package.native.absolute_binary_dir}\n"
100
+ new_pc << "native_bindir=${native_prefix}/bin\n"
101
+ original_pc.each_line do |line|
102
+ case line
103
+ when /\Ag_ir_(scanner|compiler)=/
104
+ new_pc << line.gsub(/\${bindir}/, "${native_bindir}")
105
+ else
106
+ new_pc << line
107
+ end
108
+ end
109
+ pc_path.open("w") do |pc_file|
110
+ pc_file.write(new_pc)
111
+ end
112
+ end
113
+ end
114
+
115
+ namespace :builder do
116
+ task :after => "win32:gobject-introspection:cross"
117
+ end
118
+ end
@@ -0,0 +1,5 @@
1
+ EXPORTS
2
+ Init_gobject_introspection
3
+
4
+ rb_gi_callback_data_free
5
+ rb_gi_callback_register_finder
@@ -16,10 +16,18 @@
16
16
 
17
17
  require "glib2"
18
18
 
19
- base_dir = Pathname.new(__FILE__).dirname.dirname.dirname.expand_path
19
+ module GObjectIntrospection
20
+ class << self
21
+ def prepend_typelib_path(path)
22
+ GLib.prepend_path_to_environment_variable(path, "GI_TYPELIB_PATH")
23
+ end
24
+ end
25
+ end
26
+
27
+ base_dir = Pathname.new(__FILE__).dirname.dirname.expand_path
20
28
  vendor_dir = base_dir + "vendor" + "local"
21
29
  vendor_bin_dir = vendor_dir + "bin"
22
- GLib.prepend_environment_path(vendor_bin_dir)
30
+ GLib.prepend_dll_path(vendor_bin_dir)
23
31
  begin
24
32
  major, minor, _ = RUBY_VERSION.split(/\./)
25
33
  require "#{major}.#{minor}/gobject_introspection.so"
@@ -27,10 +35,12 @@ rescue LoadError
27
35
  require "gobject_introspection.so"
28
36
  end
29
37
 
38
+ vendor_girepository_dir = vendor_dir + "lib" + "girepository-1.0"
39
+ GObjectIntrospection.prepend_typelib_path(vendor_girepository_dir)
40
+
30
41
  module GObjectIntrospection
31
42
  LOG_DOMAIN = "GObjectIntrospection"
32
43
  end
33
-
34
44
  GLib::Log.set_log_domain(GObjectIntrospection::LOG_DOMAIN)
35
45
 
36
46
  require "gobject-introspection/repository"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gobject-introspection
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-04 00:00:00.000000000 Z
12
+ date: 2013-04-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: glib2
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.2.6
21
+ version: 2.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: 1.2.6
29
+ version: 2.0.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: test-unit
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -63,6 +63,7 @@ files:
63
63
  - lib/gobject-introspection/union-info.rb
64
64
  - ext/gobject-introspection/depend
65
65
  - ext/gobject-introspection/extconf.rb
66
+ - ext/gobject-introspection/gobject_introspection.def
66
67
  - ext/gobject-introspection/rb-gi-arg-info.c
67
68
  - ext/gobject-introspection/rb-gi-argument.c
68
69
  - ext/gobject-introspection/rb-gi-base-info.c