diff options
author | Julian Ospald <hasufell@gentoo.org> | 2013-04-18 15:55:06 +0000 |
---|---|---|
committer | Julian Ospald <hasufell@gentoo.org> | 2013-04-18 15:55:06 +0000 |
commit | 83b000b5d377c02e9264754842bc72eb10c88bdb (patch) | |
tree | 840afa375ed283094060b02f7ad3492f75927281 | |
parent | Stable for HPPA (bug #461100). (diff) | |
download | gentoo-2-83b000b5d377c02e9264754842bc72eb10c88bdb.tar.gz gentoo-2-83b000b5d377c02e9264754842bc72eb10c88bdb.tar.bz2 gentoo-2-83b000b5d377c02e9264754842bc72eb10c88bdb.zip |
version bump wrt #464880
(Portage version: 2.2.0_alpha173/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
5 files changed, 296 insertions, 1 deletions
diff --git a/sci-mathematics/rstudio/ChangeLog b/sci-mathematics/rstudio/ChangeLog index 33a0679b03fc..554728225ade 100644 --- a/sci-mathematics/rstudio/ChangeLog +++ b/sci-mathematics/rstudio/ChangeLog @@ -1,6 +1,13 @@ # 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.4 2013/03/02 23:25:58 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/rstudio/ChangeLog,v 1.5 2013/04/18 15:55:05 hasufell Exp $ + +*rstudio-0.97.336 (18 Apr 2013) + + 18 Apr 2013; Julian Ospald <hasufell@gentoo.org> +rstudio-0.97.336.ebuild, + +files/rstudio-0.97.336-linker_flags.patch, + +files/rstudio-0.97.336-paths.patch, +files/rstudio-0.97.336-prefs.patch: + version bump wrt #464880 02 Mar 2013; Markos Chandras <hwoarang@gentoo.org> rstudio-0.97.318.ebuild: Move Qt dependencies to the new category diff --git a/sci-mathematics/rstudio/files/rstudio-0.97.336-linker_flags.patch b/sci-mathematics/rstudio/files/rstudio-0.97.336-linker_flags.patch new file mode 100644 index 000000000000..a336fccbc981 --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-0.97.336-linker_flags.patch @@ -0,0 +1,18 @@ +Some gcc hardening options were added, however since we add +"-Wl,--as-needed" we end up with "-Wl,--as-needed;-Wl,-z,relro" which +leads to linker errors about unknown options, if we make it so the +as-needed option is the last option on the line, everything is fine. + +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index 0589ca0..fe5bd5f 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -57,7 +57,7 @@ if(UNIX) + add_definitions(-D_FORTIFY_SOURCE=2) + add_definitions(-fstack-protector --param ssp-buffer-size=4) + add_definitions(-pie -fPIE) +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now") ++ set(CMAKE_EXE_LINKER_FLAGS "-Wl,-z,relro,-z,now ${CMAKE_EXE_LINKER_FLAGS}") + endif() + + # Win32 specific global directives diff --git a/sci-mathematics/rstudio/files/rstudio-0.97.336-paths.patch b/sci-mathematics/rstudio/files/rstudio-0.97.336-paths.patch new file mode 100644 index 000000000000..7b44374a72d2 --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-0.97.336-paths.patch @@ -0,0 +1,112 @@ +change the install path, as by default everything is dumped right under +the prefix. After fixing install paths, now fix the source so the +program can find the moved resources. + +diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt +index da74970..1537bff 100644 +--- a/CMakeGlobals.txt ++++ b/CMakeGlobals.txt +@@ -103,7 +103,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 af4db1c..96b767e 100644 +--- a/src/cpp/server/CMakeLists.txt ++++ b/src/cpp/server/CMakeLists.txt +@@ -142,7 +142,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") +@@ -150,7 +150,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") +@@ -158,13 +158,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") +@@ -172,9 +172,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") +@@ -182,6 +182,6 @@ 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}) + + endif() +diff --git a/src/cpp/server/ServerOptions.cpp b/src/cpp/server/ServerOptions.cpp +index 77a63f1..f0d25f0 100644 +--- a/src/cpp/server/ServerOptions.cpp ++++ b/src/cpp/server/ServerOptions.cpp +@@ -201,7 +201,7 @@ ProgramStatus Options::read(int argc, char * const argv[]) + + // convert relative paths by completing from the system installation + // path (this allows us to be relocatable) +- resolvePath(installPath, &wwwLocalPath_); ++ resolvePath(installPath.childPath(DISTRO_SHARE), &wwwLocalPath_); + resolvePath(installPath, &authPamHelperPath_); + resolvePath(installPath, &rsessionPath_); + resolvePath(installPath, &rldpathPath_); +diff --git a/src/cpp/session/SessionOptions.cpp b/src/cpp/session/SessionOptions.cpp +index 0df1081..777cc6a 100644 +--- a/src/cpp/session/SessionOptions.cpp ++++ b/src/cpp/session/SessionOptions.cpp +@@ -333,12 +333,12 @@ core::ProgramStatus Options::read(int argc, char * const argv[]) + + // convert relative paths by completing from the app resource path +- resolvePath(resourcePath, &rResourcesPath_); ++ resolvePath(resourcePath.childPath(DISTRO_SHARE), &rResourcesPath_); + resolvePath(resourcePath, &agreementFilePath_); +- resolvePath(resourcePath, &wwwLocalPath_); +- resolvePath(resourcePath, &coreRSourcePath_); +- resolvePath(resourcePath, &modulesRSourcePath_); +- resolvePath(resourcePath, &sessionLibraryPath_); +- resolvePath(resourcePath, &sessionPackagesPath_); ++ 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_); + resolvePostbackPath(resourcePath, &rpostbackPath_); + #ifdef _WIN32 + resolvePath(resourcePath, &consoleIoPath_); + diff --git a/sci-mathematics/rstudio/files/rstudio-0.97.336-prefs.patch b/sci-mathematics/rstudio/files/rstudio-0.97.336-prefs.patch new file mode 100644 index 000000000000..3175d47235ab --- /dev/null +++ b/sci-mathematics/rstudio/files/rstudio-0.97.336-prefs.patch @@ -0,0 +1,24 @@ +And now we fix src/gwt/build.xml since java's user preference class is +braindead and insists on writing where it is not allowed. +much thanks to http://www.allaboutbalance.com/articles/disableprefs/ + +diff --git a/src/gwt/build.xml b/src/gwt/build.xml +index e7d2418..ae3a331 100644 +--- a/src/gwt/build.xml ++++ b/src/gwt/build.xml +@@ -25,6 +25,7 @@ + <property name="gwt.extra.args" value=""/> + <property name="gwt.main.module" value="org.rstudio.studio.RStudio"/> + <property name="ace.bin" value="src/org/rstudio/studio/client/workbench/views/source/editors/text/ace"/> ++ <property environment="env"/> + + <path id="project.class.path"> + <pathelement location="bin"/> +@@ -109,6 +110,7 @@ + </classpath> + <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError --> + <jvmarg value="-Xmx1024M"/> ++ <jvmarg value="-Djava.util.prefs.userRoot=${env.T}"/> + <arg value="-war"/> + <arg value="www"/> + <arg value="-localWorkers"/> diff --git a/sci-mathematics/rstudio/rstudio-0.97.336.ebuild b/sci-mathematics/rstudio/rstudio-0.97.336.ebuild new file mode 100644 index 000000000000..8e37e161f4e6 --- /dev/null +++ b/sci-mathematics/rstudio/rstudio-0.97.336.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/rstudio/rstudio-0.97.336.ebuild,v 1.1 2013/04/18 15:55:05 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?) +# * fix the about/help/menu and get rid of license + +GWTVER=2.5.0.rc1 +GINVER=1.5 + +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-dictionaries/core-dictionaries.zip" + +LICENSE="AGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="dedicated server" + +QTVER=4.8 +QTSLOT=4 +RDEPEND=">=dev-lang/R-2.11.1 + >=dev-libs/boost-1.50 + dev-libs/mathjax + dev-libs/openssl + >=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 || 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 +} + +src_prepare() { + java-pkg-2_src_prepare + + find . -name .gitignore -delete || die + + epatch "${FILESDIR}"/${P}-prefs.patch \ + "${FILESDIR}"/${P}-paths.patch \ + "${FILESDIR}"/${P}-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 "All" "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 ;} +} |