From 4a5824721a5fe888e3321e0887d98ae4ace88113 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 14 Jan 2011 12:37:26 +0000 Subject: [PATCH] * The expression `builtins.substring 5 10 perl.name' barfs if `perl.name' evaluates to "perl" (since there are not enough characters in the string). It's better to use builtins.parseDrvName. svn path=/nixpkgs/trunk/; revision=25559 --- .../version-management/monotone/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix index fbd36417bfc..70e335ea649 100644 --- a/pkgs/applications/version-management/monotone/default.nix +++ b/pkgs/applications/version-management/monotone/default.nix @@ -1,22 +1,30 @@ -{stdenv, fetchurl, boost, zlib, botan, libidn, - lua, pcre, sqlite, perl, pkgconfig}: +{ stdenv, fetchurl, boost, zlib, botan, libidn +, lua, pcre, sqlite, perl, pkgconfig }: let version = "0.99.1"; - perlVersion = builtins.substring 5 10 perl.name; -in stdenv.mkDerivation rec { + perlVersion = (builtins.parseDrvName perl.name).version; +in + +assert perlVersion != ""; + +stdenv.mkDerivation rec { name = "monotone-${version}"; + src = fetchurl { url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz"; sha256 = "189h5f6gqd4ng0qmzi3xwnj17nnpxm2vzras216ar6b5yc9bnki0"; }; + buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig]; + postInstall = '' ensureDir $out/share/${name} cp -rv contrib/ $out/share/${name}/contrib ensureDir $out/lib/perl5/site_perl/${perlVersion} cp -v contrib/Monotone.pm $out/lib/perl5/site_perl/${perlVersion} ''; + meta = { description = "A free distributed version control system"; maintainers = [stdenv.lib.maintainers.raskin];