diff options
-rw-r--r-- | textproc/intltool/Makefile | 44 | ||||
-rw-r--r-- | textproc/intltool/distinfo | 2 | ||||
-rw-r--r-- | textproc/intltool/files/OrigTree.pm | 91 | ||||
-rw-r--r-- | textproc/intltool/files/patch-configure | 14 | ||||
-rw-r--r-- | textproc/intltool/files/patch-intltool-merge.in.in | 11 | ||||
-rw-r--r-- | textproc/intltool/pkg-descr | 16 | ||||
-rw-r--r-- | textproc/intltool/pkg-plist | 27 |
7 files changed, 205 insertions, 0 deletions
diff --git a/textproc/intltool/Makefile b/textproc/intltool/Makefile new file mode 100644 index 000000000..1162a118d --- /dev/null +++ b/textproc/intltool/Makefile @@ -0,0 +1,44 @@ +# New ports collection makefile for: intltool +# Date created: 19th January 2001 +# Whom: Ade Lovett <ade@FreeBSD.org> +# +# $FreeBSD: ports/textproc/intltool/Makefile,v 1.39 2004/08/23 01:06:48 marcus Exp $ +# + +PORTNAME= intltool +PORTVERSION= 0.31.3 +CATEGORIES= textproc gnome +MASTER_SITES= ${MASTER_SITE_GNOME} +MASTER_SITE_SUBDIR= sources/${PORTNAME}/0.31 +DIST_SUBDIR= gnome + +MAINTAINER= gnome@FreeBSD.org +COMMENT= Xml internationalization support for GNOME, and others + +BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/XML/Parser.pm:${PORTSDIR}/textproc/p5-XML-Parser +RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/XML/Parser.pm:${PORTSDIR}/textproc/p5-XML-Parser + +USE_BZIP2= yes +USE_GMAKE= yes +USE_ICONV= yes +USE_PERL5= yes +USE_GNOME= gnometarget +USE_REINPLACE= yes +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --libdir="${PREFIX}/libdata" + +MAN8= intltool-extract.8 intltool-merge.8 intltool-prepare.8 \ + intltool-update.8 intltoolize.8 + +CONFLICTS= xml-i18n-tools-* + +post-patch: + @${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${REINPLACE_CMD} \ + -E -e '/^mkinstalldirs[[:space:]]*=/s^/\.\.^^g' + +post-install: + ${MKDIR} ${PREFIX}/share/intltool/XML/Parser/Style + ${INSTALL_DATA} ${FILESDIR}/OrigTree.pm \ + ${PREFIX}/share/intltool/XML/Parser/Style + +.include <bsd.port.mk> diff --git a/textproc/intltool/distinfo b/textproc/intltool/distinfo new file mode 100644 index 000000000..cb462e31b --- /dev/null +++ b/textproc/intltool/distinfo @@ -0,0 +1,2 @@ +MD5 (gnome/intltool-0.31.3.tar.bz2) = e1b8789f7a023657d827189f3602aa13 +SIZE (gnome/intltool-0.31.3.tar.bz2) = 125266 diff --git a/textproc/intltool/files/OrigTree.pm b/textproc/intltool/files/OrigTree.pm new file mode 100644 index 000000000..507f30e56 --- /dev/null +++ b/textproc/intltool/files/OrigTree.pm @@ -0,0 +1,91 @@ +# $Id: OrigTree.pm,v 1.1 2004-09-29 17:56:10 adamw Exp $ + +package XML::Parser::Style::OrigTree; +$XML::Parser::Built_In_Styles{OrigTree} = 1; + +sub Init { + my $expat = shift; + $expat->{Lists} = []; + $expat->{Curlist} = $expat->{OrigTree} = []; +} + +sub Start { + my $expat = shift; + my $tag = shift; + my $newlist = [ { @_ } ]; + push @{ $expat->{Lists} }, $expat->{Curlist}; + push @{ $expat->{Curlist} }, $tag => $newlist; + $expat->{Curlist} = $newlist; +} + +sub End { + my $expat = shift; + my $tag = shift; + $expat->{Curlist} = pop @{ $expat->{Lists} }; +} + +sub Char { + my $expat = shift; + my $text = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + if ($pos > 0 and $clist->[$pos - 1] eq '0') { + $clist->[$pos] .= $expat->original_string(); + } else { + push @$clist, 0 => $expat->original_string(); + } +} + +sub Final { + my $expat = shift; + delete $expat->{Curlist}; + delete $expat->{Lists}; + $expat->{OrigTree}; +} + +1; +__END__ + +=head1 NAME + +XML::Parser::Style::OrigTree + +=head1 SYNOPSIS + + use XML::Parser; + my $p = XML::Parser->new(Style => 'OrigTree'); + my $tree = $p->parsefile('foo.xml'); + +=head1 DESCRIPTION + +This module is a variant of the XML::Parser's Tree style parser. It +uses original_string, so that Entities are not converted. + +When parsing a document, C<parse()> will return a parse tree for the +document. Each node in the tree +takes the form of a tag, content pair. Text nodes are represented with +a pseudo-tag of "0" and the string that is their content. For elements, +the content is an array reference. The first item in the array is a +(possibly empty) hash reference containing attributes. The remainder of +the array is a sequence of tag-content pairs representing the content +of the element. + +So for example the result of parsing: + + <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo> + +would be: + Tag Content + ================================================================== + [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], + bar, [ {}, 0, "Howdy", ref, [{}]], + 0, "do" + ] + ] + +The root document "foo", has 3 children: a "head" element, a "bar" +element and the text "do". After the empty attribute hash, these are +represented in it's contents by 3 tag-content pairs. + +=cut diff --git a/textproc/intltool/files/patch-configure b/textproc/intltool/files/patch-configure new file mode 100644 index 000000000..1bc512837 --- /dev/null +++ b/textproc/intltool/files/patch-configure @@ -0,0 +1,14 @@ + +$FreeBSD: ports/textproc/intltool/files/patch-configure,v 1.3 2002/05/24 07:56:26 sobomax Exp $ + +--- configure.orig Mon May 20 01:34:39 2002 ++++ configure Fri May 24 10:52:12 2002 +@@ -1452,7 +1452,7 @@ + echo "$as_me: error: perl not found" >&2;} + { (exit 1); exit 1; }; } + fi +-if test -z "`$PERL -v | fgrep 'v5.' 2> /dev/null`" -a -z "`$PERL -v | fgrep 'version 5.' 2> /dev/null`"; then ++if test -z "`$PERL -v | fgrep '5.' 2> /dev/null`" -a -z "`$PERL -v | fgrep 'version 5.' 2> /dev/null`"; then + { { echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 + echo "$as_me: error: perl 5.x required for intltool" >&2;} + { (exit 1); exit 1; }; } diff --git a/textproc/intltool/files/patch-intltool-merge.in.in b/textproc/intltool/files/patch-intltool-merge.in.in new file mode 100644 index 000000000..bd377f740 --- /dev/null +++ b/textproc/intltool/files/patch-intltool-merge.in.in @@ -0,0 +1,11 @@ +--- intltool-merge.in.in.orig Mon Dec 8 21:27:55 2003 ++++ intltool-merge.in.in Mon Dec 8 21:28:05 2003 +@@ -875,7 +875,7 @@ + if ($MULTIPLE_OUTPUT) { + for my $lang (sort keys %po_files_by_lang) { + if ( ! -e $lang ) { +- mkdir $lang or die "Cannot create subdirectory $lang: $!\n"; ++ mkdir $lang, 0777 or die "Cannot create subdirectory $lang: $!\n"; + } + open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n"; + my $tree = readXml($FILE); diff --git a/textproc/intltool/pkg-descr b/textproc/intltool/pkg-descr new file mode 100644 index 000000000..b8fb6ebf9 --- /dev/null +++ b/textproc/intltool/pkg-descr @@ -0,0 +1,16 @@ +The module contains some utility scripts and assorted auto* magic for +internationalizing various kinds of XML files. + +* Features + +o Extract translatable strings from various source files (.xml.in, + .glade, .desktop.in, .server.in, .oaf.in). + +o Collect the extracted strings together with messages from traditional + source files (.c, .h) in po/$(PACKAGE).pot. + +o Merge back the translations from .po files into .xml, .desktop and + .oaf files. This merge step will happen at build resp. installation + time. + +WWW: http://www.gnome.org/ diff --git a/textproc/intltool/pkg-plist b/textproc/intltool/pkg-plist new file mode 100644 index 000000000..1f5de4439 --- /dev/null +++ b/textproc/intltool/pkg-plist @@ -0,0 +1,27 @@ +bin/intltool-extract +bin/intltool-merge +bin/intltool-prepare +bin/intltool-update +bin/intltoolize +bin/xml-i18n-toolize +share/aclocal/intltool.m4 +share/aclocal/xml-i18n-tools.m4 +share/intltool/XML/Parser/Style/OrigTree.pm +share/intltool/intltool-extract.in +share/intltool/intltool-merge.in +share/intltool/intltool-po-Makefile.in.in-patch-1 +share/intltool/intltool-po-Makefile.in.in-patch-2 +share/intltool/intltool-po-Makefile.in.in-patch-3 +share/intltool/intltool-po-Makefile.in.in-patch-4 +share/intltool/intltool-po-Makefile.in.in-patch-5 +share/intltool/intltool-po-Makefile.in.in-patch-6 +share/intltool/intltool-po-Makefile.in.in-patch-7 +share/intltool/intltool-po-Makefile.in.in-patch-8 +share/intltool/intltool-update.in +share/intltool/xml-i18n-po-Makefile.in.in-patch-1 +share/intltool/xml-i18n-po-Makefile.in.in-patch-2 +share/intltool/xml-i18n-po-Makefile.in.in-patch-5 +@dirrm share/intltool/XML/Parser/Style +@dirrm share/intltool/XML/Parser +@dirrm share/intltool/XML +@dirrm share/intltool |