[arch-commits] Commit in r/trunk (PKGBUILD sweave.patch)
Ronald van Haren
ronald at archlinux.org
Wed Jul 30 10:32:34 UTC 2014
Date: Wednesday, July 30, 2014 @ 12:32:34
Author: ronald
Revision: 218370
upgpkg: r 3.1.1-1
update to 3.1.1; remove upstream patch
Modified:
r/trunk/PKGBUILD
Deleted:
r/trunk/sweave.patch
--------------+
PKGBUILD | 15 -
sweave.patch | 500 ---------------------------------------------------------
2 files changed, 5 insertions(+), 510 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2014-07-30 09:17:34 UTC (rev 218369)
+++ PKGBUILD 2014-07-30 10:32:34 UTC (rev 218370)
@@ -4,8 +4,8 @@
# Contributor: K. Piche <kpiche at rogers.com>
pkgname=r
-pkgver=3.1.0
-pkgrel=2
+pkgver=3.1.1
+pkgrel=1
pkgdesc="Language and environment for statistical computing and graphics"
arch=('i686' 'x86_64')
license=('GPL')
@@ -21,13 +21,11 @@
source=("http://cran.r-project.org/src/base/R-${pkgver%%.*}/R-${pkgver}.tar.gz"
'r.desktop'
'r.png'
- 'R.conf'
- 'sweave.patch')
-sha1sums=('a9d13932c739cc12667c6a17fabd9361624a1708'
+ 'R.conf')
+sha1sums=('e974ecc92e49266529e8e791e02a80c75e50b696'
'd7fa521345b230a4187d60d07d06ce4b6d573e3f'
'a69a07ec363440efc18ce0a7f2af103375dea978'
- '43668da6cfd1b4455a99f23e79e2059294dddac9'
- '7c89c315673406d6f2e08170dbe12f46f9cec1c5')
+ '43668da6cfd1b4455a99f23e79e2059294dddac9')
prepare() {
cd R-${pkgver}
@@ -35,9 +33,6 @@
sed -i 's|$(rsharedir)/texmf|${datarootdir}/texmf|' share/Makefile.in
# fix for texinfo 5.X
sed -i 's|test ${makeinfo_version_min} -lt 7|test ${makeinfo_version_min} -lt 0|' configure
-
- # upstream fix for https://bugs.r-project.org/bugzilla/show_bug.cgi?id=15752
- patch -Np0 -i ${srcdir}/sweave.patch
}
build() {
Deleted: sweave.patch
===================================================================
--- sweave.patch 2014-07-30 09:17:34 UTC (rev 218369)
+++ sweave.patch 2014-07-30 10:32:34 UTC (rev 218370)
@@ -1,500 +0,0 @@
-Index: src/library/utils/R/Sweave.R
-===================================================================
---- src/library/utils/R/Sweave.R (revision 65431)
-+++ src/library/utils/R/Sweave.R (revision 65432)
-@@ -1,7 +1,7 @@
- # File src/library/utils/R/Sweave.R
- # Part of the R package, http://www.R-project.org
- #
--# Copyright (C) 1995-2012 The R Core Team
-+# Copyright (C) 1995-2014 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
-@@ -30,7 +30,7 @@
- ### re-encodes the output back to 'encoding': the Rtangle driver
- ### leaves it in the encoding of the current locale and records what
- ### that is in a comment. The "UTF-8" encoding is preserved on
--### both input and output in RweaveLatex, but is handled like
-+### both input and output in RweaveLatex, but is handled like
- ### other encodings in Rtangle.
- ###
- ### SweaveReadFile first looks for a call to one of the LaTeX packages
-@@ -202,9 +202,11 @@
- stop(gettextf("no Sweave file with name %s found",
- sQuote(file[1L])), domain = NA)
- else if (length(f) > 1L)
-- stop(paste(gettextf("%d Sweave files for basename %s found",
-- length(f), sQuote(file[1L])),
-- paste(":\n ", f, collapse="")),
-+ stop(paste(sprintf(ngettext(length(f), "%d Sweave file for basename %s found",
-+ "%d Sweave files for basename %s found",
-+
-+ domain = "R-utils"),
-+ length(f), sQuote(file[1L])), paste(":\n ", f, collapse = "")),
- domain = NA)
- }
-
-@@ -228,7 +230,7 @@
- " declares an encoding that Sweave does not know about",
- domain = NA, call. = FALSE)
- }
-- if (enc == "UTF-8")
-+ if (enc == "UTF-8")
- Encoding(text) <- enc
- else {
- if (nzchar(enc)) text <- iconv(text, enc, "") else enc <- "ASCII"
-@@ -425,7 +427,7 @@
- Usage <- function() {
- cat("Usage: R CMD Sweave [options] file",
- "",
-- "A front-end for Sweave and other vignette engines",
-+ "A front-end for Sweave and other vignette engines, via buildVignette()",
- "",
- "Options:",
- " -h, --help print this help message and exit",
-@@ -433,6 +435,10 @@
- " --driver=name use named Sweave driver",
- " --engine=pkg::engine use named vignette engine",
- " --encoding=enc default encoding 'enc' for file",
-+ " --clean corresponds to --clean=default",
-+ " --clean= remove some of the created files:",
-+ ' "default" removes those the same initial name;',
-+ ' "keepOuts" keeps e.g. the *.tex ones even when PDF is produced',
- " --options= comma-separated list of Sweave/engine options",
- " --pdf convert to PDF document",
- " --compact= try to compact PDF document:",
-@@ -454,6 +460,7 @@
- engine <- NULL
- toPDF <- FALSE
- compact <- Sys.getenv("_R_SWEAVE_COMPACT_PDF_", "no")
-+ clean <- FALSE ## default!
- while(length(args)) {
- a <- args[1L]
- if (a %in% c("-h", "--help")) {
-@@ -465,7 +472,7 @@
- R.version[["major"]], ".", R.version[["minor"]],
- " (r", R.version[["svn rev"]], ")\n", sep = "")
- cat("",
-- "Copyright (C) 2006-2013 The R Core Team.",
-+ "Copyright (C) 2006-2014 The R Core Team.",
- "This is free software; see the GNU General Public License version 2",
- "or later for copying conditions. There is NO warranty.",
- sep = "\n")
-@@ -476,6 +483,18 @@
- engine <- substr(a, 10, 1000)
- } else if (substr(a, 1, 11) == "--encoding=") {
- encoding <- substr(a, 12, 1000)
-+ } else if (a == "--clean") {
-+ clean <- TRUE
-+ } else if (substr(a, 1, 8) == "--clean=") {
-+ clean. <- substr(a, 9, 1000)
-+ clean <- switch(clean.,
-+ "default" = TRUE,
-+ "keepOuts" = NA,
-+ message(gettextf("Warning: unknown option '--clean='%s",
-+ clean.), domain = NA))
-+ } else if (a == "--no-clean") { # only exists in 3.1.0
-+ message("Warning: '--no-clean' is deprecated; default does not clean, see --clean")
-+ clean <- FALSE
- } else if (substr(a, 1, 10) == "--options=") {
- options <- substr(a, 11, 1000)
- } else if (a == "--pdf") {
-@@ -494,7 +513,7 @@
- Usage()
- do_exit(1L)
- }
-- args <- list(file=file, tangle=FALSE, latex=toPDF, engine=engine)
-+ args <- list(file=file, tangle=FALSE, latex=toPDF, engine=engine, clean=clean)
- if(nzchar(driver)) args <- c(args, driver)
- args <- c(args, encoding = encoding)
- if(nzchar(options)) {
-@@ -503,7 +522,7 @@
- }
- output <- do.call(tools::buildVignette, args)
- message("Output file: ", output)
-- if (toPDF && compact != "no"
-+ if (toPDF && compact != "no"
- && length(output) == 1 && grepl(".pdf$", output, ignore.case=TRUE)) {
- ## <NOTE>
- ## Same code as used for --compact-vignettes in
-@@ -596,7 +615,7 @@
- Usage()
- do_exit(1L)
- }
-- args <- list(file=file, tangle=TRUE, weave=FALSE, engine=engine,
-+ args <- list(file=file, tangle=TRUE, weave=FALSE, engine=engine,
- encoding=encoding)
- if(nzchar(options)) {
- opts <- eval(parse(text = paste("list(", options, ")")))
-Index: src/library/tools/R/Vignettes.R
-===================================================================
---- src/library/tools/R/Vignettes.R (revision 65431)
-+++ src/library/tools/R/Vignettes.R (revision 65432)
-@@ -1,7 +1,7 @@
- # File src/library/tools/R/Vignettes.R
- # Part of the R package, http://www.R-project.org
- #
--# Copyright (C) 1995-2013 The R Core Team
-+# Copyright (C) 1995-2014 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
-@@ -35,7 +35,7 @@
- # Locates the vignette weave, tangle and texi2pdf product(s) based on the
- # vignette name. All such products must have the name as their filename
- # prefix (i.e. "^<name>").
--# For weave, final = TRUE will look for <name>.pdf and <name>.pdf, whereas
-+# For weave, final = TRUE will look for <name>.pdf and <name>.html, whereas
- # with final = FALSE it also looks for <name>.tex (if <name>.pdf is also
- # found, it will be returned). For tangle, main = TRUE will look <name>.R,
- # whereas main = FALSE will look for <name><anything>*.R.
-@@ -44,20 +44,14 @@
- function(name, by = c("weave", "tangle", "texi2pdf"),
- final = FALSE, main = TRUE, dir = ".", engine, ...)
- {
-- stopifnot(length(name) == 1L)
-+ stopifnot(length(name) == 1L, file_test("-d", dir))
- by <- match.arg(by)
-- stopifnot(file_test("-d", dir))
-+ exts <- ## (lower case here):
-+ switch(by,
-+ "weave" = if (final) c("pdf", "html") else c("pdf", "html", "tex"),
-+ "tangle" = c("r", "s"),
-+ "texi2pdf" = "pdf")
-
-- if (by == "weave") {
-- if (final)
-- exts <- c("pdf", "html")
-- else
-- exts <- c("pdf", "html", "tex")
-- } else if (by == "tangle") {
-- exts <- c("r", "s")
-- } else if (by == "texi2pdf") {
-- exts <- "pdf"
-- }
- exts <- c(exts, toupper(exts))
- pattern1 <- sprintf("^%s[.](%s)$", name, paste(exts, collapse = "|"))
- output0 <- list.files(path = dir, all.files = FALSE, full.names = FALSE, no..=TRUE)
-@@ -113,16 +107,13 @@
- domain = NA)
- }
-
-+ ## return :
- if (length(output) > 0L) {
- if (dir == ".")
-- output <- basename(output)
-+ basename(output)
- else
-- output <- file.path(dir, output)
-- } else {
-- output <- NULL
-- }
--
-- output
-+ file.path(dir, output)
-+ } ## else NULL
- }
-
-
-@@ -382,28 +373,24 @@
-
- docs <- names <- engines <- patterns <- character()
- allFiles <- list.files(docdir, all.files = FALSE, full.names = TRUE)
-- matchedPattern <- rep(FALSE, length(allFiles))
-+ matchedPattern <- rep.int(FALSE, length(allFiles))
- msg <- character()
- if (length(allFiles) > 0L) {
- for (name in names(engineList)) {
- engine <- engineList[[name]]
-- patternsT <- engine$pattern
-- for (pattern in patternsT) {
-+ for (pattern in engine$pattern) {
- idxs <- grep(pattern, allFiles)
-- docsT <- allFiles[idxs]
- matchedPattern[idxs] <- TRUE
-- keep <- logical(length(docsT))
-- for (i in seq_along(docsT))
-- keep[i] <- engineMatches(name, getVignetteEngine(docsT[i]))
-- idxs <- idxs[keep]
-- nidxs <- length(idxs)
-- if (nidxs > 0L) {
-+ keep <- vapply(allFiles[idxs], function(.d.)
-+ engineMatches(name, getVignetteEngine(.d.)), NA)
-+ if (any(keep)) {
-+ idxs <- idxs[keep]
- if (is.function(engine$weave)) {
- docsT <- allFiles[idxs]
- docs <- c(docs, docsT)
- names <- c(names, gsub(pattern, "", basename(docsT)))
-- engines <- c(engines, rep(name, times = nidxs))
-- patterns <- c(patterns, rep(pattern, times = nidxs))
-+ engines <- c(engines, rep.int(name, length(idxs)))
-+ patterns <- c(patterns, rep.int(pattern, length(idxs)))
- }
- matchedPattern <- matchedPattern[-idxs]
- allFiles <- allFiles[-idxs]
-@@ -421,13 +408,12 @@
- }
-
- # Assert
-- stopifnot(length(names) == length(docs))
-- stopifnot(length(engines) == length(docs))
-- stopifnot(length(patterns) == length(docs))
-- stopifnot(!any(duplicated(docs)))
-+ stopifnot(length(names) == length(docs),
-+ length(engines) == length(docs),
-+ length(patterns) == length(docs), !anyDuplicated(docs))
-
- z <- list(docs=docs, names=names, engines=engines, patterns=patterns,
-- dir=docdir, pkgdir=dir, msg = msg)
-+ dir = docdir, pkgdir = dir, msg = msg)
-
- if (output) {
- outputs <- character(length(docs))
-@@ -460,7 +446,6 @@
- ###
- ### Run a weave and pdflatex on all vignettes of a package and try to
- ### remove all temporary files that were created.
--
- buildVignettes <-
- function(package, dir, lib.loc = NULL, quiet = TRUE, clean = TRUE, tangle = FALSE)
- {
-@@ -569,11 +554,11 @@
- newer <- file_test("-nt", f, ".build.timestamp")
- ## some packages, e.g. SOAR, create directories
- unlink(f[newer], recursive = TRUE)
-+ f <- setdiff(list.files(all.files = TRUE, no.. = TRUE),
-+ c(keep, origfiles))
-+ f <- f[file_test("-f", f)]
-+ file.remove(f)
- }
-- f <- setdiff(list.files(all.files = TRUE, no.. = TRUE),
-- c(keep, origfiles))
-- f <- f[file_test("-f", f)]
-- file.remove(f)
- }
-
- # Assert
-@@ -592,15 +577,13 @@
- ###
- ### Run a weave and/or tangle on one vignette and try to
- ### remove all temporary files that were created.
--
--buildVignette <-
-- function(file, dir = ".", weave = TRUE, latex = TRUE, tangle = TRUE,
-- quiet = TRUE, clean = TRUE, engine = NULL, buildPkg = NULL, ...)
-+### Also called from 'R CMD Sweave' via .Sweave() in ../../utils/R/Sweave.R
-+buildVignette <- function(file, dir = ".", weave = TRUE, latex = TRUE, tangle = TRUE,
-+ quiet = TRUE, clean = TRUE, keep = character(),
-+ engine = NULL, buildPkg = NULL, ...)
- {
--
- if (!file_test("-f", file))
- stop(gettextf("file '%s' not found", file), domain = NA)
--
- if (!file_test("-d", dir))
- stop(gettextf("directory '%s' does not exist", dir), domain = NA)
-
-@@ -628,12 +611,11 @@
-
- # Set output directory temporarily
- file <- file_path_as_absolute(file)
-- olddir <- getwd()
-+ olddir <- setwd(dir)
- if (!is.null(olddir)) on.exit(setwd(olddir))
-- setwd(dir)
-
-- # Record existing files
-- origfiles <- list.files(all.files = TRUE)
-+ ## # Record existing files
-+ ## origfiles <- list.files(all.files = TRUE)
- if (is.na(clean) || clean) {
- file.create(".build.timestamp")
- }
-@@ -662,9 +644,9 @@
- find_vignette_product(name, by = "tangle", main = FALSE, engine = engine)
- } # else NULL
-
-- # Cleanup
-- keep <- c(sources, final)
-- if (is.na(clean)) { # Use NA to signal we want .tex files kept.
-+ ## Cleanup newly created files unless those in 'keep'
-+ keep <- c(sources, final, keep)
-+ if (is.na(clean)) { # Use NA to signal we want .tex (or .md) files kept.
- keep <- c(keep, output)
- clean <- TRUE
- }
-@@ -674,10 +656,11 @@
- ## some packages create directories
- unlink(f[newer], recursive = TRUE)
- }
-- f <- setdiff(list.files(all.files = TRUE, no.. = TRUE), c(keep, origfiles))
-- f <- f[file_test("-f", f)]
-- file.remove(f)
--
-+ ### huh? 2nd round of cleaning even if clean is FALSE ??
-+ ## f <- setdiff(list.files(all.files = TRUE, no.. = TRUE), c(keep, origfiles))
-+ ## f <- f[file_test("-f", f)]
-+ ## file.remove(f)
-+ ## #}
- unique(keep)
- }
-
-@@ -685,18 +668,18 @@
-
- getVignetteEncoding <- function(file, ...)
- {
-- # Look for inputen[cx] first, then %\SweaveUTF8. Complain about
-+ # Look for inputen[cx] first, then %\SweaveUTF8. Complain about
- # inconsistencies.
--
-+
- lines <- readLines(file, warn = FALSE)
- result1 <- .getVignetteEncoding(lines, ...)
--
-+
- poss <- grep("^[[:space:]]*%+[[:space:]]*\\\\SweaveUTF8[[:space:]]*$", lines, useBytes = TRUE)
- if (length(poss)) {
- result <- "UTF-8"
- if (!(result1 %in% c("", "non-ASCII", "UTF-8")))
-- stop("Inconsistent encoding specifications: ", result1, " with %\\SweaveUTF8")
-- } else
-+ stop(gettextf("Inconsistent encoding specifications: %s with %%\\SweaveUTF8", result1), domain = NA)
-+ } else
- result <- result1
- result
- }
-Index: src/library/tools/man/buildVignette.Rd
-===================================================================
---- src/library/tools/man/buildVignette.Rd (revision 65431)
-+++ src/library/tools/man/buildVignette.Rd (revision 65432)
-@@ -4,13 +4,15 @@
- \description{
- Run \code{\link{Sweave}} (or other custom weave function)
- \code{\link{texi2dvi}}, and/or \code{\link{Stangle}}
-- (or other custom tangle function) on one vignette.
-+ (or other custom tangle function) on one vignette.
-+
-+ This is the workhorse of \command{R CMD Sweave}.
- }
- \usage{
- buildVignette(file, dir = ".", weave = TRUE, latex = TRUE, tangle = TRUE,
-- quiet = TRUE, clean = TRUE, engine = NULL, buildPkg = NULL, ...)
-+ quiet = TRUE, clean = TRUE, keep = character(),
-+ engine = NULL, buildPkg = NULL, ...)
- }
--%- maybe also 'usage' for other objects documented here.
- \arguments{
- \item{file}{character; the vignette source file}
- \item{dir}{character; the working directory in which the intermediate and
-@@ -19,9 +21,12 @@
- \item{latex}{logical; \link{texi2pdf} be run if weaving produces a \file{.tex} file?}
- \item{tangle}{logical; should tangle be run?}
- \item{quiet}{logical; run in quiet mode?}
-- \item{clean}{logical; whether to remove intermediate files. See details below.}
-- \item{engine}{\code{NULL} or character; name of vignette engine to use. Overrides
-- any \code{\\VignetteEngine\{\}} markup in the vignette.}
-+ \item{clean}{logical; whether to remove some newly created, often
-+ intermediate, files. See details below.}
-+ \item{keep}{a list of file names to keep in any case when cleaning. Note
-+ that \dQuote{target} files are kept anyway.}
-+ \item{engine}{\code{NULL} or character; name of vignette engine to
-+ use. Overrides any \code{\\VignetteEngine\{\}} markup in the vignette.}
- \item{buildPkg}{\code{NULL} or character; an optional package in which to find
- the vignette engine}
- \item{...}{Additional arguments passed to weave and tangle.}
-@@ -28,26 +33,30 @@
-
- }
- \details{
--This function determines the vignette engine for the vignette (default \code{utils::Sweave}),
--then weaves and/or tangles the vignette using that engine. Finally, if \code{clean} is \code{TRUE},
--newly created intermediate files will be deleted. If \code{clean} is \code{NA}, newly created
--\file{.tex} files will not be deleted even if a \file{.pdf} file has been produced from them.
-+ This function determines the vignette engine for the vignette (default
-+ \code{utils::Sweave}), then weaves and/or tangles the vignette using
-+ that engine. Finally, if \code{clean} is \code{TRUE}, newly created
-+ intermediate files (non \dQuote{targets}, where these depend on the engine,
-+ etc, and not any in \code{keep}) will be deleted. If \code{clean} is
-+ \code{NA}, and \code{weave} is true, newly created intermediate output
-+ files (e.g., \file{.tex}) will not be deleted even if a \file{.pdf}
-+ file has been produced from them.
-
--If \code{buildPkg} is specified, it will be loaded before the vignette is processed, and will
--be used as the default package
--in the search for a vignette engine, but an explicitly specified package in the vignette source
--(e.g. using \code{\\VignetteEngine\{utils::Sweave\}} to specify the \code{Sweave}
--engine in the \pkg{utils} package) will override it. In contrast,
--if the \code{engine} argument is given, it will override the
--vignette source.
-+ If \code{buildPkg} is specified, it will be loaded before the vignette
-+ is processed, and will be used as the default package in the search
-+ for a vignette engine, but an explicitly specified package in the
-+ vignette source (e.g. using \code{\\VignetteEngine\{utils::Sweave\}}
-+ to specify the \code{Sweave} engine in the \pkg{utils} package) will
-+ override it. In contrast, if the \code{engine} argument is given, it
-+ will override the vignette source.
- }
- \value{
--A character vector naming the files that have been produced.
-+ A character vector naming the files that have been produced.
- }
- \author{
--Henrik Bengtsson and Duncan Murdoch
-+ Henrik Bengtsson and Duncan Murdoch
- }
- \seealso{
--\code{\link{buildVignettes}} for building all vignettes in a package.
-+ \code{\link{buildVignettes}} for building all vignettes in a package.
- }
- \keyword{documentation}
-Index: src/library/tools/man/buildVignettes.Rd
-===================================================================
---- src/library/tools/man/buildVignettes.Rd (revision 65431)
-+++ src/library/tools/man/buildVignettes.Rd (revision 65432)
-@@ -39,10 +39,10 @@
- \item{subdirs}{a character vector of subdirectories of \code{dir} in which
- to look for vignettes. The first which exists is used. Defaults to
- \code{"doc"} if \code{package} is supplied, otherwise \code{"vignettes"}.}
-- \item{output}{logical. If \code{TRUE}, the output filename
-- for each vignette in the result.}
-- \item{source}{logical. If \code{TRUE}, include the tangled output filename
-- for each vignette in the result.}
-+ \item{output}{logical indicating if the output filenames for each
-+ vignette should be returned (in component \code{outputs}).}
-+ \item{source}{logical indicating if the \emph{tangled} output
-+ filenames for each vignette should be returned (in component \code{sources}).}
- \item{check}{logical. If \code{TRUE}, check whether all files that
- have vignette-like filenames have an identifiable vignette engine.
- This may be a false positive if a file is not a vignette but has a
-@@ -49,7 +49,7 @@
- filename matching a pattern defined by one of the vignette engines.}
- }
- \details{
-- \code{buildVignettes} is used by \code{R CMD build} and \code{R CMD
-+ \code{buildVignettes} is used by \command{R CMD build} and \command{R CMD
- check} to (re-)build vignette PDFs from their sources.
- }
- \value{
-@@ -60,5 +60,20 @@
- \code{pkgVignettes} returns an object of class \code{"pkgVignettes"}
- if a vignette directory is found, otherwise \code{NULL}.
- }
-+\examples{
-+str(gVigns <- pkgVignettes("grid"))
-+\dontshow{
-+ `\%=f=\%` <- function(a, b) normalizePath(a) == normalizePath(b)
-+ with(gVigns,
-+ stopifnot(engines == "utils::Sweave",
-+ pkgdir \%=f=\% system.file(package="grid"),
-+ dir \%=f=\% system.file(package="grid", "doc"),
-+ (n. <- length(docs)) >= 12, # have 13
-+ n. == length(names), n. == length(engines),
-+ length(msg) == 0) ) # as it is a 'base' package
-+}
-+stopifnot("grid" \%in\% gVigns$names,
-+ inherits(gVigns, "pkgVignettes"))
-+}
- \keyword{utilities}
- \keyword{documentation}
More information about the arch-commits
mailing list