Gentoo Archives: gentoo-science

From: Auke Booij <auke@××××××.com>
To: gentoo-science@l.g.o
Subject: [gentoo-science] G-CRAN: time for cake, packages are building
Date: Fri, 25 Jun 2010 16:46:43
Message-Id: AANLkTimjQZY-69m9j1G4F_rcOV9f9faeFceq0vUD6Yeq@mail.gmail.com
1 Just pushed to my git repository: a fallible commit containing an
2 ebuild which builds some CRAN-style packages (hopefully).
3
4 As some of you might incidentally know, I'm working on getting Gentoo
5 to build CRAN package as a Google Summer of Code project. That means
6 I'm supposed to do something impressive, but I'm leaving that part to
7 you guys. What I /am/ doing is writing some clever code which
8 hopefully will build most CRAN-style packages from within package
9 managers. That would mean automatic dependency resolving (most
10 importantly, this must also work for external (non-CRAN)
11 dependencies), proper installation of documentation, and hopefully a
12 whole lot more clean package handling (perhaps there are dependencies
13 between Bioconductor and CRAN? what about cross-platform building? i
14 am doing my own research regarding this but would love to hear what
15 problems you're expecting and what you'd like to see fixed).
16
17 Alright, back to e7265e5bfce8a7e39a6cbbb14814bec5e1c3ffc9. No, there
18 is no ebuild for G-CRAN itself, there is no integration with layman,
19 no intelligent documentation installer, no friendly interface, no
20 quick database for fast package searches and/or caching, but at least
21 the darned thing actually builds and installs some CRAN-style
22 packages. If you're desperate to give this Grendel a spin, feel free
23 to clone the git repository and do the following:
24
25 -modify cran.ebuild to reflect the right location of g-cran.py - there
26 are two instances where you'll need to update it (eventually g-cran.py
27 and friends should just be installed to the right directory, of
28 course)
29 -create or open up a local overlay (let's say you created /usr/local/portage)
30 -execute:
31 # g-cran.py /usr/local/portage sync http://cran.r-project.org (note:
32 this doesn't create a tree yet, and this is actually something I hope
33 to be doing with the cooperation of two other GSoC projects)
34 # mkdir /usr/local/portage/profiles/
35 # echo "dev-R" >> /usr/local/portage/profiles/categories
36 # mkdir -p /usr/local/portage/dev-R/waved/
37 # ln -s /somewhere/git-repos/g-cran/cran.ebuild
38 /usr/local/portage/dev-R/waved/waved-1.ebuild (note: the version
39 currently doesn't matter, since CRAN only offers one version of each
40 package anyway)
41 # emerge waved
42 I have to admit I haven't tried portage yet (I'm personally a paludis
43 fanboy), and I think it might complain about checksums and stuff
44 (please tell me if it does), but if you're using paludis too you
45 should be able to install, in this case, waved. You can list all
46 packages by issuing:
47 # g-cran.py /usr/local/portage list-packages
48
49 Please note that the code very simplistic and will fail on a lot of
50 packages. The dependencies *will* be all wrong, but at least this
51 should give you something to play with.
52
53 Stay tuned!
54 tulcod.

Replies

Subject Author
[gentoo-science] Re: G-CRAN: time for cake, packages are building Auke Booij <auke@××××××.com>