nokogiri 1.6.2.rc1 → 1.6.2.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5fd42fcf3e2ef0fe7d5b3762215247425d238ba8
4
- data.tar.gz: 707702c005bcfb5a155e76845e45d706f8901463
3
+ metadata.gz: 1cbcd0cdc0cf072f0fe7cb01f43c211d9177c584
4
+ data.tar.gz: 63c513115d4f955dec1559851a3c70a6e2ea9816
5
5
  SHA512:
6
- metadata.gz: 7fce29a5b4913dd4ac07d0f8a4b27adc4af130cc39decaa589df8223b313e64fd7677d0f8f96da61a4d6f1e1e390af91f93020ec1110d85dc594ada9e6c28c7b
7
- data.tar.gz: 63c9d61766a9c5311d6eedad122e757e3e31d73df33ed30e6b7c0848237b7e825f2326e8b9811beb3e0511b8b07328d0f7e5e6231a5aa3794fa76db152340d71
6
+ metadata.gz: 4b3470c4f0c8347ce097f94f118c1bf5cb3843aa8ed4c400c3ecd0b60bfd282f505313c971738e52b69eae34895c5f892dccfb16354af375c3faaa8357bcd515
7
+ data.tar.gz: b623e9d8af48ed0e1829dd0179b3aaf9a82f865b7bad753c0aac03619e300a48d4098f904d2657e04b90ee039b756f048fd5deca6967f0cc80dcb3220128c98b
@@ -1,7 +1,13 @@
1
1
  === 1.6.2 / 未リリース
2
2
 
3
+ * 註
4
+
5
+ * Now requires libxml >= 2.6.21 (was previously >= 2.6.17).
6
+
3
7
  * 機能
4
8
 
9
+ * Add cross building of fat binary gems for 64-Bit Windows (x64-mingw32)
10
+ and add support for native builds on Windows. #864, #989, #1072
5
11
  * (MRI) iconvが Windows-31J をサポートしていない場合は CP932 のエイリアスとして扱うようにした #836
6
12
  * (MRI) 同梱ライブラリを静的にリンクするようになった (静的リンクをオフにするにはextconf.rbに --disable-static を渡す) #923
7
13
  * (MRI) 同梱ライブラリのビルド後に不要になったディレクトリ群を自動的に削除するようになった (デバッグ等の目的で残すようにするにはextconf.rbに --disable-clean を渡す) #952
@@ -1,7 +1,13 @@
1
1
  === 1.6.2 / unreleased
2
2
 
3
+ * Notes
4
+
5
+ * Now requires libxml >= 2.6.21 (was previously >= 2.6.17).
6
+
3
7
  * Features
4
8
 
9
+ * Add cross building of fat binary gems for 64-Bit Windows (x64-mingw32)
10
+ and add support for native builds on Windows. #864, #989, #1072
5
11
  * (MRI) Alias CP932 to Windows-31J if iconv does not support Windows-31J.
6
12
  * (MRI) Nokogiri now links packaged libraries statically. To
7
13
  disable static linking, pass --disable-static to extconf.rb. #923
@@ -77,7 +77,7 @@ The IRC channel is #nokogiri on freenode.
77
77
  * in Nokogiri 1.6.0 and later libxml2 and libxslt are bundled with the
78
78
  gem, but if you want to use them installed on the system:
79
79
 
80
- * libxml2 >=2.6.17 and <2.9.0, with iconv support
80
+ * libxml2 >=2.6.21 and <2.9.0, with iconv support
81
81
  (libxml2-dev/-devel is required too)
82
82
 
83
83
  * libxslt, built with and supported by the given libxml2
@@ -1,27 +1,38 @@
1
+ # :stopdoc:
1
2
  ENV['RC_ARCHS'] = '' if RUBY_PLATFORM =~ /darwin/
2
3
 
3
- # Available options:
4
- #
5
- # --enable-clean (default)
6
- # --disable-clean
7
- #
8
- # --enable-static (default)
9
- # --disable-static
10
- #
11
- # --with-iconv-dir=DIR
12
- #
13
- # --with-zlib-dir=DIR
14
- #
15
- # --use-system-libraries
16
- # --with-xml2-dir=DIR / --with-xml2-config=CONFIG
17
- # --with-xslt-dir=DIR / --with-xslt-config=CONFIG
18
- # --with-exslt-dir=DIR / --with-exslt-config=CONFIG
19
- #
20
- # --enable-cross-build
4
+ require 'mkmf'
21
5
 
22
- # :stopdoc:
6
+ if arg_config('--help')
7
+ print <<HELP
8
+ usage: ruby #{$0} [options]
23
9
 
24
- require 'mkmf'
10
+ --disable-clean
11
+ Do not clean out intermediate files after successful build.
12
+
13
+ --disable-static
14
+ Do not statically link bundled libraries.
15
+
16
+ --with-iconv-dir=DIR
17
+ Use the iconv library placed under DIR.
18
+
19
+ --with-zlib-dir=DIR
20
+ Use the zlib library placed under DIR.
21
+
22
+ --use-system-libraries
23
+ Use system libraries intead of building and using the bundled
24
+ libraries.
25
+
26
+ --with-xml2-dir=DIR / --with-xml2-config=CONFIG
27
+ --with-xslt-dir=DIR / --with-xslt-config=CONFIG
28
+ --with-exslt-dir=DIR / --with-exslt-config=CONFIG
29
+ Use libxml2/libxslt/libexslt as specified.
30
+
31
+ --enable-cross-build
32
+ Do cross-build.
33
+ HELP
34
+ exit! 0
35
+ end
25
36
 
26
37
  def message!(important_message)
27
38
  message important_message
@@ -30,6 +41,7 @@ def message!(important_message)
30
41
  tty.print important_message
31
42
  }
32
43
  end
44
+ rescue Errno::ENXIO
33
45
  end
34
46
 
35
47
  RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
@@ -37,7 +49,7 @@ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
37
49
  ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
38
50
  # Workaround for Ruby bug #8074, introduced in Ruby 2.0.0, fixed in Ruby 2.1.0
39
51
  # https://bugs.ruby-lang.org/issues/8074
40
- @libdir_basename = "lib"
52
+ @libdir_basename = "lib" if RUBY_VERSION < '2.1.0'
41
53
 
42
54
  if arg_config('--clean')
43
55
  require 'pathname'
@@ -131,12 +143,15 @@ end
131
143
  def iconv_prefix
132
144
  # Make sure libxml2 is built with iconv
133
145
  each_iconv_idir { |idir|
134
- prefix = %r{\A(.+)?/include\z} === idir && $1 or next
135
- File.exist?(File.join(idir, 'iconv.h')) or next
146
+ next unless File.file?(File.join(idir, 'iconv.h'))
147
+
148
+ prefix, dir = File.split(idir)
149
+ next unless dir == 'include'
150
+
136
151
  preserving_globals {
137
152
  # Follow the way libxml2's configure uses a value given with
138
153
  # --with-iconv[=DIR]
139
- $CPPFLAGS = "-I#{idir} " << $CPPFLAGS
154
+ $CPPFLAGS = "-I#{idir}".quote << ' ' << $CPPFLAGS
140
155
  $LIBPATH.unshift(File.join(prefix, "lib"))
141
156
  have_iconv?
142
157
  } and break prefix
@@ -222,11 +237,11 @@ XPath optimization bugs.
222
237
  end
223
238
  end
224
239
 
225
- windows_p = RbConfig::CONFIG['target_os'] == 'mingw32' || RbConfig::CONFIG['target_os'] =~ /mswin/
226
-
227
- if windows_p
240
+ case RbConfig::CONFIG['target_os']
241
+ when 'mingw32', /mswin/
242
+ windows_p = true
228
243
  $CFLAGS << " -DXP_WIN -DXP_WIN32 -DUSE_INCLUDED_VASPRINTF"
229
- elsif RbConfig::CONFIG['target_os'] =~ /solaris/
244
+ when /solaris/
230
245
  $CFLAGS << " -DUSE_INCLUDED_VASPRINTF"
231
246
  else
232
247
  $CFLAGS << " -g -DXP_UNIX"
@@ -252,9 +267,25 @@ when arg_config('--use-system-libraries', !!ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES']
252
267
  # Using system libraries means we rely on the system libxml2 with
253
268
  # regard to the iconv support.
254
269
 
255
- dir_config('xml2').any? || pkg_config('libxml-2.0')
256
- dir_config('xslt').any? || pkg_config('libxslt')
257
- dir_config('exslt').any? || pkg_config('libexslt')
270
+ dir_config('xml2').any? or pkg_config('libxml-2.0')
271
+ dir_config('xslt').any? or pkg_config('libxslt')
272
+ dir_config('exslt').any? or pkg_config('libexslt')
273
+
274
+ try_cpp(<<-SRC) or abort "libxml2 version 2.6.21 or later is required!"
275
+ #include <libxml/xmlversion.h>
276
+
277
+ #if LIBXML_VERSION < 20621
278
+ #error libxml2 is too old
279
+ #endif
280
+ SRC
281
+
282
+ try_cpp(<<-SRC) or warn "libxml2 version 2.9.0 and later is not yet supported, but proceeding anyway."
283
+ #include <libxml/xmlversion.h>
284
+
285
+ #if LIBXML_VERSION >= 20900
286
+ #error libxml2 is too new
287
+ #endif
288
+ SRC
258
289
  else
259
290
  message! "Building nokogiri using packaged libraries.\n"
260
291
 
@@ -414,16 +445,14 @@ end
414
445
  "xslt" => ['xsltParseStylesheetDoc', 'libxslt/xslt.h'],
415
446
  "exslt" => ['exsltFuncRegister', 'libexslt/exslt.h'],
416
447
  }.each { |lib, (func, header)|
417
- have_func(func, header) || have_library(lib, func, header) || have_library("lib#{lib}", func, header) or asplode("lib#{lib}")
448
+ have_func(func, header) ||
449
+ have_library(lib, func, header) ||
450
+ have_library("lib#{lib}", func, header) or
451
+ asplode("lib#{lib}")
418
452
  }
419
453
 
420
- unless have_func('xmlHasFeature')
421
- abort "-----\nThe function 'xmlHasFeature' is missing from your installation of libxml2. Likely this means that your installed version of libxml2 is old enough that nokogiri will not work well. To get around this problem, please upgrade your installation of libxml2.
422
-
423
- Please visit http://nokogiri.org/tutorials/installing_nokogiri.html for more help!"
424
- end
425
-
426
- have_func 'xmlFirstElementChild'
454
+ have_func('xmlHasFeature') or abort "xmlHasFeature() is missing."
455
+ have_func('xmlFirstElementChild')
427
456
  have_func('xmlRelaxNGSetParserStructuredErrors')
428
457
  have_func('xmlRelaxNGSetParserStructuredErrors')
429
458
  have_func('xmlRelaxNGSetValidStructuredErrors')
@@ -1,6 +1,6 @@
1
1
  module Nokogiri
2
2
  # The version of Nokogiri you are using
3
- VERSION = '1.6.2.rc1'
3
+ VERSION = '1.6.2.rc2'
4
4
 
5
5
  class VersionInfo # :nodoc:
6
6
  def jruby?
@@ -168,7 +168,13 @@ module Nokogiri
168
168
  end
169
169
  stop = Time.now
170
170
  elapsed_time = stop - start
171
- assert elapsed_time < 10, "XPath is taking too long"
171
+ time_limit =
172
+ if ENV['TRAVIS'] && ENV['CI']
173
+ 20 # Travis CI box slowness
174
+ else
175
+ 10
176
+ end
177
+ assert_send [elapsed_time, :<, time_limit], "XPath is taking too long"
172
178
  end
173
179
 
174
180
  def test_custom_xpath_function_returns_string
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.2.rc1
4
+ version: 1.6.2.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Patterson
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2014-04-06 00:00:00.000000000 Z
15
+ date: 2014-04-10 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: mini_portile