From wdunlap at tibco.com  Wed Nov 12 19:50:13 2008
From: wdunlap at tibco.com (William Dunlap)
Date: Wed, 12 Nov 2008 10:50:13 -0800
Subject: [Rd] Splus-specific entries in pkg/DESCRIPTION files
Message-ID: <77EB52C6DD32BA4D87471DCD70C8D70028DA72@NA-PA-VBE03.na.tibco.com>

In the past few years we have been working on making
it possible to use packages in both R and Spotfire S+
(previously officially called S-PLUS).  One problem was
that certain lines in the DESCRIPTION file of a package
needed to be specific to R or Spotfire S+.  E.g., if
your package used the xyplot() function then the package
would depend upon lattice in R and trellis in Spotfire S+,
or a package might require R 2.8.0 or S+ 8.1 to work properly.
Another example might be that R's build system requires
that the Maintainer: line contains an e-mail address but
in Spotfire S+ a URL is acceptable.  

Our solution to this is that if a DESCRIPTION file has
entries tagged 'Xyx:' and 'XyzSplus:' then S+'s read.dcf()
function will ignore the 'Xyz:' entry and output the 'XyzSplus:'
entry as the 'Xyz:' entry.  E.g., the Depends: example above
would be handled by putting the following 2 lines in DESCRIPTION
   Depends: R (>= 2.8.0), lattice
   DependsSplus: Splus (>= 8.1), trellis
When R's read.dcf() reads that DESCRIPTION file the Depends
component of its output would be "R (>= 2.8.0), lattice" and
when S+'s read.dcf() reads it the Depends component would 
be "Splus (>= 8.1), trellis".  R's read.dcf() would also return
the component "DependsSplus", but that should not hurt anything
as long as the Depends component were also present (otherwise
partial matching could cause x$Depends to give you x$DependsSplus).

The Maintainer: issue would be handled by
   Maintainer: Joe the Package Writer <jwriter at acmewidgets.com>
   MaintainerSplus: Acme Support <http://acmewidgets.com>

S+'s read.dcf() has an argument, convertSplusLines=TRUE, that one
can use to avoid this translation (useful mainly when copying
DESCRIPTION
files by using write.dcf(read.dcf(oldfile),newfile)).

This should not affect how things work in R (unless a package writer
had a tag ending with 'Splus') but package writers may find it handy
or may wonder why we add such lines when we help port their packages to
Spotfire S+.

This feature is new to Spotfire S+ 8.1.

Bill Dunlap
TIBCO Spotfire Inc
wdunlap tibco.com 



[Rd] Splus-specific entries in pkg/DESCRIPTION files
William Dunlap