ruby-vips 0.3.1 → 0.3.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.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # master
2
2
 
3
+ # Version 0.3.2
4
+
5
+ ### Fixed
6
+
7
+ * Workaround helps ruby-vips compile (and run) against 7.26.3 [John Cupitt and
8
+ James Harrison]
9
+
3
10
  # Version 0.3.1
4
11
 
5
12
  ### Fixed
data/ext/ruby_vips.c CHANGED
@@ -1,5 +1,46 @@
1
1
  #include "ruby_vips.h"
2
2
 
3
+ /* vips-7.26.3 and earlier 7.26 (used on Ubuntu 12.04) had a broken
4
+ * vips_class_map_all(). ruby_vips.h turns on NEED_ruby_vips_class_map_all if
5
+ * we need to define our own, working version.
6
+ */
7
+ #ifdef NEED_ruby_vips_class_map_all
8
+ static void *
9
+ ruby_vips_type_map( GType base, VipsTypeMap2 fn, void *a, void *b )
10
+ {
11
+ GType *child;
12
+ guint n_children;
13
+ unsigned int i;
14
+ void *result;
15
+
16
+ child = g_type_children( base, &n_children );
17
+ result = NULL;
18
+ for( i = 0; i < n_children && !result; i++ )
19
+ result = fn( child[i], a, b );
20
+ g_free( child );
21
+
22
+ return( result );
23
+ }
24
+
25
+ void *
26
+ ruby_vips_class_map_all( GType type, VipsClassMap fn, void *a )
27
+ {
28
+ void *result;
29
+
30
+ if( !G_TYPE_IS_ABSTRACT( type ) ) {
31
+ if( (result = fn(
32
+ VIPS_OBJECT_CLASS( g_type_class_ref( type ) ), a )) )
33
+ return( result );
34
+ }
35
+
36
+ if( (result = vips_type_map( type,
37
+ (VipsTypeMap2) vips_class_map_all, fn, a )) )
38
+ return( result );
39
+
40
+ return( NULL );
41
+ }
42
+ #endif /*NEED_ruby_vips_class_map_all*/
43
+
3
44
  VALUE mVIPS, eVIPSError;
4
45
 
5
46
  void
data/ext/ruby_vips.h CHANGED
@@ -36,6 +36,15 @@ void vips_lib_error();
36
36
  #define im_openout( F ) vips_image_new_mode( F, "w" )
37
37
  #endif /*im_openout*/
38
38
 
39
+ /* vips-7.26.3 and earlier 7.26 (used on Ubuntu 12.04) was missing a compat
40
+ * macro for vips_class_map_concrete_all(). Additionally, the
41
+ * vips_class_map_all() in libvips was broken .. turn on our own definition.
42
+ */
43
+ #ifndef vips_class_map_concrete_all
44
+ #define vips_class_map_concrete_all ruby_vips_class_map_all
45
+ #define NEED_ruby_vips_class_map_all
46
+ #endif
47
+
39
48
  #include "header.h"
40
49
  #include "image_arithmetic.h"
41
50
  #include "image_boolean.h"
data/lib/vips/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module VIPS
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
data/ruby-vips.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ruby-vips"
8
- s.version = "0.3.1"
8
+ s.version = "0.3.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Timothy Elliott", "John Cupitt"]
12
- s.date = "2012-08-30"
12
+ s.date = "2012-08-31"
13
13
  s.description = "Ruby extension for the vips image processing library."
14
14
  s.email = "jcupitt@gmail.com"
15
15
  s.extensions = ["ext/extconf.rb"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-vips
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 1
10
- version: 0.3.1
9
+ - 2
10
+ version: 0.3.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Timothy Elliott
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-08-30 00:00:00 Z
19
+ date: 2012-08-31 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  version_requirements: &id001 !ruby/object:Gem::Requirement