diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-lang/R | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-lang/R')
-rw-r--r-- | dev-lang/R/Manifest | 7 | ||||
-rw-r--r-- | dev-lang/R/R-3.0.1.ebuild | 206 | ||||
-rw-r--r-- | dev-lang/R/R-3.0.3.ebuild | 203 | ||||
-rw-r--r-- | dev-lang/R/R-3.1.0.ebuild | 206 | ||||
-rw-r--r-- | dev-lang/R/R-3.1.1.ebuild | 206 | ||||
-rw-r--r-- | dev-lang/R/R-3.1.2.ebuild | 206 | ||||
-rw-r--r-- | dev-lang/R/R-3.2.0-r1.ebuild | 207 | ||||
-rw-r--r-- | dev-lang/R/files/R-2.11.1-parallel.patch | 17 | ||||
-rw-r--r-- | dev-lang/R/files/R-2.12.1-ldflags.patch | 15 | ||||
-rw-r--r-- | dev-lang/R/files/R-2.13.1-zlib_header_fix.patch | 20 | ||||
-rw-r--r-- | dev-lang/R/files/R-2.14.1-rmath-shared.patch | 24 | ||||
-rw-r--r-- | dev-lang/R/files/R-3.0.0-rmath-shared.patch | 28 | ||||
-rw-r--r-- | dev-lang/R/files/R-3.2.0-omitted-extern-R_running_as_main_program.patch | 12 | ||||
-rw-r--r-- | dev-lang/R/metadata.xml | 25 |
14 files changed, 1382 insertions, 0 deletions
diff --git a/dev-lang/R/Manifest b/dev-lang/R/Manifest new file mode 100644 index 000000000000..d6134ee943d1 --- /dev/null +++ b/dev-lang/R/Manifest @@ -0,0 +1,7 @@ +DIST R-20130129.bash_completion.bz2 4209 SHA256 487e969b94563fec98ec58de7e6142e9361d4219088add0fca282b482a9e01b1 SHA512 910b26e16cfebe677f438abfa5f2652e582db143d91dbf0e7d4b1ea33462c7e5c89c3a3619c63ae98bba26b11a5adb16eda9d344f8cdbe4f0feabc546993c1a5 WHIRLPOOL 2368efaed37fcb6e010f6a234864631f68549bd8e3f733561170cc5b28f5557e546d8561246fb265a481a47991a262fec3acf6abc1dc3929a9357405e0d3c6fc +DIST R-3.0.1.tar.gz 25508280 SHA256 af90488af3141103b211dc81b6f17d1f0faf4f17684c579a32dfeb25d0d87134 SHA512 470edbf4a4fccf9310add110d7fa7f338e410e412b3ec84f6ea5f1253e94a435e185a7a1b62b22aee443293147ff7bcca139015b490a9271a502b1bfbf1426a2 WHIRLPOOL f45c960280f51cba3a4f3730fa79671808b3c07fd49f97b2cdce4a1de45986e62ac9bb24c6f764386a3ef1034a266b86f041a1a1652ec7f687a4db08a074d22e +DIST R-3.0.3.tar.gz 28075821 SHA256 b97cfd9540f294ab786e846153f3dd8605610d7e27616bfb4296795bc4fde6d6 SHA512 881c9c0a8d866eb87218a5cdca72153c9ef0fa0a0f091595fc065bdcbc1ea8b0bd1a2fb3008457b12e1b5025a7e70bd7764de4286a57ad3f73226367b2fc4e83 WHIRLPOOL 076d041c0581dc211a4ee53cf5cad731dc0ece33bbb34f8c066dc660ef0c1f7dcfc1b3359c6a0cebfa2ccec9b689776965a530edcf9f81758c4e003242347225 +DIST R-3.1.0.tar.gz 28469975 SHA256 8a680390f84c58c01dcdefd682eaa0e90389f09e6d2f2e090c71af40065f5fe2 SHA512 bb21fc90c7d37a5328031ed784e7dcbd20259d1837c33db3b51c14a116939a53496683d5de142a1223e89fc12406294efc67bed3595131615e9607d5ffab5ce2 WHIRLPOOL b376180d700d18780eb344b737a3a1bfc8b40f67967032e0f34abf940d76c3ffd7694be9f2f10be985571e8f94d92a6970a3d1cba503280e3fcf6df7a5e4298e +DIST R-3.1.1.tar.gz 28606569 SHA256 ce5c4d5e34414ce8f1ec2d5642861435fa1ddc4cd89bd336172bbe25a62c7a19 SHA512 a75d8b82645bd9486873669b802924448d591013076e3d7dc958502dc6f0dac7d7fb78f3921d34a1eac1383f141b6e800f4293f7fac09651e0176cf84c431af9 WHIRLPOOL ec05c70193a229cbaf15f3432853070c6666c3963a4e2719a6d8ff188bfc2cada0d1f2fe90a9dd6b43f46913138afed0be387ba73b7f9c4d87abc362cc8a5393 +DIST R-3.1.2.tar.gz 28655941 SHA256 bcd150afcae0e02f6efb5f35a6ab72432be82e849ec52ce0bb89d8c342a8fa7a SHA512 fee20cd94d14bd46cc36fb265ed4d64f44eaa3929dd13c62d29a5883fde607aba63e28a4b0f265ede63f78788996deaee36acf6a70cc0bc90a705c9782be01a1 WHIRLPOOL f02d543c0fd7e89e63aba844b7c0f651a9a6bb5dbfcd58bdb64b49d08335c3270383eb62291b9f2f20ef6ec9f39eef5cf77ae1af3109296f8b1898227cca99d1 +DIST R-3.2.0.tar.gz 29124927 SHA256 f5ae953f18ba6f3d55b46556bbbf73441350f9fd22625402b723a2b81ff64f35 SHA512 c6041c854251d51dd936d3a3632c2958a0437c58488f93e5ba810e957fb7f2276e3fe4f615fb4705f2fc5a66aa50a828b54b5e4e7b4358c7fd465c71531b9828 WHIRLPOOL e21a65b9197a202691dbe903b441caf7d8b92efdffb86dcccdbf09d080177cfd472a54d381df1cca749937434ffb9c08ac74198457e320353207cd00837e1086 diff --git a/dev-lang/R/R-3.0.1.ebuild b/dev-lang/R/R-3.0.1.ebuild new file mode 100644 index 000000000000..da39c7900104 --- /dev/null +++ b/dev-lang/R/R-3.0.1.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib versionator toolchain-funcs + +BCP=${PN}-20130129.bash_completion +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="http://www.r-project.org/" +SRC_URI=" + mirror://cran/src/base/R-3/${P}.tar.gz + bash-completion? ( http://dev.gentoo.org/~bicatali/distfiles/${BCP}.bz2 )" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="bash-completion cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X" +REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )" + +CDEPEND=" + app-arch/bzip2 + app-text/ghostscript-gpl + dev-libs/libpcre + virtual/blas + cairo? ( x11-libs/cairo[X] x11-libs/pango ) + icu? ( dev-libs/icu:= ) + jpeg? ( virtual/jpeg:0 ) + lapack? ( virtual/lapack ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:0= ) + readline? ( sys-libs/readline:0= ) + tk? ( dev-lang/tk:0= ) + X? ( x11-libs/libXmu x11-misc/xdg-utils )" + +DEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + )" + +RDEPEND="${CDEPEND} + ( || ( <sys-libs/zlib-1.2.5.1-r1 >=sys-libs/zlib-1.2.5.1-r2[minizip] ) ) + app-arch/xz-utils + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +R_DIR="${EROOT%/}/usr/$(get_libdir)/${PN}" + +pkg_setup() { + if use openmp; then + FORTRAN_NEED_OPENMP=1 + tc-has-openmp || die "Please enable openmp support in your compiler" + fi + fortran-2_pkg_setup + filter-ldflags -Wl,-Bdirect -Bdirect + # avoid using existing R installation + unset R_HOME + # Temporary fix for bug #419761 + if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then + append-flags -fno-ipa-cp-clone + fi +} + +src_prepare() { + # gentoo bug #322965 (not applied upstream) + # https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14505 + epatch "${FILESDIR}"/${PN}-2.11.1-parallel.patch + + # respect ldflags (not applied upstream) + # https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14506 + epatch "${FILESDIR}"/${PN}-2.12.1-ldflags.patch + + # gentoo bug #383431 + # https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14951 + epatch "${FILESDIR}"/${PN}-2.13.1-zlib_header_fix.patch + + # https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14953 + epatch "${FILESDIR}"/${PN}-3.0.0-rmath-shared.patch + + # fix packages.html for doc (gentoo bug #205103) + sed -i \ + -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -i \ + -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${R_DIR}\"':" \ + src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -i \ + -e 's:\.\./manual/:manual/:g' \ + $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && \ + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + if use X; then + export R_BROWSER="$(type -p xdg-open)" + export R_PDFVIEWER="$(type -p xdg-open)" + fi + use perl && \ + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + # Fix for Darwin (OS X) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i \ + -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -i \ + -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \ + src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EROOT%/}/usr/$(get_libdir)/R/lib" + fi + fi + AT_M4DIR=m4 eaclocal + eautoconf +} + +src_configure() { + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --with-system-zlib \ + --with-system-bzlib \ + --with-system-pcre \ + --with-system-xz \ + --without-blas \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_enable static-libs static) \ + $(use_enable static-libs R-static-lib) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone shared $(use static-libs && echo static) AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -j1 -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + cat > 99R <<-EOF + LDPATH=${R_DIR}/lib + R_HOME=${R_DIR} + EOF + doenvd 99R + use bash-completion && newbashcomp "${WORKDIR}"/${BCP} ${PN} + # The buildsystem has a different understanding of install_names than what + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/lib/R > /dev/null + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/lib/R/${mod}" \ + "${mod}" + done + popd > /dev/null + fi + docompress -x /usr/share/doc/${PF}/NEWS.rds +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/R-3.0.3.ebuild b/dev-lang/R/R-3.0.3.ebuild new file mode 100644 index 000000000000..6b4fe58cb7c6 --- /dev/null +++ b/dev-lang/R/R-3.0.3.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib versionator toolchain-funcs + +BCP=${PN}-20130129.bash_completion +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="http://www.r-project.org/" +SRC_URI=" + mirror://cran/src/base/R-3/${P}.tar.gz + bash-completion? ( http://dev.gentoo.org/~bicatali/distfiles/${BCP}.bz2 )" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="bash-completion cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X" +REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )" + +CDEPEND=" + app-arch/bzip2:0= + app-arch/xz-utils:0= + app-text/ghostscript-gpl + dev-libs/libpcre:3= + virtual/blas:0 + || ( >=sys-apps/coreutils-8.15 sys-freebsd/freebsd-bin app-misc/realpath ) + cairo? ( x11-libs/cairo[X] x11-libs/pango ) + icu? ( dev-libs/icu:= ) + jpeg? ( virtual/jpeg:0 ) + lapack? ( virtual/lapack:0 ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:0= ) + readline? ( sys-libs/readline:0= ) + tiff? ( media-libs/tiff:0= ) + tk? ( dev-lang/tk:0= ) + X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )" + +DEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + )" + +RDEPEND="${CDEPEND} + ( || ( <sys-libs/zlib-1.2.5.1-r1:0 >=sys-libs/zlib-1.2.5.1-r2:0[minizip] ) ) + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +R_DIR="${EROOT%/}/usr/$(get_libdir)/${PN}" + +pkg_setup() { + if use openmp; then + if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi + FORTRAN_NEED_OPENMP=1 + fi + fortran-2_pkg_setup + filter-ldflags -Wl,-Bdirect -Bdirect + # avoid using existing R installation + unset R_HOME + # Temporary fix for bug #419761 + if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then + append-flags -fno-ipa-cp-clone + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-2.11.1-parallel.patch \ + "${FILESDIR}"/${PN}-2.13.1-zlib_header_fix.patch \ + "${FILESDIR}"/${PN}-3.0.0-rmath-shared.patch + + # fix packages.html for doc (gentoo bug #205103) + sed -i \ + -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -i \ + -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${R_DIR}\"':" \ + src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -i \ + -e 's:\.\./manual/:manual/:g' \ + $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && \ + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + if use X; then + export R_BROWSER="$(type -p xdg-open)" + export R_PDFVIEWER="$(type -p xdg-open)" + fi + use perl && \ + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + # Fix for Darwin (OS X) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i \ + -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -i \ + -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \ + src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EROOT%/}/usr/$(get_libdir)/R/lib" + fi + fi + AT_M4DIR=m4 eaclocal + eautoconf +} + +src_configure() { + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --with-system-zlib \ + --with-system-bzlib \ + --with-system-pcre \ + --with-system-xz \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_enable static-libs static) \ + $(use_enable static-libs R-static-lib) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with tk tk-config "${EPREFIX}"/usr/lib/tkConfig.sh) \ + $(use_with tk tcl-config "${EPREFIX}"/usr/lib/tclConfig.sh) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone shared $(use static-libs && echo static) AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -j1 -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + cat > 99R <<-EOF + LDPATH=${R_DIR}/lib + R_HOME=${R_DIR} + EOF + doenvd 99R + use bash-completion && newbashcomp "${WORKDIR}"/${BCP} ${PN} + # The buildsystem has a different understanding of install_names than what + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/lib/R > /dev/null + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/lib/R/${mod}" \ + "${mod}" + done + popd > /dev/null + fi + docompress -x /usr/share/doc/${PF}/NEWS.rds +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/R-3.1.0.ebuild b/dev-lang/R/R-3.1.0.ebuild new file mode 100644 index 000000000000..0ff21980d8f8 --- /dev/null +++ b/dev-lang/R/R-3.1.0.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib versionator toolchain-funcs + +BCP=${PN}-20130129.bash_completion +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="http://www.r-project.org/" +SRC_URI=" + mirror://cran/src/base/R-3/${P}.tar.gz + bash-completion? ( http://dev.gentoo.org/~bicatali/distfiles/${BCP}.bz2 )" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="bash-completion cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X" +REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )" + +CDEPEND=" + app-arch/bzip2:0= + app-arch/xz-utils:0= + app-text/ghostscript-gpl + dev-libs/libpcre:3= + virtual/blas:0 + || ( >=sys-apps/coreutils-8.15 sys-freebsd/freebsd-bin app-misc/realpath ) + cairo? ( x11-libs/cairo:0=[X] x11-libs/pango:0= ) + icu? ( dev-libs/icu:= ) + jpeg? ( virtual/jpeg:0 ) + lapack? ( virtual/lapack:0 ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:0= ) + readline? ( sys-libs/readline:0= ) + tiff? ( media-libs/tiff:0= ) + tk? ( dev-lang/tk:0= ) + X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )" + +DEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + )" + +RDEPEND="${CDEPEND} + ( || ( <sys-libs/zlib-1.2.5.1-r1:0 >=sys-libs/zlib-1.2.5.1-r2:0[minizip] ) ) + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +R_DIR="${EROOT%/}/usr/$(get_libdir)/${PN}" + +pkg_setup() { + if use openmp; then + if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi + FORTRAN_NEED_OPENMP=1 + fi + fortran-2_pkg_setup + filter-ldflags -Wl,-Bdirect -Bdirect + # avoid using existing R installation + unset R_HOME + # Temporary fix for bug #419761 + if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then + append-flags -fno-ipa-cp-clone + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-2.11.1-parallel.patch \ + "${FILESDIR}"/${PN}-2.13.1-zlib_header_fix.patch \ + "${FILESDIR}"/${PN}-3.0.0-rmath-shared.patch + + # fix packages.html for doc (gentoo bug #205103) + sed -i \ + -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -i \ + -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${R_DIR}\"':" \ + src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -i \ + -e 's:\.\./manual/:manual/:g' \ + $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && \ + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + if use X; then + export R_BROWSER="$(type -p xdg-open)" + export R_PDFVIEWER="$(type -p xdg-open)" + fi + use perl && \ + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + # Fix for Darwin (OS X) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i \ + -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -i \ + -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \ + src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EROOT%/}/usr/$(get_libdir)/R/lib" + fi + fi + AT_M4DIR=m4 eaclocal + eautoconf +} + +src_configure() { + # --with-system-tre \ + # tre is patched from upstream + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --with-system-zlib \ + --with-system-bzlib \ + --with-system-pcre \ + --with-system-xz \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_enable static-libs static) \ + $(use_enable static-libs R-static-lib) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with tk tk-config "${EPREFIX}"/usr/lib/tkConfig.sh) \ + $(use_with tk tcl-config "${EPREFIX}"/usr/lib/tclConfig.sh) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone \ + shared $(use static-libs && echo static) AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -j1 -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + cat > 99R <<-EOF + LDPATH=${R_DIR}/lib + R_HOME=${R_DIR} + EOF + doenvd 99R + use bash-completion && newbashcomp "${WORKDIR}"/${BCP} ${PN} + # The buildsystem has a different understanding of install_names than + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/lib/R > /dev/null + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/lib/R/${mod}" \ + "${mod}" + done + popd > /dev/null + fi + docompress -x /usr/share/doc/${PF}/NEWS.rds +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/R-3.1.1.ebuild b/dev-lang/R/R-3.1.1.ebuild new file mode 100644 index 000000000000..695519aa8194 --- /dev/null +++ b/dev-lang/R/R-3.1.1.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib versionator toolchain-funcs + +BCP=${PN}-20130129.bash_completion +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="http://www.r-project.org/" +SRC_URI=" + mirror://cran/src/base/R-3/${P}.tar.gz + http://dev.gentoo.org/~bicatali/distfiles/${BCP}.bz2" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X" +REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )" + +CDEPEND=" + app-arch/bzip2:0= + app-arch/xz-utils:0= + app-text/ghostscript-gpl + >=dev-libs/libpcre-8.35:3= + virtual/blas:0 + || ( >=sys-apps/coreutils-8.15 sys-freebsd/freebsd-bin app-misc/realpath ) + cairo? ( x11-libs/cairo:0=[X] x11-libs/pango:0= ) + icu? ( dev-libs/icu:= ) + jpeg? ( virtual/jpeg:0 ) + lapack? ( virtual/lapack:0 ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:0= ) + readline? ( sys-libs/readline:0= ) + tiff? ( media-libs/tiff:0= ) + tk? ( dev-lang/tk:0= ) + X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )" + +DEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + )" + +RDEPEND="${CDEPEND} + ( || ( <sys-libs/zlib-1.2.5.1-r1:0 >=sys-libs/zlib-1.2.5.1-r2:0[minizip] ) ) + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +R_DIR="${EROOT%/}/usr/$(get_libdir)/${PN}" + +pkg_setup() { + if use openmp; then + if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi + FORTRAN_NEED_OPENMP=1 + fi + fortran-2_pkg_setup + filter-ldflags -Wl,-Bdirect -Bdirect + # avoid using existing R installation + unset R_HOME + # Temporary fix for bug #419761 + if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then + append-flags -fno-ipa-cp-clone + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-2.11.1-parallel.patch \ + "${FILESDIR}"/${PN}-2.13.1-zlib_header_fix.patch \ + "${FILESDIR}"/${PN}-3.0.0-rmath-shared.patch + + # fix packages.html for doc (gentoo bug #205103) + sed -i \ + -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -i \ + -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${R_DIR}\"':" \ + src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -i \ + -e 's:\.\./manual/:manual/:g' \ + $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && \ + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + if use X; then + export R_BROWSER="$(type -p xdg-open)" + export R_PDFVIEWER="$(type -p xdg-open)" + fi + use perl && \ + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + # Fix for Darwin (OS X) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i \ + -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -i \ + -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \ + src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EROOT%/}/usr/$(get_libdir)/R/lib" + fi + fi + AT_M4DIR=m4 eaclocal + eautoconf +} + +src_configure() { + # --with-system-tre \ + # tre is patched from upstream + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --with-system-zlib \ + --with-system-bzlib \ + --with-system-pcre \ + --with-system-xz \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_enable static-libs static) \ + $(use_enable static-libs R-static-lib) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with tk tk-config "${EPREFIX}"/usr/lib/tkConfig.sh) \ + $(use_with tk tcl-config "${EPREFIX}"/usr/lib/tclConfig.sh) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone \ + shared $(use static-libs && echo static) AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -j1 -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + cat > 99R <<-EOF + LDPATH=${R_DIR}/lib + R_HOME=${R_DIR} + EOF + doenvd 99R + newbashcomp "${WORKDIR}"/${BCP} ${PN} + # The buildsystem has a different understanding of install_names than + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/lib/R > /dev/null + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/lib/R/${mod}" \ + "${mod}" + done + popd > /dev/null + fi + docompress -x /usr/share/doc/${PF}/NEWS.rds +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/R-3.1.2.ebuild b/dev-lang/R/R-3.1.2.ebuild new file mode 100644 index 000000000000..695519aa8194 --- /dev/null +++ b/dev-lang/R/R-3.1.2.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib versionator toolchain-funcs + +BCP=${PN}-20130129.bash_completion +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="http://www.r-project.org/" +SRC_URI=" + mirror://cran/src/base/R-3/${P}.tar.gz + http://dev.gentoo.org/~bicatali/distfiles/${BCP}.bz2" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X" +REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )" + +CDEPEND=" + app-arch/bzip2:0= + app-arch/xz-utils:0= + app-text/ghostscript-gpl + >=dev-libs/libpcre-8.35:3= + virtual/blas:0 + || ( >=sys-apps/coreutils-8.15 sys-freebsd/freebsd-bin app-misc/realpath ) + cairo? ( x11-libs/cairo:0=[X] x11-libs/pango:0= ) + icu? ( dev-libs/icu:= ) + jpeg? ( virtual/jpeg:0 ) + lapack? ( virtual/lapack:0 ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:0= ) + readline? ( sys-libs/readline:0= ) + tiff? ( media-libs/tiff:0= ) + tk? ( dev-lang/tk:0= ) + X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )" + +DEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + )" + +RDEPEND="${CDEPEND} + ( || ( <sys-libs/zlib-1.2.5.1-r1:0 >=sys-libs/zlib-1.2.5.1-r2:0[minizip] ) ) + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +R_DIR="${EROOT%/}/usr/$(get_libdir)/${PN}" + +pkg_setup() { + if use openmp; then + if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi + FORTRAN_NEED_OPENMP=1 + fi + fortran-2_pkg_setup + filter-ldflags -Wl,-Bdirect -Bdirect + # avoid using existing R installation + unset R_HOME + # Temporary fix for bug #419761 + if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then + append-flags -fno-ipa-cp-clone + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-2.11.1-parallel.patch \ + "${FILESDIR}"/${PN}-2.13.1-zlib_header_fix.patch \ + "${FILESDIR}"/${PN}-3.0.0-rmath-shared.patch + + # fix packages.html for doc (gentoo bug #205103) + sed -i \ + -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -i \ + -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${R_DIR}\"':" \ + src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -i \ + -e 's:\.\./manual/:manual/:g' \ + $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && \ + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + if use X; then + export R_BROWSER="$(type -p xdg-open)" + export R_PDFVIEWER="$(type -p xdg-open)" + fi + use perl && \ + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + # Fix for Darwin (OS X) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i \ + -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -i \ + -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \ + src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EROOT%/}/usr/$(get_libdir)/R/lib" + fi + fi + AT_M4DIR=m4 eaclocal + eautoconf +} + +src_configure() { + # --with-system-tre \ + # tre is patched from upstream + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --with-system-zlib \ + --with-system-bzlib \ + --with-system-pcre \ + --with-system-xz \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_enable static-libs static) \ + $(use_enable static-libs R-static-lib) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with tk tk-config "${EPREFIX}"/usr/lib/tkConfig.sh) \ + $(use_with tk tcl-config "${EPREFIX}"/usr/lib/tclConfig.sh) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone \ + shared $(use static-libs && echo static) AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -j1 -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + cat > 99R <<-EOF + LDPATH=${R_DIR}/lib + R_HOME=${R_DIR} + EOF + doenvd 99R + newbashcomp "${WORKDIR}"/${BCP} ${PN} + # The buildsystem has a different understanding of install_names than + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/lib/R > /dev/null + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/lib/R/${mod}" \ + "${mod}" + done + popd > /dev/null + fi + docompress -x /usr/share/doc/${PF}/NEWS.rds +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/R-3.2.0-r1.ebuild b/dev-lang/R/R-3.2.0-r1.ebuild new file mode 100644 index 000000000000..f8ee36f425bc --- /dev/null +++ b/dev-lang/R/R-3.2.0-r1.ebuild @@ -0,0 +1,207 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib versionator toolchain-funcs + +BCP=${PN}-20130129.bash_completion +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="http://www.r-project.org/" +SRC_URI=" + mirror://cran/src/base/R-3/${P}.tar.gz + http://dev.gentoo.org/~bicatali/distfiles/${BCP}.bz2" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos" +IUSE="cairo doc icu java jpeg lapack minimal nls openmp perl png prefix profile readline static-libs tiff tk X" +REQUIRED_USE="png? ( || ( cairo X ) ) jpeg? ( || ( cairo X ) ) tiff? ( || ( cairo X ) )" + +CDEPEND=" + app-arch/bzip2:0= + app-arch/xz-utils:0= + app-text/ghostscript-gpl + >=dev-libs/libpcre-8.35:3= + virtual/blas:0 + || ( >=sys-apps/coreutils-8.15 sys-freebsd/freebsd-bin app-misc/realpath ) + cairo? ( x11-libs/cairo:0=[X] x11-libs/pango:0= ) + icu? ( dev-libs/icu:= ) + jpeg? ( virtual/jpeg:0 ) + lapack? ( virtual/lapack:0 ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:0= ) + readline? ( sys-libs/readline:0= ) + tiff? ( media-libs/tiff:0= ) + tk? ( dev-lang/tk:0= ) + X? ( x11-libs/libXmu:0= x11-misc/xdg-utils )" + +DEPEND="${CDEPEND} + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + )" + +RDEPEND="${CDEPEND} + ( || ( <sys-libs/zlib-1.2.5.1-r1:0 >=sys-libs/zlib-1.2.5.1-r2:0[minizip] ) ) + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +R_DIR="${EROOT%/}/usr/$(get_libdir)/${PN}" + +pkg_setup() { + if use openmp; then + if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi + FORTRAN_NEED_OPENMP=1 + fi + fortran-2_pkg_setup + filter-ldflags -Wl,-Bdirect -Bdirect + # avoid using existing R installation + unset R_HOME + # Temporary fix for bug #419761 + if [[ ($(tc-getCC) == *gcc) && ($(gcc-version) == 4.7) ]]; then + append-flags -fno-ipa-cp-clone + fi +} + +src_prepare() { + epatch \ + "${FILESDIR}"/${PN}-2.11.1-parallel.patch \ + "${FILESDIR}"/${PN}-2.13.1-zlib_header_fix.patch \ + "${FILESDIR}"/${PN}-3.0.0-rmath-shared.patch \ + "${FILESDIR}"/${PN}-3.2.0-omitted-extern-R_running_as_main_program.patch + + # fix packages.html for doc (gentoo bug #205103) + sed -i \ + -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -i \ + -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${R_DIR}\"':" \ + src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -i \ + -e 's:\.\./manual/:manual/:g' \ + $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && \ + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + if use X; then + export R_BROWSER="$(type -p xdg-open)" + export R_PDFVIEWER="$(type -p xdg-open)" + fi + use perl && \ + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + # Fix for Darwin (OS X) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i \ + -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -i \ + -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \ + src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EROOT%/}/usr/$(get_libdir)/R/lib" + fi + fi + AT_M4DIR=m4 eaclocal + eautoconf +} + +src_configure() { + # --with-system-tre \ + # tre is patched from upstream + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --with-system-zlib \ + --with-system-bzlib \ + --with-system-pcre \ + --with-system-xz \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_enable static-libs static) \ + $(use_enable static-libs R-static-lib) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with tk tk-config "${EPREFIX}"/usr/lib/tkConfig.sh) \ + $(use_with tk tcl-config "${EPREFIX}"/usr/lib/tclConfig.sh) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}/fonts" + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone \ + shared $(use static-libs && echo static) AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -j1 -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + cat > 99R <<-EOF + LDPATH=${R_DIR}/lib + R_HOME=${R_DIR} + EOF + doenvd 99R + newbashcomp "${WORKDIR}"/${BCP} ${PN} + # The buildsystem has a different understanding of install_names than + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/lib/R > /dev/null + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/lib/R/${mod}" \ + "${mod}" + done + popd > /dev/null + fi + docompress -x /usr/share/doc/${PF}/NEWS.rds +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/files/R-2.11.1-parallel.patch b/dev-lang/R/files/R-2.11.1-parallel.patch new file mode 100644 index 000000000000..c713d335badd --- /dev/null +++ b/dev-lang/R/files/R-2.11.1-parallel.patch @@ -0,0 +1,17 @@ +Fix ocasional failure with parallel install +Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=322965 +R bug: https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14505 + +Patch by Sebastien Fabbro + +--- src/include/Makefile.in.orig 2010-06-15 18:18:54.000000000 +0000 ++++ src/include/Makefile.in 2010-06-15 18:19:48.000000000 +0000 +@@ -81,7 +81,7 @@ + Rmath.h0: $(srcdir)/Rmath.h0.in $(top_builddir)/config.status + @cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +-install: installdirs install-intl-@USE_INCLUDED_LIBINTL@ ++install: $(OBJ_HEADERS) installdirs install-intl-@USE_INCLUDED_LIBINTL@ + @for d in $(SUBDIRS); do \ + (cd $${d} && $(MAKE) $@) || exit 1; \ + done diff --git a/dev-lang/R/files/R-2.12.1-ldflags.patch b/dev-lang/R/files/R-2.12.1-ldflags.patch new file mode 100644 index 000000000000..2876ac3a4164 --- /dev/null +++ b/dev-lang/R/files/R-2.12.1-ldflags.patch @@ -0,0 +1,15 @@ +Respect ldflags on rscript +Patch by Sebastien Fabbro +https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14506 + +--- src/unix/Makefile.in.orig 2010-12-22 16:58:19.000000000 +0000 ++++ src/unix/Makefile.in 2010-12-22 16:54:16.000000000 +0000 +@@ -66,7 +66,7 @@ + + ## we need to build at install time to capture the correct 'rhome' + install-Rscript: +- $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -DR_HOME='"$(rhome)"' -o Rscript \ ++ $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(LDFLAGS) -DR_HOME='"$(rhome)"' -o Rscript \ + $(srcdir)/Rscript.c + @$(MKINSTALLDIRS) "$(DESTDIR)$(Rexecbindir)" + @$(INSTALL_PROGRAM) Rscript "$(DESTDIR)$(Rexecbindir)/Rscript" diff --git a/dev-lang/R/files/R-2.13.1-zlib_header_fix.patch b/dev-lang/R/files/R-2.13.1-zlib_header_fix.patch new file mode 100644 index 000000000000..136acb26055f --- /dev/null +++ b/dev-lang/R/files/R-2.13.1-zlib_header_fix.patch @@ -0,0 +1,20 @@ +Update for zlib header changes for zlib > 1.2.5 + +Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=383431 +R bug: https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14951 + +Patch by Michael Schreckenbauer + +--- src/main/unzip.h.orig 2011-09-24 19:35:53.000000000 -0700 ++++ src/main/unzip.h 2011-09-24 19:37:06.000000000 -0700 +@@ -58,6 +58,10 @@ + #define ZLIB_FILEFUNC_SEEK_END (2) + #define ZLIB_FILEFUNC_SEEK_SET (0) + ++#ifndef OF ++#define OF(x) x ++#endif ++ + #define ZLIB_FILEFUNC_MODE_READ (1) + #define ZLIB_FILEFUNC_MODE_WRITE (2) + #define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) diff --git a/dev-lang/R/files/R-2.14.1-rmath-shared.patch b/dev-lang/R/files/R-2.14.1-rmath-shared.patch new file mode 100644 index 000000000000..c16f20e756de --- /dev/null +++ b/dev-lang/R/files/R-2.14.1-rmath-shared.patch @@ -0,0 +1,24 @@ +Link with libm to fix unresolved symbols when linked with as-needed +and add a soname to the standalone math library +Patch by Sebastien Fabbro +--- src/nmath/standalone/Makefile.in.orig 2010-03-17 14:43:22.000000000 +0000 ++++ src/nmath/standalone/Makefile.in 2012-01-02 17:40:13.000000000 +0000 +@@ -64,7 +64,8 @@ + Rexeclibdir_LTLIBRARIES = $(libRmath_la) + libRmath_la_SOURCES = $(SOURCES) + libRmath_la_OBJECTS = $(OBJECTS:.o=.lo) +-libRmath_la_LDFLAGS = ++libRmath_la_LDFLAGS = -Wl,-soname=libRmath.so ++libRmath_la_LIBADD = $(LIBM) + + CLEANFILES = Makedeps *.d *.o *.lo test $(SOURCES) + DISTCLEANFILES = Makefile $(Rexeclibdir_LIBRARIES) $(Rexeclibdir_LTLIBRARIES) +@@ -116,7 +117,7 @@ + $(RANLIB) $@ + + $(libRmath_la): $(libRmath_la_OBJECTS) +- $(DYLIB_LINK) -o $@ $(libRmath_la_LDFLAGS) $(libRmath_la_OBJECTS) ++ $(DYLIB_LINK) $(libRmath_la_LDFLAGS) $(libRmath_la_OBJECTS) $(libRmath_la_LIBADD) -o $@ + + test: $(srcdir)/test.c + $(CC) -o $@ $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(srcdir)/test.c \ diff --git a/dev-lang/R/files/R-3.0.0-rmath-shared.patch b/dev-lang/R/files/R-3.0.0-rmath-shared.patch new file mode 100644 index 000000000000..f53fb7910511 --- /dev/null +++ b/dev-lang/R/files/R-3.0.0-rmath-shared.patch @@ -0,0 +1,28 @@ +Link with libm to fix unresolved symbols when linked with as-needed +and add a soname to the standalone math library +R bug: https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14953 + +Patch by Sebastien Fabbro +Adapted to R-3.0.0 by Denis Dupeyron + +--- src/nmath/standalone/Makefile.in.orig 2013-04-04 14:39:15.777544946 -0600 ++++ src/nmath/standalone/Makefile.in 2013-04-04 14:40:51.256153179 -0600 +@@ -64,7 +64,8 @@ + Rexeclibdir_LTLIBRARIES = $(libRmath_la) + libRmath_la_SOURCES = $(SOURCES) + libRmath_la_OBJECTS = $(OBJECTS:.o=.lo) +-libRmath_la_LDFLAGS = ++libRmath_la_LDFLAGS = -Wl,-soname=libRmath.so ++libRmath_la_LIBADD = $(LIBM) + + CLEANFILES = Makedeps *.d *.o *.lo test $(SOURCES) + DISTCLEANFILES = Makefile $(Rexeclibdir_LIBRARIES) $(Rexeclibdir_LTLIBRARIES) +@@ -117,7 +118,7 @@ + + ## under peculiar circumstances, $(LIBM) here helps. + $(libRmath_la): $(libRmath_la_OBJECTS) +- $(DYLIB_LINK) -o $@ $(libRmath_la_LDFLAGS) $(libRmath_la_OBJECTS) $(LIBM) ++ $(DYLIB_LINK) $(libRmath_la_LDFLAGS) $(libRmath_la_OBJECTS) $(libRmath_la_LIBADD) -o $@ + + test: $(srcdir)/test.c + $(CC) -o $@ $(ALL_CPPFLAGS) $(ALL_CFLAGS) $(srcdir)/test.c \ diff --git a/dev-lang/R/files/R-3.2.0-omitted-extern-R_running_as_main_program.patch b/dev-lang/R/files/R-3.2.0-omitted-extern-R_running_as_main_program.patch new file mode 100644 index 000000000000..eebe5088ff98 --- /dev/null +++ b/dev-lang/R/files/R-3.2.0-omitted-extern-R_running_as_main_program.patch @@ -0,0 +1,12 @@ +--- R-3.2.0-orig/src/include/Rinterface.h 2015-03-19 10:02:16.000000000 +1100 ++++ R-3.2.0/src/include/Rinterface.h 2015-05-01 23:02:17.541946810 +1000 +@@ -90,7 +90,8 @@ + void fpu_setup(Rboolean); + + /* in unix/system.c */ +-int R_running_as_main_program; ++/* Gentoo bug 547478 R bug https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=15899 */ ++extern int R_running_as_main_program; + + #ifdef CSTACK_DEFNS + /* duplicating Defn.h */ diff --git a/dev-lang/R/metadata.xml b/dev-lang/R/metadata.xml new file mode 100644 index 000000000000..1deadcbddd09 --- /dev/null +++ b/dev-lang/R/metadata.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>sci-mathematics</herd> + <maintainer> + <email>calchan@gentoo.org</email> + <name>Denis Dupeyron</name> + </maintainer> + <longdescription lang="en"> + R is GNU S, a system for statistical computation and graphics. It + consists of a language plus a run-time environment with graphics, a + debugger, access to certain system functions, and the ability to run + programs stored in script files. + + The core of R is an interpreted computer language which allows + branching and looping as well as modular programming using functions. + The R distribution contains functionality for a large number of + statistical procedures such as: linear and generalized linear + models, nonlinear regression models, time series analysis, classical + parametric and nonparametric tests, clustering, smoothing and + graphical data representations. Additional modules ("add-on + packages") are available for a variety of specific purposes but are + not distributed with this package. +</longdescription> +</pkgmetadata> |