glib2 3.3.2 → 3.3.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.
@@ -1,183 +1,16 @@
1
- # Copyright(C) 2010-2015 Ruby-GNOME2 Project.
1
+ # Copyright(C) 2010-2019 Ruby-GNOME2 Project.
2
2
  #
3
3
  # This program is licenced under the same license of Ruby-GNOME2.
4
4
 
5
- require 'open-uri'
6
- require 'rubygems'
7
- require 'mechanize'
8
-
9
5
  module GNOME2
10
6
  module Rake
11
7
  class WindowsBinaryDownloadTask
12
- include ::Rake::DSL
13
-
14
8
  URL_BASE = "http://ftp.gnome.org/pub/gnome/binaries"
15
9
  def initialize(package)
16
10
  @package = package
17
11
  end
18
12
 
19
13
  def define
20
- namespace :windows do
21
- namespace :downloader do
22
- task :before
23
-
24
- download_tasks = []
25
- namespace :download do
26
- directory dist_dir.to_s
27
- task :prepare => [dist_dir.to_s]
28
-
29
- packages.each do |package|
30
- desc "download #{package}"
31
- task package => [:prepare] do
32
- download_package(package)
33
- end
34
- download_tasks << package
35
- end
36
-
37
- dependencies.each do |dependency|
38
- name, version = dependency
39
- desc "download #{name}"
40
- task name => [:prepare] do
41
- download_dependency(dependency)
42
- end
43
- download_tasks << name
44
- end
45
- end
46
-
47
- download_tasks = download_tasks.collect do |task|
48
- "windows:downloader:download:#{task}"
49
- end
50
- desc "download Windows binaries into #{dist_dir}"
51
- task :download => download_tasks
52
-
53
- task :after
54
- end
55
- desc "download Windows binaries"
56
- task :download => ["windows:downloader:before",
57
- "windows:downloader:download",
58
- "windows:downloader:after"]
59
- end
60
- end
61
-
62
- private
63
- def dist_dir
64
- @package.windows.absolute_binary_dir
65
- end
66
-
67
- def packages
68
- @package.windows.packages
69
- end
70
-
71
- def dependencies
72
- @package.windows.dependencies
73
- end
74
-
75
- def build_architecture_suffix
76
- @package.windows.build_architecture_suffix
77
- end
78
-
79
- def download_package(package)
80
- suffix = build_architecture_suffix
81
- version_page_url = "#{URL_BASE}/#{suffix}/#{package}"
82
- version_page = agent.get(version_page_url)
83
- latest_version_link = version_page.links.sort_by do |link|
84
- if /\A(\d+\.\d+)\/\z/ =~ link.href
85
- $1.split(/\./).collect {|component| component.to_i}
86
- else
87
- [-1]
88
- end
89
- end.last
90
-
91
- escaped_package = Regexp.escape(package)
92
- latest_version_page = latest_version_link.click
93
- latest_version = latest_version_page.links.collect do |link|
94
- case link.href
95
- when /#{escaped_package}_([\d\.\-]+)_#{suffix}\.zip\z/,
96
- /#{escaped_package}-([\d\.\-]+)-#{suffix}\.zip\z/, # old
97
- /#{escaped_package}-([\d\.\-]+)\.zip\z/ # old
98
- version = $1
99
- normalized_version = version.split(/[\.\-]/).collect do |component|
100
- component.to_i
101
- end
102
- [normalized_version, version]
103
- else
104
- [[-1], nil]
105
- end
106
- end.sort_by do |normalized_version, version|
107
- normalized_version
108
- end.last[1]
109
-
110
- if latest_version.nil?
111
- raise "can't find package: <#{package}>:<#{version_page_url}>"
112
- end
113
- escaped_latest_version = Regexp.escape(latest_version)
114
- latest_version_page.links.each do |link|
115
- case link.href
116
- when /#{escaped_package}(?:-dev)?_#{escaped_latest_version}_#{suffix}\.zip\z/,
117
- /#{escaped_package}(?:-dev)?-#{escaped_latest_version}-#{suffix}\.zip\z/, # old
118
- /#{escaped_package}(?:-dev)?-#{escaped_latest_version}\.zip\z/ # old
119
- click_zip_link(link)
120
- end
121
- end
122
- end
123
-
124
- def download_dependency(dependency)
125
- suffix = build_architecture_suffix
126
- dependency_version = "any"
127
- dependency_version_re = /[\d\.\-]+/
128
- if dependency.is_a?(Array)
129
- dependency, dependency_version = dependency
130
- dependency_version_re = /#{Regexp.escape(dependency_version)}/
131
- end
132
- escaped_dependency = Regexp.escape(dependency)
133
- dependencies_url = "#{URL_BASE}/dependencies"
134
- dependencies_page = agent.get(dependencies_url)
135
- latest_version = dependencies_page.links.collect do |link|
136
- case link.href
137
- when /\A#{escaped_dependency}_(#{dependency_version_re})_#{suffix}\.zip\z/
138
- version = $1
139
- [version.split(/[\.\-]/).collect {|component| component.to_i}, version]
140
- else
141
- [[-1], nil]
142
- end
143
- end.sort_by do |normalized_version, version|
144
- normalized_version
145
- end.last[1]
146
-
147
- if latest_version.nil?
148
- message = "can't find dependency package: " +
149
- "<#{dependency}>(#{dependency_version}):<#{dependencies_url}>"
150
- raise message
151
- end
152
- escaped_latest_version = Regexp.escape(latest_version)
153
- dependencies_page.links.each do |link|
154
- case link.href
155
- when /\A#{escaped_dependency}(?:-dev)?_#{escaped_latest_version}_#{suffix}\.zip\z/
156
- click_zip_link(link)
157
- end
158
- end
159
- end
160
-
161
- private
162
- def agent
163
- @agent ||= Mechanize.new
164
- end
165
-
166
- def click_zip_link(link)
167
- zip = link.click
168
- Dir.chdir(dist_dir) do
169
- open(zip.filename, "wb") do |file|
170
- file.print(zip.body)
171
- end
172
- system("unzip", "-o", zip.filename)
173
- Dir.glob("lib/pkgconfig/*.pc") do |pc_path|
174
- pc = File.read(pc_path)
175
- pc = pc.gsub(/\Aprefix=.+$/) {"prefix=#{dist_dir}"}
176
- File.open(pc_path, "w") do |pc_file|
177
- pc_file.print(pc)
178
- end
179
- end
180
- end
181
14
  end
182
15
  end
183
16
  end
data/lib/mkmf-gnome2.rb CHANGED
@@ -134,18 +134,23 @@ def find_gem_spec(package)
134
134
  end
135
135
  end
136
136
 
137
- def setup_homebrew_libffi
138
- platform = NativePackageInstaller::Platform.detect
139
- return unless platform.is_a?(NativePackageInstaller::Platform::Homebrew)
140
-
141
- libffi_prefix = `brew --prefix libffi`.chomp
142
- PKGConfig.add_path("#{libffi_prefix}/lib/pkgconfig")
137
+ def setup_homebrew
138
+ checking_for(checking_message("Homebrew")) do
139
+ platform = NativePackageInstaller::Platform.detect
140
+ if platform.is_a?(NativePackageInstaller::Platform::Homebrew)
141
+ libffi_prefix = `brew --prefix libffi`.chomp
142
+ PKGConfig.add_path("#{libffi_prefix}/lib/pkgconfig")
143
+ true
144
+ else
145
+ false
146
+ end
147
+ end
143
148
  end
144
149
 
150
+ setup_homebrew
151
+
145
152
  #add_depend_package("glib2", "ext/glib2", "/...../ruby-gnome2")
146
153
  def add_depend_package(target_name, target_srcdir, top_srcdir, options={})
147
- setup_homebrew_libffi if target_name == "gobject-introspection"
148
-
149
154
  gem_spec = find_gem_spec(target_name)
150
155
  if gem_spec
151
156
  target_source_dir = File.join(gem_spec.full_gem_path, "ext/#{target_name}")
@@ -456,9 +461,6 @@ def required_pkg_config_package(package_info, native_package_info=nil)
456
461
  else
457
462
  required_package_info = [package_info]
458
463
  end
459
- if required_package_info[0] == "gobject-introspection-1.0"
460
- setup_homebrew_libffi
461
- end
462
464
  return true if PKGConfig.have_package(*required_package_info)
463
465
 
464
466
  native_package_info ||= {}
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2015-2019 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
@@ -13,10 +13,14 @@
13
13
  # You should have received a copy of the GNU Lesser General Public
14
14
  # License along with this library; if not, write to the Free Software
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
-
16
+
17
17
  class TestGLibFileUtils < Test::Unit::TestCase
18
18
  include GLibTestUtils
19
19
 
20
+ def normalize_space(string)
21
+ string.gsub("\u{00A0}", " ")
22
+ end
23
+
20
24
  sub_test_case "#format_size_for_display" do
21
25
  def setup
22
26
  only_glib_version(2, 16, 0)
@@ -50,26 +54,30 @@ class TestGLibFileUtils < Test::Unit::TestCase
50
54
  end
51
55
 
52
56
  def test_kb
53
- assert_equal("1.0 kB", GLib.format_size(1000))
57
+ assert_equal("1.0 kB",
58
+ normalize_space(GLib.format_size(1000)))
54
59
  end
55
60
 
56
61
  def test_mb
57
- assert_equal("1.0 MB", GLib.format_size(1000 * 1000))
62
+ assert_equal("1.0 MB",
63
+ normalize_space(GLib.format_size(1000 * 1000)))
58
64
  end
59
65
 
60
66
  def test_gb
61
- assert_equal("1.0 GB", GLib.format_size(1000 * 1000 * 1000))
67
+ assert_equal("1.0 GB",
68
+ normalize_space(GLib.format_size(1000 * 1000 * 1000)))
62
69
  end
63
70
 
64
71
  def test_over_guint32_value
65
72
  guint32_max = 2 ** 32 - 1
66
- assert_equal("4.3 GB", GLib.format_size(guint32_max + 1))
73
+ assert_equal("4.3 GB",
74
+ normalize_space(GLib.format_size(guint32_max + 1)))
67
75
  end
68
76
 
69
77
  sub_test_case "flags" do
70
78
  sub_test_case ":iec_units" do
71
79
  def format_size(size)
72
- GLib.format_size(size, :flags => :iec_units)
80
+ normalize_space(GLib.format_size(size, :flags => :iec_units))
73
81
  end
74
82
 
75
83
  def test_kib
data/test/test-spawn.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2015 Ruby-GNOME2 Project Team
1
+ # Copyright (C) 2015-2019 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
@@ -14,7 +14,7 @@
14
14
  # License along with this library; if not, write to the Free Software
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
- require 'rbconfig'
17
+ require "rbconfig"
18
18
 
19
19
  class TestGLibSpawn < Test::Unit::TestCase
20
20
  include GLibTestUtils
@@ -41,8 +41,19 @@ class TestGLibSpawn < Test::Unit::TestCase
41
41
  RbConfig::CONFIG['RUBY_INSTALL_NAME'] +
42
42
  RbConfig::CONFIG['EXEEXT'])
43
43
  end
44
- pid = GLib::Spawn.async(Dir.pwd, [ruby, '-e', 'exit 1 unless ENV.empty?'], [], GLib::Spawn::DO_NOT_REAP_CHILD)
44
+ test_env_name = "RUBY_GLIB2_TEST"
45
+ ENV[test_env_name] = "yes"
46
+ pid = GLib::Spawn.async(Dir.pwd,
47
+ [
48
+ ruby,
49
+ "-e",
50
+ "exit(!ENV.key?(#{test_env_name.dump}))",
51
+ ],
52
+ [],
53
+ GLib::Spawn::DO_NOT_REAP_CHILD)
45
54
  _, status = *Process.waitpid2(pid)
46
- assert status.success?
55
+ assert do
56
+ status.success?
57
+ end
47
58
  end
48
59
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glib2
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.2
4
+ version: 3.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-02 00:00:00.000000000 Z
11
+ date: 2019-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pkg-config
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.2
19
+ version: 1.3.5
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.2.2
26
+ version: 1.3.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: native-package-installer
29
29
  requirement: !ruby/object:Gem::Requirement