R: import upstream patch to fix broken "R CMD Sweave" command

The command "R CMD Sweave" always exits with error code "1", even if the
command was successful. This upstream patch remedies this issue.
This commit is contained in:
Peter Simons 2017-05-03 14:04:47 +02:00
parent eacb230a56
commit 5e5d16f425
2 changed files with 54 additions and 2 deletions

View file

@ -1,7 +1,7 @@
{ stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
, libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
, less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
, curl, Cocoa, Foundation, cf-private, libobjc, tzdata
, curl, Cocoa, Foundation, cf-private, libobjc, tzdata, fetchpatch
, withRecommendedPackages ? true
, enableStrictBarrier ? false
}:
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ tcl tk ]
++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation cf-private libobjc ];
patches = [ ./no-usr-local-search-paths.patch ];
patches = [ ./no-usr-local-search-paths.patch ./fix-sweave-exit-code.patch ];
preConfigure = ''
configureFlagsArray=(

View file

@ -0,0 +1,52 @@
From 0ff560ba912fad126576818519035c8d3c693bed Mon Sep 17 00:00:00 2001
From: maechler <maechler@00db46b3-68df-0310-9c12-caf00c1e9a41>
Date: Mon, 24 Apr 2017 14:24:11 +0000
Subject: [PATCH] R CMD Sweave status bug fix
git-svn-id: https://svn.r-project.org/R/trunk@72612 00db46b3-68df-0310-9c12-caf00c1e9a41
diff --git a/src/library/utils/R/Sweave.R b/src/library/utils/R/Sweave.R
index 2beb094..8d4950b 100644
--- a/src/library/utils/R/Sweave.R
+++ b/src/library/utils/R/Sweave.R
@@ -1,7 +1,7 @@
# File src/library/utils/R/Sweave.R
# Part of the R package, https://www.R-project.org
#
-# Copyright (C) 1995-2016 The R Core Team
+# Copyright (C) 1995-2017 The R Core Team
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -452,10 +452,10 @@ SweaveHooks <- function(options, run = FALSE, envir = .GlobalEnv)
}
do_exit <-
if(no.q)
- function(status = 1L) (if(status) stop else message)(
+ function(status = 0L) (if(status) stop else message)(
".Sweave() exit status ", status)
else
- function(status = 1L) q("no", status = status, runLast = FALSE)
+ function(status = 0L) q("no", status = status, runLast = FALSE)
if (!length(args)) {
Usage()
@@ -577,16 +577,15 @@ SweaveHooks <- function(options, run = FALSE, envir = .GlobalEnv)
}
do_exit <-
if(no.q)
- function(status = 1L) (if(status) stop else message)(
+ function(status = 0L) (if(status) stop else message)(
".Stangle() exit status ", status)
else
- function(status = 1L) q("no", status = status, runLast = FALSE)
+ function(status = 0L) q("no", status = status, runLast = FALSE)
if (!length(args)) {
Usage()
do_exit(1L)
}
-
file <- character()
encoding <- options <- ""
engine <- NULL