htmldoc_remote_compile_wrapper 0.4 → 0.5

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
  SHA1:
3
- metadata.gz: 53c45af9364c79275e11dcd0ae0ab4dec9737eba
4
- data.tar.gz: 0eba21466d4f60c77403b074e3ffe7db84e87fc0
3
+ metadata.gz: 2fab4de30f058f763f9123fef205b251d3addd63
4
+ data.tar.gz: c2c2ba4150f18d5b469fc83ea25ac09dd52f43db
5
5
  SHA512:
6
- metadata.gz: ad16b54d708888901983514b2ffe4099a586509c3004646fd43b9c043c8762b7c77ac84f6e0d9cb47ba524646eb4419cd3ed8b9b07e4340260a91be9d1a7c922
7
- data.tar.gz: 11a9f678be112177d836f13f59f7c8143b34f21330f0eba65c0630669a593ee0100c6aa36fdffa426884ba9edac37e85978acc18c619154e19c7c61c4ef21259
6
+ metadata.gz: d7ddef0bace28b4bda541256f1cb1956e50be47767893280233b8087ad3e82960899fa3a0dbd18667962a5b50bd67899003a0e283214e44a23506c6ca55043a6
7
+ data.tar.gz: 4726ce05a6dd1bad29abefd986475bf291ade1d263b79a1d4d71e819015f4d62b6715699865610cb7b219db6205c4a5cb058f511400d73218723932e46d30933
data/ext/extconf.rb CHANGED
@@ -1,38 +1,21 @@
1
1
  require 'mkmf'
2
- require 'fileutils'
3
- require 'open-uri'
4
2
 
5
3
  root = File.expand_path('../..', __FILE__)
6
4
  src_dir = File.join(root, 'src')
7
5
  bin_dir = File.join(root, 'bin')
8
- tgz_filename = "htmldoc.tgz"
6
+ tgz_filename = "htmldoc-1.8.27-source.tar.gz"
9
7
  tgz_file = File.join(src_dir, tgz_filename)
10
- patch_file = File.join(src_dir, "libpng_patch")
11
-
12
- FileUtils.rm_rf src_dir
13
- FileUtils.mkdir src_dir
14
-
15
- source_url = "https://joenoon-public.s3.amazonaws.com/htmldoc-1.8.27-source.tar.gz"
16
8
  # Fixes building with libpng-1.5, from upstream svn r1668 via Fedora
17
9
  # Remove at version 1.8.28. cf. https://github.com/mxcl/homebrew/issues/15915
18
- patch_url = "https://gist.github.com/joenoon/5733730/raw/4da9eca3b0ba0f3d1303769bdc408729b8654632/gistfile1.diff"
19
-
20
- puts "===> Downloading: #{source_url} to #{tgz_file}"
21
-
22
- open(tgz_file, "wb") do |file|
23
- file.print open(source_url).read
24
- end
25
-
26
- open(patch_file, "wb") do |file|
27
- file.print open(patch_url).read
28
- end
10
+ patch_filename = "htmldoc-1.8.27-libpng15.patch"
11
+ patch_file = File.join(src_dir, patch_filename)
29
12
 
30
13
  Dir.chdir(src_dir) do
31
14
  puts "===> Changing to directory: #{src_dir}"
32
15
  puts "===> Extracting #{tgz_filename}"
33
16
  system "tar xzf #{tgz_filename} --strip-components=1"
34
17
  puts "===> Patching"
35
- system "patch -p0 <libpng_patch"
18
+ system "patch -p0 <#{patch_filename}"
36
19
  puts "===> Configuring with prefix: #{root}"
37
20
  system "./configure --prefix=#{root}"
38
21
  puts "===> Building..."
@@ -44,8 +27,6 @@ Dir.chdir(src_dir) do
44
27
  system "make clean"
45
28
  end
46
29
 
47
- FileUtils.rm_rf src_dir
48
-
49
30
  puts "===> Done compiling htmldoc."
50
31
 
51
32
  create_makefile 'htmldoc_remote_compile_wrapper'
@@ -12,5 +12,5 @@ Gem::Specification.new do |gem|
12
12
  gem.extensions = ['ext/extconf.rb']
13
13
  gem.name = "htmldoc_remote_compile_wrapper"
14
14
  gem.require_paths = ["lib"]
15
- gem.version = "0.4"
15
+ gem.version = "0.5"
16
16
  end
@@ -0,0 +1,150 @@
1
+ Original http://pkgs.fedoraproject.org/cgit/htmldoc.git/plain/htmldoc-1.8.27-libpng15.patch?h=f18
2
+
3
+ From upstream 1.8 branch svn r1668
4
+
5
+ The previous libpng-1.5 conversion patch here caused corrupt PNG output
6
+ on 64 bit. e.g. http://answerpot.com/showthread.php?3662601-PNG+Rendering+Problems
7
+
8
+ The upstream version (below) works well.
9
+
10
+ Index: htmldoc/image.cxx
11
+ ===================================================================
12
+ --- htmldoc/image.cxx.orig
13
+ +++ htmldoc/image.cxx
14
+ @@ -3,23 +3,11 @@
15
+ *
16
+ * Image handling routines for HTMLDOC, a HTML document processing program.
17
+ *
18
+ - * Copyright 1997-2005 by Easy Software Products.
19
+ + * Copyright 2011 by Michael R Sweet.
20
+ + * Copyright 1997-2010 by Easy Software Products. All rights reserved.
21
+ *
22
+ - * These coded instructions, statements, and computer programs are the
23
+ - * property of Easy Software Products and are protected by Federal
24
+ - * copyright law. Distribution and use rights are outlined in the file
25
+ - * "COPYING.txt" which should have been included with this file. If this
26
+ - * file is missing or damaged please contact Easy Software Products
27
+ - * at:
28
+ - *
29
+ - * Attn: ESP Licensing Information
30
+ - * Easy Software Products
31
+ - * 44141 Airport View Drive, Suite 204
32
+ - * Hollywood, Maryland 20636-3142 USA
33
+ - *
34
+ - * Voice: (301) 373-9600
35
+ - * EMail: info@easysw.com
36
+ - * WWW: http://www.easysw.com
37
+ + * This program is free software. Distribution and use rights are outlined in
38
+ + * the file "COPYING.txt".
39
+ *
40
+ * Contents:
41
+ *
42
+ @@ -1499,7 +1487,7 @@ image_load_png(image_t *img, /* I - Imag
43
+
44
+ rows = NULL;
45
+
46
+ - if (setjmp(pp->jmpbuf))
47
+ + if (setjmp(png_jmpbuf(pp)))
48
+ {
49
+ progress_error(HD_ERROR_BAD_FORMAT, "PNG file contains errors!");
50
+
51
+ @@ -1526,7 +1514,7 @@ image_load_png(image_t *img, /* I - Imag
52
+
53
+ png_read_info(pp, info);
54
+
55
+ - if (info->color_type & PNG_COLOR_MASK_PALETTE)
56
+ + if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE)
57
+ {
58
+ png_set_expand(pp);
59
+
60
+ @@ -1535,15 +1523,15 @@ image_load_png(image_t *img, /* I - Imag
61
+ if (Encryption)
62
+ img->use ++;
63
+ }
64
+ - else if (info->bit_depth < 8)
65
+ + else if (png_get_bit_depth(pp, info) < 8)
66
+ {
67
+ png_set_packing(pp);
68
+ png_set_expand(pp);
69
+ }
70
+ - else if (info->bit_depth == 16)
71
+ + else if (png_get_bit_depth(pp, info) == 16)
72
+ png_set_strip_16(pp);
73
+
74
+ - if (info->color_type & PNG_COLOR_MASK_COLOR)
75
+ + if (png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR)
76
+ {
77
+ depth = 3;
78
+ img->depth = gray ? 1 : 3;
79
+ @@ -1554,10 +1542,10 @@ image_load_png(image_t *img, /* I - Imag
80
+ img->depth = 1;
81
+ }
82
+
83
+ - img->width = info->width;
84
+ - img->height = info->height;
85
+ + img->width = png_get_image_width(pp, info);
86
+ + img->height = png_get_image_height(pp, info);
87
+
88
+ - if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
89
+ + if (png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA)
90
+ {
91
+ if ((PSLevel == 0 && PDFVersion >= 14) || PSLevel == 3)
92
+ image_need_mask(img, 8);
93
+ @@ -1571,14 +1559,14 @@ image_load_png(image_t *img, /* I - Imag
94
+
95
+ #ifdef DEBUG
96
+ printf("color_type=0x%04x, depth=%d, img->width=%d, img->height=%d, img->depth=%d\n",
97
+ - info->color_type, depth, img->width, img->height, img->depth);
98
+ - if (info->color_type & PNG_COLOR_MASK_COLOR)
99
+ + png_get_color_type(pp, info), depth, img->width, img->height, img->depth);
100
+ + if (png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR)
101
+ puts(" COLOR");
102
+ else
103
+ puts(" GRAYSCALE");
104
+ - if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
105
+ + if (png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA)
106
+ puts(" ALPHA");
107
+ - if (info->color_type & PNG_COLOR_MASK_PALETTE)
108
+ + if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE)
109
+ puts(" PALETTE");
110
+ #endif // DEBUG
111
+
112
+ @@ -1594,9 +1582,9 @@ image_load_png(image_t *img, /* I - Imag
113
+ * Allocate pointers...
114
+ */
115
+
116
+ - rows = (png_bytep *)calloc(info->height, sizeof(png_bytep));
117
+ + rows = (png_bytep *)calloc(png_get_image_height(pp, info), sizeof(png_bytep));
118
+
119
+ - for (i = 0; i < (int)info->height; i ++)
120
+ + for (i = 0; i < (int)png_get_image_height(pp, info); i ++)
121
+ rows[i] = img->pixels + i * img->width * depth;
122
+
123
+ /*
124
+ @@ -1610,7 +1598,7 @@ image_load_png(image_t *img, /* I - Imag
125
+ * Generate the alpha mask as necessary...
126
+ */
127
+
128
+ - if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans)
129
+ + if (png_get_color_type(pp, info) & PNG_COLOR_MASK_ALPHA)
130
+ {
131
+ #ifdef DEBUG
132
+ for (inptr = img->pixels, i = 0; i < img->height; i ++)
133
+ @@ -1639,7 +1627,7 @@ image_load_png(image_t *img, /* I - Imag
134
+ * Reformat the data as necessary for the reader...
135
+ */
136
+
137
+ - if (gray && info->color_type & PNG_COLOR_MASK_COLOR)
138
+ + if (gray && png_get_color_type(pp, info) & PNG_COLOR_MASK_COLOR)
139
+ {
140
+ /*
141
+ * Greyscale output needed...
142
+ @@ -1720,7 +1708,7 @@ image_need_mask(image_t *img, /* I - Ima
143
+ {
144
+ // Alpha mask
145
+ img->maskwidth = (img->width * scaling + 7) / 8;
146
+ - size = img->maskwidth * img->height * scaling;
147
+ + size = img->maskwidth * img->height * scaling + 1;
148
+ }
149
+
150
+ img->mask = (uchar *)calloc(size, 1);
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: htmldoc_remote_compile_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
4
+ version: '0.5'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Noon
@@ -26,6 +26,8 @@ files:
26
26
  - ext/extconf.rb
27
27
  - htmldoc_remote_compile_wrapper.gemspec
28
28
  - lib/htmldoc_remote_compile_wrapper.rb
29
+ - src/htmldoc-1.8.27-libpng15.patch
30
+ - src/htmldoc-1.8.27-source.tar.gz
29
31
  homepage: ''
30
32
  licenses: []
31
33
  metadata: {}