Add GNU mcron, a `cron' implementation in Guile Scheme.

svn path=/nixpkgs/trunk/; revision=14870
This commit is contained in:
Ludovic Courtès 2009-04-03 18:46:26 +00:00
parent 985178ff4b
commit 644cf259a5
3 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,30 @@
{ fetchurl, stdenv, guile, which, ed }:
stdenv.mkDerivation rec {
name = "mcron-1.0.4";
src = fetchurl {
url = "mirror://gnu/mcron/${name}.tar.gz";
sha256 = "0wrpi9qj50a8wfslapnkmsr6d3qx40hfw57a022m1z1syiljq4xl";
};
patches = [ ./install-vixie-programs.patch ];
buildInputs = [ guile which ed ];
meta = {
description = "GNU mcron, a flexible implementation of `cron' in Guile";
longDescription = ''
The GNU package mcron (Mellor's cron) is a 100% compatible
replacement for Vixie cron. It is written in pure Guile, and
allows configuration files to be written in scheme (as well as
Vixie's original format) for infinite flexibility in specifying
when jobs should be run. Mcron was written by Dale Mellor.
'';
homepage = http://www.gnu.org/software/mcron/;
license = "GPLv3+";
};
}

View file

@ -0,0 +1,22 @@
This patch allows us to install the Vixie-compatible binaries as
non-root.
--- mcron-1.0.4/makefile.in 2008-02-21 20:55:24.000000000 +0100
+++ mcron-1.0.4/makefile.in 2009-04-03 20:18:44.000000000 +0200
@@ -872,15 +872,11 @@ mcron.c : main.scm crontab.scm makefile.
@rm -f mcron.escaped.scm > /dev/null 2>&1
install-exec-hook:
- @if [ "`id -u`" -eq "0" ]; then \
+ @if true; then \
rm -f $(fpp)cron$(EXEEXT) > /dev/null 2>&1; \
$(INSTALL) --mode='u=rwx' mcron$(EXEEXT) $(fpp)cron$(EXEEXT); \
rm -f $(fpp)crontab$(EXEEXT) > /dev/null 2>&1; \
$(INSTALL) --mode='u=rwxs,og=rx' mcron$(EXEEXT) $(fpp)crontab$(EXEEXT); \
- ./mkinstalldirs -m 'u=rwx' /var/cron; \
- ./mkinstalldirs -m 'u=rwx,og=rx' /var/run; \
- ./mkinstalldirs -m 'u=rwx,og=rx' @GUILE_SITE@; \
- ./mkinstalldirs -m 'u=rwx,og=rx' @GUILE_SITE@/mcron; \
else \
echo "+++ WARNING: NON-ROOT INSTALL: ONLY mcron WILL BE INSTALLED, NOT ANY OF THE VIXIE REPLACEMENT PROGRAMS"; \
fi

View file

@ -936,6 +936,10 @@ let
inherit (gtkLibs) glib;
};
mcron = import ../tools/system/mcron {
inherit fetchurl stdenv guile which ed;
};
mdbtools = builderDefsPackage (selectVersion ../tools/misc/mdbtools "0.6-pre1") {
inherit readline pkgconfig bison;
inherit (gtkLibs) glib;