* 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
This commit is contained in:
Eelco Dolstra 2011-01-14 12:37:26 +00:00
parent e437b85040
commit 4a5824721a

View File

@ -1,22 +1,30 @@
{stdenv, fetchurl, boost, zlib, botan, libidn, { stdenv, fetchurl, boost, zlib, botan, libidn
lua, pcre, sqlite, perl, pkgconfig}: , lua, pcre, sqlite, perl, pkgconfig }:
let let
version = "0.99.1"; version = "0.99.1";
perlVersion = builtins.substring 5 10 perl.name; perlVersion = (builtins.parseDrvName perl.name).version;
in stdenv.mkDerivation rec { in
assert perlVersion != "";
stdenv.mkDerivation rec {
name = "monotone-${version}"; name = "monotone-${version}";
src = fetchurl { src = fetchurl {
url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz"; url = "http://monotone.ca/downloads/${version}/monotone-${version}.tar.gz";
sha256 = "189h5f6gqd4ng0qmzi3xwnj17nnpxm2vzras216ar6b5yc9bnki0"; sha256 = "189h5f6gqd4ng0qmzi3xwnj17nnpxm2vzras216ar6b5yc9bnki0";
}; };
buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig]; buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig];
postInstall = '' postInstall = ''
ensureDir $out/share/${name} ensureDir $out/share/${name}
cp -rv contrib/ $out/share/${name}/contrib cp -rv contrib/ $out/share/${name}/contrib
ensureDir $out/lib/perl5/site_perl/${perlVersion} ensureDir $out/lib/perl5/site_perl/${perlVersion}
cp -v contrib/Monotone.pm $out/lib/perl5/site_perl/${perlVersion} cp -v contrib/Monotone.pm $out/lib/perl5/site_perl/${perlVersion}
''; '';
meta = { meta = {
description = "A free distributed version control system"; description = "A free distributed version control system";
maintainers = [stdenv.lib.maintainers.raskin]; maintainers = [stdenv.lib.maintainers.raskin];