From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-lang/R/Manifest | 17 ++ dev-lang/R/R-3.2.2.ebuild | 205 +++++++++++++++++++++ dev-lang/R/R-3.3.2.ebuild | 201 ++++++++++++++++++++ dev-lang/R/R-3.4.1.ebuild | 204 ++++++++++++++++++++ dev-lang/R/files/R-2.11.1-parallel.patch | 17 ++ dev-lang/R/files/R-2.13.1-zlib_header_fix.patch | 20 ++ dev-lang/R/files/R-3.0.0-rmath-shared.patch | 28 +++ .../R/files/R-3.3.2-zlib-1.2.10-backport.patch | 20 ++ dev-lang/R/files/R-3.4.1-parallel.patch | 11 ++ dev-lang/R/files/R-3.4.1-rmath-shared.patch | 21 +++ dev-lang/R/metadata.xml | 24 +++ 11 files changed, 768 insertions(+) create mode 100644 dev-lang/R/Manifest create mode 100644 dev-lang/R/R-3.2.2.ebuild create mode 100644 dev-lang/R/R-3.3.2.ebuild create mode 100644 dev-lang/R/R-3.4.1.ebuild create mode 100644 dev-lang/R/files/R-2.11.1-parallel.patch create mode 100644 dev-lang/R/files/R-2.13.1-zlib_header_fix.patch create mode 100644 dev-lang/R/files/R-3.0.0-rmath-shared.patch create mode 100644 dev-lang/R/files/R-3.3.2-zlib-1.2.10-backport.patch create mode 100644 dev-lang/R/files/R-3.4.1-parallel.patch create mode 100644 dev-lang/R/files/R-3.4.1-rmath-shared.patch create mode 100644 dev-lang/R/metadata.xml (limited to 'dev-lang/R') diff --git a/dev-lang/R/Manifest b/dev-lang/R/Manifest new file mode 100644 index 000000000000..4c63638a9840 --- /dev/null +++ b/dev-lang/R/Manifest @@ -0,0 +1,17 @@ +AUX R-2.11.1-parallel.patch 685 SHA256 5e57374318a3f549fa64c939a45964b941fac1f9b021cdc94ff1d40ff23032c5 SHA512 30491365eee00389f6f09c2093b5b5a568f4567c110cc0cb3332a53d6a7fcd87fe8f46f9f8521cf21bf1f0cfa24f4282a6e22396902f454c43f26542ac22c2a9 WHIRLPOOL 266115362f92a57d7a22d7b8810d12641e44c61b8396a8fd1a7fde2f5655a4990950366fc801d1d621e045a5a0b44d34c982cddb11396e82c019bec386a65f2a +AUX R-2.13.1-zlib_header_fix.patch 591 SHA256 e185a2c324796c11cca171da63663a59e45b558e13f01af8c9527bd09ea1028b SHA512 1ada5a3ccb0ff902f7df35d6a42f4e99fee6a1f7b36ece000b9e2fed2b731abf5c3687d22239cd324ff6677bf8edff3415aca57c31beef33c73b98073206136a WHIRLPOOL 989418f4fdd120ca0b163b61e7e0bf56e7b52477b38b310ef281c4637c979b5b483d8b955a0167c719ca96e276798ea647d647080164b13e69d3789410d5d813 +AUX R-3.0.0-rmath-shared.patch 1137 SHA256 22d247f2b062074363d3fa6233106291d9b344cff40e56f02c217d97c6bc023f SHA512 92b950703f1bb6dc82b5cee5e4165fddbdf6a2aa2670980460268dae0918f884c8c0ced069b5d106853c7be814025153e8b3fe9689f1db7eeb387cf73b18a4d4 WHIRLPOOL 07c6c18e84c08060d2eef8b7e99ce1a2e49b6511339eac1e5163da056ef58d813dbf8f3a58e1b7b53d96db5b867799cdfcfb285550995cbd28915bafaf7345e7 +AUX R-3.3.2-zlib-1.2.10-backport.patch 511 SHA256 4c5483d64e62630ad0262b2e68ecced9f2b7776222a37a0a2470933ce78935a6 SHA512 29fa5be3de023f0699bab8fec5095f83936d4e40be1cbc43595a7e5ff0023d586c1bfcfe5ed8edde805fa699443e2c6be61779000e6c91be22d7b19309cbb09a WHIRLPOOL 526ccfe5fed8b0e91769aea8e4b4548838876bba7e55e5ff8999f0bec570164b96652223662e616cb59d8b4821b79c882267719b6592f3cd2f468190638bb328 +AUX R-3.4.1-parallel.patch 487 SHA256 7d08b75592f9452b1f92bfe148f9d24fd19ba9163cd16ee2dac753f2c1a891be SHA512 6bc59ebd6c0599110218a70a03030877df8a7fb70d17204a365330d9aa71f7b0688a2502c64b341c478061041da43eb0b0d08cfe63e3e394236142c7d148d778 WHIRLPOOL 5b38e377673d83e814174c0a8bda6bfaa6bf01046ce99b48ca096aef8959a8e910455ee546b58c268b3d48f15ee8680453dfcd0731cf9f00e3867eaaed0baa87 +AUX R-3.4.1-rmath-shared.patch 899 SHA256 76a2d04b3a77884baa3cf84b25920f875e026b73c217c59b06aba2fae634f858 SHA512 20c62b774149ae1959d28217a1be6f30968562de3ad5e4a8d7bfc7c579ca5c35fcd1304d68e222be0a37cb6db9b946fbe82d21a26fecccbecea1401b8c0b25d4 WHIRLPOOL 85ab8d8b183d333f127b4b57d3eb1c4c77e0a9137edcbce652ac01b61c1c07297397a97cb436cd4c5213b1224e95468ec9b660af88c9fed48bc0139db71b38e9 +DIST R-20130129.bash_completion.bz2 4209 SHA256 487e969b94563fec98ec58de7e6142e9361d4219088add0fca282b482a9e01b1 SHA512 910b26e16cfebe677f438abfa5f2652e582db143d91dbf0e7d4b1ea33462c7e5c89c3a3619c63ae98bba26b11a5adb16eda9d344f8cdbe4f0feabc546993c1a5 WHIRLPOOL 2368efaed37fcb6e010f6a234864631f68549bd8e3f733561170cc5b28f5557e546d8561246fb265a481a47991a262fec3acf6abc1dc3929a9357405e0d3c6fc +DIST R-3.2.2.tar.gz 29772864 SHA256 9c9152e74134b68b0f3a1c7083764adc1cb56fd8336bec003fd0ca550cd2461d SHA512 71ba470875262b9f00fb6970f209788df4dad30e0a28373b824b60d8bc6401afb7786e65387663c6490c7ddcd2bfd7f808a270a3e63238f3d7565d5f93607138 WHIRLPOOL fea59929ada1d67dafc6ad89409d18ad173af7990384033f490a00e0f794d9919aecf7cd37089d105fe03b9cf64d079e5d148622571cec3eb924c1c5bd00081e +DIST R-3.3.2.tar.gz 29440670 SHA256 d294ad21e9f574fb4828ebb3a94b8cb34f4f304a41687a994be00dd41a4e514c SHA512 06a98687c0b180cb0bfd57440ea26088212d9f48948d503136475bf54b42d72cfec5bea7e333c0cedd60733bd614dd0f8c2eced7e24478b6c89f48e8d0c43482 WHIRLPOOL a68112df87552cc6ca8cd6b78b99dda2a22b8f4cfcd87a4512d541d25ef21358ede1ba71b4d7e9f274bf4e4340de18355a777d9af2ed41c0a498fa11d91cf0d8 +DIST R-3.4.1.tar.gz 30200109 SHA256 02b1135d15ea969a3582caeb95594a05e830a6debcdb5b85ed2d5836a6a3fc78 SHA512 19bd50c87dc001ef947c15c1760f27ac8986ff6b43c6d90d3093ae184e42963027ef06faf31ec57ac9e519af7a35a2f53f8ea23ef75d800ebbd02945cedc4651 WHIRLPOOL 1396303a7ef7a0e8920af867e6b68e171152578231c9a7ad5020b494124922aae634c1ce6d0f2b2f8441481736b93c3abffe142f2af78dbb0dbc754c4faec3f1 +DIST R-78d6830e28ea90a046da79a9b4f70c39594bb6d6.bash_completion 13596 SHA256 7e452a23e0bd96b1076280448d130adab229b8ea37cd4531db77391868a31e97 SHA512 9ccd19bb1b0c18a2f13035ccd6809447429e197e298fb4d1df808ef345d723b42f75a1b91c349f6dbb46e4a82e59ef33e11300c495d79b63d670d0c0f2b16a06 WHIRLPOOL 49fd55e6a52d55f0aa15d3a117394793b6fba6f1b69a26911a2b2d7c40a65c8ec2246851edc3abb52849930c48e817ee62319ae8bc1db0a9b802c95fcb1554e0 +EBUILD R-3.2.2.ebuild 6047 SHA256 8d8a134a4e2df933ffb7812ce6a8af82e30d7d07b30ac912f440a92699af1c7b SHA512 adb3ec5895960448e932fe8e0a77991e8935c02d7e7e703457881a174a67fefe7aa8be26b0fc0591506ee7792476d621499f9393a2e464f14535b95324759d3e WHIRLPOOL 2133ce9457c4dc9fe246058f0786dcfcb44f558eb8ed8ab66914f622b3ae1bba2b39ae7a458bad7646b9acabc3d1af33bcbe62165e8460d767fbda852511359c +EBUILD R-3.3.2.ebuild 6118 SHA256 29f8b0127a8c677f6b92b6c1de6182820ec2250772cdeceb2fcc3bef825b33cb SHA512 c8a92ff88add7f214abbf8a0dad71df8ef015669048ee1a9688fbbd9eb7e10c76f88380f7bb18db4d8901a633fe038e4104deabcb969bffc62fab298b734a150 WHIRLPOOL 84cd3d7d80973f7048deb0dc7b0861b772555cc39478c20b09bddc509c966d0178e175e2baae068ff76590e183276dd5004140660e97780c74de83b2e471af9f +EBUILD R-3.4.1.ebuild 6330 SHA256 f9f8b4718cb2175e2d2255550ba9a194ac3b515fd53c55f076b21971ee017158 SHA512 14587dc493d11abcf35e27ec85f908aebb2874554715953fa57227438aff83341d787393a2728c9761a068ecd0a866501e69c2fb6dc3959551a794aff657dd06 WHIRLPOOL b45ec3babb70c6b73957aadd0396306fa0998dddd1d34d1d39db2d9c806a05f31bb6aa297abfde2cffb96a597f5b19aa406ba937c22c309cfe1af2b74d20f3b9 +MISC ChangeLog 5568 SHA256 54a89bc352846d3302948301889da7675af363c1f268710084fd92b9535fba8e SHA512 aa3d0ac91d6ac541b1ce8b1bfbce6500ff78de31ab222384add99c6e41daa6bac79b4e8927b12ab27636ff9cb0e90bc3103877011b826aec9264037b417f2c34 WHIRLPOOL b6a8e2244dc3188ef351efda37bbc29341ce671596ede4e459e7d38a628221d27db380d20a04e37cb75cf5c6b1543ee5e17e2c92fc9fecbab4133fdd2139726d +MISC ChangeLog-2015 37389 SHA256 101a02192f9731c210a7bd41935776449e2d5f778f901b86a460694c7dfd9292 SHA512 2b84c031ac337650af82a766057425c66e11dcaae6aa5c27d7de6654068f231c0cec051463eb3f853f13afaf0e988b41bbc16280f332d9e9f0463797d03ee5e8 WHIRLPOOL a436c9e0a6dfe45cb95e2ec589134df6ab448dc4e64850ad0a050211bb8912b884c29d455dea4d9d8d3b587ea2f61015a57ad94539cd4e56e38977b1b4d168ac +MISC metadata.xml 1140 SHA256 4a9651f060b7e0ebd860316761ef907520c59603a81bdc101fb30eb7e19650a1 SHA512 297c7e17998f92fb836b0599ce5221aee1ba1e7b1504edb348a602b695faf381d51f32f6118f5ef4bb353f02e92ffc5b3520b8d317d3e30a68a3cce0254fa6b1 WHIRLPOOL 26e0791b4e1c01b4bf9b6772080c52b9b5554af7feb6b54d71e5a2dbf81c03ea3e3363712f19fa876d839b8d91bfec5266688b29c5e65e205d22f7d167418493 diff --git a/dev-lang/R/R-3.2.2.ebuild b/dev-lang/R/R-3.2.2.ebuild new file mode 100644 index 000000000000..ae27f02d702e --- /dev/null +++ b/dev-lang/R/R-3.2.2.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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 + https://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-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.3.2.ebuild b/dev-lang/R/R-3.3.2.ebuild new file mode 100644 index 000000000000..fb9bde8c312a --- /dev/null +++ b/dev-lang/R/R-3.3.2.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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 + https://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-r2:0[minizip] + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +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}"/${P}-zlib-1.2.10-backport.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='\"${EROOT%/}/usr/$(get_libdir)/${PN}\"':" \ + 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-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable java) \ + $(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=${EROOT%/}/usr/$(get_libdir)/${PN}/lib + R_HOME=${EROOT%/}/usr/$(get_libdir)/${PN} + 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}/{BioC_mirrors.csv,CRAN_mirrors.csv,KEYWORDS.db,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.4.1.ebuild b/dev-lang/R/R-3.4.1.ebuild new file mode 100644 index 000000000000..85556b03670f --- /dev/null +++ b/dev-lang/R/R-3.4.1.ebuild @@ -0,0 +1,204 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit bash-completion-r1 autotools eutils flag-o-matic fortran-2 multilib versionator toolchain-funcs + +# latest git commit for R bash completion: https://github.com/deepayan/rcompletion +BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6 + +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 + https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion" + +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= + net-misc/curl + 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-r2:0[minizip] + java? ( >=virtual/jre-1.5 )" + +RESTRICT="minimal? ( test )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.4.1-parallel.patch + "${FILESDIR}"/${PN}-3.4.1-rmath-shared.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + if ! tc-check-openmp; then + ewarn "OpenMP is not available in your current selected compiler" + die "need openmp capable compiler" + 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() { + default + + # fix packages.html for doc (gentoo bug #205103) + sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + -i src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EROOT%/}/usr/$(get_libdir)/${PN}\"':" \ + -i src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -e 's:\.\./manual/:manual/:g' \ + -i $(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 -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/" \ + -i configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EROOT%/}/usr/$(get_libdir)/libRmath.dylib:" \ + -i 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-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + --docdir="${EPREFIX}/usr/share/doc/${PF}" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + $(use_enable java) \ + $(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/$(get_libdir)/tkConfig.sh) \ + $(use_with tk tcl-config "${EPREFIX}"/usr/$(get_libdir)/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=${EROOT%/}/usr/$(get_libdir)/${PN}/lib + R_HOME=${EROOT%/}/usr/$(get_libdir)/${PN} + EOF + doenvd 99R + newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${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/$(get_libdir)/R > /dev/null + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" \ + "${mod}" + done + popd > /dev/null + fi + docompress -x /usr/share/doc/${PF}/{BioC_mirrors.csv,CRAN_mirrors.csv,KEYWORDS.db,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.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-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.3.2-zlib-1.2.10-backport.patch b/dev-lang/R/files/R-3.3.2-zlib-1.2.10-backport.patch new file mode 100644 index 000000000000..2cfb30da90fd --- /dev/null +++ b/dev-lang/R/files/R-3.3.2-zlib-1.2.10-backport.patch @@ -0,0 +1,20 @@ +Index: R.m4 +=================================================================== +--- m4/R.m4 (revision 71152) ++++ m4/R.m4 (revision 71889) +@@ -3105,10 +3105,11 @@ + #include + #include + int main() { +-#ifdef ZLIB_VERSION +-/* Work around Debian bug: it uses 1.2.3.4 even though there was no such +- version on the master site zlib.net */ +- exit(strncmp(ZLIB_VERSION, "1.2.5", 5) < 0); ++#ifdef ZLIB_VERNUM ++ if (ZLIB_VERNUM < 0x1250) { ++ exit(1); ++ } ++ exit(0); + #else + exit(1); + #endif diff --git a/dev-lang/R/files/R-3.4.1-parallel.patch b/dev-lang/R/files/R-3.4.1-parallel.patch new file mode 100644 index 000000000000..6fac15b9ffb7 --- /dev/null +++ b/dev-lang/R/files/R-3.4.1-parallel.patch @@ -0,0 +1,11 @@ +--- a/src/include/Makefile.in 2017-07-05 23:09:09.682703655 +0000 ++++ b/src/include/Makefile.in 2017-07-05 23:06:56.533612308 +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-3.4.1-rmath-shared.patch b/dev-lang/R/files/R-3.4.1-rmath-shared.patch new file mode 100644 index 000000000000..8bc6233de6df --- /dev/null +++ b/dev-lang/R/files/R-3.4.1-rmath-shared.patch @@ -0,0 +1,21 @@ +--- a/src/nmath/standalone/Makefile.in 2017-07-05 23:20:26.098087600 +0000 ++++ b/src/nmath/standalone/Makefile.in 2017-07-05 23:21:55.087480310 +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 check.log $(SOURCES) + DISTCLEANFILES = Makefile $(Rexeclibdir_LIBRARIES) $(Rexeclibdir_LTLIBRARIES) +@@ -127,7 +128,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/metadata.xml b/dev-lang/R/metadata.xml new file mode 100644 index 000000000000..8972d9ed88ca --- /dev/null +++ b/dev-lang/R/metadata.xml @@ -0,0 +1,24 @@ + + + + + sci-mathematics@gentoo.org + Gentoo Mathematics Project + + + 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. + + -- cgit v1.2.3