diff options
-rw-r--r-- | net-misc/dropbox/Manifest | 2 | ||||
-rw-r--r-- | net-misc/dropbox/dropbox-14.3.17.ebuild | 134 | ||||
-rw-r--r-- | net-misc/dropbox/files/dropbox.conf | 14 | ||||
-rw-r--r-- | net-misc/dropbox/files/dropbox.initd | 66 | ||||
-rw-r--r-- | net-misc/dropbox/files/dropbox_at.service | 13 |
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 |