2010-04-30 11:49:43 +01:00
|
|
|
{ stdenv, fetchurl, perl, gettext, makeWrapper, lib, PerlMagick,
|
2009-10-16 07:39:29 +01:00
|
|
|
TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate,
|
2010-04-29 10:35:20 +01:00
|
|
|
CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple
|
2010-07-09 14:16:00 +01:00
|
|
|
, gitSupport ? false
|
|
|
|
, git ? null
|
|
|
|
, monotoneSupport ? false
|
|
|
|
, monotone ? null
|
|
|
|
, extraUtils ? []
|
|
|
|
}:
|
|
|
|
|
|
|
|
assert gitSupport -> (git != null);
|
|
|
|
assert monotoneSupport -> (monotone != null);
|
2009-10-14 22:00:54 +01:00
|
|
|
|
2010-04-29 10:35:09 +01:00
|
|
|
let
|
|
|
|
name = "ikiwiki";
|
2010-07-09 14:16:00 +01:00
|
|
|
version = "3.20100704";
|
2010-04-29 10:35:09 +01:00
|
|
|
in
|
|
|
|
stdenv.mkDerivation {
|
|
|
|
name = "${name}-${version}";
|
2009-10-14 22:00:54 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2010-04-29 10:35:09 +01:00
|
|
|
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
|
2010-07-09 14:16:00 +01:00
|
|
|
sha256 = "1kakh2bf9k0fhvqhn9p9g4wwck64if2y9z23zmlcrm02bw1m6lr9";
|
2009-10-14 22:00:54 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
|
2010-04-29 10:35:20 +01:00
|
|
|
TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext
|
2010-07-09 14:16:00 +01:00
|
|
|
RpcXML XMLSimple PerlMagick]
|
|
|
|
++ stdenv.lib.optionals gitSupport [git]
|
|
|
|
++ stdenv.lib.optionals monotoneSupport [monotone];
|
|
|
|
|
2009-10-14 22:00:54 +01:00
|
|
|
|
|
|
|
patchPhase = ''
|
|
|
|
sed -i s@/usr/bin/perl@${perl}/bin/perl@ pm_filter mdwn2man
|
|
|
|
sed -i s@/etc/ikiwiki@$out/etc@ Makefile.PL
|
|
|
|
sed -i /ENV{PATH}/d ikiwiki.in
|
2009-10-15 23:08:35 +01:00
|
|
|
# State the gcc dependency, and make the cgi use our wrapper
|
|
|
|
sed -i -e 's@$0@"'$out/bin/ikiwiki'"@' \
|
|
|
|
-e "s@'cc'@'${stdenv.gcc}/bin/gcc'@" IkiWiki/Wrapper.pm
|
2009-10-14 22:00:54 +01:00
|
|
|
'';
|
|
|
|
|
|
|
|
configurePhase = "perl Makefile.PL PREFIX=$out";
|
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
for a in $out/bin/*; do
|
2009-10-16 07:39:29 +01:00
|
|
|
wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \
|
2010-04-29 09:53:43 +01:00
|
|
|
${lib.optionalString (git != null)
|
2009-10-16 07:39:29 +01:00
|
|
|
''--prefix PATH : ${git}/bin \''}
|
2010-04-29 09:53:43 +01:00
|
|
|
${lib.optionalString (monotone != null)
|
2009-10-16 07:39:29 +01:00
|
|
|
''--prefix PATH : ${monotone}/bin \''}
|
2009-10-16 09:38:25 +01:00
|
|
|
${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils}
|
2009-10-14 22:00:54 +01:00
|
|
|
done
|
|
|
|
'';
|
|
|
|
|
2010-04-29 09:53:43 +01:00
|
|
|
meta = {
|
2009-10-14 22:00:54 +01:00
|
|
|
description = "Wiki compiler, storing pages and history in a RCS";
|
|
|
|
homepage = http://ikiwiki.info/;
|
|
|
|
license = "GPLv2+";
|
|
|
|
};
|
|
|
|
}
|