At the link 

  https://ctg.cncr.nl/software/magma

it says " The MAGMA source code can also be downloaded below, which can be used 
to compile the program on the target system if this is not supported by the 
provided binaries (note that standard copyright applies; the MAGMA binaries and 
source code may not be distributed or modified)."

So it sounds like you are not able to do what you want anyway?

Generally, I do not think bundling large software projects that are not 
specifically designed as libraries is a good strategy for R / Bioconductor. And 
while you might ask us to install the software on our build systems so that 
your package can use the program, I'd offer up the cost of doing that, both for 
us and for your potential users --  perhaps a better strategy is simply to 
offer your package to the MAGMA maintainers as an improvement to the R scripts 
they already provide and distribute from the link above?

Martin

On 11/8/20, 7:40 AM, "Bioc-devel on behalf of Alexandru Voda" 
<[email protected] on behalf of [email protected]> 
wrote:

    Thanks for the reply, Martin!

    Unfortunately, the C++ software is large 
(https://ctg.cncr.nl/software/magma), not just some feature that can be used 
from R base, CRAN or Bioconductor.

    Also, I wouldn't make a separate library for the C++ software because the 
*main* purpose of my package is to wrap them up for R. Other functions are just 
a secondary aim of the package.

    Thank you for the recommended packages! I was wondering if there's any 
standard guidance/vignette for how Rhtslib & Rhdf5lib approached this? There 
are numerous Rcpp vignettes that I could find, but couldn't find for pure C 
compiled by R?
    ________________________________
    From: Martin Morgan <[email protected]>
    Sent: Saturday, November 7, 2020 3:30 PM
    To: Alexandru Voda <[email protected]>; [email protected] 
<[email protected]>
    Subject: Re: [Bioc-devel] Compiling a cpp source code while installing 
package

    It would probably help to provide additional detail here; there are several 
examples of packages that build C / C++ libraries from source, a common pattern 
is to have a package dedicated to providing the library, e.g., Rhtslib or 
Rhdf5lib, or of building the library as part of the software package itself.

    It's worth assessing whether the functionality is worth it (e.g., why use a 
random number generator from another package, when one can use the R random 
number generator) or already implemented (e.g., linear algebra in 
RcppArmadillo).

    Martin

    On 11/7/20, 10:25 AM, "Bioc-devel on behalf of Alexandru Voda" 
<[email protected] on behalf of [email protected]> 
wrote:

        Hi! I tried to look this up in the FAQ & best practices but couldn't 
find it.

        My in-the-works package needs to call a legacy C++ software from time 
to time.

        Since that C++ software is open-source, is there a way to make my 
package compile the source (during R package installation) I'm going to 
include? That'd make my package's dependency localized and well-controlled, but 
any other alternative is welcome (except Rcpp, which would take too many months 
to rewrite into the legacy C++ software).

        Best wishes,
        Alexandru

             [[alternative HTML version deleted]]

        _______________________________________________
        [email protected] mailing list
        https://stat.ethz.ch/mailman/listinfo/bioc-devel

        [[alternative HTML version deleted]]

    _______________________________________________
    [email protected] mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to