gio2 3.5.1 → 4.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 736a1c5275a435a8ba65b375c1e08124841c12d460f4457af0e5908bd6e011db
4
- data.tar.gz: dbc3c5a4442ca2ec6414a542dc57809bfbceefd4c735176f5690d209b56a278c
3
+ metadata.gz: b7c97ae956b7df9431bfca1b7927eda6a52cf5f16941d9eff97baf5e48317203
4
+ data.tar.gz: bf1e3577f9851f859fa205b07e69b11965e2739ab08937ef349ff442d8bd04b1
5
5
  SHA512:
6
- metadata.gz: 1a5be761ccfd5e11e98bc21834c4c689932c97202233ce756bb14e1dbff756aa387b3a7e2e90c95f8634bba210b2b68376d38be43deaa0f51cc42b4a395490ec
7
- data.tar.gz: 5236c7bcd2db1d1a14f746d27533985cc718e301ff232126fec8cbb4bdc5802bb7ea8dfa79547518e905dc2ec21ac466c6a110c9282ea2d1eb3bfdc8c0ad8f3c
6
+ metadata.gz: 5305fb1abd26851276a980d096bffde554c8f43a21c9df50f9e8aa59b78f88255299e9afa42e5052492bfeafc8b5867243aa0de671a59e09e6c3a4c231caec20
7
+ data.tar.gz: 9f6a6c7c54dbb0368b533c0d8ef65ba66ff22e07b2dc5c9cf4d9961ce8bcb00223bbfa6e02f950e2b2cf8ed18036c12b3adb56fbdb49abf095f7c44034d06b73
data/ext/gio2/extconf.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (C) 2014-2019 Ruby-GNOME Project Team
3
+ # Copyright (C) 2014-2023 Ruby-GNOME Project Team
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU Lesser General Public
@@ -23,30 +23,19 @@ top_dir = base_dir.parent
23
23
  top_build_dir = Pathname(".").parent.parent.parent.expand_path
24
24
 
25
25
  mkmf_gnome2_dir = top_dir + "glib2" + "lib"
26
- version_suffix = ""
27
- unless mkmf_gnome2_dir.exist?
28
- if /(-\d+\.\d+\.\d+)\z/ =~ base_dir.basename.to_s
29
- version_suffix = $1
30
- mkmf_gnome2_dir = top_dir + "glib2#{version_suffix}" + "lib"
31
- end
32
- end
26
+ $LOAD_PATH.unshift(mkmf_gnome2_dir.to_s) if mkmf_gnome2_dir.exist?
33
27
 
34
- $LOAD_PATH.unshift(mkmf_gnome2_dir.to_s)
35
28
 
36
29
  module_name = "gio2"
37
30
  package_id = "gio-2.0"
38
31
 
39
32
  require "mkmf-gnome"
40
33
 
41
- ["glib2", "gobject-introspection"].each do |package|
42
- directory = "#{package}#{version_suffix}"
43
- build_base_path = "#{directory}/tmp/#{RUBY_PLATFORM}"
44
- package_library_name = package.gsub(/-/, "_")
45
- build_dir = "#{build_base_path}/#{package_library_name}/#{RUBY_VERSION}"
46
- add_depend_package(package, "#{directory}/ext/#{package}",
34
+ ["glib2"].each do |package|
35
+ add_depend_package(package,
36
+ "#{package}/ext/#{package}",
47
37
  top_dir.to_s,
48
- :top_build_dir => top_build_dir.to_s,
49
- :target_build_dir => build_dir)
38
+ top_build_dir: top_build_dir.to_s)
50
39
  end
51
40
 
52
41
  unless required_pkg_config_package(package_id,
@@ -66,6 +55,20 @@ end
66
55
  create_pkg_config_file("Ruby/GIO2", package_id)
67
56
 
68
57
  $defs << "-DRUBY_GIO2_COMPILATION"
58
+ case RUBY_PLATFORM
59
+ when /darwin/
60
+ symbols_in_external_bundles = [
61
+ "_rbg_define_method",
62
+ "_rbgobj_add_relative",
63
+ "_rbgobj_boxed_get",
64
+ "_rbgobj_gvalue_to_rvalue",
65
+ "_rbgobj_ruby_object_from_instance",
66
+ "_rbgobj_set_signal_func",
67
+ ]
68
+ symbols_in_external_bundles.each do |symbol|
69
+ $DLDFLAGS << " -Wl,-U,#{symbol}"
70
+ end
71
+ end
69
72
  create_makefile(module_name)
70
73
 
71
74
  pkg_config_dir = with_config("pkg-config-dir")
data/ext/gio2/rb-gio2.c CHANGED
@@ -22,21 +22,6 @@
22
22
 
23
23
  #define RG_TARGET_NAMESPACE rb_mGio
24
24
 
25
- #ifdef _WIN32
26
- /* Workaround: See glib2/ext/glib2/rbglib.c for details. */
27
- BOOL WINAPI
28
- DllMain(G_GNUC_UNUSED HINSTANCE hinstDLL,
29
- G_GNUC_UNUSED DWORD fdwReason,
30
- G_GNUC_UNUSED LPVOID lpvReserved);
31
- BOOL WINAPI
32
- DllMain(G_GNUC_UNUSED HINSTANCE hinstDLL,
33
- G_GNUC_UNUSED DWORD fdwReason,
34
- G_GNUC_UNUSED LPVOID lpvReserved)
35
- {
36
- return TRUE;
37
- }
38
- #endif
39
-
40
25
  void
41
26
  Init_gio2 (void)
42
27
  {
data/ext/gio2/rb-gio2.h CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  #include <gio/gio.h>
22
22
 
23
- #include <rb-gobject-introspection.h>
23
+ #include <rbgobject.h>
24
24
 
25
25
  extern void Init_gio2 (void);
26
26
  G_GNUC_INTERNAL extern void rb_gio2_init_application (VALUE rb_mGio);
data/lib/gio2/loader.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2013-2021 Ruby-GNOME Project Team
1
+ # Copyright (C) 2013-2022 Ruby-GNOME Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -76,6 +76,7 @@ module Gio
76
76
  require "gio2/settings"
77
77
  require "gio2/settings-schema-source"
78
78
  require "gio2/simple-action"
79
+ require "gio2/volume"
79
80
 
80
81
  require "gio2/deprecated"
81
82
  end
@@ -210,6 +211,20 @@ module Gio
210
211
  end
211
212
  end
212
213
 
214
+ def rubyish_method_name(function_info, options={})
215
+ case function_info.name
216
+ when "get_mount"
217
+ case function_info.container&.name
218
+ when "Volume"
219
+ "get_mount"
220
+ else
221
+ super
222
+ end
223
+ else
224
+ super
225
+ end
226
+ end
227
+
213
228
  def rubyish_class_name(info)
214
229
  case info.name
215
230
  when /Enum\z/
@@ -0,0 +1,28 @@
1
+ # Copyright (C) 2022 Ruby-GNOME Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ module Gio
18
+ module Volume
19
+ alias_method :mount_raw, :mount
20
+ def mount(*args, &block)
21
+ if args.size.zero?
22
+ get_mount
23
+ else
24
+ mount_raw(*args, &block)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2015-2022 Ruby-GNOME2 Project Team
2
2
  #
3
3
  # This library is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU Lesser General Public
@@ -48,4 +48,19 @@ class TestActionMap < Test::Unit::TestCase
48
48
  assert_equal([action, "X"], args)
49
49
  end
50
50
  end
51
+
52
+ def test_gc
53
+ GC.start
54
+ n_alive_actions_before = ObjectSpace.each_object(Gio::SimpleAction) {}
55
+ n_tries = 100
56
+ n_tries.times do |i|
57
+ action_name = "test#{i}"
58
+ action = Gio::SimpleAction.new(action_name)
59
+ @map.add_action(action)
60
+ end
61
+ GC.start
62
+ n_alive_actions_after = ObjectSpace.each_object(Gio::SimpleAction) {}
63
+ n_alive_actions = n_alive_actions_after - n_alive_actions_before
64
+ assert_equal(n_tries, n_alive_actions)
65
+ end
51
66
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gio2
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.1
4
+ version: 4.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME Project Team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-17 00:00:00.000000000 Z
11
+ date: 2023-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fiddle
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.5.1
33
+ version: 4.1.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 3.5.1
40
+ version: 4.1.2
41
41
  description: Ruby/GIO2 provide Ruby binding to a VFS API and useful APIs for desktop
42
42
  applications (such as networking and D-Bus support).
43
43
  email: ruby-gnome2-devel-en@lists.sourceforge.net
@@ -79,6 +79,7 @@ files:
79
79
  - lib/gio2/settings-schema-source.rb
80
80
  - lib/gio2/settings.rb
81
81
  - lib/gio2/simple-action.rb
82
+ - lib/gio2/volume.rb
82
83
  - test/fixture/Rakefile
83
84
  - test/fixture/content-type/x-content/unix-software/autorun.sh
84
85
  - test/fixture/resource/Rakefile
@@ -124,7 +125,7 @@ licenses:
124
125
  - LGPL-2.1+
125
126
  metadata:
126
127
  msys2_mingw_dependencies: glib-networking
127
- post_install_message:
128
+ post_install_message:
128
129
  rdoc_options: []
129
130
  require_paths:
130
131
  - lib
@@ -139,8 +140,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
140
  - !ruby/object:Gem::Version
140
141
  version: '0'
141
142
  requirements: []
142
- rubygems_version: 3.4.0.dev
143
- signing_key:
143
+ rubygems_version: 3.5.0.dev
144
+ signing_key:
144
145
  specification_version: 4
145
146
  summary: Ruby/GIO2 is a Ruby binding of gio-2.x.
146
147
  test_files: []