From 42cd779af86ba568db5a614e5e11fe110f060f0e Mon Sep 17 00:00:00 2001 From: "Charlton, Scott R" Date: Sat, 26 Mar 2022 09:58:00 -0700 Subject: [PATCH] working on R dist --- .gitignore | 27 ++++++++++---------- R/DESCRIPTION.in | 12 ++++----- R/Makefile | 64 ++++++++++++++++++++++++++++++++++------------- R/NAMESPACE | 45 +++++++++++++++++++++++++++++++++ jenkins-R-dist.sh | 10 ++++++-- 5 files changed, 119 insertions(+), 39 deletions(-) create mode 100644 R/NAMESPACE diff --git a/.gitignore b/.gitignore index 8a0485d0..f39f7330 100644 --- a/.gitignore +++ b/.gitignore @@ -21,23 +21,24 @@ /libx64 /x64 +# dist files +**/*.dist +doc/NOTICE +doc/README +doc/RELEASE + +# TIMESTAMP files +**/*.TIMESTAMP + # /R/ -/R/Amm.ascii -/R/iso.ascii -/R/llnl.ascii -/R/minteq.ascii -/R/minteq.v4.ascii -/R/phreeqc.ascii -/R/pitzer.ascii -/R/sit.ascii -/R/wateq4f.ascii -/R/phreeqc.Rcheck -/R/build-databases.Rout -/R/build-examples.Rout +/R/*.tar.gz +/R/*.ascii /R/.RData +/R/*.Rout +/R/phreeqc.Rcheck # /R/phreeqc/ -/R/phreeqc/NAMESPACE +/R/phreeqc # /R/phreeqc/data/ /R/phreeqc/data/csv.RData diff --git a/R/DESCRIPTION.in b/R/DESCRIPTION.in index cd04566e..dda3d9cf 100644 --- a/R/DESCRIPTION.in +++ b/R/DESCRIPTION.in @@ -1,18 +1,18 @@ Package: phreeqc -Version: @VERSION@ Title: R Interface to Geochemical Modeling Software +Version: @VERSION@ License: GPL-3 NeedsCompilation: yes -Depends: - R (>= 3.0) -Author: S.R. Charlton, D.L. Parkhurst, and C.A.J. Appelo, with contributions - from D. Gillespie for Chipmunk BASIC and S.D. Cohen, A.C. Hindmarsh, - R. Serban, D. Shumaker, and A.G. Taylor for CVODE/SUNDIALS +Depends: R (>= 3.5.0) +Author: S.R. Charlton [aut, cre], D.L. Parkhurst [aut], and C.A.J. Appelo [aut], with contributions + from D. Gillespie [ctb] for Chipmunk BASIC and S.D. Cohen [ctb], A.C. Hindmarsh [ctb], + R. Serban [ctb], D. Shumaker [ctb], and A.G. Taylor [ctb] for CVODE/SUNDIALS URL: https://www.usgs.gov/software/phreeqc-version-3 Description: A geochemical modeling program developed by the US Geological Survey that is designed to perform a wide variety of aqueous geochemical calculations, including speciation, batch-reaction, one-dimensional reactive-transport, and inverse geochemical calculations. Maintainer: S.R. Charlton +BugReports: https://github.com/usgs-coupled/iphreeqc/issues LazyData: yes Encoding: UTF-8 diff --git a/R/Makefile b/R/Makefile index 629a8de6..3fc0583b 100644 --- a/R/Makefile +++ b/R/Makefile @@ -269,7 +269,7 @@ DATA = \ $(DATADIR)/databases.rda \ $(DATADIR)/examples.rda -all: export_sed $(PSRC) $(XSRC) $(DATA) $(MAN)/phreeqc-package.Rd +all: $(PSRC) $(XSRC) $(DATA) $(MAN)/phreeqc-package.Rd $(DATADIR)/databases.rda : $(DBS) build-databases.R rm -f .RData @@ -290,12 +290,16 @@ $(DATADIR)/examples.rda : $(EXS) build-examples.R R --no-save --no-restore CMD BATCH build-examples.R rm -f .RData -roxygenize $(MAN)/phreeqc-package.Rd : phreeqc/R/phreeqc.R - rm -f $(RDFILES) - rm -f .RData - R --no-save --no-restore CMD BATCH roxygenize.R - touch $(MAN)/phreeqc-package.Rd +document : $(MAN)/phreeqc-package.Rd +$(MAN)/phreeqc-package.Rd : $(TOPDIR)/R/phreeqc.R $(TOPDIR)/DESCRIPTION $(TOPDIR)/NAMESPACE + rm -f $(RDFILES) + Rscript -e 'devtools::document("phreeqc")' + +build : phreeqc_$(VERSION).tar.gz + +phreeqc_$(VERSION).tar.gz : $(MAN)/phreeqc-package.Rd + Rscript -e 'devtools::build("phreeqc")' ##$(PSRC): $(DEST) @@ -821,28 +825,52 @@ $(INST)/ex2 : ../phreeqc3-examples/ex2 check : all R CMD check --as-cran phreeqc +#check_built : phreeqc_$(VERSION).tar.gz + +check_built : phreeqc_$(VERSION).tar.gz + Rscript -e "devtools::check_built(path=\"phreeqc_$(VERSION).tar.gz\")" + valgrind : install - R -d "valgrind --tool=memcheck --leak-check=full" --vanilla < valgrind.R 2>&1 | tee valgrind.full.out + echo R -d "valgrind --tool=memcheck --leak-check=full" --vanilla < valgrind.R 2>&1 | tee valgrind.full.out install : all - R CMD INSTALL --build phreeqc + echo R CMD INSTALL --build phreeqc +$(TOPDIR)/NAMESPACE : NAMESPACE + $(CP) $< $@ -phreeqc/R/phreeqc.R : export_sed - -phreeqc/DESCRIPTION : export_sed - -export_sed : - sed \ - -e 's/@VERSION@/$(VERSION)/g' \ - < DESCRIPTION.in > $(TOPDIR)/DESCRIPTION +$(TOPDIR)/R/phreeqc.R : phreeqc.R.in phreeqc.R-$(VERSION)_$(RELEASE_DATE).TIMESTAMP + rm phreeqc.R-*.TIMESTAMP sed \ -e 's/@VERSION@/$(VERSION)/g' \ -e 's/@RELEASE_DATE@/$(RELEASE_DATE)/g' \ < phreeqc.R.in > $(TOPDIR)/R/phreeqc.R + touch phreeqc.R-$(VERSION)_$(RELEASE_DATE).TIMESTAMP -build : all - R CMD build --resave-data phreeqc +phreeqc.R-$(VERSION)_$(RELEASE_DATE).TIMESTAMP : + touch phreeqc.R-$(VERSION)_$(RELEASE_DATE).TIMESTAMP + +$(TOPDIR)/DESCRIPTION : DESCRIPTION.in DESCRIPTION-$(VERSION).TIMESTAMP + rm DESCRIPTION-*.TIMESTAMP + sed \ + -e 's/@VERSION@/$(VERSION)/g' \ + < DESCRIPTION.in > $(TOPDIR)/DESCRIPTION + touch DESCRIPTION-$(VERSION).TIMESTAMP + +DESCRIPTION-$(VERSION).TIMESTAMP : + touch DESCRIPTION-$(VERSION).TIMESTAMP + +# export_sed : +# sed \ +# -e 's/@VERSION@/$(VERSION)/g' \ +# < DESCRIPTION.in > $(TOPDIR)/DESCRIPTION +# sed \ +# -e 's/@VERSION@/$(VERSION)/g' \ +# -e 's/@RELEASE_DATE@/$(RELEASE_DATE)/g' \ +# < phreeqc.R.in > $(TOPDIR)/R/phreeqc.R + +# build : all +# R CMD build --resave-data phreeqc uninstall : R CMD REMOVE phreeqc diff --git a/R/NAMESPACE b/R/NAMESPACE new file mode 100644 index 00000000..f41c6e4a --- /dev/null +++ b/R/NAMESPACE @@ -0,0 +1,45 @@ +# Generated by roxygen2: do not edit by hand + +export(phrAccumulateLine) +export(phrClearAccumulatedLines) +export(phrGetAccumulatedLines) +export(phrGetComponentList) +export(phrGetDumpFileName) +export(phrGetDumpFileOn) +export(phrGetDumpStrings) +export(phrGetDumpStringsOn) +export(phrGetErrorFileName) +export(phrGetErrorFileOn) +export(phrGetErrorStrings) +export(phrGetErrorStringsOn) +export(phrGetLogFileName) +export(phrGetLogFileOn) +export(phrGetLogStrings) +export(phrGetLogStringsOn) +export(phrGetOutputFileName) +export(phrGetOutputFileOn) +export(phrGetOutputStrings) +export(phrGetOutputStringsOn) +export(phrGetSelectedOutput) +export(phrGetSelectedOutputFileName) +export(phrGetWarningStrings) +export(phrLoadDatabase) +export(phrLoadDatabaseString) +export(phrRunAccumulated) +export(phrRunFile) +export(phrRunString) +export(phrSetDumpFileName) +export(phrSetDumpFileOn) +export(phrSetDumpStringsOn) +export(phrSetErrorFileName) +export(phrSetErrorFileOn) +export(phrSetErrorStringsOn) +export(phrSetLogFileName) +export(phrSetLogFileOn) +export(phrSetLogStringsOn) +export(phrSetOutputFileName) +export(phrSetOutputFileOn) +export(phrSetOutputStringsOn) +export(phrSetSelectedOutputFileName) +export(phrSetSelectedOutputFileOn) +useDynLib(phreeqc, .registration = TRUE) diff --git a/jenkins-R-dist.sh b/jenkins-R-dist.sh index 11e205cb..efb7eaf1 100755 --- a/jenkins-R-dist.sh +++ b/jenkins-R-dist.sh @@ -9,6 +9,13 @@ fi DATE=$(date -d $DATE --rfc-3339=date) export DATE +# +# create directories +# +mkdir -p R/phreeqc/R +mkdir -p R/phreeqc/src/phreeqcpp +mkdir -p R/phreeqc/data + # # set VER # @@ -44,5 +51,4 @@ export REL # sed files /bin/sh jenkins-dist.sh -v ${VER} -r ${REL} -d ${DATE} -pr ${TAG} cd R -make VERSION=${VER} RELEASE_DATE=${DATE} check -make VERSION=${VER} RELEASE_DATE=${DATE} build +make VERSION=${VER} RELEASE_DATE=${DATE} check_built