all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] Add recursive CRAN importer
@ 2016-05-24 12:53 Ricardo Wurmus
  2016-05-24 12:53 ` [PATCH] gnu: Add r-knitrbootstrap Ricardo Wurmus
  2016-05-24 13:08 ` [PATCH] Add recursive CRAN importer Ricardo Wurmus
  0 siblings, 2 replies; 6+ messages in thread
From: Ricardo Wurmus @ 2016-05-24 12:53 UTC (permalink / raw)
  To: guix-devel

attached is a patch series that gives us a recursive CRAN importer.  I still
haven't documented it in the manual, because I'm not sure if the
implementation is acceptable.

Simply put, the procedure that produces a package expression now returns
multiple values.  The first is the package expression, the second is a list of
dependencies (with their upstream names).  This allows us to go through that
list and check if any unpackaged inputs are among them.

The recursive importer stops when a package cannot be imported (e.g. when a
bioconductor package has unpackaged CRAN dependencies), or when all packages
either already existed at runtime or have been packaged.

To make this work well I had to create a list of packages that should not be
imported (because they are part of the default R installation), and I had to
make sure that R packages always get a predictable Guix package name.

Comments are very welcome!

~~ Ricardo

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-05-28 15:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-24 12:53 [PATCH] Add recursive CRAN importer Ricardo Wurmus
2016-05-24 12:53 ` [PATCH] gnu: Add r-knitrbootstrap Ricardo Wurmus
2016-05-27 17:00   ` Leo Famulari
2016-05-28  7:36     ` Ricardo Wurmus
2016-05-28 15:56       ` Leo Famulari
2016-05-24 13:08 ` [PATCH] Add recursive CRAN importer Ricardo Wurmus

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.