diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix index 6fb111c47a33..6efd5ddee9e6 100644 --- a/pkgs/applications/version-management/rcs/default.nix +++ b/pkgs/applications/version-management/rcs/default.nix @@ -2,8 +2,18 @@ stdenv.mkDerivation { name = "rcs-5.7"; + src = fetchurl { url = ftp://ftp.cs.purdue.edu/pub/RCS/rcs-5.7.tar; md5 = "f7b3f106bf87ff6344df38490f6a02c5"; }; + + patches = [ ./no-root.patch ]; + + meta = { + homepage = http://www.cs.purdue.edu/homes/trinkle/RCS/; + description = "Revision Control System, a version management system"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = [ stdenv.lib.platforms.all ]; + }; } diff --git a/pkgs/applications/version-management/rcs/no-root.patch b/pkgs/applications/version-management/rcs/no-root.patch new file mode 100644 index 000000000000..2fbfc86ff45a --- /dev/null +++ b/pkgs/applications/version-management/rcs/no-root.patch @@ -0,0 +1,23 @@ +In NixOS chroot builds, there is no root account. So configure should +not rely on its existence in deciding whether to use getpwuid(). + +diff -rc -x '*~' rcs-5.7-orig/src/conf.sh rcs-5.7/src/conf.sh +*** rcs-5.7-orig/src/conf.sh 1995-06-16 08:19:24.000000000 +0200 +--- rcs-5.7/src/conf.sh 2010-02-12 15:22:37.000000000 +0100 +*************** +*** 821,827 **** + a= z= + cat >a.c <<EOF + #include "$A_H" +! int main() { exitmain(!getpwuid(0)); } + EOF + $PREPARE_CC || exit + if ($CL a.c $L && $aout) >&2 +--- 821,827 ---- + a= z= + cat >a.c <<EOF + #include "$A_H" +! int main() { exitmain(!getpwuid(getuid())); } + EOF + $PREPARE_CC || exit + if ($CL a.c $L && $aout) >&2