summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/sgmlspl
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/sgmlspl')
-rw-r--r--meta/recipes-devtools/sgmlspl/files/combined.patch460
-rw-r--r--meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb16
-rw-r--r--meta/recipes-devtools/sgmlspl/sgmlspl-native_git.bb20
3 files changed, 20 insertions, 476 deletions
diff --git a/meta/recipes-devtools/sgmlspl/files/combined.patch b/meta/recipes-devtools/sgmlspl/files/combined.patch
deleted file mode 100644
index bea3dabd21..0000000000
--- a/meta/recipes-devtools/sgmlspl/files/combined.patch
+++ /dev/null
@@ -1,460 +0,0 @@
1Patch obtained from OpenEmbedded.
2
3Upstream-Status: Pending
4
5Signed-off-by: Scott Garman <scott.a.garman@intel.com>
6
7--- libsgmls-perl-1.03ii.orig/Makefile
8+++ libsgmls-perl-1.03ii/Makefile
9@@ -94,5 +94,5 @@
10 mv /tmp/${DIST} SGMLSpm
11
12 clean:
13- cd DOC; make clean
14+ #cd DOC; make clean
15 rm -f *~ core *.tar *.tar.gz
16--- libsgmls-perl-1.03ii.orig/Makefile.PL
17+++ libsgmls-perl-1.03ii/Makefile.PL
18@@ -0,0 +1,17 @@
19+use ExtUtils::MakeMaker;
20+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
21+# the contents of the Makefile that is written.
22+WriteMakefile(
23+ 'NAME' => 'SGMLS',
24+ 'VERSION' => '1.03ii',
25+ 'PM' => { 'SGMLS.pm' => '$(INST_LIBDIR)/SGMLS.pm',
26+ 'Output.pm' => '$(INST_LIBDIR)/SGMLS/Output.pm',
27+ 'Refs.pm' => '$(INST_LIBDIR)/SGMLS/Refs.pm',
28+ 'skel.pl' => '$(INST_LIBDIR)/sgmlspl-specs/skel.pl',
29+ },
30+ 'MAN3PODS'=> { 'SGMLS.pm' => '$(INST_MAN3DIR)/SGMLS.3pm',
31+ 'Output.pm' => '$(INST_MAN3DIR)/SGMLS::Output.3pm',
32+ 'Refs.pm' => '$(INST_MAN3DIR)/SGMLS::Refs.3pm',
33+ },
34+ 'EXE_FILES' => [ 'sgmlspl', ],
35+);
36--- libsgmls-perl-1.03ii.orig/Output.pm
37+++ libsgmls-perl-1.03ii/Output.pm
38@@ -5,7 +5,7 @@
39 @ISA = Exporter;
40 @EXPORT = qw(output push_output pop_output);
41
42-$version = '$Id: Output.pm,v 1.6 1995/12/05 12:21:51 david Exp $';
43+$version = '$Id: Output.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
44
45 =head1 NAME
46
47--- libsgmls-perl-1.03ii.orig/Refs.pm
48+++ libsgmls-perl-1.03ii/Refs.pm
49@@ -2,11 +2,11 @@
50
51 use Carp;
52
53-$version = '$Id: Refs.pm,v 1.5 1995/12/03 21:28:36 david Exp $';
54+$version = '$Id: Refs.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
55
56 =head1 NAME
57
58-SGMLS::Refs
59+SGMLS::Refs - Forward refeence handling
60
61 =head1 SYNOPSIS
62
63--- libsgmls-perl-1.03ii.orig/sgmlspl.1
64+++ libsgmls-perl-1.03ii/sgmlspl.1
65@@ -0,0 +1,47 @@
66+.\" -*- nroff -*-
67+.\" ----------------------------------------------------------------------
68+.TH SGMLSPL 1 "October 26, 1999" "SGMLSPL" "SGMLSPL"
69+.\"
70+.\" ----------------------------------------------------------------------
71+.SH "NAME"
72+sgmlspl \- a simple post-processor for nsgmls
73+.\"
74+.\" ----------------------------------------------------------------------
75+.SH "SYNOPSIS"
76+.B sgmlspl
77+.I "spec file"
78+.\"
79+.\" ----------------------------------------------------------------------
80+.SH "DESCRIPTION"
81+sgmlspl is a sample application to convert SGML documents to other
82+formats by providing a specification file detailing exactly how to
83+handle each element, external data entity, subdocument entity, CDATA
84+string, record end, SDATA string, and processing instruction.
85+
86+To use sgmlspl, prepare a specification file containing regular perl5
87+code. If the SGML document were named doc.sgml, the sgmlspl
88+specification file were named, spec.pl, and the name of the new file
89+were doc.latex, then use the following command in a Unix shell to
90+convert the SGML document:
91+
92+nsgmls doc.sgml | sgmlspl spec.pl > doc.latex
93+
94+sgmlspl will pass any additional arguments on to the specification
95+file, which can then process them in the regular perl5 fashion.
96+.\"
97+.\" ----------------------------------------------------------------------
98+.SH "SEE ALSO"
99+.TP
100+.BR /usr/share/doc/sgmls-doc/sgmlspl/sgmlspl.html
101+sgmlspl documentation in HTML format
102+.TP
103+.BR /usr/share/doc/sgmls-doc/SGMLSpm/sgmls.html
104+SGMLS documentation in HTML format
105+.TP
106+.BR nsgmls (1)
107+.\"
108+.\" ----------------------------------------------------------------------
109+.SH "AUTHOR"
110+Ardo van Rangelrooij <ardo@debian.org>
111+.\"
112+.\" ----------------------------------------------------------------------
113--- libsgmls-perl-1.03ii.orig/sgmlspl
114+++ libsgmls-perl-1.03ii/sgmlspl
115@@ -0,0 +1,323 @@
116+#!/usr/bin/perl
117+########################################################################
118+# sgmlspl: a simple SGML postprocesser for the SGMLS and NSGMLS
119+# parsers (requires SGMLS.pm library).
120+#
121+# Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca>
122+#
123+# This program is free software; you can redistribute it and/or modify
124+# it under the terms of the GNU General Public License as published by
125+# the Free Software Foundation; either version 2 of the License, or
126+# (at your option) any later version.
127+#
128+# This program is distributed in the hope that it will be useful,
129+# but WITHOUT ANY WARRANTY; without even the implied warranty of
130+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
131+# GNU General Public License for more details.
132+#
133+# You should have received a copy of the GNU General Public License
134+# along with this program; if not, write to the Free Software
135+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
136+#
137+# $Log: sgmlspl,v $
138+# Revision 1.1 2004/02/23 01:23:07 ardo
139+# Added debian changes for version 1.03ii-27.
140+#
141+# Revision 1.1 2001/04/15 14:42:01 ardo
142+# *** empty log message ***
143+#
144+# Revision 1.8 1995/12/03 21:46:31 david
145+# Eliminated all use of the SGMLS_Event::key method.
146+#
147+# Revision 1.7 1995/11/15 20:22:24 david
148+# Changed "use Output" to "use SGMLS::Output". Qualified the STDIN
149+# filehandle for the SGMLS object with the main:: package name.
150+#
151+# Revision 1.6 1995/08/12 16:15:14 david
152+# Revised version for 1.01 distribution.
153+#
154+# Revision 1.5 1995/04/27 11:52:25 david
155+# Changed 'print' to 'main::output' for re handler; empty string
156+# translates into an empty sub {} rather than a sub printing an empty
157+# string; instead of evaluating every argument as a perl script, take
158+# only the first as a perl script and the rest as its arguments; allow
159+# empty scripts or scripts which do not end with '1;'; pass the event
160+# itself as the second argument to each handler, after the event data.
161+#
162+# Revision 1.4 1995/04/23 14:44:58 david
163+# Use the Output package. Fixed the $version variable.
164+#
165+# Revision 1.3 1995/04/22 21:02:49 david
166+# Added some missing 'last SWITCH;' statements in the sgmls function.
167+#
168+# Revision 1.2 1995/04/22 20:58:48 david
169+# Added $SGMLS_PL::version variable and changed SDATA notation from
170+# [SDATA] to |SDATA|.
171+#
172+# Revision 1.1 1995/04/22 14:40:50 david
173+# Initial revision
174+#
175+########################################################################
176+
177+use SGMLS::Output;
178+
179+package SGMLS_PL;
180+use SGMLS;
181+
182+$version = '$Id: sgmlspl,v 1.1 2004/02/23 01:23:07 ardo Exp $';
183+
184+#
185+# Set up handler defaults.
186+#
187+$start_document_handler = sub {};
188+$end_document_handler = sub {};
189+$start_element_handlers = { '' => sub {} };
190+$end_element_handlers = { '' => sub {} };
191+$cdata_handler = sub { main::output($_[0]); };
192+$sdata_handlers = { '' => sub { main::output($_[0]);} };
193+$re_handler = sub { main::output("\n"); };
194+$pi_handler = sub { '' => sub {} };
195+$entity_handlers = { '' => sub {} };
196+$start_subdoc_handlers = { '' => sub {} };
197+$end_subdoc_handlers = { '' => sub {} };
198+$conforming_handler = sub {};
199+
200+#
201+# Main access point: declare handlers for different SGML events.
202+#
203+# Usage: sgml(event, handler);
204+#
205+# The event may be one of the following strings, or a special pattern.
206+# The generic events are as follow:
207+#
208+# 'start' The beginning of the document.
209+# 'end' The end of the document.
210+# 'start_element' The beginning of an element.
211+# 'end_element' The end of an element.
212+# 'cdata' Regular character data.
213+# 'sdata' Special system-specific data.
214+# 're' A record-end.
215+# 'pi' A processing instruction.
216+# 'entity' An external-entity reference.
217+# 'start_subdoc' The beginning of a subdocument entity.
218+# 'end_subdoc' The end of a subdocument entity.
219+# 'conforming' The document is conforming.
220+#
221+# In addition to these generic events, it is possible to handlers
222+# for certain specific, named events, as follow:
223+#
224+# '<GI>' The beginning of element GI.
225+# '</GI>' The end of element GI.
226+# '[SDATA]' The system-specific data SDATA.
227+# '&ENAME;' A reference to the external entity ENAME.
228+# '{ENAME}' The beginning of the subdocument-entity ENAME.
229+# '{/ENAME}' The end of the subdocument-entity ENAME.
230+#
231+#
232+# The handler may be a string, which will simply be printed when the
233+# event occurs (this is usually useful only for the specific, named
234+# events), or a reference to an anonymous subroutine, which will
235+# receive two arguments: the event data and the event itself. For
236+# example,
237+#
238+# sgml('<FOO>', "\n\\begin{foo}\n");
239+#
240+# and
241+#
242+# sgml('<FOO>', sub { output("\n\\begin{foo}\n"); });
243+#
244+# will have identical results.
245+#
246+sub main::sgml {
247+ my ($spec,$handler) = (@_);
248+ if (ref($handler) ne 'CODE') {
249+ $handler =~ s/\\/\\\\/g;
250+ $handler =~ s/'/\\'/g;
251+ if ($handler eq '') {
252+ $handler = sub {};
253+ } else {
254+ $handler = eval "sub { main::output('$handler'); };";
255+ }
256+ }
257+ SWITCH: {
258+ # start-document handler
259+ $spec eq 'start' && do {
260+ $start_document_handler = $handler;
261+ last SWITCH;
262+ };
263+ # end-document handler
264+ $spec eq 'end' && do {
265+ $end_document_handler = $handler;
266+ last SWITCH;
267+ };
268+ # start-element handler
269+ $spec =~ /^<([^\/].*|)>$/ && do {
270+ $start_element_handlers->{$1} = $handler;
271+ last SWITCH;
272+ };
273+ # generic start-element handler
274+ $spec eq 'start_element' && do {
275+ $start_element_handlers->{''} = $handler;
276+ last SWITCH;
277+ };
278+ # end-element handler
279+ $spec =~ /^<\/(.*)>$/ && do {
280+ $end_element_handlers->{$1} = $handler;
281+ last SWITCH;
282+ };
283+ # generic end-element handler
284+ $spec =~ 'end_element' && do {
285+ $end_element_handlers->{''} = $handler;
286+ last SWITCH;
287+ };
288+ # cdata handler
289+ $spec eq 'cdata' && do {
290+ $cdata_handler = $handler;
291+ last SWITCH;
292+ };
293+ # sdata handler
294+ $spec =~ /^\|(.*)\|$/ && do {
295+ $sdata_handlers->{$1} = $handler;
296+ last SWITCH;
297+ };
298+ # generic sdata handler
299+ $spec eq 'sdata' && do {
300+ $sdata_handlers->{''} = $handler;
301+ last SWITCH;
302+ };
303+ # record-end handler
304+ $spec eq 're' && do {
305+ $re_handler = $handler;
306+ last SWITCH;
307+ };
308+ # processing-instruction handler
309+ $spec eq 'pi' && do {
310+ $pi_handler = $handler;
311+ last SWITCH;
312+ };
313+ # entity-reference handler
314+ $spec =~ /^\&(.*);$/ && do {
315+ $entity_handlers->{$1} = $handler;
316+ last SWITCH;
317+ };
318+ # generic entity-reference handler
319+ $spec eq 'entity' && do {
320+ $entity_handlers->{''} = $handler;
321+ last SWITCH;
322+ };
323+ # start-subdoc handler
324+ $spec =~ /^\{([^\/].*|)\}$/ && do {
325+ $start_subdoc_handlers->{$1} = $handler;
326+ last SWITCH;
327+ };
328+ # generic start-subdoc handler
329+ $spec eq 'start_subdoc' && do {
330+ $start_subdoc_handlers->{''} = $handler;
331+ last SWITCH;
332+ };
333+ # end-subdoc handler
334+ $spec =~ /^\{\/(.*)\}$/ && do {
335+ $end_subdoc_handlers->{$1} = $handler;
336+ last SWITCH;
337+ };
338+ # generic end-subdoc handler
339+ $spec eq 'end_subdoc' && do {
340+ $end_subdoc_handlers->{''} = $handler;
341+ last SWITCH;
342+ };
343+ # conforming handler
344+ $spec eq 'conforming' && do {
345+ $conforming_handler = $handler;
346+ last SWITCH;
347+ };
348+
349+ die "Bad SGML handler pattern: $spec\n";
350+ }
351+}
352+
353+
354+#
355+# The first argument on the command line is a perl module which will be
356+# read here and evaluated in the 'main' package -- everything else will
357+# be an argument to it.
358+#
359+package main;
360+
361+$ARGV = shift;
362+unless ($ARGV eq '' || do 'sgmlspl-specs/' . $ARGV || do $ARGV) {
363+ if (!-e $ARGV) {
364+ die "FATAL: $ARGV does not exist.\n";
365+ } elsif (!-r $ARGV) {
366+ die "FATAL: $ARGV exists but is read-protected.\n";
367+ } elsif ($@) {
368+ die "FATAL: $@\n";
369+ }
370+}
371+
372+
373+#
374+# Do the actual work, using the SGMLS package.
375+#
376+package SGMLS_PL;
377+
378+$parse = new SGMLS(main::STDIN); # a new parse object
379+
380+&{$start_document_handler}(); # run the start handler.
381+
382+ # run the appropriate handler for each
383+ # event
384+while ($event = $parse->next_event) {
385+ my $type = $event->type;
386+ SWITCH: {
387+ $type eq 'start_element' && do {
388+ &{($start_element_handlers->{$event->data->name}||
389+ $start_element_handlers->{''} || sub {})}($event->data,$event);
390+ last SWITCH;
391+ };
392+ $type eq 'end_element' && do {
393+ &{($end_element_handlers->{$event->data->name}||
394+ $end_element_handlers->{''} || sub {})}($event->data,$event);
395+ last SWITCH;
396+ };
397+ $type eq 'cdata' && do {
398+ &{$cdata_handler}($event->data,$event);
399+ last SWITCH;
400+ };
401+ $type eq 'sdata' && do {
402+ &{($sdata_handlers->{$event->data}||
403+ $sdata_handlers->{''} || sub {})}($event->data,$event);
404+ last SWITCH;
405+ };
406+ $type eq 're' && do {
407+ &{$re_handler}($event->data,$event);
408+ last SWITCH;
409+ };
410+ $type eq 'pi' && do {
411+ &{$pi_handler}($event->data,$event);
412+ last SWITCH;
413+ };
414+ $type eq 'entity' && do {
415+ &{($entity_handlers->{$event->data->name}||
416+ $entity_handlers->{''} || sub {})}($event->data,$event);
417+ last SWITCH;
418+ };
419+ $type eq 'start_subdoc' && do {
420+ &{($start_subdoc_handlers->{$event->data->name}||
421+ $start_subdoc_handlers->{''} || sub {})}($event->data,$event);
422+ last SWITCH;
423+ };
424+ $type eq 'end_subdoc' && do {
425+ &{($end_subdoc_handlers->{$event->data->name}||
426+ $end_subdoc_handlers->{''} || sub {})}($event->data,$event);
427+ last SWITCH;
428+ };
429+ $type eq 'conforming' && do {
430+ &{$conforming_handler}($event->data,$event);
431+ last SWITCH;
432+ };
433+
434+ die "Unknown SGML event type: $type\n";
435+ }
436+}
437+
438+&{$end_document_handler}(); # run the end handler
439--- libsgmls-perl-1.03ii.orig/sgmlspl.pl
440+++ libsgmls-perl-1.03ii/sgmlspl.pl
441@@ -238,7 +238,7 @@
442 package main;
443
444 $ARGV = shift;
445-unless ($ARGV eq '' || do $ARGV) {
446+unless ($ARGV eq '' || do 'sgmlspl-specs/' . $ARGV || do $ARGV) {
447 if (!-e $ARGV) {
448 die "FATAL: $ARGV does not exist.\n";
449 } elsif (!-r $ARGV) {
450--- libsgmls-perl-1.03ii.orig/SGMLS.pm
451+++ libsgmls-perl-1.03ii/SGMLS.pm
452@@ -1,7 +1,7 @@
453 package SGMLS;
454 use Carp;
455
456-$version = '$Revision: 1.14 $';
457+$version = '$Revision: 1.1 $';
458
459 =head1 NAME
460
diff --git a/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb b/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb
deleted file mode 100644
index be03fc566d..0000000000
--- a/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1SUMMARY = "A simple post-processor for SGMLS and NSGMLS"
2HOMEPAGE = "http://search.cpan.org/src/DMEGG/SGMLSpm-1.03ii/DOC/HTML/SGMLSpm/sgmlspm.html"
3SECTION = "libs"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
6PR = "r3"
7
8SRC_URI = "http://www.cpan.org/authors/id/D/DM/DMEGG/SGMLSpm-${PV}.tar.gz \
9 file://combined.patch"
10
11SRC_URI[md5sum] = "5bcb197fd42e67d51c739b1414d514a7"
12SRC_URI[sha256sum] = "f06895c0206dada9f9e7f07ecaeb6a3651fd648f4820f49c1f76bfeaec2f2913"
13
14S = "${WORKDIR}/SGMLSpm"
15
16inherit native cpan
diff --git a/meta/recipes-devtools/sgmlspl/sgmlspl-native_git.bb b/meta/recipes-devtools/sgmlspl/sgmlspl-native_git.bb
new file mode 100644
index 0000000000..5e3460ff3a
--- /dev/null
+++ b/meta/recipes-devtools/sgmlspl/sgmlspl-native_git.bb
@@ -0,0 +1,20 @@
1SUMMARY = "A simple post-processor for SGMLS and NSGMLS"
2HOMEPAGE = "https://github.com/gitpan/SGMLSpm"
3SECTION = "libs"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
6
7SRC_URI = "git://github.com/gitpan/SGMLSpm \
8 "
9
10SRCREV = "71595b9b5e36bfc00046995e058926bd27793fef"
11
12PV = "1.1+git${SRCPV}"
13
14S = "${WORKDIR}/git"
15
16inherit native cpan
17
18do_install_append() {
19 ln -s sgmlspl.pl ${D}${bindir}/sgmlspl
20}