diff options
author | grant <grant@pkgsrc.org> | 2004-05-16 23:17:33 +0000 |
---|---|---|
committer | grant <grant@pkgsrc.org> | 2004-05-16 23:17:33 +0000 |
commit | ab0aa0be4f6f825b0d24cb5771e625fc1d0eee5f (patch) | |
tree | 6d2d69d48d2add6eb6b697cfc4d4b494666fa961 /net/p5-SOAP-Lite | |
parent | b3f13a649f07368b8900686a515698c9f04c0961 (diff) | |
download | pkgsrc-ab0aa0be4f6f825b0d24cb5771e625fc1d0eee5f.tar.gz |
Updated p5-SOAP-Lite to 0.60a.
Major changes since 0.55:
+ Merged SOAP::MIME into SOAP::Lite's core
+ Cleaned up the UI for the Makefile.PL script - it now detects and
indicated whether certain Perl modules have been detected. The
table displaying installation preferences has been substantially
cleaned up, the code is much more modular and relies on a simple
data structure representing potential module dependencies.
+ Made the Makefile.PL script iterative - meaning, the user will be
continually be presented with their preferences until they
explicity choose to accept them and continue (bug 747295)
+ Differentiate between xsd:int and xsd:long to fix interoperability
bug with Java Web services
! Fixed MIME interoperability bug with Apache Axis - Axis' MIME
parser requires that MIME boundaries are terminiated by a CRLF
character where the MIME::Tools package only outputs a CR
character. A patch was integrated into the MIME::Tools module
which allows SOAP::Lite to specify its own MIME Boundary delimiter
! SOAP Faultcodes are now properly typed a xsd:QName, whereas
before they were xsd:string - to be honest, they are left untyped
so that toolkits can serialize them according to the schema
(bug 747283)
! Fixed documentation error around turning on a trace for multiple
"channels" (bug 747310)
! Disabled SOAPStruct (bug 747316)
! Fixed XML::Parser::Expat vulnerability (bug 747265)
! Added item in TROUBLESHOOTING section explaining that there is a
bug in Perl 5.8 that prevents +autodispatch from working properly.
The workaround is to use dispatch_from instead (bug 747290)
! Fixed warning when autodispatched call has no parameters
(bug 747286)
! Fixed warning when empty SOAPAction specified (bug 747278)
! Turned off HTTP keep alive patch by default, however users can now
turn on the patch by setting the constant PATCH_HTTP_KEEPALIVE to
1 (bug 747281)
! Removed dependency on the URI module for non-HTTP transports
(bug 747306)
Diffstat (limited to 'net/p5-SOAP-Lite')
-rw-r--r-- | net/p5-SOAP-Lite/Makefile | 7 | ||||
-rw-r--r-- | net/p5-SOAP-Lite/distinfo | 8 | ||||
-rw-r--r-- | net/p5-SOAP-Lite/patches/patch-aa | 241 |
3 files changed, 136 insertions, 120 deletions
diff --git a/net/p5-SOAP-Lite/Makefile b/net/p5-SOAP-Lite/Makefile index 141896b025a..8bdac02d286 100644 --- a/net/p5-SOAP-Lite/Makefile +++ b/net/p5-SOAP-Lite/Makefile @@ -1,15 +1,16 @@ -# $NetBSD: Makefile,v 1.4 2004/04/27 06:05:57 snj Exp $ +# $NetBSD: Makefile,v 1.5 2004/05/16 23:17:33 grant Exp $ # -DISTNAME= SOAP-Lite-0.55 +DISTNAME= SOAP-Lite-0.60a PKGNAME= p5-${DISTNAME} CATEGORIES= net perl5 -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=soaplite/} +MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=SOAP/} MAINTAINER= tech-pkg@NetBSD.org HOMEPAGE= http://soaplite.com/ COMMENT= Perl5 module providing a lightweight interface to SOAP +WRKSRC= ${WRKDIR}/${DISTNAME:C|[a-z]$||} DEPENDS+= p5-MIME-Base64-[0-9]*:../../converters/p5-MIME-Base64 DEPENDS+= p5-URI-[0-9]*:../../www/p5-URI DEPENDS+= p5-XML-Parser>=2.23:../../textproc/p5-XML-Parser diff --git a/net/p5-SOAP-Lite/distinfo b/net/p5-SOAP-Lite/distinfo index 7b19ea23e74..12e2f9c139e 100644 --- a/net/p5-SOAP-Lite/distinfo +++ b/net/p5-SOAP-Lite/distinfo @@ -1,5 +1,5 @@ -$NetBSD: distinfo,v 1.1.1.1 2004/01/06 00:26:43 grant Exp $ +$NetBSD: distinfo,v 1.2 2004/05/16 23:17:33 grant Exp $ -SHA1 (SOAP-Lite-0.55.tar.gz) = 34e502f58f66fac9daee2a7e6c8ec0b79b51e5ba -Size (SOAP-Lite-0.55.tar.gz) = 167076 bytes -SHA1 (patch-aa) = dc355501fbccdc14a9a82d1a037105f20d6f6126 +SHA1 (SOAP-Lite-0.60a.tar.gz) = 4b2f76ecb7f8b76bcaa86bd78dbf658d6db6f59a +Size (SOAP-Lite-0.60a.tar.gz) = 170390 bytes +SHA1 (patch-aa) = 5952133c40cd01eaeac2757781c0422d88b7dc55 diff --git a/net/p5-SOAP-Lite/patches/patch-aa b/net/p5-SOAP-Lite/patches/patch-aa index 25080620aab..920852ede23 100644 --- a/net/p5-SOAP-Lite/patches/patch-aa +++ b/net/p5-SOAP-Lite/patches/patch-aa @@ -1,114 +1,67 @@ -$NetBSD: patch-aa,v 1.1.1.1 2004/01/06 00:26:43 grant Exp $ - ---- Makefile.PL.orig Tue Apr 16 14:38:22 2002 -+++ Makefile.PL -@@ -5,137 +5,15 @@ use ExtUtils::MakeMaker; +--- Makefile.PL.orig 2003-08-19 04:43:01.000000000 +1000 ++++ Makefile.PL 2004-05-17 09:05:06.000000000 +1000 +@@ -5,26 +5,6 @@ require 5.004; use strict; --my $prerequisites = <<EOL; -- --Module Prerequisites Bundle Default ------------------------------- ----------------- ----------------------- ------- --Client HTTP support (SOAP::Transport::HTTP::Client) [yes] -- LWP::UserAgent ------------------------------- ----------------- ----------------------- ------- --Client HTTPS support (SOAP::Transport::HTTPS::Client, require OpenSSL) [no] -- Crypt::SSLeay ------------------------------- ----------------- ----------------------- ------- --Client SMTP/sendmail support (SOAP::Transport::MAILTO::Client) [yes] -- MIME::Lite ------------------------------- ----------------- ----------------------- ------- --Client FTP support (SOAP::Transport::FTP::Client) [yes] -- Net::FTP [libnet] -- IO::File [IO] ------------------------------- ----------------- ----------------------- ------- --Standalone HTTP server (SOAP::Transport::HTTP::Daemon) [yes] -- HTTP::Daemon ------------------------------- ----------------- ----------------------- ------- --Apache/mod_perl server (SOAP::Transport::HTTP::Apache, require Apache) [no] -- Apache [mod_perl] ------------------------------- ----------------- ----------------------- ------- --FastCGI server (SOAP::Transport::HTTP::FCGI, require FastCGI) [no] -- FCGI ------------------------------- ----------------- ----------------------- ------- --POP3 server (SOAP::Transport::POP3::Server) [yes] -- Net::POP3 [libnet] -- MIME::Parser 5.22 [MIME Tools] ------------------------------- ----------------- ----------------------- ------- --IO server (SOAP::Transport::IO::Server) [yes] -- IO::File [IO] ------------------------------- ----------------- ----------------------- ------- --MQ transport support (SOAP::Transport::MQ) [no] -- MQSeries ------------------------------- ----------------- ----------------------- ------- --JABBER transport support (SOAP::Transport::JABBER) [no] -- Net::Jabber 1.0021 ------------------------------- ----------------- ----------------------- ------- --MIME messages [required for POP3, optional for HTTP] (SOAP::MIMEParser) [no] -- MIME::Parser 5.22 [MIME Tools] ------------------------------- ----------------- ----------------------- ------- --SSL support for TCP transport (SOAP::Transport::TCP) [no] -- IO::Socket::SSL ------------------------------- ----------------- ----------------------- ------- --Compression support for HTTP transport (SOAP::Transport::HTTP) [no] -- Compress::Zlib ------------------------------- ----------------- ----------------------- ------- --Core package (SOAP::Lite) yes -- XML::Parser 2.23 -- MIME::Base64 -- URI ------------------------------- ----------------- ----------------------- ------- --EOL -- --use Getopt::Long; -- --my $helptext = <<EOI; --Usage: perl Makefile.PL <options> -- --Possible options are: -- -- --noprompt Disable interactive dialog -- --alltests Perform extra testing -- --help, -? Display this help text -- -- [Do not] install prerequisites for appropriate module: -- --EOI +-my @PREREQS = ( +-# ["<feature>","<installed module>",<dependency hash>,<install by default, 2=always>]; +- ["Core Package","SOAP::Lite",{"XML::Parser" => "2.23","MIME::Base64" => 0, "URI" => 0},2], +- ["Client HTTP support","",{"LWP::UserAgent" => 0},1], +- ["Client HTTPS support","SOAP::Transport::HTTPS::Client",{"Crypt::SSLeay" => 0},0], +- ["Client SMTP/sendmail support","SOAP::Transport::MAILTO::Client",{"MIME::Lite" => 0},1], +- ["Client FTP support","SOAP::Transport::FTP::Client",{"Net::FTP" => 0,"IO::File" => 0},0], +- ["Standalone HTTP server","SOAP::Transport::HTTP::Daemon",{"HTTP::Daemon" => 0},1], +- ["Apache/mod_perl server","SOAP::Transport::HTTP::Apache",{"Apache" => 0},0], +- ["FastCGI server","SOAP::Transport::HTTP::FCGI",{"FCGI" => 0},0], +- ["POP3 server","SOAP::Transport::POP3::Server",{"Net::POP3" => 0,"MIME::Parser" => 0},1], +- ["IO server","SOAP::Transport::IO::Server",{"IO::File" => 0},0], +- ["MQ transport support","SOAP::Transport::MQ",{"MQSeries" => 0},1], +- ["JABBER transport support","SOAP::Transport::JABBER",{"Net::Jabber" => 0},0], +- ["MIME messages","SOAP::MIMEParser",{"MIME::Parser" => 0},1], +- ["SSL Support for TCP Transport","SOAP::Transport::TCP",{"IO::Socket::SSL" => 0},0], +- ["Compression support for HTTP","SOAP::Transport::HTTP",{"Compress::Zlib" => 0},0], +- ["MIME interoperability w/ Axis","SOAP::Lite",{"MIME::Parser" => "6.106"},0], +-); +- + use Getopt::Long; + + my $helptext = <<EOI; +@@ -40,131 +20,10 @@ + + EOI + - -# Create config parameters using module names and expand help text -# We will create a hash (%config) that has each module => (1|0) for install --my(%options, %config); --foreach (split "\n", $prerequisites) { -- next unless /\((SOAP::[\w:]+).+\[(yes|no)\]/; -- my $module = do { (my $t = $1) =~ s/::/-/g; $t }; +-my(%options, %config, %has_module_cache); +- +-# Initialize the prereq table and all help text +-foreach my $prereq (@PREREQS) { +- my ($feature,$dep,$modules,$default) = @$prereq; +- next unless $dep ne ""; +- $prereq->[3] = has_all_modules($modules) unless $prereq->[3] == 2; +- +- my $module = do { $dep =~ s/::/-/g; $dep }; - my $shortcut = do { (my $t = $module) =~ s/SOAP-(?:Transport-)?//; $t }; -- $config{$1} = $2 eq 'yes'; -- $options{"install-$module|$shortcut!"} = \$config{$1}; -- $helptext .= sprintf " --[no]install-%-28s --[no]%s\n", $module, $shortcut; +- $config{$dep} = has_all_modules($modules); +- $options{"install-$dep|$shortcut!"} = \$config{$dep}; +- $helptext .= sprintf " --[no]install-%-28s --[no]%s\n", $dep, $shortcut; -} - -GetOptions( -- 'prompt!' => \(my $prompt = 1), -- 'alltests!' => \(my $alltests = 0), +- 'prompt!' => \(my $prompt = 1), +- 'alltests!' => \(my $alltests = 0), - 'help|?' => \(my $help = 0), - %options, -+my %prerequisites = ( -+ "XML::Parser" => "2.23", -+ "MIME::Base64" => 0, -+ "URI" => 0, - ); - --$help and print($helptext), exit; +-); - --# Now update prerequisites according to command line options --$prerequisites =~ s/\((SOAP::[\w:]+)([^\)]*)\)(.+)\[(yes|no)\] -- /sprintf"(%s%s)%s[%s]",$1,$2,$3,$config{$1}?'yes':'no'/egx; +-$help and print($helptext), exit; - --print <<EOI, map {"$_\n"} grep {/\[(?:yes|no)\]/} split "\n", $prerequisites; +-ExtUtils::MakeMaker::prompt(<<EOI . "Press <enter> to see the detailed list."); - --We are about to install SOAP::Lite and for your convenience will provide --you with list of modules and prerequisites, so you'll be able to choose +-We are about to install SOAP::Lite and for your convenience will provide +-you with list of modules and prerequisites, so you'll be able to choose -only modules you need for your configuration. - -XMLRPC::Lite, UDDI::Lite, and XML::Parser::Lite are included by default. @@ -116,22 +69,37 @@ $NetBSD: patch-aa,v 1.1.1.1 2004/01/06 00:26:43 grant Exp $ - -EOI - --my %prerequisites; --my $auto = $prompt ? ExtUtils::MakeMaker::prompt("\nDo you want to proceed with this configuration?" => 'yes') =~ /^\s*y/i : 1; -- --foreach (split /(^[-\s]+$)/m, $prerequisites) { -- print unless $auto; -- if (/SOAP::/m && -- (/\s+(yes)\s*$/m || -- /\[(yes|no)\]/ && -- ($auto || ExtUtils::MakeMaker::prompt("\nDo you plan to use this module?", $1) =~ /^\s*(y)/i))) { -- %prerequisites = (%prerequisites, map {/\s+/? split : ($_ => 0)} /^\s{20,}([\w:]+(?:\s+[\d.]+)?)/mg) if $1 =~ /^y/; -- } --} -- +-# This hash will contain a list of all perl modules we would like to +-# explicitly depend upon in our Makefile +-my %prereqs; +-my $proceed; +-do { +- print_prereq_table(); +- # Ask the user if this is the configuration they desire +- $proceed = $prompt ? +- ExtUtils::MakeMaker::prompt("\nDo you want to proceed with this configuration?" => 'yes') =~ /^\s*y/i : 1; +- # Loop through each prerequisite and ask the user if they wish to +- # install it or not - reset prereqs, cause they change each time +- %prereqs = (); +- for my $prereq (@PREREQS) { +- my ($feature,$dep,$modules,$default) = @$prereq; +- next unless $dep ne ""; +- unless ($proceed || $prereq->[3] == 2) { # need to use $prereq, because we modify actual value +- $prereq->[3] = (ExtUtils::MakeMaker::prompt("Do you plan to use ${feature}?" => ($prereq->[3] ? 'yes' : 'no')) =~ /^\s*(y)/i); +- } +- (%prereqs = (%prereqs, map { $_,$modules->{$_} } keys %$modules)) if $prereq->[3]; +- } +-} while (!$proceed); +- +-#foreach my $key (keys %prereqs) { +-# print "$key=".$prereqs{$key}."\n"; +-#} +-#exit; +- +-# Warn the user about the testing that will occur -my $noncoretests = $prompt ? ExtUtils::MakeMaker::prompt(' --During "make test" phase we may run tests with several SOAP servers --that may take long and may fail due to server/connectivity problems. +-During "make test" phase we may run tests with several SOAP servers +-that may take long and may fail due to server/connectivity problems. - -Do you want to perform these tests in addition to core tests?', $alltests ? 'yes' : 'no') =~ /^\s*(y)/i : $alltests; - @@ -139,8 +107,55 @@ $NetBSD: patch-aa,v 1.1.1.1 2004/01/06 00:26:43 grant Exp $ - WriteMakefile( 'NAME' => 'SOAP::Lite', - 'VERSION_FROM' => 'lib/SOAP/Lite.pm', - 'PREREQ_PM' => \%prerequisites, + 'VERSION_FROM' => 'lib/SOAP/Lite.pm', +- 'PREREQ_PM' => \%prereqs, 'EXE_FILES' => ['bin/SOAPsh.pl', 'bin/XMLRPCsh.pl', 'bin/stubmaker.pl'], - test => {TESTS => $tests}, ); + +-###################################################### +-# Supporting subroutines +-###################################################### +-# Maintains a cache of what 3rd party modules you have +-# installed +-sub has_module { +- my ($mod, $version) = @_; +- $version ||= ''; +- # use "require Foo; Exporter::require_version('Foo' => 1)" instead of +- # obvious "use Foo 1". The later doesn't work with MIME::Parser +- # wonder why? --PK +- return ($has_module_cache{"$mod$version"} ||= eval("require $mod; Exporter::require_version('$mod', $version); 1")); +-} +- +-# Return 1 if all modules contained in the inputed array +-# are installed, 0 otherwise +-sub has_all_modules { +- my ($mods) = @_; +- foreach my $mod (keys %$mods) { +- return 0 if !has_module($mod, $mods->{$mod}); +- } +- return 1; +-} +- +-# Print a single prerequisite to the screen +-sub print_prereq { +- my ($feature,$dep,$modules,$install) = @_; +- my $i = 0; +- foreach my $module (keys %$modules) { +- my $detected = (has_module($module, $modules->{$module}) ? "*" : " "); +- printf("%-29s [%s] %-24s %-8s\n",($i++ ? "" : $feature),$detected,$module . ($modules->{$module} ? " (v$modules->{$module})" : ""),($i == 1 ? ($install ? ($install == 2 ? "always" : "[ yes ]") : "[ no ]") : "")); +- } +-} +- +-# Print the entire prerequisites table +-sub print_prereq_table { +- printf("%-29s %-28s %-8s\n","Feature","Prerequisites","Install?"); +- printf("%s %s %s\n","-" x 29,"-" x 28,"-" x 8); +- foreach my $pre (@PREREQS) { +- my ($feature,$dep,$modules,$default) = @{$pre}; +- print_prereq(@{$pre}); +- } +- print "--- An asterix '[*]' indicates if the module is currently installed.\n"; +-} +- + 1; |