From 85fa8661e3d87464eae6e47e520d49fdf0636469 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 28 Nov 2008 16:10:32 +0000 Subject: [PATCH] * A patch to make TemplateToolkit work properly on templates in the Nix store. svn path=/nixpkgs/trunk/; revision=13491 --- .../template-toolkit-nix-store.patch | 23 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 27 insertions(+) create mode 100644 pkgs/development/perl-modules/template-toolkit-nix-store.patch diff --git a/pkgs/development/perl-modules/template-toolkit-nix-store.patch b/pkgs/development/perl-modules/template-toolkit-nix-store.patch new file mode 100644 index 00000000000..402f1cb41be --- /dev/null +++ b/pkgs/development/perl-modules/template-toolkit-nix-store.patch @@ -0,0 +1,23 @@ +diff -rc Template-Toolkit-2.20-orig/lib/Template/Provider.pm Template-Toolkit-2.20/lib/Template/Provider.pm +*** Template-Toolkit-2.20-orig/lib/Template/Provider.pm 2008-08-06 11:32:02.000000000 +0200 +--- Template-Toolkit-2.20/lib/Template/Provider.pm 2008-11-28 16:37:36.000000000 +0100 +*************** +*** 936,942 **** + sub _template_modified { + my $self = shift; + my $template = shift || return; +! return (stat( $template ))[9]; + } + + #------------------------------------------------------------------------ +--- 936,945 ---- + sub _template_modified { + my $self = shift; + my $template = shift || return; +! # Nix specific hack: timestamps of 0 (1-1-1970) should not be +! # treated as undefined, so return 1 instead. +! my $t = (stat( $template ))[9]; +! return (defined $t && $t == 0) ? 1 : $t; + } + + #------------------------------------------------------------------------ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 98e028a6b3f..7966449f85e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5178,6 +5178,10 @@ let sha256 = "13wbh06a76k4ag14lhszmpwv4hb8hlj1d9glizhp8izazl3xf1zg"; }; propagatedBuildInputs = [perlAppConfig]; + patches = [ + # Needed to make TT works properly on templates in the Nix store. + ../development/perl-modules/template-toolkit-nix-store.patch + ]; }; perlTermReadKey = buildPerlPackage {