summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/dropbox/Manifest2
-rw-r--r--net-misc/dropbox/dropbox-14.3.17.ebuild134
-rw-r--r--net-misc/dropbox/files/dropbox.conf14
-rw-r--r--net-misc/dropbox/files/dropbox.initd66
-rw-r--r--net-misc/dropbox/files/dropbox_at.service13
5 files changed, 229 insertions, 0 deletions
diff --git a/net-misc/dropbox/Manifest b/net-misc/dropbox/Manifest
new file mode 100644
index 00000000..633d97bd
--- /dev/null
+++ b/net-misc/dropbox/Manifest
@@ -0,0 +1,2 @@
+DIST dropbox-lnx.x86-14.3.17.tar.gz 64815767 SHA256 7d25ba801aded4dd47731effcb070c8ee1aa0833c7199df28bc5a09c0a0d0546 SHA512 12a2d1707a557e38eb130c97f98113c8272b04ff7be30f71dffdb1ee6e0975f34d0c63ef84db694a369dd1131987a0ad0f173018e244a1fd734e57703e0046f8 WHIRLPOOL 879f7102e2325891acb42b85a848e942a30dc0058b35e4185f012368d3bf093e8cc7392bc7178fa2a4dff3eadd3f0492bd456c77a894ba295491147c07c5760f
+DIST dropbox-lnx.x86_64-14.3.17.tar.gz 68751964 SHA256 17b62b7470dcd4732794e613fb6d4aad395658d41bd46629d431ec144ac3c1e3 SHA512 0dc09a3ab9b4f02c006bcbee463caf954354c64764b04b7c5a8276c321b49237ce5a6b5aafe95ef64401a1a55ef44486976fbe692d7790199a2cab73d4f0491b WHIRLPOOL 465b478cfb276d03e3c9036b1c616196e0b01650e2b26ca7d4427aef85bbec12090c170463d87424c9dcc299a96b325ff2d33cdf865a34831b5873dee961e783
diff --git a/net-misc/dropbox/dropbox-14.3.17.ebuild b/net-misc/dropbox/dropbox-14.3.17.ebuild
new file mode 100644
index 00000000..f3758e12
--- /dev/null
+++ b/net-misc/dropbox/dropbox-14.3.17.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit eutils gnome2-utils pax-utils systemd python-single-r1
+
+DESCRIPTION="Dropbox daemon (pretends to be GUI-less)"
+HOMEPAGE="http://dropbox.com/"
+SRC_URI="
+ x86? ( https://dl.dropboxusercontent.com/u/17/dropbox-lnx.x86-${PV}.tar.gz )
+ amd64? ( https://dl.dropboxusercontent.com/u/17/dropbox-lnx.x86_64-${PV}.tar.gz )"
+
+LICENSE="CC-BY-ND-3.0 FTL MIT LGPL-2 openssl dropbox"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+IUSE="+librsync-bundled selinux X"
+RESTRICT="mirror strip"
+
+QA_PREBUILT="opt/.*"
+QA_EXECSTACK="opt/dropbox/dropbox"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="librsync-bundled? ( dev-util/patchelf )"
+
+# Be sure to have GLIBCXX_3.4.9, #393125
+# USE=X require wxGTK's dependencies. system-library cannot be used due to
+# missing symbol (CtlColorEvent). #443686
+RDEPEND="${PYTHON_DEPS}
+ X? (
+ dev-libs/glib:2
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5[-gles2,xcb]
+ dev-qt/qtopengl:5[-gles2]
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5[-gles2]
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5[-gles2]
+ media-libs/fontconfig
+ media-libs/freetype
+ virtual/jpeg
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXinerama
+ x11-libs/libXxf86vm
+ x11-libs/pango[X]
+ x11-misc/wmctrl
+ x11-themes/hicolor-icon-theme
+ )
+ !librsync-bundled? ( <net-libs/librsync-2 )
+ selinux? ( sec-policy/selinux-dropbox )
+ app-arch/bzip2
+ dev-libs/popt
+ net-misc/wget
+ >=sys-devel/gcc-4.2.0
+ sys-libs/zlib
+ sys-libs/ncurses:1/5"
+
+src_unpack() {
+ unpack ${A}
+ mkdir -p "${S}" || die
+ mv "${WORKDIR}"/.dropbox-dist/* "${S}" || die
+ mv "${S}"/dropbox-lnx.*-${PV}/* "${S}" || die
+ rmdir "${S}"/dropbox-lnx.*-${PV}/ || die
+ rmdir .dropbox-dist || die
+}
+
+src_prepare() {
+ local target=(
+ cryptography-1.0-py2.7-*.egg
+ dropbox_sqlite_ext-0.0-py2.7.egg
+ psutil-3.1.1-py2.7-*.egg
+ setuptools-20.3-py2.7.egg
+ )
+
+ eapply_user
+
+ rm -vf libbz2* libpopt.so.0 libpng12.so.0 || die
+ rm -vf libdrm.so.2 libffi.so.6 libGL.so.1 libX11* || die
+ rm -vf libQt5* libicu* qt.conf || die
+ rm -vrf wmctrl plugins/ || die
+ if use X ; then
+ mv images/hicolor/16x16/status "${T}" || die
+ else
+ rm -vrf PyQt5* *pyqt5* images || die
+ fi
+ if use librsync-bundled ; then
+ patchelf --set-rpath '$ORIGIN' librsyncffi.compiled._librsyncffi.so* || die
+ else
+ rm -vf librsync.so.1 || die
+ fi
+ mv ${target[@]} "${T}" || die
+ rm -rf *.egg library.zip || die
+ (cd "${T}"; mv ${target[@]} "${S}") || die
+ ln -s dropbox library.zip || die
+ pax-mark cm dropbox
+ mv README ACKNOWLEDGEMENTS "${T}" || die
+}
+
+src_install() {
+ local targetdir="/opt/dropbox"
+
+ insinto "${targetdir}"
+ doins -r *
+ fperms a+x "${targetdir}"/{dropbox,dropboxd}
+ dosym "${targetdir}/dropboxd" "/opt/bin/dropbox"
+
+ use X && doicon -s 16 -c status "${T}"/status
+
+ make_desktop_entry "${PN}" "Dropbox"
+
+ newinitd "${FILESDIR}"/dropbox.initd dropbox
+ newconfd "${FILESDIR}"/dropbox.conf dropbox
+ systemd_newunit "${FILESDIR}"/dropbox_at.service "dropbox@.service"
+
+ dodoc "${T}"/{README,ACKNOWLEDGEMENTS}
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/net-misc/dropbox/files/dropbox.conf b/net-misc/dropbox/files/dropbox.conf
new file mode 100644
index 00000000..c20c3c46
--- /dev/null
+++ b/net-misc/dropbox/files/dropbox.conf
@@ -0,0 +1,14 @@
+# /etc/conf.d/dropbox.conf: config file for /etc/init.d/dropbox
+
+# Users to run dropbox
+DROPBOX_USERS=""
+
+# integer [-20 .. 19 ] default 0
+# change the priority of the server -20 (high) to 19 (low)
+# see nice(1) for description
+#NICE=0
+
+# See start-stop-daemon(8) for possible settings
+#IONICE=2
+
+PID_DIR=/var/run/dropbox
diff --git a/net-misc/dropbox/files/dropbox.initd b/net-misc/dropbox/files/dropbox.initd
new file mode 100644
index 00000000..95a230ee
--- /dev/null
+++ b/net-misc/dropbox/files/dropbox.initd
@@ -0,0 +1,66 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Id$
+
+depend() {
+ need localmount net
+ after bootmisc
+}
+
+start() {
+ local tmpnice="${NICE:+"--nicelevel "}${NICE}"
+ local tmpionice="${IONICE:+"--ionice "}${IONICE}"
+ local started=""
+
+ ebegin "Starting dropbox"
+ for dbuser in ${DROPBOX_USERS}; do
+ local homedir=$(eval echo ~${dbuser})
+ if test -d "${homedir}" && \
+ echo 0 > ${homedir}/.dropbox/dropbox.pid && \
+ start-stop-daemon -S -b \
+ ${tmpnice} ${tmpionice} \
+ -u ${dbuser} -v \
+ -p ${homedir}/.dropbox/dropbox.pid \
+ -e HOME=${homedir} \
+ -x /opt/bin/dropbox; then
+ started="${started} ${dbuser}"
+ else
+ eend $?
+ eerror "Failed to start dropbox for ${dbuser}"
+ if [ -n "${started}" ]; then
+ eerror "Stopping already started dropbox"
+ DROPBOX_USERS=${started} stop
+ fi
+ return 1
+ fi
+ done
+ if [ -z "${started}" ];then
+ eerror "No dropbox started"
+ eend 1
+ else
+ eend 0
+ fi
+}
+
+stop() {
+ local retval=0
+ ebegin "Stopping dropbox"
+ for dbuser in ${DROPBOX_USERS}; do
+ local homedir=$(eval echo ~${dbuser})
+ start-stop-daemon --stop \
+ --pidfile ${homedir}/.dropbox/dropbox.pid || retval=$?
+ done
+ eend ${retval}
+}
+
+status() {
+ for dbuser in ${DROPBOX_USERS}; do
+ local homedir=$(eval echo ~${dbuser})
+ if [ -e ${homedir}/.dropbox/dropbox.pid ] ; then
+ echo "dropboxd for USER $dbuser: running."
+ else
+ echo "dropboxd for USER $dbuser: not running."
+ fi
+ done
+}
diff --git a/net-misc/dropbox/files/dropbox_at.service b/net-misc/dropbox/files/dropbox_at.service
new file mode 100644
index 00000000..1cea6177
--- /dev/null
+++ b/net-misc/dropbox/files/dropbox_at.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Dropbox
+After=local-fs.target network.target
+
+[Service]
+ExecStart=/opt/dropbox/dropboxd
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+Restart=always
+User=%I
+
+[Install]
+WantedBy=multi-user.target