summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/R-packages.eclass50
1 files changed, 50 insertions, 0 deletions
diff --git a/eclass/R-packages.eclass b/eclass/R-packages.eclass
new file mode 100644
index 00000000..8544e70c
--- /dev/null
+++ b/eclass/R-packages.eclass
@@ -0,0 +1,50 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils
+
+EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_install pkg_postinst
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="byte-compile"
+
+DEPEND="dev-lang/R"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+R-packages_src_unpack() {
+ unpack ${A}
+ mv ${PN//_/.} ${P}
+}
+
+R-packages_src_prepare() {
+ cd ${P}
+ epatch_user
+}
+
+R-packages_src_compile() {
+ MAKEFLAGS="CFLAGS=${CFLAGS// /\\ } CXXFLAGS=${CXXFLAGS// /\\ } FFLAGS=${FFLAGS// /\\ } FCFLAGS=${FCFLAGS// /\\ } LDFLAGS=${LDFLAGS// /\\ }" \
+ R CMD INSTALL ${S}/${P} -l . $(use byte-compile && echo "--byte-compile")
+}
+
+R-packages_src_install() {
+ insinto /usr/$(get_libdir)/R/site-library
+ doins -r ${PN//_/.}
+}
+
+R-packages_pkg_postinst() {
+ if [[ "${_UNRESOLVABLE_PACKAGES:-}" ]]; then
+ # _UNRESOLVABLE_PACKAGES is only set if it has more than zero items
+ local _max=${#_UNRESOLVABLE_PACKAGES[*]} i=
+
+ einfo "Dependency(-ies):"
+ for (( i=0; i<${_max}; i++ )); do
+ einfo "- ${_UNRESOLVABLE_PACKAGES[$i]}"
+ done
+ einfo 'are (is) suggested by upstream but could not be found.'
+ einfo 'Please install it manually from the R interpreter if you need it.'
+ fi
+}