poppler 0.20.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +369 -0
- data/README +37 -0
- data/Rakefile +72 -0
- data/extconf.rb +49 -0
- data/sample/number-pdf.rb +32 -0
- data/sample/pdf2.rb +107 -0
- data/sample/pdf2svg.rb +26 -0
- data/sample/pdf2text.rb +16 -0
- data/sample/pdfdiv.rb +36 -0
- data/src/lib/poppler.rb +108 -0
- data/src/rbpoppler-action.c +222 -0
- data/src/rbpoppler-annotation.c +307 -0
- data/src/rbpoppler-attachment.c +116 -0
- data/src/rbpoppler-document.c +492 -0
- data/src/rbpoppler-form-field.c +291 -0
- data/src/rbpoppler-page.c +773 -0
- data/src/rbpoppler-private.h +56 -0
- data/src/rbpoppler.c +90 -0
- data/src/rbpoppler.h +60 -0
- data/src/rbpopplerversion.h +24 -0
- data/test/poppler-test-utils.rb +47 -0
- data/test/run-test.rb +27 -0
- data/test/test_annotation.rb +84 -0
- data/test/test_color.rb +26 -0
- data/test/test_constants.rb +30 -0
- data/test/test_document.rb +41 -0
- data/test/test_page.rb +78 -0
- metadata +122 -0
data/ChangeLog
ADDED
@@ -0,0 +1,369 @@
|
|
1
|
+
2010-06-02 Kouhei Sutou <kou@cozmixng.org>
|
2
|
+
|
3
|
+
* README: fix Ruby/Poppler license. It should be GPL not LGPL
|
4
|
+
because poppler is GPL not LGPL.
|
5
|
+
|
6
|
+
* COPYING.LIB: remove.
|
7
|
+
* COPYING: add.
|
8
|
+
|
9
|
+
2010-02-10 Kouhei Sutou <kou@cozmixng.org>
|
10
|
+
|
11
|
+
* sample/pdfdiv.rb: add.
|
12
|
+
|
13
|
+
2009-04-01 Kouhei Sutou <kou@cozmixng.org>
|
14
|
+
|
15
|
+
* src/lib/poppler.rb: ignore Gtk::InitError.
|
16
|
+
|
17
|
+
2008-11-03 Kouhei Sutou <kou@cozmixng.org>
|
18
|
+
|
19
|
+
* extconf.rb: remove needless checks.
|
20
|
+
|
21
|
+
* extconf.rb, README, src/: remove 0.6.x support. require 0.8.0 or
|
22
|
+
later.
|
23
|
+
|
24
|
+
2008-10-25 Kouhei Sutou <kou@cozmixng.org>
|
25
|
+
|
26
|
+
* test/test_constants.rb: use assert_{,not_}const_defined in
|
27
|
+
Test::Unit.
|
28
|
+
|
29
|
+
2008-09-13 Kouhei Sutou <kou@cozmixng.org>
|
30
|
+
|
31
|
+
* extconf.rb: use check_cairo.
|
32
|
+
|
33
|
+
2008-06-29 Kouhei Sutou <kou@cozmixng.org>
|
34
|
+
|
35
|
+
* test/test_document.rb (TestDocument#test_save):
|
36
|
+
omit if poppler < 0.8.2.
|
37
|
+
|
38
|
+
2008-06-14 Kouhei Sutou <kou@cozmixng.org>
|
39
|
+
|
40
|
+
* test/run-test.rb: use glib/test/glib-test-init.rb.
|
41
|
+
|
42
|
+
2008-06-11 Kouhei Sutou <kou@cozmixng.org>
|
43
|
+
|
44
|
+
* src/rbpoppler-action.c: fix an index bug.
|
45
|
+
|
46
|
+
* extconf.rb: include poppler.h in have_func test.
|
47
|
+
|
48
|
+
2008-05-23 Kouhei Sutou <kou@cozmixng.org>
|
49
|
+
|
50
|
+
* test/run-test.rb: use which not --version to detect make.
|
51
|
+
|
52
|
+
2008-05-13 Kouhei Sutou <kou@cozmixng.org>
|
53
|
+
|
54
|
+
* test/: use omit.
|
55
|
+
|
56
|
+
* test/test_document.rb, test/test_constants.rb: fix version check.
|
57
|
+
|
58
|
+
* test/test_constants.rb: followed the below changes.
|
59
|
+
|
60
|
+
* src/rbpoppler-annotation.c: support master at 2008-05-13.
|
61
|
+
|
62
|
+
* src/rbpoppler-page.c: add cairo availability check.
|
63
|
+
|
64
|
+
2008-04-22 Kouhei Sutou <kou@cozmixng.org>
|
65
|
+
|
66
|
+
* sample/number-pdf.rb: add.
|
67
|
+
|
68
|
+
2008-04-13 Kouhei Sutou <kou@cozmixng.org>
|
69
|
+
|
70
|
+
* extconf.rb: fix rcairo's source path.
|
71
|
+
|
72
|
+
2008-03-27 Kouhei Sutou <kou@cozmixng.org>
|
73
|
+
|
74
|
+
* README: added Ruby/GTK+ to Requirements.
|
75
|
+
|
76
|
+
2008-03-23 Kouhei Sutou <kou@cozmixng.org>
|
77
|
+
|
78
|
+
* src/rbpoppler.[ch], src/rbpoppler-private.h,
|
79
|
+
src/rbpoppler-page.c, src/rbpoppler-form-field.c: split form
|
80
|
+
field related codes.
|
81
|
+
|
82
|
+
* src/rbpoppler.h, src/rbpoppler-page.c, src/rbpoppler-action.c,
|
83
|
+
src/rbpoppler-document.c: added POPPLER_ prefix.
|
84
|
+
|
85
|
+
* src/rbpoppler.h, src/rbpoppler-page.c, src/rbpoppler-action.c:
|
86
|
+
hide conversion macros.
|
87
|
+
|
88
|
+
* src/rbpoppler.h, src/rbpoppler-page.c: COLOR -> POPPLER_COLOR.
|
89
|
+
|
90
|
+
* src/rbpoppler.h, src/rbpoppler-page.c: hid GDK related macros.
|
91
|
+
|
92
|
+
* src/rbpoppler.h, src/rbpoppler-page.c: RECT -> POPPLER_RECT.
|
93
|
+
|
94
|
+
* README: marked poppler-glib 0.8.0 is supported.
|
95
|
+
|
96
|
+
* src/rbpoppler-page.c: used DEF_* macro.
|
97
|
+
|
98
|
+
* src/rbpoppler-annotation.c, test/test_annotation.rb: implemented
|
99
|
+
methods for Poppler::AnnotationCalloutLine.
|
100
|
+
|
101
|
+
* src/rbpoppler-annotation.c, test/test_annotation.rb: implemented
|
102
|
+
methods for Poppler::AnnotationFreeText.
|
103
|
+
|
104
|
+
* src/rbpoppler-annotation.c, test/test_annotation.rb: implemented
|
105
|
+
methods for Poppler::AnnotationText.
|
106
|
+
|
107
|
+
* src/rbpoppler-annotation.c, test/test_annotation.rb: implemented
|
108
|
+
methods for Poppler::AnnotationMarkup.
|
109
|
+
|
110
|
+
* src/rbpoppler-annotation.c, test/test_annotation.rb: implemented
|
111
|
+
methods for Poppler::Annotation.
|
112
|
+
|
113
|
+
* src/rbpoppler-page.c, src/rbpoppler.h: added POPPLER_COLOR2RVAL
|
114
|
+
and POPPLER_COLOR2RVAL_FREE.
|
115
|
+
|
116
|
+
* src/rbpoppler.[ch], src/rbpoppler-private.h: called
|
117
|
+
Init_annotation().
|
118
|
+
|
119
|
+
* src/rbpoppler-annotation.c, test/test_annotation.rb: implemented
|
120
|
+
Poppler::Annotation#type.
|
121
|
+
|
122
|
+
* src/rbpoppler-page.c:
|
123
|
+
- defined missing methods: Poppler::ButtonField#type and
|
124
|
+
Poppler::ChoiceField#toggle.
|
125
|
+
- defined Poppler::Rectangle#inspect.
|
126
|
+
|
127
|
+
* src/rbpoppler-page.c, test/test_page.rb: defined
|
128
|
+
Poppler::AnnotationMapping methods.
|
129
|
+
|
130
|
+
* src/rbpoppler-page.c: added missing static.
|
131
|
+
|
132
|
+
* src/rbpoppler-page.c, test/test_page.rb: implemented
|
133
|
+
Poppler::Page#annotation_mapping for 0.7.2.
|
134
|
+
|
135
|
+
2008-03-22 Kouhei Sutou <kou@cozmixng.org>
|
136
|
+
|
137
|
+
* src/rbpoppler-page.c (page_get_selection_region),
|
138
|
+
test/test_page.rb (TestPage#test_selection_region): implemented
|
139
|
+
Poppler::Page#get_selection_region for 0.7.2.
|
140
|
+
|
141
|
+
* src/rbpoppler-page.c, test/test_page.rb
|
142
|
+
(TestPage#test_thumbnail_pixbuf): implemented
|
143
|
+
Poppler::Page#thumbnail_pixbuf.
|
144
|
+
|
145
|
+
* src/rbpoppler-page.c (page_render_for_printing_generic),
|
146
|
+
test/test_page.rb (TestPage#test_render_to_pixbuf_for_printing):
|
147
|
+
implemented Poppler::Page#render_for_printing.
|
148
|
+
|
149
|
+
2008-03-21 Kouhei Sutou <kou@cozmixng.org>
|
150
|
+
|
151
|
+
* test/test_page.rb (TestPage#test_render_to_pixbuf): added.
|
152
|
+
|
153
|
+
2008-03-20 Kouhei Sutou <kou@cozmixng.org>
|
154
|
+
|
155
|
+
* src/rbpoppler-page.c: implemented Poppler::Page#image.
|
156
|
+
|
157
|
+
* test/poppler-test-utils.rb, test/test_page.rb: added a PDF that
|
158
|
+
contains images.
|
159
|
+
|
160
|
+
* test/test_page.rb: added.
|
161
|
+
|
162
|
+
* src/rbpoppler-document.c: implemented Poppler::Document#save_a_copy.
|
163
|
+
|
164
|
+
* test/test_document.rb: added.
|
165
|
+
|
166
|
+
* test/poppler-test-utils.rb: added.
|
167
|
+
* test/: used poppler-test-utils.rb.
|
168
|
+
|
169
|
+
* src/rbpoppler.[ch], src/rbpoppler-page.c: just buildable with
|
170
|
+
poppler-glib 0.7.3.
|
171
|
+
|
172
|
+
* test/: added.
|
173
|
+
|
174
|
+
* extconf.rb: fixed build error on Win32. [Patch #1843689]
|
175
|
+
Reported by Yaakov Selkowitz with a patch. Thanks!!!
|
176
|
+
|
177
|
+
2007-11-11 Kouhei Sutou <kou@cozmixng.org>
|
178
|
+
|
179
|
+
* README: updated supported poppler-glib version: 0.5.2 - 0.6.2.
|
180
|
+
|
181
|
+
2007-10-20 Kouhei Sutou <kou@cozmixng.org>
|
182
|
+
|
183
|
+
* sample/pdf2.rb: removed needless filename -> URI conversion.
|
184
|
+
|
185
|
+
* sample/pdf2svg.rb: added a new example that convert PDF to SVG.
|
186
|
+
|
187
|
+
2007-10-13 Kouhei Sutou <kou@cozmixng.org>
|
188
|
+
|
189
|
+
* src/: used POPPLER_CHECK_VERSION(0, 6, 0) not
|
190
|
+
POPPLER_CHECK_VERSION(0, 5, 9).
|
191
|
+
|
192
|
+
* README: updated supported poppler-glib version: 0.5.2 - 0.6.1.
|
193
|
+
|
194
|
+
* src/rbpoppler-document.c:
|
195
|
+
- used RVAL2DOC() not RVAL2GOBJ().
|
196
|
+
- supported 0.6.0.
|
197
|
+
|
198
|
+
* src/rbpoppler-attachment.c: supported 0.6.0.
|
199
|
+
|
200
|
+
2007-09-09 Kouhei Sutou <kou@cozmixng.org>
|
201
|
+
|
202
|
+
* src/rbpoppler-page.c: supported 0.6.0. Bug 1790607.
|
203
|
+
|
204
|
+
2007-07-27 Kouhei Sutou <kou@cozmixng.org>
|
205
|
+
|
206
|
+
* src/rbpoppler.h, src/rbpoppler-page.c: worked with poppler <
|
207
|
+
0.5.9 again.
|
208
|
+
|
209
|
+
* src/rbpoppler-document.c: used POPPLER_CHECK_VERSION(0, 5, 9)
|
210
|
+
instead of HAVE_POPPLER_FONT_INFO because my patch is accepted by
|
211
|
+
upstream.
|
212
|
+
|
213
|
+
* src/rbpoppler.c, src/rbpoppler-page.c: don't show
|
214
|
+
poppler_form_field_get_field_type().
|
215
|
+
|
216
|
+
* src/lib/poppler.rb, src/rbpoppler.h, src/rbpoppler-page.c:
|
217
|
+
followed the recent poppler form API changes but not tested
|
218
|
+
because I don't have a PDF with form...
|
219
|
+
|
220
|
+
2007-07-13 Guillaume Cottenceau
|
221
|
+
|
222
|
+
* src/rbpoppler-document.c, src/rbpoppler-page.c: replace RTEST
|
223
|
+
uses by RVAL2CBOOL
|
224
|
+
|
225
|
+
2007-07-13 Guillaume Cottenceau
|
226
|
+
|
227
|
+
* src/rbpoppler-document.c: "? Qtrue : QFalse" => CBOOL2RVAL
|
228
|
+
cleanup
|
229
|
+
|
230
|
+
2007-06-23 Kouhei Sutou <kou@cozmixng.org>
|
231
|
+
|
232
|
+
* src/rbpoppler.h, src/rbpoppler-page.c: followed new functions
|
233
|
+
and types in poppler-page.h. But this is not enough. We need more
|
234
|
+
works.
|
235
|
+
|
236
|
+
* src/rbpoppler-document.c, src/lib/poppler.rb: supported
|
237
|
+
Poppler::Document.new(pdf_data).
|
238
|
+
|
239
|
+
* src/rbpoppler.h (SELSTYLE2RVAL, RVAL2SELSTYLE): added.
|
240
|
+
|
241
|
+
* src/rbpoppler-page.c: followed API changes of
|
242
|
+
poppler_page_render_selection() family at 0.5.9.
|
243
|
+
|
244
|
+
* src/rbpoppler.c: added enum types appeared at 0.5.9.
|
245
|
+
|
246
|
+
* src/rbpoppler-action.c, src/rbpoppler-document.c: removed
|
247
|
+
needless variables.
|
248
|
+
|
249
|
+
2007-04-07 Kouhei Sutou <kou@cozmixng.org>
|
250
|
+
|
251
|
+
* src/rbpoppler-document.c (Poppler::Document#size): added a
|
252
|
+
convenient alias of Poppler::Document#n_pages.
|
253
|
+
|
254
|
+
* src/rbpoppler-document.c (doc_initialize): accepted not only URI
|
255
|
+
but also file name.
|
256
|
+
|
257
|
+
* src/lib/poppler.rb (Poppler::Document#ensure_uri): added.
|
258
|
+
|
259
|
+
2007-03-29 Kouhei Sutou <kou@cozmixng.org>
|
260
|
+
|
261
|
+
* src/rbpoppler-document.c: added a convenient alias:
|
262
|
+
Poppler::Document#pages.
|
263
|
+
|
264
|
+
* sample/pdf2text.rb: used default value.
|
265
|
+
|
266
|
+
* src/rbpoppler-page.c (page_get_text): used page size rectangle
|
267
|
+
as default value.
|
268
|
+
|
269
|
+
2006-09-06 Kouhei Sutou <kou@cozmixng.org>
|
270
|
+
|
271
|
+
* src/rbpoppler-action.c:
|
272
|
+
- made Poppler::Action read only.
|
273
|
+
- used macros for defining methods of Poppler::Dest.
|
274
|
+
|
275
|
+
* ./: don't require a patch of Bug 6912 for Poppler.
|
276
|
+
https://bugs.freedesktop.org/show_bug.cgi?id=6912
|
277
|
+
|
278
|
+
* extconf.rb: don't check whether PopplerActionAny is exist or
|
279
|
+
not.
|
280
|
+
|
281
|
+
* src/rbpoppler-action.c, src/rbpoppler.h: Poppler::Action is
|
282
|
+
always available.
|
283
|
+
* src/rbpoppler-page.c: Poppler::LinkMapping#action is always
|
284
|
+
available.
|
285
|
+
|
286
|
+
2006-07-10 Kouhei Sutou <kou@cozmixng.org>
|
287
|
+
|
288
|
+
* src/rbpoppler-page.c:
|
289
|
+
- can compile without rcairo.
|
290
|
+
- don't use PopplerAction when PopplerActionAny is exist.
|
291
|
+
|
292
|
+
2006-06-27 Kouhei Sutou <kou@cozmixng.org>
|
293
|
+
|
294
|
+
* README: required 0.5.2 or later poppler-glib.
|
295
|
+
* extconf.rb: ditto.
|
296
|
+
|
297
|
+
2006-06-17 Kouhei Sutou <kou@cozmixng.org>
|
298
|
+
|
299
|
+
* src/rbpoppler-document.c: use GLIST2ARYF.
|
300
|
+
* src/rbpoppler-page.c: use GLIST2ARY2F.
|
301
|
+
|
302
|
+
* src/: worked without any patches for poppler-glib.
|
303
|
+
|
304
|
+
* extconf.rb: check whether
|
305
|
+
poppler_page_render_selection_to_pixbuf() and
|
306
|
+
PopplerActionAny are available or not.
|
307
|
+
|
308
|
+
* src/rbpoppler-page.c: check whether
|
309
|
+
poppler_render_selection_to_pixbuf() is available or not.
|
310
|
+
|
311
|
+
* src/rbpoppler-document.c: disable Poppler::FontInfo and related
|
312
|
+
methods when POPPLER_TYPE_FONT_INFO is not
|
313
|
+
available. (POPPLER_TYPE_FONT_INFO is not available means
|
314
|
+
PopplerFontInfo is not GObjectize.)
|
315
|
+
|
316
|
+
* src/rbpoppler-action.c: disable Poppler::Action* and related
|
317
|
+
stuffs when PopplerActionAny is available. (PopplerActionAry is
|
318
|
+
available means PopplerAction* are not GObjectize.)
|
319
|
+
* src/rbpoppler-document.c: ditto.
|
320
|
+
* src/rbpoppler.h.c: ditto.
|
321
|
+
|
322
|
+
2006-05-30 Kouhei Sutou <kou@cozmixng.org>
|
323
|
+
|
324
|
+
* src/rbpoppler-document.c: fixed memory leaks.
|
325
|
+
* src/rbpoppler-page.c: ditto.
|
326
|
+
|
327
|
+
2006-05-27 Kouhei Sutou <kou@cozmixng.org>
|
328
|
+
|
329
|
+
* src/rbpoppler-page.c:
|
330
|
+
- made Poppler::Page#render generic method.
|
331
|
+
- removed Poppler::Page#render_to_pixbuf.
|
332
|
+
- removed Poppler::Page#render_to_ps.
|
333
|
+
- made Poppler::Page#render_selection generic method.
|
334
|
+
|
335
|
+
* src/lib/poppler.rb: added convenience method
|
336
|
+
Cairo::Context#render_poppler_page_selection.
|
337
|
+
|
338
|
+
* sample/pdf2.rb: use Poppler::Page#render instead of
|
339
|
+
Poppler::Page#render_to_pixbuf.
|
340
|
+
|
341
|
+
2006-05-26 Kouhei Sutou <kou@cozmixng.org>
|
342
|
+
|
343
|
+
* src/rbpoppler.h: added extern modifier.
|
344
|
+
|
345
|
+
2006-05-23 Kouhei Sutou <kou@cozmixng.org>
|
346
|
+
|
347
|
+
* src/rbpoppler-document.c: fixed some memory leaks.
|
348
|
+
|
349
|
+
2006-05-19 Kouhei Sutou <kou@cozmixng.org>
|
350
|
+
|
351
|
+
* sample/pdf2text.rb: added a sample which extract text from PDF.
|
352
|
+
|
353
|
+
* src/rbpoppler-document.c (index_iter_initialize): added NULL
|
354
|
+
check.
|
355
|
+
(Poppler::Layout): fixed type.
|
356
|
+
|
357
|
+
2006-05-18 Kouhei Sutou <kou@cozmixng.org>
|
358
|
+
|
359
|
+
* extconf.rb: make src/rbpopplerversion.h.
|
360
|
+
|
361
|
+
* src/rbpoppler.h: include src/rbpopplerversion.h.
|
362
|
+
|
363
|
+
* src/rbpoppler.c (Poppler::BUILD_VERSION): added.
|
364
|
+
|
365
|
+
* src/lib/poppler.rb (Poppler::VERSION): added.
|
366
|
+
|
367
|
+
2006-05-14 Kouhei Sutou <kou@cozmixng.org>
|
368
|
+
|
369
|
+
* .: imported.
|
data/README
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
Ruby/Poppler
|
2
|
+
============
|
3
|
+
|
4
|
+
Ruby/Poppler is a Ruby binding of poppler-glib.
|
5
|
+
|
6
|
+
Requirements
|
7
|
+
------------
|
8
|
+
|
9
|
+
Ruby: http://www.ruby-lang.org/
|
10
|
+
poppler-glib [*]: http://poppler.freedesktop.org/
|
11
|
+
Ruby/GLib2: http://ruby-gnome2.sourceforge.net/
|
12
|
+
Ruby/GTK2: http://ruby-gnome2.sourceforge.net/
|
13
|
+
Ruby/GdkPixbuf2: http://ruby-gnome2.sourceforge.net/
|
14
|
+
cairo/rcairo: http://cairographics.org/ (optional)
|
15
|
+
|
16
|
+
[*]: 0.8.0 or later is requried.
|
17
|
+
|
18
|
+
Install
|
19
|
+
-------
|
20
|
+
|
21
|
+
0. install ruby and poppler-glib.
|
22
|
+
1. ruby extconf.rb
|
23
|
+
2. make
|
24
|
+
3. su
|
25
|
+
4. make install
|
26
|
+
|
27
|
+
Copying
|
28
|
+
-------
|
29
|
+
Copyright (c) 2002-2006 Ruby-GNOME2 Project Team
|
30
|
+
|
31
|
+
This program is free software.
|
32
|
+
You can distribute/modify this program under the terms of
|
33
|
+
the GNU GENERAL PUBLIC LICENSE Version 2.
|
34
|
+
|
35
|
+
Project Website
|
36
|
+
---------------
|
37
|
+
http://ruby-gnome2.sourceforge.jp/
|
data/Rakefile
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'rake/clean'
|
2
|
+
CLEAN.include '**/*.o'
|
3
|
+
CLEAN.include "**/*.#{Config::MAKEFILE_CONFIG['DLEXT']}"
|
4
|
+
CLOBBER.include 'doc'
|
5
|
+
CLOBBER.include '**/*.log'
|
6
|
+
CLOBBER.include '**/Makefile'
|
7
|
+
CLOBBER.include '**/extconf.h'
|
8
|
+
|
9
|
+
# Determine the current version of the software
|
10
|
+
def ruby_poppler_version
|
11
|
+
require 'glib2'
|
12
|
+
GLib::BINDING_VERSION.join('.')
|
13
|
+
end
|
14
|
+
|
15
|
+
CURRENT_VERSION = ruby_poppler_version
|
16
|
+
|
17
|
+
desc "Default Task (Test project)"
|
18
|
+
task :default => :test
|
19
|
+
|
20
|
+
# Make tasks -----------------------------------------------------
|
21
|
+
make_program = (/mswin/ =~ RUBY_PLATFORM) ? 'nmake' : 'make'
|
22
|
+
MAKECMD = ENV['MAKE_CMD'] || make_program
|
23
|
+
MAKEOPTS = ENV['MAKE_OPTS'] || ''
|
24
|
+
|
25
|
+
POPPLER_SO = "src/poppler.#{Config::MAKEFILE_CONFIG['DLEXT']}"
|
26
|
+
|
27
|
+
file 'Makefile' => 'extconf.rb' do
|
28
|
+
sh "ruby extconf.rb #{ENV['EXTCONF_OPTS']}"
|
29
|
+
end
|
30
|
+
|
31
|
+
def make(target = '')
|
32
|
+
pid = system("#{MAKECMD} #{MAKEOPTS} #{target}")
|
33
|
+
$?.exitstatus
|
34
|
+
end
|
35
|
+
|
36
|
+
# Let make handle dependencies between c/o/so - we'll just run it.
|
37
|
+
file POPPLER_SO => (['Makefile'] + Dir['src/*.c'] + Dir['src/*.h']) do
|
38
|
+
m = make
|
39
|
+
fail "Make failed (status #{m})" unless m == 0
|
40
|
+
end
|
41
|
+
|
42
|
+
desc "Configure poppler"
|
43
|
+
task :configure => ['Makefile']
|
44
|
+
|
45
|
+
desc "Compile the shared object"
|
46
|
+
task :compile => [POPPLER_SO]
|
47
|
+
|
48
|
+
desc "Run poppler tests"
|
49
|
+
task :test => :compile do
|
50
|
+
sh "ruby test/run-test.rb"
|
51
|
+
end
|
52
|
+
|
53
|
+
desc 'Generate gem specification'
|
54
|
+
task :gemspec do
|
55
|
+
require 'erb'
|
56
|
+
tspec = ERB.new(File.read(File.join(File.dirname(__FILE__),'src','poppler.gemspec.erb')))
|
57
|
+
File.open(File.join(File.dirname(__FILE__),'poppler.gemspec'),'wb') do|f|
|
58
|
+
f << tspec.result
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
desc 'Build gem'
|
63
|
+
task :package => :gemspec do
|
64
|
+
require 'rubygems/specification'
|
65
|
+
spec_source = File.read File.join(File.dirname(__FILE__),'poppler.gemspec')
|
66
|
+
spec = nil
|
67
|
+
# see: http://gist.github.com/16215
|
68
|
+
Thread.new { spec = eval("$SAFE = 3\n#{spec_source}") }.join
|
69
|
+
spec.validate
|
70
|
+
Gem::Builder.new(spec).build
|
71
|
+
end
|
72
|
+
|