about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch23
-rw-r--r--pkgs/top-level/all-packages.nix5
2 files changed, 28 insertions, 0 deletions
diff --git a/pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch b/pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch
new file mode 100644
index 000000000000..7822128f8467
--- /dev/null
+++ b/pkgs/development/perl-modules/catalyst-fix-chunked-encoding.patch
@@ -0,0 +1,23 @@
+diff -rc Catalyst-Engine-HTTP-Prefork-0.50-orig/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm Catalyst-Engine-HTTP-Prefork-0.50/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm
+*** Catalyst-Engine-HTTP-Prefork-0.50-orig/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm	2008-03-14 18:23:47.000000000 +0100
+--- Catalyst-Engine-HTTP-Prefork-0.50/lib/Catalyst/Engine/HTTP/Prefork/Handler.pm	2009-03-11 14:18:40.000000000 +0100
+***************
+*** 199,206 ****
+      
+      if ( $self->{_chunked_res} ) {
+          if ( !$self->{_chunked_done} ) {
+!             # Write the final '0' chunk
+!             syswrite STDOUT, "0$CRLF";
+          }
+          
+          delete $self->{_chunked_res};
+--- 199,207 ----
+      
+      if ( $self->{_chunked_res} ) {
+          if ( !$self->{_chunked_done} ) {
+!             # Write the final '0' chunk and the CRLF that terminates
+!             # the chunked body.
+!             syswrite STDOUT, "0$CRLF$CRLF";
+          }
+          
+          delete $self->{_chunked_res};
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e7c7ac9d04b3..1d7200a525bb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4354,6 +4354,11 @@ let
       perlCookieXS perlHTTPHeaderParserXS
     ];
     buildInputs = [perlTestPod perlTestPodCoverage];
+    patches = [
+      # Fix chunked transfers (they were missing the final CR/LF at
+      # the end, which makes curl barf).
+      ../development/perl-modules/catalyst-fix-chunked-encoding.patch
+    ];
   };
 
   perlCatalystManual = buildPerlPackage rec {