commit:     a9bccaa1c26c489dd3dd3f7405d04d0c1ee0240b
Author:     olifre <o.freyermuth <AT> googlemail <DOT> com>
AuthorDate: Mon Sep 26 11:00:36 2016 +0000
Commit:     Marius Brehler <marbre <AT> linux <DOT> sungazer <DOT> de>
CommitDate: Mon Sep 26 11:00:36 2016 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=a9bccaa1

net-misc/cernbox-client: Branded net-misc/owncloud-client for CERN. (#673)

* net-misc/cernbox-client: Branded net-misc/owncloud-client for CERN.

The branding contains themeing and several special default settings
for the special ownCloud instance of CERN.

Package-Manager: portage-2.3.0

* net-misc/cernbox-client: Use eapply instead of epatch,
adapt patch.

Package-Manager: portage-2.3.1

 .../cernbox-client/cernbox-client-2.2.3.ebuild     | 119 +++++++++++++++++++++
 .../files/shell-integration-dolphin.patch          |  36 +++++++
 .../files/shell-integration-nautilus.patch         |  13 +++
 net-misc/cernbox-client/metadata.xml               |  27 +++++
 4 files changed, 195 insertions(+)

diff --git a/net-misc/cernbox-client/cernbox-client-2.2.3.ebuild 
b/net-misc/cernbox-client/cernbox-client-2.2.3.ebuild
new file mode 100644
index 0000000..5f5693a
--- /dev/null
+++ b/net-misc/cernbox-client/cernbox-client-2.2.3.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit cmake-utils rpm
+
+DESCRIPTION="Synchronize files from CERNbox EOS with your computer"
+
+# Origin is classic owncloud-client, branded for CERN during compilation.
+ORIGIN_P="owncloudclient"
+BRANDED_P="cernbox"
+BRANDED_PV="2.1.1"
+BRANDED_REL="1.1"
+
+HOMEPAGE="https://cernbox.cern.ch/";
+SRC_URI="http://download.owncloud.com/desktop/stable/${ORIGIN_P}-${PV}.tar.xz
+        
https://cernbox.cern.ch/cernbox/doc/Linux/repo/CentOS_7/src/${PN}-${BRANDED_PV}-${BRANDED_REL}.src.rpm";
+
+LICENSE="CC-BY-3.0 GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc dolphin nautilus samba +sftp test qt4 +qt5"
+
+REQUIRED_USE="^^ ( qt4 qt5 )
+       dolphin? ( qt5 )"
+
+RDEPEND=">=dev-db/sqlite-3.4:3
+       sys-fs/inotify-tools
+       virtual/libiconv
+       dolphin? (
+               >=kde-frameworks/kcoreaddons-5.16:5
+               >=kde-frameworks/kio-5.16:5 )
+       nautilus? ( dev-python/nautilus-python )
+       qt4? (
+               dev-libs/qtkeychain[qt4]
+               dev-qt/qtcore:4
+               dev-qt/qtdbus:4
+               dev-qt/qtgui:4
+               dev-qt/qtsql:4
+               dev-qt/qtwebkit:4
+               net-libs/neon[ssl]
+       )
+       qt5? (
+               dev-libs/qtkeychain[qt5]
+               dev-qt/qtconcurrent:5
+               dev-qt/qtcore:5
+               dev-qt/qtdbus:5
+               >=dev-qt/qtnetwork-5.4:5
+               dev-qt/qtgui:5
+               dev-qt/qtquickcontrols:5
+               dev-qt/qtsql:5
+               dev-qt/qtwebkit:5[printsupport]
+       )
+       samba? ( >=net-fs/samba-3.5 )
+       sftp? ( >=net-libs/libssh-0.5 )
+       !net-misc/ocsync
+       !net-misc/nextcloud-client"
+DEPEND="${RDEPEND}
+       doc? (
+               dev-python/sphinx
+               dev-texlive/texlive-latexextra
+               virtual/latex-base
+       )
+       dolphin? ( >=kde-frameworks/extra-cmake-modules-5.22.0 )
+       qt5? ( dev-qt/linguist-tools:5 )
+       test? (
+               dev-util/cmocka
+               qt4? ( dev-qt/qttest:4 )
+               qt5? ( dev-qt/qttest:5 )
+       )"
+
+S=${WORKDIR}/owncloudclient-${PV}
+
+src_unpack() {
+       rpm_src_unpack ${PN}-${BRANDED_PV}-${BRANDED_REL}.src.rpm
+       mv ${PN/-}-${BRANDED_PV}/cernbox "${S}" || die "failed to extract 
branding"
+}
+
+src_prepare() {
+       # Keep tests in ${T}
+       sed -i -e "s#\"/tmp#\"${T}#g" test/test*.cpp || die "sed failed"
+
+       if ! use nautilus; then
+               pushd shell_integration > /dev/null || die
+               cmake_comment_add_subdirectory nautilus
+               popd > /dev/null || die
+       fi
+
+       eapply  "${FILESDIR}"/shell-integration-nautilus.patch \
+               "${FILESDIR}"/shell-integration-dolphin.patch
+
+       default
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc
+               -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
+               -DWITH_ICONV=ON
+               -DWITH_DOC=$(usex doc)
+               -DCMAKE_DISABLE_FIND_PACKAGE_KF5=$(usex !dolphin)
+               -DBUILD_WITH_QT4=$(usex qt4)
+               -DCMAKE_DISABLE_FIND_PACKAGE_Libsmbclient=$(usex !samba)
+               -DCMAKE_DISABLE_FIND_PACKAGE_LibSSH=$(usex !sftp)
+               -DUNIT_TESTING=$(usex test)
+               -DOEM_THEME_DIR=${PWD}/${BRANDED_P}/mirall
+       )
+
+       cmake-utils_src_configure
+}
+
+pkg_postinst() {
+       if ! use doc ; then
+               elog "Documentation and man pages not installed"
+               elog "Enable doc USE-flag to generate them"
+       fi
+}

diff --git a/net-misc/cernbox-client/files/shell-integration-dolphin.patch 
b/net-misc/cernbox-client/files/shell-integration-dolphin.patch
new file mode 100644
index 0000000..69631b8
--- /dev/null
+++ b/net-misc/cernbox-client/files/shell-integration-dolphin.patch
@@ -0,0 +1,36 @@
+From acdcc9ee50db0e010dbda185356868d65a231070 Mon Sep 17 00:00:00 2001
+From: Klaas Freitag <[email protected]>
+Date: Mon, 12 Sep 2016 13:50:41 +0200
+Subject: [PATCH] Dolphin Plugin: Use the Application name for the socket path
+
+do not hardcode.
+
+This should fix #5165
+---
+ shell_integration/dolphin/ownclouddolphinpluginhelper.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/shell_integration/dolphin/ownclouddolphinpluginhelper.cpp 
b/shell_integration/dolphin/ownclouddolphinpluginhelper.cpp
+index 027e0e6..68c2a9c 100644
+--- a/shell_integration/dolphin/ownclouddolphinpluginhelper.cpp
++++ b/shell_integration/dolphin/ownclouddolphinpluginhelper.cpp
+@@ -21,6 +21,7 @@
+ #include <qcoreevent.h>
+ #include <QFile>
+ #include "ownclouddolphinpluginhelper.h"
++#include "config.h"
+ 
+ OwncloudDolphinPluginHelper* OwncloudDolphinPluginHelper::instance()
+ {
+@@ -67,7 +68,10 @@ void OwncloudDolphinPluginHelper::tryConnect()
+         return;
+     }
+     QString runtimeDir = QFile::decodeName(qgetenv("XDG_RUNTIME_DIR"));
+-    QString socketPath = runtimeDir + QLatin1String("/ownCloud/socket");
++    runtimeDir.append( QChar('/'));
++    runtimeDir.append( QLatin1String(APPLICATION_SHORTNAME) );
++
++    const QString socketPath = runtimeDir + QLatin1String("/socket");
+     _socket.connectToServer(socketPath);
+ }
+ 

diff --git a/net-misc/cernbox-client/files/shell-integration-nautilus.patch 
b/net-misc/cernbox-client/files/shell-integration-nautilus.patch
new file mode 100644
index 0000000..67aee02
--- /dev/null
+++ b/net-misc/cernbox-client/files/shell-integration-nautilus.patch
@@ -0,0 +1,13 @@
+--- a/shell_integration/nautilus/CMakeLists.txt        2016-08-08 
15:42:39.000000000 +0200
++++ b/shell_integration/nautilus/CMakeLists.txt        2016-09-10 
18:01:22.387950249 +0200
+@@ -19,8 +19,8 @@
+                     ERROR_VARIABLE errors OUTPUT_VARIABLE out)
+ 
+                                         
+-    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/syncstate.py DESTINATION 
${DATADIR}/nautilus-python/extensions)
+-    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/syncstate_nemo.py DESTINATION 
${DATADIR}/nemo-python/extensions RENAME syncstate.py)
++    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/syncstate.py DESTINATION 
${DATADIR}/nautilus-python/extensions RENAME 
syncstate-${APPLICATION_SHORTNAME}.py)
++    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/syncstate_nemo.py DESTINATION 
${DATADIR}/nemo-python/extensions RENAME syncstate-${APPLICATION_SHORTNAME}.py)
+     
+     
+ 

diff --git a/net-misc/cernbox-client/metadata.xml 
b/net-misc/cernbox-client/metadata.xml
new file mode 100644
index 0000000..1a378d6
--- /dev/null
+++ b/net-misc/cernbox-client/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="project">
+    <email>[email protected]</email>
+    <name>Gentoo Physics Project</name>
+  </maintainer>
+  <longdescription lang="en">
+  This service provides a cloud synchronisation service for all CERN users 
between personal devices (like a laptop) and a centrally-managed data storage.
+
+  Available to all CERN users. This service provides synchronisation 
capabilities:
+  everyone having a CERN computing account can use box to synchronise data 
(files and directories) across a series of (mobile) devices (smartphones, 
tablet, laptop, desktop).
+  Major software distributions are supported (notably recent Mac, Linux and 
Windows).
+
+  The service provides off-line eventually synchronised access to data and it 
is also meant for data sharing across collaborators (for example to share 
presentations or text documents).
+
+  The service is not suitable for critical-path activities like data 
acquisition, world-wide data distribution and massive batch processing.
+  </longdescription>
+  <use>
+    <flag name="dolphin">Install the <pkg>kde-apps/dolphin</pkg> 
extension</flag>
+    <flag name="nautilus">Install the <pkg>gnome-base/nautilus</pkg> 
extension</flag>
+    <flag name="sftp">Enable sftp transfer support via 
<pkg>net-libs/libssh</pkg></flag>
+  </use>
+  <upstream>
+    <doc>http://cernbox.web.cern.ch/cernbox/00_getting_started/index.html</doc>
+  </upstream>
+</pkgmetadata>

Reply via email to