From d18bf1e01b65ee4bf0c804e2843b282d3d4e5d7c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 15 Jun 2021 14:57:03 +0100 Subject: gentoo resync : 15.06.2021 --- sci-mathematics/rstudio/Manifest | 7 +- .../files/rstudio-1.3.1093-boost-1.76.patch | 55 +++++ sci-mathematics/rstudio/files/rstudio-server.initd | 6 +- .../rstudio/files/rstudio-server.service.in | 1 + sci-mathematics/rstudio/rstudio-1.3.1093-r1.ebuild | 233 +++++++++++++++++++++ sci-mathematics/rstudio/rstudio-1.3.1093.ebuild | 231 -------------------- 6 files changed, 298 insertions(+), 235 deletions(-) create mode 100644 sci-mathematics/rstudio/files/rstudio-1.3.1093-boost-1.76.patch create mode 100644 sci-mathematics/rstudio/rstudio-1.3.1093-r1.ebuild delete mode 100644 sci-mathematics/rstudio/rstudio-1.3.1093.ebuild (limited to 'sci-mathematics/rstudio') diff --git a/sci-mathematics/rstudio/Manifest b/sci-mathematics/rstudio/Manifest index cde7611291d7..5b0ebdde45c9 100644 --- a/sci-mathematics/rstudio/Manifest +++ b/sci-mathematics/rstudio/Manifest @@ -4,15 +4,16 @@ AUX rstudio-1.2.1335-linker_flags.patch 505 BLAKE2B ac0ebca22f6dfcb799dd151e3c91 AUX rstudio-1.2.5042-boost-1.73.0.patch 728 BLAKE2B 675e5ff75ce5c3242bff5d92b32ca6391e8ceb68c504c2f161f2f30c083ae842e5e9a9c519e848595704bb6d639c5a8dc13a296dcfa445db19295f8ee78168e0 SHA512 214751fff5b027f407b093f397e70e701ed9016451a3972b240dcd4999d9b27a1309b47fb22a9f4f3944c47dc6de6bd8f1165a70a7046b5133bd88923d1b46a6 AUX rstudio-1.3.1056-R-4.0.0.patch 1900 BLAKE2B 6429fd40c65a67a8159fda98b517f37133ff070b0b4885e14cbe9acf20516263407e4b5c96833dd6bacaf5f58cf74d65da701e52cf91c38de94c55bfa765647e SHA512 1c7ce8791b6c2f04dbad875433620efacef309b5b84d0c461617b5c52661634ca80e40d9a0fa94e606f992289972f3ce4ae015333de7f4c52b3d498e97746920 AUX rstudio-1.3.1056-boost-1.74.0.patch 1126 BLAKE2B 289631a75eed12417f0091e20d393ce4687a849bfef47f3665c5cfc4d17da8ed9894e4bbded43c39255d58db021fc765e9f66ea0cdbcfe7cec463e271ee71c8e SHA512 c2ad2c189b845002f2b65dcdf3f7f093381759e294fec70148312a5cc5096ed9a1d47fb57d7e9f6c9b7efe174751c4d94dffd4060fc352a986c5c835d23ac5fa +AUX rstudio-1.3.1093-boost-1.76.patch 1420 BLAKE2B d6e88da35c646f649f0487a1993a75ce5e2edeea34dbd383b927a06d635136772bc24efb4598d8c12eaca188406958d71e3bac58e324b1e7e6792d037e73aa3a SHA512 99d0198f14a0d5966cedb96e6585dfeb5e23c7392b71f41a54ccd7ef3f81d067343805cf39fe118e6174e30b42689cffb08e7001c3ae0001388a5f241468c140 AUX rstudio-1.3.959-core.patch 7302 BLAKE2B eceff2aa67fc1a1cb36433bfa0956a4a45da3a017f80987e14893018737b3fc40cf1bbf9641e900311db3f5182828b11452c960b40c4e20ed83e5c3692e458bd SHA512 cf4e0682e3961c1208f14055bc604c2b8b8cc6db955216858ef4d95ca91154ab4d1eef58fcb5cdea84b2b755c98cd837b9028dad1520dd9dba222a45074a68f8 AUX rstudio-1.3.959-pandoc-mathjax.patch 1997 BLAKE2B 71d40c2299b0598f9687175fe464d334e821762972dc0c4027f71c124eef2fd6795030c4426cec56c6b4fe81b8b72598f97214bab1d2b2b2a4c0c551cc1421a7 SHA512 6a5a76898500d3a8a20636a3854d459e5b8d806f68b0a4a08fcf3dae98feeebe751c14a7e4f8275c02ad47de9795168d90505d4dada19ccbdfbef0e07229cb66 AUX rstudio-1.3.959-paths.patch 6142 BLAKE2B ed7ea6025e919e24228ea55679b198496446bc711e0efd355e1bc4ed4822078b8a486fb8390aaf6cf5852447fc9405ca68099e4a566b24521d341744c7e719a7 SHA512 9ee6c13619d6dac9f7af85557be1c4430d801424c3b29cbc73b657686d2cba49476083ae2bf87f7cef0039672116d3385fb51a03e803d9ae02e4a721403e614a AUX rstudio-1.3.959-prefs.patch 3132 BLAKE2B b2d815c8c08b1f9fde82e41fe1c865d0d70c9ecec729e7c62bf858cc48ab00afbc99c59086b0c2c7ab1e0a0a956fa6f448dd407750d4e92101e6609ec2e59ee9 SHA512 0e9541dd7fba278339b0ed409be9997c86ef3ed536de791cce98f9b718476e9144c53be1572fd3f4d2396ddede05df625b4d584aa7e83add7e9ddc41989c9fcd AUX rstudio-1.3.959-qtsingleapplication.patch 2149 BLAKE2B 5d7170aeb02fff87bfde9ad55c004a3690c6f0d2ea73602e22c17a79efa81a207ed83d23595e4e071375fb6df60d57c9f17380fe3726f57b3e126c0448560fe8 SHA512 b98761454a0afb64806409f1e330557379cce7f23aaafd3bdfe913f6d41b56738bcc746e99cf5031c8559fac5368dcd299bcbe31b7f40e3a3a7a8f92217ace05 AUX rstudio-server.conf 1337 BLAKE2B a9a85c76a1c7c5f32f55606c6e3c9b72662dbd25e4b005f9702ed301afc21425906faf06fca91c18328524c53437aee7c9c4aee26cf293cdc72375e91ec7f701 SHA512 f166f1aa4bd370fcfcb44c5694d4e6af8bc64c5f43671e0c1def10c555d248bebf54199097f37d628a083c65913f522b7b44c3bd6a1227c011cf25eed1dba4a6 -AUX rstudio-server.initd 377 BLAKE2B 4f49b9ae2a81cd60565f79f121d60f5531746febd1f6f68cc93863985bd9af28d4ef04f647bd1b492ca69273724c282bcaedcfb5d08b8f2ac237ddb6f5baa438 SHA512 828a485338088d129c57debec6557ad35db5b042c61489ae4341717ce2218bec59a873541c270f964bb9c708b75896f1a3e2e64a4245a1713979d3bd42c9d5c8 -AUX rstudio-server.service.in 161 BLAKE2B 0be9cb83304063c9123c6fa13b7751b2f848adde282fc586acccfa4110f902e4de9962211ca0c871f66f3563319fe195c9f230daa4d4e429357ff74701e4d2d7 SHA512 bcf1f30e460dd5f0562b20489ca5544c6bcfbfb0ee1c636c4365df433e97e02e9e3b233e4159a0c71ad6d319f34f93c22b8fbf6b36463e29f22df2acd71da173 +AUX rstudio-server.initd 398 BLAKE2B 0a621dbb4a931a225913c8197d652a13e8fd1abf5a4381a05b06e8304abe3155465e388c1d060dcda4b894344762bbbe6cf38a55b5fc8bdfbe4ada29f27b9468 SHA512 3ebda251177a20acc1e52da7cbdec6bf28b702a0aa3809739f570a9be1d1e81ae46515c2af1ce14404eb2db44c18fc293e69b05e88f1502419c07f9b370c4dbf +AUX rstudio-server.service.in 182 BLAKE2B 36ae7ad62cc7f4b1280841039d668255ea3de541043039fc624a5d9c2595278c3fff4e8c6f056d52e0edd155025be5b3ea9564a4446bbdefd1f30cf3b2b80a60 SHA512 983484b9b970ee7a9294a78edcbba801520c2d1ace7920c961f4c2a38f27e07af11ed328b4de539be8f724ce04fbffb177374fa51918bbe4c5bc8194db15a4f9 DIST core-dictionaries.zip 876339 BLAKE2B f29afcbf5a7f8ec635e5a5b248d978af286d18488f54c9a09a2b95fde19b796e4473e5846402a46dd24b71c6e4167512539aaa32ab6d99713d500a80aaf46796 SHA512 9c5830cc9fed575e223f1c61f02e48c5aea6801bb0cd2586f02437c17fdffdb1d36c396d5a8ecbe02ba01196e73458304345b1f6b92c052bc7a7d05961fac2c9 DIST rstudio-1.3.1093.tar.gz 89554292 BLAKE2B defd68e65a2cbc570aaf6fb14bd16342946154cda7322549d426281aea48d923803f061c1cd7d74b65b000a67ed62713dd06d311617e54130cb7c08147b34694 SHA512 c8a8d2312353e574dc2fb8ff2e64bd46c8aaf889c86f9c81ce22a7275e4cbec436dadfdaee513c3fc47dd3ad003e07a25baac4d8fcf47cc21df919afa084e92e -EBUILD rstudio-1.3.1093.ebuild 6922 BLAKE2B d35f9b9bacfdef7539632043be189d82676ecc7033cafd27caadb5f7ffa58ce220176239dfb3031314aa67a69158a83d688739d4c08bcd238be68d7bea3026bd SHA512 4796b58aa3dac3d4759b0c521ffa0157978c3b12be5655f03f5bff72dfcdfac96e13d1697bde1cadbef2284fdb1c51829d59d4b6bfb6db2af080f85b723e7e87 +EBUILD rstudio-1.3.1093-r1.ebuild 7005 BLAKE2B 9fb11909d4f2356bed0d5cdd626bad7e83364c031df894920e3f645488adbb7bd5489ce99717f4af45205db9dfb528ba12bd00f799f44bde2ee8ffc897016d7d SHA512 22569476478f751bdc4b8ce16618b0cb0632a7b6b0eb225cb9efa70669556f0d3ff08199eb5cceefca3798ca9001210f1f104781fe63f687566d1c6be9294e28 MISC metadata.xml 590 BLAKE2B 53dc62775e118c9c26ee05e20ee1da1ac31b6a6b74cf7dac410856fe4e0cce40fbb800c7a03e60f59e14442baf3aad866ad42616ad5fbb5724f7f6d8c1636eea SHA512 7111442aaa52da1e554c34f824113ec0e227798dd11b0ea9148b81e7a31c08b2a527b9995e3adb9363c7a4f2a8594f30cbd4a179545bf31d69f07d5558c20f52 diff --git a/sci-mathematics/rstudio/files/rstudio-1.3.1093-boost-1.76.patch b/sci-mathematics/rstudio/files/rstudio-1.3.1093-boost-1.76.patch new file mode 100644 index 000000000000..5e832db2883b --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-1.3.1093-boost-1.76.patch @@ -0,0 +1,55 @@ +--- rstudio-1.3.1093-orig/src/cpp/r/session/RStdCallbacks.cpp ++++ rstudio-1.3.1093/src/cpp/r/session/RStdCallbacks.cpp +@@ -19,7 +19,7 @@ + + #include + #include +-#include ++#include + + #include + #include +@@ -58,6 +58,7 @@ __declspec(dllimport) SA_TYPE SaveAction + } + + using namespace rstudio::core; ++using namespace boost::placeholders; + + namespace rstudio { + namespace r { +--- rstudio-1.3.1093-orig/src/cpp/core/HtmlUtils.cpp.orig ++++ rstudio-1.3.1093/src/cpp/core/HtmlUtils.cpp +@@ -19,13 +19,15 @@ + + #include + #include +-#include ++#include + + #include + #include + #include + + #include ++ ++using namespace boost::placeholders; + + namespace rstudio { + namespace core { +--- rstudio-1.3.1093-orig/src/cpp/core/file_lock/FileLock.cpp.orig ++++ rstudio-1.3.1093/src/cpp/core/file_lock/FileLock.cpp +@@ -26,10 +26,12 @@ + #include + + #include +-#include ++#include + + // borrowed from SessionConstants.hpp + #define kRStudioSessionRoute "RSTUDIO_SESSION_ROUTE" ++ ++using namespace boost::placeholders; + + namespace rstudio { + namespace core { + \ No newline at end of file diff --git a/sci-mathematics/rstudio/files/rstudio-server.initd b/sci-mathematics/rstudio/files/rstudio-server.initd index caa7e46d5df8..96c1e4f210c1 100644 --- a/sci-mathematics/rstudio/files/rstudio-server.initd +++ b/sci-mathematics/rstudio/files/rstudio-server.initd @@ -1,7 +1,11 @@ #!/sbin/openrc-run -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +depend() { + need net +} + start() { ebegin "Starting RStudio Server" start-stop-daemon --start --quiet --exec /usr/bin/rserver diff --git a/sci-mathematics/rstudio/files/rstudio-server.service.in b/sci-mathematics/rstudio/files/rstudio-server.service.in index fb3e37305e00..08965a836a27 100644 --- a/sci-mathematics/rstudio/files/rstudio-server.service.in +++ b/sci-mathematics/rstudio/files/rstudio-server.service.in @@ -1,5 +1,6 @@ [Unit] Description=RStudio Server +After=network.target [Service] Type=forking diff --git a/sci-mathematics/rstudio/rstudio-1.3.1093-r1.ebuild b/sci-mathematics/rstudio/rstudio-1.3.1093-r1.ebuild new file mode 100644 index 000000000000..851ffef54c98 --- /dev/null +++ b/sci-mathematics/rstudio/rstudio-1.3.1093-r1.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eutils cmake pam xdg-utils java-pkg-2 java-ant-2 pax-utils prefix qmake-utils vcs-clean + +# TODO +# * use dict from tree, linguas +# * do src_test (use junit from tree?) + +GIN_VER=2.1.2 +# grep 'PANDOC_VERSION=' dependencies/common/install-pandoc +PANDOC_VER=2.9.2.1 +# grep -5 QT_CANDIDATES src/cpp/desktop/CMakeLists.txt +QT_VER=5.12.6 +QT_SLOT=5 + +DESCRIPTION="IDE for the R language" +HOMEPAGE=" + http://www.rstudio.org + https://github.com/rstudio/rstudio/" +SRC_URI=" + https://github.com/rstudio/rstudio/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip +" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="dedicated server" + +RDEPEND=" + >=app-text/pandoc-${PANDOC_VER} + dev-java/aopalliance:1 + dev-java/gin:2.1 + dev-java/javax-inject + =dev-java/validation-api-1.0*:1.0[source] + dev-haskell/pandoc-citeproc + dev-lang/R + dev-libs/boost:= + >=dev-libs/mathjax-2.7.4 + sys-apps/util-linux + sys-devel/clang:* + sys-libs/zlib + >=virtual/jre-1.8:= + x11-libs/pango + !dedicated? ( + >=dev-qt/qtcore-${QT_VER}:${QT_SLOT} + >=dev-qt/qtdeclarative-${QT_VER}:${QT_SLOT} + >=dev-qt/qtdbus-${QT_VER}:${QT_SLOT} + >=dev-qt/qtgui-${QT_VER}:${QT_SLOT} + >=dev-qt/qtnetwork-${QT_VER}:${QT_SLOT} + >=dev-qt/qtopengl-${QT_VER}:${QT_SLOT} + >=dev-qt/qtpositioning-${QT_VER}:${QT_SLOT} + >=dev-qt/qtprintsupport-${QT_VER}:${QT_SLOT} + >=dev-qt/qtsingleapplication-2.6.1_p20150629[X,qt5(+)] + >=dev-qt/qtsensors-${QT_VER}:${QT_SLOT} + >=dev-qt/qtsql-${QT_VER}:${QT_SLOT} + >=dev-qt/qtsvg-${QT_VER}:${QT_SLOT} + >=dev-qt/qtwebchannel-${QT_VER}:${QT_SLOT} + >=dev-qt/qtwebengine-${QT_VER}:${QT_SLOT}[widgets] + >=dev-qt/qtwidgets-${QT_VER}:${QT_SLOT} + >=dev-qt/qtxml-${QT_VER}:${QT_SLOT} + >=dev-qt/qtxmlpatterns-${QT_VER}:${QT_SLOT} + server? ( sys-libs/pam ) + ) + dedicated? ( sys-libs/pam ) + dedicated? ( + sys-libs/pam + acct-user/rstudio-server + acct-group/rstudio-server + ) + server? ( + acct-user/rstudio-server + acct-group/rstudio-server + ) + dev-libs/openssl:0= + " +DEPEND="${RDEPEND} + app-arch/unzip + dev-java/ant-core + >=virtual/jdk-1.8:= + virtual/pkgconfig" +# test? ( dev-java/junit:4 ) + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.959-prefs.patch + "${FILESDIR}"/${PN}-1.3.959-paths.patch + "${FILESDIR}"/${PN}-1.3.959-pandoc-mathjax.patch + "${FILESDIR}"/${PN}-1.2.1335-linker_flags.patch + "${FILESDIR}"/${PN}-1.3.959-qtsingleapplication.patch + "${FILESDIR}"/${PN}-1.0.44-systemd.patch + "${FILESDIR}"/${PN}-1.3.959-core.patch + "${FILESDIR}"/${PN}-1.2.5042-boost-1.73.0.patch + "${FILESDIR}"/${PN}-1.3.1056-R-4.0.0.patch + "${FILESDIR}"/${PN}-1.3.1056-boost-1.74.0.patch + "${FILESDIR}"/${PN}-1.3.1093-boost-1.76.patch +) + +src_unpack() { + unpack ${P}.tar.gz + cd "${S}" || die + mkdir -p dependencies/common/dictionaries + unzip -qd dependencies/common/dictionaries \ + "${DISTDIR}"/core-dictionaries.zip || die +} + +src_prepare() { + cmake_src_prepare + java-pkg-2_src_prepare + egit_clean + + # Enable CMake to install our .service file for systemd usage + mkdir -vp "${S}/src/cpp/server/lib/systemd/system" || die + cp -v "${FILESDIR}/rstudio-server.service.in" "${S}/src/cpp/server/lib/systemd/system/" || die + + # Adding -DDISTRO_SHARE=... to append-flags breaks cmake so using + # this sed hack for now. ~RMH + sed -i \ + -e "s|DISTRO_SHARE|\"share/${PN}\"|g" \ + src/cpp/server/ServerOptions.cpp \ + src/cpp/session/SessionOptions.cpp || die + + # use mathjax from system + ln -sf "${EPREFIX}"/usr/share/mathjax dependencies/common/mathjax-26 || die + + # make sure icons and mime stuff are with prefix + sed -i \ + -e "s:/usr:${EPREFIX}/usr:g" \ + CMakeGlobals.txt src/cpp/desktop/CMakeLists.txt || die + + # install themes in /etc/rstudio/extra/sthemes instead of /usr/extra/themes + sed -i \ + -e "s@\(DESTINATION \"\)\(extras/themes\"\)@\1${EROOT}/etc/rstudio/\2@" \ + src/cpp/server/CMakeLists.txt || die + + # On Gentoo the rstudio-server configuration file is /etc/conf.d/rstudio-server.conf + sed -e "s@/etc/rstudio/rserver.conf@${EROOT}/etc/conf.d/rstudio-server.conf@" \ + -i src/cpp/server/ServerOptions.cpp \ + || die + + # Set the rsession.conf file location for Gentoo prefix + sed -e "s@/etc/rstudio/rsession.conf@${EROOT}/etc/rstudio/rsession.conf@" \ + -i src/cpp/session/SessionOptions.cpp \ + || die + + # dev-qt/qtsingleapplication-2.6.1_p20150629 does not provide a cmake module. + # It provides a library that has its version number appended to the end, + # which is difficult to handle in cmake, as find_library does not support + # searching for wildcard library names. So I find the library name from the + # qmake spec, and then sed this into the patched src/cpp/desktop/CMakeLists.txt. + rm -rf "${S}"/src/cpp/desktop/3rdparty || die + local s=$(grep '\-lQt$${QT_MAJOR_VERSION}Solutions_SingleApplication' \ + $(qt5_get_mkspecsdir)/features/qtsingleapplication.prf \ + | sed -e 's@\$\${QT_MAJOR_VERSION}@5@' \ + -e 's@LIBS \*= -l@@') + sed -e "s@Qt5Solutions_SingleApplication-2.6@${s}@g" \ + -i "${S}"/src/cpp/desktop/CMakeLists.txt \ + || die + + # The git commit for tag: git rev-list -n 1 v${PV} + sed -e 's@git ARGS rev-parse HEAD@echo ARGS aee44535570639672cf61c0545113e7a62c90b5b@'\ + -i "${S}"/CMakeLists.txt \ + "${S}"/CMakeGlobals.txt \ + || die + + eprefixify src/gwt/build.xml +} + +src_configure() { + export RSTUDIO_VERSION_MAJOR=$(ver_cut 1) + export RSTUDIO_VERSION_MINOR=$(ver_cut 2) + export RSTUDIO_VERSION_PATCH=$(ver_cut 3) + + local mycmakeargs=( + -DDISTRO_SHARE=share/${PN} + -DRSTUDIO_TARGET=$(usex dedicated "Server" "$(usex server "Development" "Desktop")") + -DRSTUDIO_VERIFY_R_VERSION=FALSE + -DRSTUDIO_USE_SYSTEM_BOOST=TRUE + -DRSTUDIO_BOOST_SIGNALS_VERSION=2 + ) + + if use !dedicated; then + mycmakeargs+=( + -DRSTUDIO_INSTALL_FREEDESKTOP="$(usex !dedicated "ON" "OFF")" + -DQT_QMAKE_EXECUTABLE=$(qt5_get_bindir)/qmake + ) + fi + cmake_src_configure +} + +src_compile() { + local JAVA_ANT_REWRITE_CLASSPATH="yes" + local EANT_BUILD_XML="src/gwt/build.xml" + local EANT_BUILD_TARGET="clean" + java-pkg-2_src_compile + + # Avoid the rest of the oracle-jdk-bin-1.8.0.60 sandbox violations F: mkdir S: deny + # P: /root/.oracle_jre_usage. + export ANT_OPTS="-Duser.home=${T}" + cmake_src_compile +} + +src_install() { + export ANT_OPTS="-Duser.home=${T}" + cmake_src_install + use dedicated || pax-mark m "${ED}/usr/bin/rstudio" + doconfd "${FILESDIR}"/rstudio-server.conf + insinto /etc/rstudio + doins "${FILESDIR}"/rsession.conf + dosym ../conf.d/rstudio-server.conf /etc/rstudio/rserver.conf + if use dedicated || use server; then + dopamd src/cpp/server/extras/pam/rstudio + newinitd "${FILESDIR}"/rstudio-server.initd rstudio-server + fi +} + +pkg_preinst() { + java-pkg-2_pkg_preinst +} + +pkg_postinst() { + use dedicated || { xdg_desktop_database_update + xdg_mimeinfo_database_update + xdg_icon_cache_update ;} +} + +pkg_postrm() { + use dedicated || { xdg_desktop_database_update + xdg_mimeinfo_database_update + xdg_icon_cache_update ;} +} diff --git a/sci-mathematics/rstudio/rstudio-1.3.1093.ebuild b/sci-mathematics/rstudio/rstudio-1.3.1093.ebuild deleted file mode 100644 index 4fee0074c081..000000000000 --- a/sci-mathematics/rstudio/rstudio-1.3.1093.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit eutils cmake pam xdg-utils java-pkg-2 java-ant-2 pax-utils prefix qmake-utils vcs-clean - -# TODO -# * use dict from tree, linguas -# * do src_test (use junit from tree?) - -GIN_VER=2.1.2 -# grep 'PANDOC_VERSION=' dependencies/common/install-pandoc -PANDOC_VER=2.9.2.1 -# grep -5 QT_CANDIDATES src/cpp/desktop/CMakeLists.txt -QT_VER=5.12.6 -QT_SLOT=5 - -DESCRIPTION="IDE for the R language" -HOMEPAGE=" - http://www.rstudio.org - https://github.com/rstudio/rstudio/" -SRC_URI=" - https://github.com/rstudio/rstudio/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip -" - -LICENSE="AGPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -IUSE="dedicated server" - -RDEPEND=" - >=app-text/pandoc-${PANDOC_VER} - dev-java/aopalliance:1 - dev-java/gin:2.1 - dev-java/javax-inject - =dev-java/validation-api-1.0*:1.0[source] - dev-haskell/pandoc-citeproc - dev-lang/R - dev-libs/boost:= - >=dev-libs/mathjax-2.7.4 - sys-apps/util-linux - sys-devel/clang:* - sys-libs/zlib - >=virtual/jre-1.8:= - x11-libs/pango - !dedicated? ( - >=dev-qt/qtcore-${QT_VER}:${QT_SLOT} - >=dev-qt/qtdeclarative-${QT_VER}:${QT_SLOT} - >=dev-qt/qtdbus-${QT_VER}:${QT_SLOT} - >=dev-qt/qtgui-${QT_VER}:${QT_SLOT} - >=dev-qt/qtnetwork-${QT_VER}:${QT_SLOT} - >=dev-qt/qtopengl-${QT_VER}:${QT_SLOT} - >=dev-qt/qtpositioning-${QT_VER}:${QT_SLOT} - >=dev-qt/qtprintsupport-${QT_VER}:${QT_SLOT} - >=dev-qt/qtsingleapplication-2.6.1_p20150629[X,qt5(+)] - >=dev-qt/qtsensors-${QT_VER}:${QT_SLOT} - >=dev-qt/qtsql-${QT_VER}:${QT_SLOT} - >=dev-qt/qtsvg-${QT_VER}:${QT_SLOT} - >=dev-qt/qtwebchannel-${QT_VER}:${QT_SLOT} - >=dev-qt/qtwebengine-${QT_VER}:${QT_SLOT}[widgets] - >=dev-qt/qtwidgets-${QT_VER}:${QT_SLOT} - >=dev-qt/qtxml-${QT_VER}:${QT_SLOT} - >=dev-qt/qtxmlpatterns-${QT_VER}:${QT_SLOT} - server? ( sys-libs/pam ) - ) - dedicated? ( sys-libs/pam ) - dedicated? ( - sys-libs/pam - acct-user/rstudio-server - acct-group/rstudio-server - ) - server? ( - acct-user/rstudio-server - acct-group/rstudio-server - ) - dev-libs/openssl:0= - " -DEPEND="${RDEPEND} - app-arch/unzip - dev-java/ant-core - >=virtual/jdk-1.8:= - virtual/pkgconfig" -# test? ( dev-java/junit:4 ) - -PATCHES=( - "${FILESDIR}"/${PN}-1.3.959-prefs.patch - "${FILESDIR}"/${PN}-1.3.959-paths.patch - "${FILESDIR}"/${PN}-1.3.959-pandoc-mathjax.patch - "${FILESDIR}"/${PN}-1.2.1335-linker_flags.patch - "${FILESDIR}"/${PN}-1.3.959-qtsingleapplication.patch - "${FILESDIR}"/${PN}-1.0.44-systemd.patch - "${FILESDIR}"/${PN}-1.3.959-core.patch - "${FILESDIR}"/${PN}-1.2.5042-boost-1.73.0.patch - "${FILESDIR}"/${PN}-1.3.1056-R-4.0.0.patch - "${FILESDIR}"/${PN}-1.3.1056-boost-1.74.0.patch -) - -src_unpack() { - unpack ${P}.tar.gz - cd "${S}" || die - mkdir -p dependencies/common/dictionaries - unzip -qd dependencies/common/dictionaries \ - "${DISTDIR}"/core-dictionaries.zip || die -} - -src_prepare() { - cmake_src_prepare - java-pkg-2_src_prepare - egit_clean - - # Enable CMake to install our .service file for systemd usage - mkdir -vp "${S}/src/cpp/server/lib/systemd/system" || die - cp -v "${FILESDIR}/rstudio-server.service.in" "${S}/src/cpp/server/lib/systemd/system/" || die - - # Adding -DDISTRO_SHARE=... to append-flags breaks cmake so using - # this sed hack for now. ~RMH - sed -i \ - -e "s|DISTRO_SHARE|\"share/${PN}\"|g" \ - src/cpp/server/ServerOptions.cpp \ - src/cpp/session/SessionOptions.cpp || die - - # use mathjax from system - ln -sf "${EPREFIX}"/usr/share/mathjax dependencies/common/mathjax-26 || die - - # make sure icons and mime stuff are with prefix - sed -i \ - -e "s:/usr:${EPREFIX}/usr:g" \ - CMakeGlobals.txt src/cpp/desktop/CMakeLists.txt || die - - # install themes in /etc/rstudio/extra/sthemes instead of /usr/extra/themes - sed -i \ - -e "s@\(DESTINATION \"\)\(extras/themes\"\)@\1${EROOT}/etc/rstudio/\2@" \ - src/cpp/server/CMakeLists.txt || die - - # On Gentoo the rstudio-server configuration file is /etc/conf.d/rstudio-server.conf - sed -e "s@/etc/rstudio/rserver.conf@${EROOT}/etc/conf.d/rstudio-server.conf@" \ - -i src/cpp/server/ServerOptions.cpp \ - || die - - # Set the rsession.conf file location for Gentoo prefix - sed -e "s@/etc/rstudio/rsession.conf@${EROOT}/etc/rstudio/rsession.conf@" \ - -i src/cpp/session/SessionOptions.cpp \ - || die - - # dev-qt/qtsingleapplication-2.6.1_p20150629 does not provide a cmake module. - # It provides a library that has its version number appended to the end, - # which is difficult to handle in cmake, as find_library does not support - # searching for wildcard library names. So I find the library name from the - # qmake spec, and then sed this into the patched src/cpp/desktop/CMakeLists.txt. - rm -rf "${S}"/src/cpp/desktop/3rdparty || die - local s=$(grep '\-lQt$${QT_MAJOR_VERSION}Solutions_SingleApplication' \ - $(qt5_get_mkspecsdir)/features/qtsingleapplication.prf \ - | sed -e 's@\$\${QT_MAJOR_VERSION}@5@' \ - -e 's@LIBS \*= -l@@') - sed -e "s@Qt5Solutions_SingleApplication-2.6@${s}@g" \ - -i "${S}"/src/cpp/desktop/CMakeLists.txt \ - || die - - # The git commit for tag: git rev-list -n 1 v${PV} - sed -e 's@git ARGS rev-parse HEAD@echo ARGS aee44535570639672cf61c0545113e7a62c90b5b@'\ - -i "${S}"/CMakeLists.txt \ - "${S}"/CMakeGlobals.txt \ - || die - - eprefixify src/gwt/build.xml -} - -src_configure() { - export RSTUDIO_VERSION_MAJOR=$(ver_cut 1) - export RSTUDIO_VERSION_MINOR=$(ver_cut 2) - export RSTUDIO_VERSION_PATCH=$(ver_cut 3) - - local mycmakeargs=( - -DDISTRO_SHARE=share/${PN} - -DRSTUDIO_TARGET=$(usex dedicated "Server" "$(usex server "Development" "Desktop")") - -DRSTUDIO_VERIFY_R_VERSION=FALSE - -DRSTUDIO_USE_SYSTEM_BOOST=TRUE - ) - - if use !dedicated; then - mycmakeargs+=( - -DRSTUDIO_INSTALL_FREEDESKTOP="$(usex !dedicated "ON" "OFF")" - -DQT_QMAKE_EXECUTABLE=$(qt5_get_bindir)/qmake - ) - fi - cmake_src_configure -} - -src_compile() { - local JAVA_ANT_REWRITE_CLASSPATH="yes" - local EANT_BUILD_XML="src/gwt/build.xml" - local EANT_BUILD_TARGET="clean" - java-pkg-2_src_compile - - # Avoid the rest of the oracle-jdk-bin-1.8.0.60 sandbox violations F: mkdir S: deny - # P: /root/.oracle_jre_usage. - export ANT_OPTS="-Duser.home=${T}" - cmake_src_compile -} - -src_install() { - export ANT_OPTS="-Duser.home=${T}" - cmake_src_install - use dedicated || pax-mark m "${ED}/usr/bin/rstudio" - doconfd "${FILESDIR}"/rstudio-server.conf - insinto /etc/rstudio - doins "${FILESDIR}"/rsession.conf - dosym ../conf.d/rstudio-server.conf /etc/rstudio/rserver.conf - if use dedicated || use server; then - dopamd src/cpp/server/extras/pam/rstudio - newinitd "${FILESDIR}"/rstudio-server.initd rstudio-server - fi -} - -pkg_preinst() { - java-pkg-2_pkg_preinst -} - -pkg_postinst() { - use dedicated || { xdg_desktop_database_update - xdg_mimeinfo_database_update - xdg_icon_cache_update ;} -} - -pkg_postrm() { - use dedicated || { xdg_desktop_database_update - xdg_mimeinfo_database_update - xdg_icon_cache_update ;} -} -- cgit v1.2.3