Commit 5e5d16f4 authored by Peter Simons's avatar Peter Simons
Browse files

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.
parent eacb230a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
{ 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=(
+52 −0
Original line number Diff line number Diff line
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