diff options
-rw-r--r-- | sci-mathematics/rstudio/ChangeLog | 10 | ||||
-rw-r--r-- | sci-mathematics/rstudio/files/rstudio-0.98.932-pandoc.patch | 25 | ||||
-rw-r--r-- | sci-mathematics/rstudio/files/rstudio-0.98.932-paths.patch | 140 | ||||
-rw-r--r-- | sci-mathematics/rstudio/rstudio-0.98.932.ebuild | 166 |
4 files changed, 339 insertions, 2 deletions
diff --git a/sci-mathematics/rstudio/ChangeLog b/sci-mathematics/rstudio/ChangeLog index de81e0ded54b..18ab52bebe10 100644 --- a/sci-mathematics/rstudio/ChangeLog +++ b/sci-mathematics/rstudio/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sci-mathematics/rstudio -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/rstudio/ChangeLog,v 1.9 2013/12/23 21:33:01 hasufell Exp $ +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/rstudio/ChangeLog,v 1.10 2014/07/04 13:53:22 hasufell Exp $ + +*rstudio-0.98.932 (04 Jul 2014) + + 04 Jul 2014; Julian Ospald <hasufell@gentoo.org> +rstudio-0.98.932.ebuild, + +files/rstudio-0.98.932-pandoc.patch, +files/rstudio-0.98.932-paths.patch: + version bump wrt #513862 23 Dec 2013; Julian Ospald <hasufell@gentoo.org> rstudio-0.98.490.ebuild: fix build with +server wrt #494362 diff --git a/sci-mathematics/rstudio/files/rstudio-0.98.932-pandoc.patch b/sci-mathematics/rstudio/files/rstudio-0.98.932-pandoc.patch new file mode 100644 index 000000000000..d2b6911eabb8 --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-0.98.932-pandoc.patch @@ -0,0 +1,25 @@ +--- a/src/cpp/session/CMakeLists.txt ++++ b/src/cpp/session/CMakeLists.txt +@@ -25,9 +25,6 @@ + if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DIR}/common/mathjax") + message(FATAL_ERROR "Mathjax not found (re-run install-dependencies script to install)") + endif() +-if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc") +- message(FATAL_ERROR "pandoc not found (re-run install-dependencies script to install)") +-endif() + if(NOT EXISTS "${RSTUDIO_DEPENDENCIES_DIR}/common/rmarkdown") + message(FATAL_ERROR "rmarkdown package not found (re-run install-dependencies script to install)") + endif() +@@ -337,12 +334,6 @@ + install(DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/mathjax" + DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources") + +- # install pandoc +- set(PANDOC_BIN "${RSTUDIO_DEPENDENCIES_DIR}/common/pandoc/1.12.3") +- file(GLOB PANDOC_FILES "${PANDOC_BIN}/pandoc*") +- install(PROGRAMS ${PANDOC_FILES} +- DESTINATION ${RSTUDIO_INSTALL_BIN}/pandoc) +- + # install rmarkdown package + file(GLOB RMARKDOWN_PACKAGE "${RSTUDIO_DEPENDENCIES_DIR}/common/rmarkdown*.tar.gz") + install(FILES ${RMARKDOWN_PACKAGE} diff --git a/sci-mathematics/rstudio/files/rstudio-0.98.932-paths.patch b/sci-mathematics/rstudio/files/rstudio-0.98.932-paths.patch new file mode 100644 index 000000000000..d4bb4249f1a6 --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-0.98.932-paths.patch @@ -0,0 +1,140 @@ +diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt +index cc10191..f75b85a 100644 +--- a/CMakeGlobals.txt ++++ b/CMakeGlobals.txt +@@ -105,7 +105,7 @@ else() + else() + set(RSTUDIO_INSTALL_BIN bin) + endif() +- set(RSTUDIO_INSTALL_SUPPORTING .) ++ set(RSTUDIO_INSTALL_SUPPORTING ${DISTRO_SHARE}) + endif() + + # if the install prefix is /usr/local then tweak as appropriate +diff --git a/src/cpp/server/CMakeLists.txt b/src/cpp/server/CMakeLists.txt +index 184e514..d09aac5 100644 +--- a/src/cpp/server/CMakeLists.txt ++++ b/src/cpp/server/CMakeLists.txt +@@ -145,7 +145,7 @@ if (UNIX AND NOT APPLE) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_INITD_DEBIAN_SCRIPT}.in + ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_DEBIAN_SCRIPT}) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_DEBIAN_SCRIPT} +- DESTINATION ${RSERVER_INITD_DEBIAN_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_INITD_DEBIAN_DIR}) + + # install configured redhat init.d script + set(RSERVER_INITD_REDHAT_DIR "extras/init.d/redhat") +@@ -153,7 +153,7 @@ if (UNIX AND NOT APPLE) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_INITD_REDHAT_SCRIPT}.in + ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_REDHAT_SCRIPT}) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_REDHAT_SCRIPT} +- DESTINATION ${RSERVER_INITD_REDHAT_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_INITD_REDHAT_DIR}) + + # install configured suse init.d script + set(RSERVER_INITD_SUSE_DIR "extras/init.d/suse") +@@ -161,13 +161,13 @@ if (UNIX AND NOT APPLE) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_INITD_SUSE_SCRIPT}.in + ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_SUSE_SCRIPT}) + install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_INITD_SUSE_SCRIPT} +- DESTINATION ${RSERVER_INITD_SUSE_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_INITD_SUSE_DIR}) + + # install pam profile + set(RSERVER_PAM_DIR "extras/pam") + set(RSERVER_PAM_PROFILE "${RSERVER_PAM_DIR}/rstudio") + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_PAM_PROFILE} +- DESTINATION ${RSERVER_PAM_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_PAM_DIR}) + + # install configured apparmor profile + set(RSERVER_APPARMOR_DIR "extras/apparmor") +@@ -175,9 +175,9 @@ if (UNIX AND NOT APPLE) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_APPARMOR_PROFILE}.in + ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_APPARMOR_PROFILE}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_APPARMOR_PROFILE} +- DESTINATION ${RSERVER_APPARMOR_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_APPARMOR_DIR}) + install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_APPARMOR_DIR}/apparmor-profile-load +- DESTINATION ${RSERVER_APPARMOR_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_APPARMOR_DIR}) + + # install configured upstart profile + set(RSERVER_UPSTART_DIR "extras/upstart") +@@ -185,12 +185,12 @@ if (UNIX AND NOT APPLE) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_UPSTART_PROFILE}.in + ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_UPSTART_PROFILE}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_UPSTART_PROFILE} +- DESTINATION ${RSERVER_UPSTART_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_UPSTART_DIR}) + set(RSERVER_UPSTART_PROFILE_REDHAT "${RSERVER_UPSTART_DIR}/rstudio-server.redhat.conf") + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${RSERVER_UPSTART_PROFILE_REDHAT}.in + ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_UPSTART_PROFILE_REDHAT}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${RSERVER_UPSTART_PROFILE_REDHAT} +- DESTINATION ${RSERVER_UPSTART_DIR}) ++ DESTINATION ${DISTRO_SHARE}/${RSERVER_UPSTART_DIR}) + + endif() + +diff --git a/src/cpp/server/ServerOptions.cpp b/src/cpp/server/ServerOptions.cpp +index 1eaf7c0..4b25fa1 100644 +--- a/src/cpp/server/ServerOptions.cpp ++++ b/src/cpp/server/ServerOptions.cpp +@@ -307,8 +307,8 @@ ProgramStatus Options::read(int argc, + + // convert relative paths by completing from the system installation + // path (this allows us to be relocatable) +- resolvePath(resourcePath, &wwwLocalPath_); +- resolvePath(resourcePath, &wwwSymbolMapsPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &wwwLocalPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &wwwSymbolMapsPath_); + resolvePath(binaryPath, &authPamHelperPath_); + resolvePath(binaryPath, &rsessionPath_); + resolvePath(binaryPath, &rldpathPath_); +diff --git a/src/cpp/session/SessionOptions.cpp b/src/cpp/session/SessionOptions.cpp +index 44b3d55..a48cdb6 100644 +--- a/src/cpp/session/SessionOptions.cpp ++++ b/src/cpp/session/SessionOptions.cpp +@@ -40,7 +40,7 @@ + namespace session { + + namespace { +-const char* const kDefaultPandocPath = "bin/pandoc"; ++const char* const kDefaultPandocPath = "bin"; + const char* const kDefaultPostbackPath = "bin/postback/rpostback"; + } // anonymous namespace + +@@ -392,15 +392,15 @@ + } + + // convert relative paths by completing from the app resource path +- resolvePath(resourcePath, &rResourcesPath_); +- resolvePath(resourcePath, &agreementFilePath_); +- resolvePath(resourcePath, &wwwLocalPath_); +- resolvePath(resourcePath, &wwwSymbolMapsPath_); +- resolvePath(resourcePath, &coreRSourcePath_); +- resolvePath(resourcePath, &modulesRSourcePath_); +- resolvePath(resourcePath, &sessionLibraryPath_); +- resolvePath(resourcePath, &sessionPackagesPath_); +- resolvePath(resourcePath, &sessionPackageArchivesPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &rResourcesPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &agreementFilePath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &wwwLocalPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &coreRSourcePath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &modulesRSourcePath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &sessionLibraryPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &sessionPackagesPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &sessionPackageArchivesPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &wwwSymbolMapsPath_); + resolvePostbackPath(resourcePath, &rpostbackPath_); + #ifdef _WIN32 + resolvePath(resourcePath, &consoleIoPath_); +@@ -409,7 +409,7 @@ + resolvePath(resourcePath, &msysSshPath_); + resolvePath(resourcePath, &sumatraPath_); + #endif +- resolvePath(resourcePath, &hunspellDictionariesPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &hunspellDictionariesPath_); + resolvePath(resourcePath, &mathjaxPath_); + resolvePandocPath(resourcePath, &pandocPath_); + diff --git a/sci-mathematics/rstudio/rstudio-0.98.932.ebuild b/sci-mathematics/rstudio/rstudio-0.98.932.ebuild new file mode 100644 index 000000000000..54c8065a81a0 --- /dev/null +++ b/sci-mathematics/rstudio/rstudio-0.98.932.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/rstudio/rstudio-0.98.932.ebuild,v 1.1 2014/07/04 13:53:22 hasufell Exp $ + +EAPI=5 + +inherit eutils user cmake-utils gnome2-utils pam versionator fdo-mime java-pkg-2 + +# TODO +# * package gin and gwt +# * use dict from tree, linguas +# * do src_test (use junit from tree?) + +GWTVER=2.6.0 +GINVER=1.5 +SELENIUMVER=2.37.0 +CHROMEDRIVER_VER=2.7 +PANDOC_VER=1.12.3 +PACKRAT_VER=0.3.0 +RMARKDOWN_VER=0.2.49 + +DESCRIPTION="IDE for the R language" +HOMEPAGE="http://www.rstudio.org" +SRC_URI="https://github.com/rstudio/rstudio/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://s3.amazonaws.com/rstudio-buildtools/gin-${GINVER}.zip + https://s3.amazonaws.com/rstudio-buildtools/gwt-${GWTVER}.zip + https://s3.amazonaws.com/rstudio-buildtools/selenium-java-${SELENIUMVER}.zip + https://s3.amazonaws.com/rstudio-buildtools/selenium-server-standalone-${SELENIUMVER}.jar + https://s3.amazonaws.com/rstudio-buildtools/chromedriver-linux + https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip + http://dev.gentoo.org/~hasufell/distfiles/packrat_${PACKRAT_VER}.tar.gz + http://dev.gentoo.org/~hasufell/distfiles/rmarkdown_${RMARKDOWN_VER}.tar.gz" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="dedicated server" + +QTVER=4.8 +QTSLOT=4 +RDEPEND=" + app-text/pandoc + dev-haskell/pandoc-citeproc + >=dev-lang/R-2.11.1 + >=dev-libs/boost-1.50 + dev-libs/mathjax + dev-libs/openssl + sys-libs/zlib + >=virtual/jre-1.5 + x11-libs/pango + !dedicated? ( + >=dev-qt/qtcore-${QTVER}:${QTSLOT} + >=dev-qt/qtdbus-${QTVER}:${QTSLOT} + >=dev-qt/qtgui-${QTVER}:${QTSLOT} + >=dev-qt/qtwebkit-${QTVER}:${QTSLOT} + >=dev-qt/qtxmlpatterns-${QTVER}:${QTSLOT} + server? ( virtual/pam ) + ) + dedicated? ( virtual/pam )" +DEPEND="${RDEPEND} + app-arch/unzip + dev-java/ant-core + >=virtual/jdk-1.5 + virtual/pkgconfig" +# test? ( dev-java/junit:4 ) + +src_unpack() { + unpack ${P}.tar.gz gwt-${GWTVER}.zip + cd "${S}" || die + mkdir -p src/gwt/lib/{gin,gwt} \ + dependencies/common/dictionaries \ + src/gwt/lib/selenium/${SELENIUMVER} \ + src/gwt/lib/selenium/chromedriver/${CHROMEDRIVER_VER} || die + mv ../gwt-${GWTVER} src/gwt/lib/gwt/${GWTVER} || die + unzip -qd src/gwt/lib/gin/${GINVER} \ + "${DISTDIR}"/gin-${GINVER}.zip || die + unzip -qd dependencies/common/dictionaries \ + "${DISTDIR}"/core-dictionaries.zip || die + unzip -qd src/gwt/lib/selenium/${SELENIUMVER} \ + "${DISTDIR}"/selenium-java-${SELENIUMVER}.zip || die + cp "${DISTDIR}"/selenium-server-standalone-${SELENIUMVER}.jar \ + src/gwt/lib/selenium/${SELENIUMVER}/ || die + cp "${DISTDIR}"/chromedriver-linux \ + src/gwt/lib/selenium/chromedriver/${CHROMEDRIVER_VER}/ || die + cd dependencies/common || die + unpack packrat_${PACKRAT_VER}.tar.gz + unpack rmarkdown_${RMARKDOWN_VER}.tar.gz + cp "${DISTDIR}"/rmarkdown_${RMARKDOWN_VER}.tar.gz \ + . || die + cp "${DISTDIR}"/packrat_${PACKRAT_VER}.tar.gz \ + . || die +} + +src_prepare() { + java-pkg-2_src_prepare + + find . -name .gitignore -delete || die + + epatch "${FILESDIR}"/${PN}-0.98.490-prefs.patch \ + "${FILESDIR}"/${P}-paths.patch \ + "${FILESDIR}"/${P}-pandoc.patch \ + "${FILESDIR}"/${PN}-0.98.490-linker_flags.patch + + # 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 || 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 +} + +src_configure() { + export RSTUDIO_VERSION_MAJOR=$(get_version_component_range 1) + export RSTUDIO_VERSION_MINOR=$(get_version_component_range 2) + export RSTUDIO_VERSION_PATCH=$(get_version_component_range 3) + + local mycmakeargs=( + -DDISTRO_SHARE=share/${PN} + $(cmake-utils_use !dedicated RSTUDIO_INSTALL_FREEDESKTOP) + -DRSTUDIO_TARGET=$(usex dedicated "Server" "$(usex server "Development" "Desktop")") + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_install() { + cmake-utils_src_install + if use dedicated || use server; then + dopamd src/cpp/server/extras/pam/rstudio + newinitd "${FILESDIR}"/rstudio-rserver.initd rstudio-rserver + fi +} + +pkg_preinst() { + use dedicated || gnome2_icon_savelist + java-pkg-2_pkg_preinst +} + +pkg_postinst() { + use dedicated || { fdo-mime_desktop_database_update + fdo-mime_mime_database_update + gnome2_icon_cache_update ;} + + if use dedicated || use server; then + enewgroup rstudio-server + enewuser rstudio-server -1 -1 -1 rstudio-server + fi +} + +pkg_postrm() { + use dedicated || { fdo-mime_desktop_database_update + fdo-mime_mime_database_update + gnome2_icon_cache_update ;} +} |