From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-831309-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id CD9ED1384C0
	for <garchives@archives.gentoo.org>; Sun, 30 Aug 2015 14:30:42 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 4CAD814186;
	Sun, 30 Aug 2015 14:30:42 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id CFBFE14186
	for <gentoo-commits@lists.gentoo.org>; Sun, 30 Aug 2015 14:30:41 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id CDCD13408FF
	for <gentoo-commits@lists.gentoo.org>; Sun, 30 Aug 2015 14:30:40 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id A115C153
	for <gentoo-commits@lists.gentoo.org>; Sun, 30 Aug 2015 14:30:38 +0000 (UTC)
From: "Mark Wright" <gienah@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Mark Wright" <gienah@gentoo.org>
Message-ID: <1440944981.7a45c4dcb255f80d2bc7c891f532bc81a95ecaa8.gienah@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-mathematics/rstudio/files/, sci-mathematics/rstudio/
X-VCS-Repository: repo/gentoo
X-VCS-Files: sci-mathematics/rstudio/files/rstudio-0.99.473-qtsingleapplication.patch sci-mathematics/rstudio/rstudio-0.99.473-r1.ebuild
X-VCS-Directories: sci-mathematics/rstudio/ sci-mathematics/rstudio/files/
X-VCS-Committer: gienah
X-VCS-Committer-Name: Mark Wright
X-VCS-Revision: 7a45c4dcb255f80d2bc7c891f532bc81a95ecaa8
X-VCS-Branch: master
Date: Sun, 30 Aug 2015 14:30:38 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Archives-Salt: 5be1694e-1841-43ed-9b97-468303f12413
X-Archives-Hash: 87eae31b1d5e8c24e93280d2b7299241

commit:     7a45c4dcb255f80d2bc7c891f532bc81a95ecaa8
Author:     Mark Wright <gienah <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 30 14:28:31 2015 +0000
Commit:     Mark Wright <gienah <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 14:29:41 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a45c4dc

sci-mathematics/rstudio: Fix bug 558900, unbundle qtsingleapplication

Thanks to Helmut Jarausch for reporting, Franz Fellner for suggesting patching
rstudio to use dev-qt/qtsingleapplication[qt5] rather than the bundled version.
Remove sys-devel/clang upper bound, thanks to Helmut Jarausch for reporting and
testing with clang-3.6.2-r100. I tested it builds with clang-3.7.0_rc3.
Fix bug 558988 sci-mathematics/rstudio-0.99.473 missing qt dependencies,
thanks to Oleg and Anthony Staines for reporting and testing.

Package-Manager: portage-2.2.20.1

 .../rstudio-0.99.473-qtsingleapplication.patch     |  60 ++++++
 sci-mathematics/rstudio/rstudio-0.99.473-r1.ebuild | 225 +++++++++++++++++++++
 2 files changed, 285 insertions(+)

diff --git a/sci-mathematics/rstudio/files/rstudio-0.99.473-qtsingleapplication.patch b/sci-mathematics/rstudio/files/rstudio-0.99.473-qtsingleapplication.patch
new file mode 100644
index 0000000..bf66bd2
--- /dev/null
+++ b/sci-mathematics/rstudio/files/rstudio-0.99.473-qtsingleapplication.patch
@@ -0,0 +1,60 @@
+--- rstudio-0.99.473-orig/src/cpp/desktop/CMakeLists.txt	2015-08-12 09:58:43.000000000 +1000
++++ rstudio-0.99.473/src/cpp/desktop/CMakeLists.txt	2015-08-30 23:16:11.396175587 +1000
+@@ -93,7 +93,12 @@
+    find_package(Qt5DBus REQUIRED)
+ endif()
+ 
+-
++find_path(QTSINGLEAPPLIB_INCLUDE_DIR NAMES QtSingleApplication
++  PATH_SUFFIXES QtSolutions
++  PATHS
++  /usr/include/qt5)
++find_library(QTSINGLEAPPLIB Qt5Solutions_SingleApplication-2.6
++  libQt5Solutions_SingleApplication-2.6)
+ 
+ # disable clang warnings for qt sources
+ if(APPLE)
+@@ -113,7 +118,6 @@
+ 
+ set(MOC_DESKTOP_HEADER_FILES ${DESKTOP_HEADER_FILES})
+ list(REMOVE_ITEM MOC_DESKTOP_HEADER_FILES
+-  ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtsingleapplication/qtlockedfile.h
+   ${CMAKE_CURRENT_SOURCE_DIR}/DesktopDetectRHome.hpp
+   ${CMAKE_CURRENT_SOURCE_DIR}/DesktopOptions.hpp
+   ${CMAKE_CURRENT_SOURCE_DIR}/DesktopRVersion.hpp
+@@ -175,8 +179,6 @@
+   DesktopSubMenu.cpp
+   DesktopSynctex.cpp
+   DesktopNetworkAccessManager.cpp
+-  3rdparty/qtsingleapplication/qtsingleapplication.cpp
+-  3rdparty/qtsingleapplication/qtlocalpeer.cpp
+ )
+ 
+ if(WIN32)
+@@ -219,6 +221,7 @@
+   ${CORE_SOURCE_DIR}/include
+   ${CMAKE_CURRENT_SOURCE_DIR}
+   ${CMAKE_CURRENT_BINARY_DIR}
++  ${QTSINGLEAPPLIB_INCLUDE_DIR}
+   ${TESTS_INCLUDE_DIR}
+ )
+ 
+@@ -332,6 +335,7 @@
+ 
+    # set link dependencies
+    target_link_libraries(rstudio
++      ${QTSINGLEAPPLIB}
+       ${QT_LIBRARIES}
+       rstudio-core
+       ${LINK_FLAGS}
+--- rstudio-0.99.473-orig/src/cpp/desktop/DesktopPosixApplication.hpp	2015-08-12 09:58:43.000000000 +1000
++++ rstudio-0.99.473/src/cpp/desktop/DesktopPosixApplication.hpp	2015-08-30 21:41:21.616934106 +1000
+@@ -16,7 +16,7 @@
+ #ifndef DESKTOP_POSIX_APPLICATION_HPP
+ #define DESKTOP_POSIX_APPLICATION_HPP
+ 
+-#include "3rdparty/qtsingleapplication/QtSingleApplication"
++#include <QtSingleApplication>
+ 
+ namespace rstudio {
+ namespace desktop {

diff --git a/sci-mathematics/rstudio/rstudio-0.99.473-r1.ebuild b/sci-mathematics/rstudio/rstudio-0.99.473-r1.ebuild
new file mode 100644
index 0000000..b247a88
--- /dev/null
+++ b/sci-mathematics/rstudio/rstudio-0.99.473-r1.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils user cmake-utils gnome2-utils pam versionator fdo-mime java-pkg-2 pax-utils
+
+# TODO
+# * package gin and gwt
+# * use dict from tree, linguas
+# * do src_test (use junit from tree?)
+
+# update from scripts in dependencies/common
+GWT_VER=2.7.0
+GIN_VER=1.5
+SELENIUM_VER=2.37.0
+CHROMEDRIVER_VER=2.7
+PANDOC_VER=1.13.1
+PACKRAT_VER=0.98.1000
+RMARKDOWN_VER=0.98.1000
+SHINYAPPS_VER=0.98.1000
+RSCONNECT_VER=0.4.1.4_fcac892a69817febd7b655b189bf57193260cda0
+
+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-buildtools/gin-${GIN_VER}.zip
+	https://s3.amazonaws.com/rstudio-buildtools/gwt-${GWT_VER}.zip
+	https://s3.amazonaws.com/rstudio-buildtools/selenium-java-${SELENIUM_VER}.zip
+	https://s3.amazonaws.com/rstudio-buildtools/selenium-server-standalone-${SELENIUM_VER}.jar
+	https://s3.amazonaws.com/rstudio-buildtools/chromedriver-linux
+	https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip
+	https://dev.gentoo.org/~gienah/distfiles/packrat-${PACKRAT_VER}.tar.gz
+	https://dev.gentoo.org/~gienah/distfiles/rmarkdown-${RMARKDOWN_VER}.tar.gz
+	https://dev.gentoo.org/~gienah/distfiles/shinyapps-${SHINYAPPS_VER}.tar.gz
+	https://dev.gentoo.org/~gienah/distfiles/rsconnect_${RSCONNECT_VER}.tar.gz
+"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="dedicated server"
+
+QT_VER=5.4
+QT_SLOT=5
+RDEPEND="
+	app-text/pandoc
+	dev-haskell/pandoc-citeproc
+	>=dev-lang/R-2.11.1
+	>=dev-libs/boost-1.50:=
+	>=dev-libs/mathjax-2.3
+	dev-libs/openssl:0
+	sys-apps/util-linux
+	>=sys-devel/clang-3.5.0
+	sys-libs/zlib
+	|| ( =virtual/jre-1.7*:= =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[qt5]
+		>=dev-qt/qtsensors-${QT_VER}:${QT_SLOT}
+		>=dev-qt/qtsql-${QT_VER}:${QT_SLOT}
+		>=dev-qt/qtsvg-${QT_VER}:${QT_SLOT}
+		>=dev-qt/qtwebkit-${QT_VER}:${QT_SLOT}
+		>=dev-qt/qtwidgets-${QT_VER}:${QT_SLOT}
+		>=dev-qt/qtxml-${QT_VER}:${QT_SLOT}
+		>=dev-qt/qtxmlpatterns-${QT_VER}:${QT_SLOT}
+		server? ( virtual/pam )
+	)
+	dedicated? ( virtual/pam )"
+DEPEND="${RDEPEND}
+	app-arch/unzip
+	dev-java/ant-core
+	|| ( =virtual/jdk-1.7*:= =virtual/jdk-1.8*:= )
+	virtual/pkgconfig"
+#	test? ( dev-java/junit:4 )
+
+src_unpack() {
+	unpack ${P}.tar.gz gwt-${GWT_VER}.zip
+	cd "${S}" || die
+	mkdir -p src/gwt/lib/{gin,gwt} \
+		dependencies/common/dictionaries \
+		src/gwt/lib/selenium/${SELENIUM_VER} \
+		src/gwt/lib/selenium/chromedriver/${CHROMEDRIVER_VER} || die
+	mv ../gwt-${GWT_VER} src/gwt/lib/gwt/${GWT_VER} || die
+	unzip -qd src/gwt/lib/gin/${GIN_VER} \
+		"${DISTDIR}"/gin-${GIN_VER}.zip || die
+	unzip -qd dependencies/common/dictionaries \
+		"${DISTDIR}"/core-dictionaries.zip || die
+	unzip -qd src/gwt/lib/selenium/${SELENIUM_VER} \
+		"${DISTDIR}"/selenium-java-${SELENIUM_VER}.zip || die
+	cp "${DISTDIR}"/selenium-server-standalone-${SELENIUM_VER}.jar \
+		src/gwt/lib/selenium/${SELENIUM_VER}/ || 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
+	unpack shinyapps-${SHINYAPPS_VER}.tar.gz
+	unpack rsconnect_${RSCONNECT_VER}.tar.gz
+	cp "${DISTDIR}"/rmarkdown-${RMARKDOWN_VER}.tar.gz \
+		. || die
+	cp "${DISTDIR}"/packrat-${PACKRAT_VER}.tar.gz \
+		. || die
+	cp "${DISTDIR}"/shinyapps-${SHINYAPPS_VER}.tar.gz \
+		. || die
+	cp "${DISTDIR}"/rsconnect_${RSCONNECT_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}"/${PN}-0.99.473-paths.patch \
+		"${FILESDIR}"/${PN}-0.99.473-clang-pandoc.patch \
+		"${FILESDIR}"/${PN}-0.98.490-linker_flags.patch \
+		"${FILESDIR}"/${PN}-0.98.1091-boost-1.57.patch \
+		"${FILESDIR}"/${PN}-0.99.473-qtsingleapplication.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-23 || 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
+
+	# 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' \
+				   "${EROOT}"/usr/lib64/qt5/mkspecs/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
+}
+
+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")")
+		-DQT_QMAKE_EXECUTABLE="${EROOT}"usr/lib64/qt5/bin/qmake
+		)
+
+	cmake-utils_src_configure
+}
+
+src_compile() {
+	cmake-utils_src_compile
+}
+
+src_install() {
+	cmake-utils_src_install
+	pax-mark m "${ED}usr/bin/rstudio"
+	doconfd "${FILESDIR}"/rstudio-server.conf
+	dodir /etc/rstudio
+	insinto /etc/rstudio
+	doins "${FILESDIR}"/rsession.conf
+	dosym /etc/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() {
+	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 ;}
+}