r50794 - in /trunk/libextutils-parsexs-perl: Changes MANIFEST META.yml Makefile.PL debian/changelog lib/ExtUtils/ParseXS.pm t/XSMore.xs t/lib/ t/more.t
jawnsy-guest at users.alioth.debian.org
jawnsy-guest at users.alioth.debian.org
Tue Jan 12 15:05:54 UTC 2010
Author: jawnsy-guest
Date: Tue Jan 12 15:05:37 2010
New Revision: 50794
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=50794
Log:
New upstream release
Added:
trunk/libextutils-parsexs-perl/t/lib/
- copied from r50785, branches/upstream/libextutils-parsexs-perl/current/t/lib/
Modified:
trunk/libextutils-parsexs-perl/Changes
trunk/libextutils-parsexs-perl/MANIFEST
trunk/libextutils-parsexs-perl/META.yml
trunk/libextutils-parsexs-perl/Makefile.PL
trunk/libextutils-parsexs-perl/debian/changelog
trunk/libextutils-parsexs-perl/lib/ExtUtils/ParseXS.pm
trunk/libextutils-parsexs-perl/t/XSMore.xs
trunk/libextutils-parsexs-perl/t/more.t
Modified: trunk/libextutils-parsexs-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/Changes?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/Changes (original)
+++ trunk/libextutils-parsexs-perl/Changes Tue Jan 12 15:05:37 2010
@@ -1,4 +1,24 @@
Revision history for Perl extension ExtUtils::ParseXS.
+
+2.22 - Mon Jan 11 15:00:07 EST 2010
+
+ No changes from 2.21_02
+
+2.21_02 - Sat Dec 19 10:55:41 EST 2009
+
+ Bug fixes:
+
+ - fixed bugs and added tests for INCLUDE_COMMAND [Steffen Mueller]
+
+2.21_01 - Sat Dec 19 07:22:44 EST 2009
+
+ Enhancements:
+
+ - New 'INCLUDE_COMMAND' directive [Steffen Mueller]
+
+ Bug fixes:
+
+ - Workaround for empty newXS macro found in P5NCI [Goro Fuji]
2.21 - Mon Oct 5 11:17:53 EDT 2009
@@ -12,7 +32,7 @@
Bug fixes:
- Use "char* file" for perl < 5.9, not "char[] file"; fixes mod_perl
- breakage due to prior attempts to fix RT#48104 [David Golden]
+ breakage due to prior attempts to fix RT#48104 [David Golden]
2.20_06 - Fri Oct 2 23:45:45 EDT 2009
@@ -62,8 +82,8 @@
2.20_03 - Thu Jul 23 23:14:50 EDT 2009
Bug fixes:
- - Fixed "const char *" errors for 5.8.8 (and older) (RT#48104)
- [Vincent Pit]
+ - Fixed "const char *" errors for 5.8.8 (and older) (RT#48104)
+ [Vincent Pit]
- Added newline before a preprocessor directive (RT#30673)
[patch by hjp]
Modified: trunk/libextutils-parsexs-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/MANIFEST?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/MANIFEST (original)
+++ trunk/libextutils-parsexs-perl/MANIFEST Tue Jan 12 15:05:37 2010
@@ -12,6 +12,7 @@
t/bugs/typemap
t/include/nscore.h
t/include/nsUniversalDetector.h
+t/lib/IncludeTester.pm
t/more.t
t/typemap
t/usage.t
Modified: trunk/libextutils-parsexs-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/META.yml?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/META.yml (original)
+++ trunk/libextutils-parsexs-perl/META.yml Tue Jan 12 15:05:37 2010
@@ -1,32 +1,32 @@
---
-name: ExtUtils-ParseXS
-version: 2.21
+abstract: 'converts Perl XS code into C code'
author:
- 'Ken Williams, <ken at mathforum.org>'
- 'David Golden, <dagolden at cpan.org>'
-abstract: converts Perl XS code into C code
-license: perl
-resources:
- MailingList: mailto:perl5-porters at perl.org
- bugtracker: http://rt.cpan.org/Dist/Display.html?Queue=ExtUtils-ParseXS
- license: http://dev.perl.org/licenses/
- repository: git://github.com/dagolden/extutils-parsexs.git
build_requires:
Carp: 0
DynaLoader: 0
ExtUtils::CBuilder: 0
Test::More: 0.47
+generated_by: 'Module::Build version 0.3515'
+license: perl
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
+name: ExtUtils-ParseXS
+provides:
+ ExtUtils::ParseXS:
+ file: lib/ExtUtils/ParseXS.pm
+ version: 2.22
requires:
Cwd: 0
Exporter: 0
File::Basename: 0
File::Spec: 0
Symbol: 0
-provides:
- ExtUtils::ParseXS:
- file: lib/ExtUtils/ParseXS.pm
- version: 2.21
-generated_by: Module::Build version 0.3502
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+resources:
+ MailingList: mailto:perl5-porters at perl.org
+ bugtracker: http://rt.cpan.org/Dist/Display.html?Queue=ExtUtils-ParseXS
+ license: http://dev.perl.org/licenses/
+ repository: git://github.com/dagolden/extutils-parsexs.git
+version: 2.22
Modified: trunk/libextutils-parsexs-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/Makefile.PL?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/Makefile.PL (original)
+++ trunk/libextutils-parsexs-perl/Makefile.PL Tue Jan 12 15:05:37 2010
@@ -1,4 +1,4 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.35_02
+# Note: this file was auto-generated by Module::Build::Compat version 0.35_15
use ExtUtils::MakeMaker;
WriteMakefile
(
Modified: trunk/libextutils-parsexs-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/debian/changelog?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/debian/changelog (original)
+++ trunk/libextutils-parsexs-perl/debian/changelog Tue Jan 12 15:05:37 2010
@@ -1,3 +1,9 @@
+libextutils-parsexs-perl (2.220000-1) UNRELEASED; urgency=low
+
+ * New upstream release
+
+ -- Jonathan Yu <jawnsy at cpan.org> Tue, 12 Jan 2010 09:55:40 -0500
+
libextutils-parsexs-perl (2.210000-1) unstable; urgency=low
[ Jonathan Yu ]
Modified: trunk/libextutils-parsexs-perl/lib/ExtUtils/ParseXS.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/lib/ExtUtils/ParseXS.pm?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/lib/ExtUtils/ParseXS.pm (original)
+++ trunk/libextutils-parsexs-perl/lib/ExtUtils/ParseXS.pm Tue Jan 12 15:05:37 2010
@@ -18,7 +18,7 @@
my($XSS_work_idx, $cpp_next_tmp);
use vars qw($VERSION);
-$VERSION = '2.21';
+$VERSION = '2.22';
$VERSION = eval $VERSION if $VERSION =~ /_/;
use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
@@ -230,9 +230,10 @@
# Match an XS keyword
$BLOCK_re= '\s*(' . join('|', qw(
- REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE OUTPUT
- CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE VERSIONCHECK INCLUDE
- SCOPE INTERFACE INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
+ REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE
+ OUTPUT CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE
+ VERSIONCHECK INCLUDE INCLUDE_COMMAND SCOPE INTERFACE
+ INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
)) . "|$END)\\s*:";
@@ -448,7 +449,7 @@
$xsreturn = 0;
$_ = shift(@line);
- while (my $kwd = check_keyword("REQUIRE|PROTOTYPES|FALLBACK|VERSIONCHECK|INCLUDE|SCOPE")) {
+ while (my $kwd = check_keyword("REQUIRE|PROTOTYPES|FALLBACK|VERSIONCHECK|INCLUDE(?:_COMMAND)?|SCOPE")) {
&{"${kwd}_handler"}() ;
next PARAGRAPH unless @line ;
$_ = shift(@line);
@@ -934,6 +935,10 @@
EOF
}
}
+ elsif($newXS eq 'newXS'){ # work around P5NCI's empty newXS macro
+ push(@InitFileCode,
+ " ${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
+ }
else {
push(@InitFileCode,
" (void)${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
@@ -1481,27 +1486,11 @@
}
-sub INCLUDE_handler ()
+sub PushXSStack
{
- # the rest of the current line should contain a valid filename
-
- TrimWhitespace($_) ;
-
- death("INCLUDE: filename missing")
- unless $_ ;
-
- death("INCLUDE: output pipe is illegal")
- if /^\s*\|/ ;
-
- # simple minded recursion detector
- death("INCLUDE loop detected")
- if $IncludedFiles{$_} ;
-
- ++ $IncludedFiles{$_} unless /\|\s*$/ ;
-
# Save the current file context.
push(@XSStack, {
- type => 'file',
+ type => 'file',
LastLine => $lastline,
LastLineNo => $lastline_no,
Line => \@line,
@@ -1511,6 +1500,32 @@
Handle => $FH,
}) ;
+ }
+
+sub INCLUDE_handler ()
+ {
+ # the rest of the current line should contain a valid filename
+
+ TrimWhitespace($_) ;
+
+ death("INCLUDE: filename missing")
+ unless $_ ;
+
+ death("INCLUDE: output pipe is illegal")
+ if /^\s*\|/ ;
+
+ # simple minded recursion detector
+ death("INCLUDE loop detected")
+ if $IncludedFiles{$_} ;
+
+ ++ $IncludedFiles{$_} unless /\|\s*$/ ;
+
+ Warn("The INCLUDE directive with a command is deprecated." .
+ " Use INCLUDE_COMMAND instead!")
+ if /\|\s*$/ ;
+
+ PushXSStack();
+
$FH = Symbol::gensym();
# open the new file
@@ -1535,7 +1550,51 @@
$lastline = $_ ;
$lastline_no = $. ;
-
+ }
+
+sub INCLUDE_COMMAND_handler ()
+ {
+ # the rest of the current line should contain a valid command
+
+ TrimWhitespace($_) ;
+
+ death("INCLUDE_COMMAND: command missing")
+ unless $_ ;
+
+ death("INCLUDE_COMMAND: pipes are illegal")
+ if /^\s*\|/ or /\|\s*$/ ;
+
+ PushXSStack();
+
+ $FH = Symbol::gensym();
+
+ # If $^X is used in INCLUDE_COMMAND, we know it's supposed to be
+ # the same perl interpreter as we're currently running
+ s/^\s*\$\^X/$^X/;
+
+ # open the new file
+ open ($FH, "-|", "$_")
+ or death("Cannot run command '$_' to include its output: $!") ;
+
+ print Q(<<"EOF");
+#
+#/* INCLUDE_COMMAND: Including output of '$_' from '$filename' */
+#
+EOF
+
+ $filename = $_ ;
+ $filepathname = "$dir/$filename";
+
+ # Prime the pump by reading the first
+ # non-blank line
+
+ # skip leading blank lines
+ while (<$FH>) {
+ last unless /^\s*$/ ;
+ }
+
+ $lastline = $_ ;
+ $lastline_no = $. ;
}
sub PopFile()
Modified: trunk/libextutils-parsexs-perl/t/XSMore.xs
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/t/XSMore.xs?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/t/XSMore.xs (original)
+++ trunk/libextutils-parsexs-perl/t/XSMore.xs Tue Jan 12 15:05:37 2010
@@ -106,6 +106,8 @@
int
len(char* s, int length(s))
+INCLUDE_COMMAND: $^X -Ilib -It/lib -MIncludeTester -e IncludeTester::print_xs
+
#if 1
INCLUDE: XSInclude.xsh
Modified: trunk/libextutils-parsexs-perl/t/more.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libextutils-parsexs-perl/t/more.t?rev=50794&op=diff
==============================================================================
--- trunk/libextutils-parsexs-perl/t/more.t (original)
+++ trunk/libextutils-parsexs-perl/t/more.t Tue Jan 12 15:05:37 2010
@@ -8,7 +8,7 @@
use attributes;
use overload;
-plan tests => 24;
+plan tests => 25;
my ($source_file, $obj_file, $lib_file);
@@ -42,7 +42,7 @@
}
SKIP: {
- skip "no dynamic loading", 5
+ skip "no dynamic loading", 6
if !$b->have_compiler || !$Config{usedl};
my $module = 'XSMore';
$lib_file = $b->link( objects => $obj_file, module_name => $module );
@@ -88,6 +88,8 @@
is XSMore::len("foo"), 3, 'the length keyword';
+ is XSMore::sum(5, 9), 14, 'the INCLUDE_COMMAND directive';
+
# Win32 needs to close the DLL before it can unlink it, but unfortunately
# dl_unload_file was missing on Win32 prior to perl change #24679!
if ($^O eq 'MSWin32' and defined &DynaLoader::dl_unload_file) {
More information about the Pkg-perl-cvs-commits
mailing list