summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/sgmlspl
diff options
context:
space:
mode:
authorScott Garman <scott.a.garman@intel.com>2011-01-25 15:40:47 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-01 23:59:36 +0000
commit60450eb353c17faac98e12837507430e968e9d02 (patch)
treeb8316cd420497b0037d75b569e6ecd96821c3aba /meta/recipes-devtools/sgmlspl
parent942b3b1d37239ef5ecf06f480f8c84b3f4da38a2 (diff)
downloadopenembedded-core-60450eb353c17faac98e12837507430e968e9d02.tar.gz
openembedded-core-60450eb353c17faac98e12837507430e968e9d02.tar.bz2
openembedded-core-60450eb353c17faac98e12837507430e968e9d02.zip
sgmlspl: new recipe, v1.03ii
Recipe derived from OpenEmbedded. Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Diffstat (limited to 'meta/recipes-devtools/sgmlspl')
-rw-r--r--meta/recipes-devtools/sgmlspl/files/combined.patch457
-rw-r--r--meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb17
2 files changed, 474 insertions, 0 deletions
diff --git a/meta/recipes-devtools/sgmlspl/files/combined.patch b/meta/recipes-devtools/sgmlspl/files/combined.patch
new file mode 100644
index 0000000000..31536f53e6
--- /dev/null
+++ b/meta/recipes-devtools/sgmlspl/files/combined.patch
@@ -0,0 +1,457 @@
+Patch obtained from OpenEmbedded.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+--- libsgmls-perl-1.03ii.orig/Makefile
++++ libsgmls-perl-1.03ii/Makefile
+@@ -94,5 +94,5 @@
+ mv /tmp/${DIST} SGMLSpm
+
+ clean:
+- cd DOC; make clean
++ #cd DOC; make clean
+ rm -f *~ core *.tar *.tar.gz
+--- libsgmls-perl-1.03ii.orig/Makefile.PL
++++ libsgmls-perl-1.03ii/Makefile.PL
+@@ -0,0 +1,17 @@
++use ExtUtils::MakeMaker;
++# See lib/ExtUtils/MakeMaker.pm for details of how to influence
++# the contents of the Makefile that is written.
++WriteMakefile(
++ 'NAME' => 'SGMLS',
++ 'VERSION' => '1.03ii',
++ 'PM' => { 'SGMLS.pm' => '$(INST_LIBDIR)/SGMLS.pm',
++ 'Output.pm' => '$(INST_LIBDIR)/SGMLS/Output.pm',
++ 'Refs.pm' => '$(INST_LIBDIR)/SGMLS/Refs.pm',
++ 'skel.pl' => '$(INST_LIBDIR)/sgmlspl-specs/skel.pl',
++ },
++ 'MAN3PODS'=> { 'SGMLS.pm' => '$(INST_MAN3DIR)/SGMLS.3pm',
++ 'Output.pm' => '$(INST_MAN3DIR)/SGMLS::Output.3pm',
++ 'Refs.pm' => '$(INST_MAN3DIR)/SGMLS::Refs.3pm',
++ },
++ 'EXE_FILES' => [ 'sgmlspl', ],
++);
+--- libsgmls-perl-1.03ii.orig/Output.pm
++++ libsgmls-perl-1.03ii/Output.pm
+@@ -5,7 +5,7 @@
+ @ISA = Exporter;
+ @EXPORT = qw(output push_output pop_output);
+
+-$version = '$Id: Output.pm,v 1.6 1995/12/05 12:21:51 david Exp $';
++$version = '$Id: Output.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
+
+ =head1 NAME
+
+--- libsgmls-perl-1.03ii.orig/Refs.pm
++++ libsgmls-perl-1.03ii/Refs.pm
+@@ -2,11 +2,11 @@
+
+ use Carp;
+
+-$version = '$Id: Refs.pm,v 1.5 1995/12/03 21:28:36 david Exp $';
++$version = '$Id: Refs.pm,v 1.1 1999/10/26 19:30:45 ardo Exp $';
+
+ =head1 NAME
+
+-SGMLS::Refs
++SGMLS::Refs - Forward refeence handling
+
+ =head1 SYNOPSIS
+
+--- libsgmls-perl-1.03ii.orig/sgmlspl.1
++++ libsgmls-perl-1.03ii/sgmlspl.1
+@@ -0,0 +1,47 @@
++.\" -*- nroff -*-
++.\" ----------------------------------------------------------------------
++.TH SGMLSPL 1 "October 26, 1999" "SGMLSPL" "SGMLSPL"
++.\"
++.\" ----------------------------------------------------------------------
++.SH "NAME"
++sgmlspl \- a simple post-processor for nsgmls
++.\"
++.\" ----------------------------------------------------------------------
++.SH "SYNOPSIS"
++.B sgmlspl
++.I "spec file"
++.\"
++.\" ----------------------------------------------------------------------
++.SH "DESCRIPTION"
++sgmlspl is a sample application to convert SGML documents to other
++formats by providing a specification file detailing exactly how to
++handle each element, external data entity, subdocument entity, CDATA
++string, record end, SDATA string, and processing instruction.
++
++To use sgmlspl, prepare a specification file containing regular perl5
++code. If the SGML document were named doc.sgml, the sgmlspl
++specification file were named, spec.pl, and the name of the new file
++were doc.latex, then use the following command in a Unix shell to
++convert the SGML document:
++
++nsgmls doc.sgml | sgmlspl spec.pl > doc.latex
++
++sgmlspl will pass any additional arguments on to the specification
++file, which can then process them in the regular perl5 fashion.
++.\"
++.\" ----------------------------------------------------------------------
++.SH "SEE ALSO"
++.TP
++.BR /usr/share/doc/sgmls-doc/sgmlspl/sgmlspl.html
++sgmlspl documentation in HTML format
++.TP
++.BR /usr/share/doc/sgmls-doc/SGMLSpm/sgmls.html
++SGMLS documentation in HTML format
++.TP
++.BR nsgmls (1)
++.\"
++.\" ----------------------------------------------------------------------
++.SH "AUTHOR"
++Ardo van Rangelrooij <ardo@debian.org>
++.\"
++.\" ----------------------------------------------------------------------
+--- libsgmls-perl-1.03ii.orig/sgmlspl
++++ libsgmls-perl-1.03ii/sgmlspl
+@@ -0,0 +1,323 @@
++#!/usr/bin/perl
++########################################################################
++# sgmlspl: a simple SGML postprocesser for the SGMLS and NSGMLS
++# parsers (requires SGMLS.pm library).
++#
++# Copyright (c) 1995 by David Megginson <dmeggins@aix1.uottawa.ca>
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++#
++# $Log: sgmlspl,v $
++# Revision 1.1 2004/02/23 01:23:07 ardo
++# Added debian changes for version 1.03ii-27.
++#
++# Revision 1.1 2001/04/15 14:42:01 ardo
++# *** empty log message ***
++#
++# Revision 1.8 1995/12/03 21:46:31 david
++# Eliminated all use of the SGMLS_Event::key method.
++#
++# Revision 1.7 1995/11/15 20:22:24 david
++# Changed "use Output" to "use SGMLS::Output". Qualified the STDIN
++# filehandle for the SGMLS object with the main:: package name.
++#
++# Revision 1.6 1995/08/12 16:15:14 david
++# Revised version for 1.01 distribution.
++#
++# Revision 1.5 1995/04/27 11:52:25 david
++# Changed 'print' to 'main::output' for re handler; empty string
++# translates into an empty sub {} rather than a sub printing an empty
++# string; instead of evaluating every argument as a perl script, take
++# only the first as a perl script and the rest as its arguments; allow
++# empty scripts or scripts which do not end with '1;'; pass the event
++# itself as the second argument to each handler, after the event data.
++#
++# Revision 1.4 1995/04/23 14:44:58 david
++# Use the Output package. Fixed the $version variable.
++#
++# Revision 1.3 1995/04/22 21:02:49 david
++# Added some missing 'last SWITCH;' statements in the sgmls function.
++#
++# Revision 1.2 1995/04/22 20:58:48 david
++# Added $SGMLS_PL::version variable and changed SDATA notation from
++# [SDATA] to |SDATA|.
++#
++# Revision 1.1 1995/04/22 14:40:50 david
++# Initial revision
++#
++########################################################################
++
++use SGMLS::Output;
++
++package SGMLS_PL;
++use SGMLS;
++
++$version = '$Id: sgmlspl,v 1.1 2004/02/23 01:23:07 ardo Exp $';
++
++#
++# Set up handler defaults.
++#
++$start_document_handler = sub {};
++$end_document_handler = sub {};
++$start_element_handlers = { '' => sub {} };
++$end_element_handlers = { '' => sub {} };
++$cdata_handler = sub { main::output($_[0]); };
++$sdata_handlers = { '' => sub { main::output($_[0]);} };
++$re_handler = sub { main::output("\n"); };
++$pi_handler = sub { '' => sub {} };
++$entity_handlers = { '' => sub {} };
++$start_subdoc_handlers = { '' => sub {} };
++$end_subdoc_handlers = { '' => sub {} };
++$conforming_handler = sub {};
++
++#
++# Main access point: declare handlers for different SGML events.
++#
++# Usage: sgml(event, handler);
++#
++# The event may be one of the following strings, or a special pattern.
++# The generic events are as follow:
++#
++# 'start' The beginning of the document.
++# 'end' The end of the document.
++# 'start_element' The beginning of an element.
++# 'end_element' The end of an element.
++# 'cdata' Regular character data.
++# 'sdata' Special system-specific data.
++# 're' A record-end.
++# 'pi' A processing instruction.
++# 'entity' An external-entity reference.
++# 'start_subdoc' The beginning of a subdocument entity.
++# 'end_subdoc' The end of a subdocument entity.
++# 'conforming' The document is conforming.
++#
++# In addition to these generic events, it is possible to handlers
++# for certain specific, named events, as follow:
++#
++# '<GI>' The beginning of element GI.
++# '</GI>' The end of element GI.
++# '[SDATA]' The system-specific data SDATA.
++# '&ENAME;' A reference to the external entity ENAME.
++# '{ENAME}' The beginning of the subdocument-entity ENAME.
++# '{/ENAME}' The end of the subdocument-entity ENAME.
++#
++#
++# The handler may be a string, which will simply be printed when the
++# event occurs (this is usually useful only for the specific, named
++# events), or a reference to an anonymous subroutine, which will
++# receive two arguments: the event data and the event itself. For
++# example,
++#
++# sgml('<FOO>', "\n\\begin{foo}\n");
++#
++# and
++#
++# sgml('<FOO>', sub { output("\n\\begin{foo}\n"); });
++#
++# will have identical results.
++#
++sub main::sgml {
++ my ($spec,$handler) = (@_);
++ if (ref($handler) ne 'CODE') {
++ $handler =~ s/\\/\\\\/g;
++ $handler =~ s/'/\\'/g;
++ if ($handler eq '') {
++ $handler = sub {};
++ } else {
++ $handler = eval "sub { main::output('$handler'); };";
++ }
++ }
++ SWITCH: {
++ # start-document handler
++ $spec eq 'start' && do {
++ $start_document_handler = $handler;
++ last SWITCH;
++ };
++ # end-document handler
++ $spec eq 'end' && do {
++ $end_document_handler = $handler;
++ last SWITCH;
++ };
++ # start-element handler
++ $spec =~ /^<([^\/].*|)>$/ && do {
++ $start_element_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic start-element handler
++ $spec eq 'start_element' && do {
++ $start_element_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # end-element handler
++ $spec =~ /^<\/(.*)>$/ && do {
++ $end_element_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic end-element handler
++ $spec =~ 'end_element' && do {
++ $end_element_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # cdata handler
++ $spec eq 'cdata' && do {
++ $cdata_handler = $handler;
++ last SWITCH;
++ };
++ # sdata handler
++ $spec =~ /^\|(.*)\|$/ && do {
++ $sdata_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic sdata handler
++ $spec eq 'sdata' && do {
++ $sdata_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # record-end handler
++ $spec eq 're' && do {
++ $re_handler = $handler;
++ last SWITCH;
++ };
++ # processing-instruction handler
++ $spec eq 'pi' && do {
++ $pi_handler = $handler;
++ last SWITCH;
++ };
++ # entity-reference handler
++ $spec =~ /^\&(.*);$/ && do {
++ $entity_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic entity-reference handler
++ $spec eq 'entity' && do {
++ $entity_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # start-subdoc handler
++ $spec =~ /^\{([^\/].*|)\}$/ && do {
++ $start_subdoc_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic start-subdoc handler
++ $spec eq 'start_subdoc' && do {
++ $start_subdoc_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # end-subdoc handler
++ $spec =~ /^\{\/(.*)\}$/ && do {
++ $end_subdoc_handlers->{$1} = $handler;
++ last SWITCH;
++ };
++ # generic end-subdoc handler
++ $spec eq 'end_subdoc' && do {
++ $end_subdoc_handlers->{''} = $handler;
++ last SWITCH;
++ };
++ # conforming handler
++ $spec eq 'conforming' && do {
++ $conforming_handler = $handler;
++ last SWITCH;
++ };
++
++ die "Bad SGML handler pattern: $spec\n";
++ }
++}
++
++
++#
++# The first argument on the command line is a perl module which will be
++# read here and evaluated in the 'main' package -- everything else will
++# be an argument to it.
++#
++package main;
++
++$ARGV = shift;
++unless ($ARGV eq '' || do 'sgmlspl-specs/' . $ARGV || do $ARGV) {
++ if (!-e $ARGV) {
++ die "FATAL: $ARGV does not exist.\n";
++ } elsif (!-r $ARGV) {
++ die "FATAL: $ARGV exists but is read-protected.\n";
++ } elsif ($@) {
++ die "FATAL: $@\n";
++ }
++}
++
++
++#
++# Do the actual work, using the SGMLS package.
++#
++package SGMLS_PL;
++
++$parse = new SGMLS(main::STDIN); # a new parse object
++
++&{$start_document_handler}(); # run the start handler.
++
++ # run the appropriate handler for each
++ # event
++while ($event = $parse->next_event) {
++ my $type = $event->type;
++ SWITCH: {
++ $type eq 'start_element' && do {
++ &{($start_element_handlers->{$event->data->name}||
++ $start_element_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'end_element' && do {
++ &{($end_element_handlers->{$event->data->name}||
++ $end_element_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'cdata' && do {
++ &{$cdata_handler}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'sdata' && do {
++ &{($sdata_handlers->{$event->data}||
++ $sdata_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 're' && do {
++ &{$re_handler}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'pi' && do {
++ &{$pi_handler}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'entity' && do {
++ &{($entity_handlers->{$event->data->name}||
++ $entity_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'start_subdoc' && do {
++ &{($start_subdoc_handlers->{$event->data->name}||
++ $start_subdoc_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'end_subdoc' && do {
++ &{($end_subdoc_handlers->{$event->data->name}||
++ $end_subdoc_handlers->{''} || sub {})}($event->data,$event);
++ last SWITCH;
++ };
++ $type eq 'conforming' && do {
++ &{$conforming_handler}($event->data,$event);
++ last SWITCH;
++ };
++
++ die "Unknown SGML event type: $type\n";
++ }
++}
++
++&{$end_document_handler}(); # run the end handler
+--- libsgmls-perl-1.03ii.orig/sgmlspl.pl
++++ libsgmls-perl-1.03ii/sgmlspl.pl
+@@ -238,7 +238,7 @@
+ package main;
+
+ $ARGV = shift;
+-unless ($ARGV eq '' || do $ARGV) {
++unless ($ARGV eq '' || do 'sgmlspl-specs/' . $ARGV || do $ARGV) {
+ if (!-e $ARGV) {
+ die "FATAL: $ARGV does not exist.\n";
+ } elsif (!-r $ARGV) {
+--- libsgmls-perl-1.03ii.orig/SGMLS.pm
++++ libsgmls-perl-1.03ii/SGMLS.pm
+@@ -1,7 +1,7 @@
+ package SGMLS;
+ use Carp;
+
+-$version = '$Revision: 1.14 $';
++$version = '$Revision: 1.1 $';
+
+ =head1 NAME
+
diff --git a/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb b/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb
new file mode 100644
index 0000000000..1fab417f94
--- /dev/null
+++ b/meta/recipes-devtools/sgmlspl/sgmlspl-native_1.03ii.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A simple post-processor for SGMLS and NSGMLS"
+DESCRIPTION = "A simple post-processor for SGMLS and NSGMLS"
+HOMEPAGE = "http://search.cpan.org/src/DMEGG/SGMLSpm-1.03ii/DOC/HTML/SGMLSpm/sgmlspm.html"
+SECTION = "libs"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
+PR = "r0"
+
+SRC_URI = "http://www.cpan.org/authors/id/D/DM/DMEGG/SGMLSpm-${PV}.tar.gz \
+ file://combined.patch"
+
+SRC_URI[md5sum] = "5bcb197fd42e67d51c739b1414d514a7"
+SRC_URI[sha256sum] = "f06895c0206dada9f9e7f07ecaeb6a3651fd648f4820f49c1f76bfeaec2f2913"
+
+S = "${WORKDIR}/SGMLSpm"
+
+inherit native cpan