gio2 3.3.7 → 3.4.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: 627f7ff7ad178e595c190636229afdc0a52f85692992196173f2eab8c059f0b2
4
- data.tar.gz: d40bf44ac0c79e5b501cadf70a5975c332a0760225a21757d68c711eb8d88f1c
3
+ metadata.gz: 75fe99fb019058b4123b68e7e842775045cfef99abe481183159eec5358f647c
4
+ data.tar.gz: 44df8cb622524ab801addebcb4326274358db3b7fb08f5aa8c71683591764598
5
5
  SHA512:
6
- metadata.gz: 1700e512a0f34c301e9282bc22db9353405191158b9928b1c3877643348ac486eeb7403cf793221e52566eb614fabc8bae45998b1402277d4d0d3bbc791c9544
7
- data.tar.gz: 07254f585c4e8def7eb027505ac6a7ead2278e1107ce09213b43e985fc6edcd66444c3e4bee733f83dd0f9a9d0a479e9e960dc35e82ce4a173b9ea045f548624
6
+ metadata.gz: 60a1d62c7aa9a6ccc11538fd10c276df8560abb8857ed18c31ac4587b6999a9915f2ea19a16f25aec7ee90fc53d641f34b1a33195f2577b8200a49bb03aee54c
7
+ data.tar.gz: 31aeab7572e86ae2dd0345106c4717000c6bf29a3968437cb1ae4c4875c8374aca05874ae360fb89c40a9d97d31de8e0617d242e923031a0bc3cb3bad95a9ef3
data/ext/gio2/extconf.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (C) 2014 Ruby-GNOME2 Project Team
3
+ # Copyright (C) 2014-2019 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
@@ -36,7 +36,7 @@ $LOAD_PATH.unshift(mkmf_gnome2_dir.to_s)
36
36
  module_name = "gio2"
37
37
  package_id = "gio-2.0"
38
38
 
39
- require "mkmf-gnome2"
39
+ require "mkmf-gnome"
40
40
 
41
41
  ["glib2", "gobject-introspection"].each do |package|
42
42
  directory = "#{package}#{version_suffix}"
@@ -52,7 +52,7 @@ end
52
52
  unless required_pkg_config_package(package_id,
53
53
  :alt_linux => "libgio-devel",
54
54
  :debian => "libglib2.0-dev",
55
- :redhat => "glib2-devel",
55
+ :redhat => "pkgconfig(#{package_id})",
56
56
  :arch_linux => "glib2",
57
57
  :homebrew => "glib",
58
58
  :macports => "glib2")
data/gio2.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- ruby -*-
2
2
  #
3
- # Copyright (C) 2018 Ruby-GNOME2 Project Team
3
+ # Copyright (C) 2018 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
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.description =
25
25
  "Ruby/GIO2 provide Ruby binding to a VFS API and useful APIs " +
26
26
  "for desktop applications (such as networking and D-Bus support)."
27
- s.author = "The Ruby-GNOME2 Project Team"
27
+ s.author = "The Ruby-GNOME Project Team"
28
28
  s.email = "ruby-gnome2-devel-en@lists.sourceforge.net"
29
29
  s.homepage = "https://ruby-gnome2.osdn.jp/"
30
30
  s.licenses = ["LGPL-2.1+"]
data/lib/gio2/icon.rb ADDED
@@ -0,0 +1,24 @@
1
+ # Copyright (C) 2019 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 Icon
19
+ def eql?(other)
20
+ other.is_a?(self.class) and
21
+ hash == other.hash
22
+ end
23
+ end
24
+ end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014-2019 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2014-2019 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
@@ -36,7 +36,7 @@ module Gio
36
36
  buffer_size = 8192
37
37
  buffer = " ".force_encoding("ASCII-8BIT") * buffer_size
38
38
  loop do
39
- _, read_bytes = read_all_raw_compatible(buffer)
39
+ read_bytes = read_all_raw_compatible(buffer)
40
40
  all << buffer.byteslice(0, read_bytes)
41
41
  break if read_bytes != buffer_size
42
42
  end
@@ -52,25 +52,33 @@ module Gio
52
52
  alias_method :read_all_raw, :read_all
53
53
  def read_all(size)
54
54
  buffer = " " * size
55
- _, read_bytes = read_all_raw_compatible(buffer)
55
+ read_bytes = read_all_raw_compatible(buffer)
56
56
  buffer.replace(buffer.byteslice(0, read_bytes))
57
57
  buffer
58
58
  end
59
59
 
60
60
  private
61
61
  def read_raw_compatible(buffer)
62
- if (GLib::VERSION <=> [2, 36, 0]) >= 0
62
+ if (GLib::VERSION <=> [2, 62, 0]) >= 0
63
+ read_bytes, _buffer = read_raw(buffer)
64
+ read_bytes
65
+ elsif (GLib::VERSION <=> [2, 36, 0]) >= 0
63
66
  read_raw(buffer)
64
67
  else
65
- read_raw(buffer, buffer.bytesize)
68
+ read_bytes = read_raw(buffer, buffer.bytesize)
66
69
  end
67
70
  end
68
71
 
69
72
  def read_all_raw_compatible(buffer)
70
- if (GLib::VERSION <=> [2, 36, 0]) >= 0
71
- read_all_raw(buffer)
73
+ if (GLib::VERSION <=> [2, 62, 0]) >= 0
74
+ _success, _buffer, read_bytes = read_all_raw(buffer)
75
+ read_bytes
76
+ elsif (GLib::VERSION <=> [2, 36, 0]) >= 0
77
+ _success, read_bytes = read_all_raw(buffer)
78
+ read_bytes
72
79
  else
73
- read_all_raw(buffer, buffer.bytesize)
80
+ _success, read_bytes = read_all_raw(buffer, buffer.bytesize)
81
+ read_bytes
74
82
  end
75
83
  end
76
84
  end
data/lib/gio2/loader.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2013-2016 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2013-2019 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
@@ -51,6 +51,7 @@ module Gio
51
51
  require "gio2/application-command-line"
52
52
  require "gio2/content-type"
53
53
  require "gio2/file"
54
+ require "gio2/icon"
54
55
  require "gio2/inet-address"
55
56
  require "gio2/input-stream"
56
57
  require "gio2/menu-item"
@@ -113,7 +114,7 @@ module Gio
113
114
  when /\Adbus_/
114
115
  name = rubyish_method_name(info, :prefix => "dbus_")
115
116
  define_singleton_method(@dbus_module, name, info)
116
- when /\Afile_/
117
+ when /\A{file,icon}_/
117
118
  # Ignore because they are defined by load_interface_info
118
119
  else
119
120
  super
@@ -171,6 +172,17 @@ module Gio
171
172
  end
172
173
  end
173
174
 
175
+ def load_function_info_singleton_method(info, klass, method_name)
176
+ case "#{klass.name}##{method_name}"
177
+ when "Gio::Icon#hash"
178
+ define_method(info, klass, method_name)
179
+ when "Gio::Icon#new_for_string"
180
+ super(info, klass, "find")
181
+ else
182
+ super
183
+ end
184
+ end
185
+
174
186
  def rubyish_class_name(info)
175
187
  case info.name
176
188
  when /Enum\z/
@@ -17,8 +17,7 @@
17
17
  module GioTestUtils
18
18
  module Fixture
19
19
  def fixture_path(*components)
20
- base_dir = File.join(File.dirname(__FILE__), "..", "fixture")
21
- File.expand_path(File.join(base_dir, *components))
20
+ File.expand_path(File.join("test", "fixture", *components))
22
21
  end
23
22
  end
24
23
  end
data/test/run-test.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  #
3
- # Copyright (C) 2013-2016 Ruby-GNOME2 Project Team
3
+ # Copyright (C) 2013-2020 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
@@ -16,12 +16,16 @@
16
16
  # License along with this library; if not, write to the Free Software
17
17
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
18
 
19
- ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..")
20
- ruby_gnome2_base = File.expand_path(ruby_gnome2_base)
19
+ require "fileutils"
21
20
 
22
- glib_base = File.join(ruby_gnome2_base, "glib2")
23
- gobject_introspection_base = File.join(ruby_gnome2_base, "gobject-introspection")
24
- gio2_base = File.join(ruby_gnome2_base, "gio2")
21
+ build_dir = File.expand_path(".")
22
+
23
+ ruby_gnome_base = File.join(__dir__, "..", "..")
24
+ ruby_gnome_base = File.expand_path(ruby_gnome_base)
25
+
26
+ glib_base = File.join(ruby_gnome_base, "glib2")
27
+ gobject_introspection_base = File.join(ruby_gnome_base, "gobject-introspection")
28
+ gio2_base = File.join(ruby_gnome_base, "gio2")
25
29
 
26
30
  modules = [
27
31
  [glib_base, "glib2"],
@@ -38,11 +42,17 @@ modules.each do |target, module_name|
38
42
  $LOAD_PATH.unshift(File.join(target, "lib"))
39
43
  end
40
44
 
41
- fixture_dir = File.join(gio2_base, "test", "fixture")
42
- Dir.chdir(fixture_dir) do
45
+ source_fixture_dir = File.join(gio2_base, "test", "fixture")
46
+ build_fixture_dir = File.join(build_dir, "test", "fixture")
47
+ unless source_fixture_dir == build_fixture_dir
48
+ FileUtils.rm_rf(build_fixture_dir)
49
+ FileUtils.mkdir_p(File.dirname(build_fixture_dir))
50
+ FileUtils.cp_r(source_fixture_dir, build_fixture_dir)
51
+ end
52
+ Dir.chdir(build_fixture_dir) do
43
53
  system("rake") or exit(false)
44
54
  end
45
- ENV["GSETTINGS_SCHEMA_DIR"] = File.join(fixture_dir, "schema", "default")
55
+ ENV["GSETTINGS_SCHEMA_DIR"] = File.join(build_fixture_dir, "schema", "default")
46
56
 
47
57
  $LOAD_PATH.unshift(File.join(glib_base, "test"))
48
58
  require "glib-test-init"
data/test/test-icon.rb ADDED
@@ -0,0 +1,49 @@
1
+ # Copyright (C) 2019 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
+ class TestIcon < Test::Unit::TestCase
18
+ include GioTestUtils::Fixture
19
+ include GioTestUtils::Omissions
20
+
21
+ sub_test_case(".find") do
22
+ def test_found
23
+ assert_equal(Gio::ThemedIcon.new("open"),
24
+ Gio::Icon.find("open"))
25
+ end
26
+
27
+ def test_not_found
28
+ Gio::Icon.find("nonexistent")
29
+ end
30
+ end
31
+
32
+ sub_test_case(".hash") do
33
+ def test_use_as_key
34
+ hash = {Gio::Icon => true}
35
+ assert do
36
+ hash[Gio::Icon]
37
+ end
38
+ end
39
+ end
40
+
41
+ sub_test_case("#hash") do
42
+ def test_use_as_key
43
+ hash = {Gio::Icon.find("open") => true}
44
+ assert do
45
+ hash[Gio::Icon.find("open")]
46
+ end
47
+ end
48
+ end
49
+ end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014-2019 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2014-2019 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
@@ -56,9 +56,9 @@ class TestInputStream < Test::Unit::TestCase
56
56
  input = nil
57
57
  read_data = Gio::BufferedInputStream.open(@stream) do |i|
58
58
  input = i
59
- _data = input.read(4)
59
+ data = input.read(4)
60
60
  input.close
61
- _data
61
+ data
62
62
  end
63
63
  assert_equal([@data[0, 4], true],
64
64
  [read_data, input.closed?])
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gio2
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.7
4
+ version: 3.4.2
5
5
  platform: ruby
6
6
  authors:
7
- - The Ruby-GNOME2 Project Team
7
+ - The Ruby-GNOME Project Team
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2019-08-16 00:00:00.000000000 Z
11
+ date: 2020-05-02 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: gobject-introspection
@@ -15,14 +16,14 @@ dependencies:
15
16
  requirements:
16
17
  - - '='
17
18
  - !ruby/object:Gem::Version
18
- version: 3.3.7
19
+ version: 3.4.2
19
20
  type: :runtime
20
21
  prerelease: false
21
22
  version_requirements: !ruby/object:Gem::Requirement
22
23
  requirements:
23
24
  - - '='
24
25
  - !ruby/object:Gem::Version
25
- version: 3.3.7
26
+ version: 3.4.2
26
27
  description: Ruby/GIO2 provide Ruby binding to a VFS API and useful APIs for desktop
27
28
  applications (such as networking and D-Bus support).
28
29
  email: ruby-gnome2-devel-en@lists.sourceforge.net
@@ -49,6 +50,7 @@ files:
49
50
  - lib/gio2/content-type.rb
50
51
  - lib/gio2/deprecated.rb
51
52
  - lib/gio2/file.rb
53
+ - lib/gio2/icon.rb
52
54
  - lib/gio2/inet-address.rb
53
55
  - lib/gio2/input-stream.rb
54
56
  - lib/gio2/loader.rb
@@ -81,6 +83,7 @@ files:
81
83
  - test/test-file-enumerator.rb
82
84
  - test/test-file-monitor.rb
83
85
  - test/test-file.rb
86
+ - test/test-icon.rb
84
87
  - test/test-inet-address.rb
85
88
  - test/test-input-stream.rb
86
89
  - test/test-memory-input-stream.rb
@@ -115,7 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
118
  - !ruby/object:Gem::Version
116
119
  version: '0'
117
120
  requirements: []
118
- rubygems_version: 3.1.0.pre1
121
+ rubygems_version: 3.2.0.pre1
119
122
  signing_key:
120
123
  specification_version: 4
121
124
  summary: Ruby/GIO2 is a Ruby binding of gio-2.x.