commit: bdffb505eca41fccdac6625b586f7a7ed05159b4
Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Wed May 6 23:28:47 2020 +0000
Commit: Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Wed May 6 23:35:55 2020 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=bdffb505
new eclass for R packages, taken from the R_Overlay
Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
eclass/R-packages-guru.eclass | 54 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/eclass/R-packages-guru.eclass b/eclass/R-packages-guru.eclass
new file mode 100644
index 0000000..e365b03
--- /dev/null
+++ b/eclass/R-packages-guru.eclass
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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}"
+
+R-packages-guru_src_unpack() {
+ unpack ${A}
+ if [[ -d "${PN//_/.}" ]] && [[ ! -d "${P}" ]]; then
+ mv ${PN//_/.} "${P}"
+ fi
+}
+
+if has "${EAPI:-0}" 0 1 2 3 4 5; then
+ R-packages-guru_src_prepare() {
+ epatch_user
+ }
+else
+ R-packages-guru_src_prepare() {
+ default
+ }
+fi
+
+R-packages-guru_src_compile() {
+ MAKEFLAGS="CFLAGS=${CFLAGS// /\\ } CXXFLAGS=${CXXFLAGS// /\\ }
FFLAGS=${FFLAGS// /\\ } FCFLAGS=${FCFLAGS// /\\ } LDFLAGS=${LDFLAGS// /\\ }" \
+ R CMD INSTALL . -l "${WORKDIR}" $(use byte-compile && echo
"--byte-compile")
+}
+
+R-packages-guru_src_install() {
+ insinto /usr/$(get_libdir)/R/site-library
+ doins -r "${WORKDIR}"/${PN//_/.}
+}
+
+R-packages-guru_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
+}