summaryrefslogtreecommitdiff
path: root/net-misc
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/dropbox/Manifest2
-rw-r--r--net-misc/dropbox/dropbox-223.4.4909-r10.ebuild109
-rw-r--r--net-misc/dropbox/files/dropbox.conf14
-rw-r--r--net-misc/dropbox/files/dropbox.initd65
-rw-r--r--net-misc/dropbox/files/dropbox_at.service-r237
5 files changed, 227 insertions, 0 deletions
diff --git a/net-misc/dropbox/Manifest b/net-misc/dropbox/Manifest
new file mode 100644
index 00000000..271f6a46
--- /dev/null
+++ b/net-misc/dropbox/Manifest
@@ -0,0 +1,2 @@
+DIST dropbox-icon.svg 574 BLAKE2B a73a0906b5b03dc3214010736164fcdbceb6d91463ed95133b5117277cd635c8a77ec3e7ca8338538e5a6a2c4a23f3ef0186184bc1dc770b3c7f3a219f00faa6 SHA512 cd7ad8fea652f0713a00e7fbd88d6c22949dde216040f2ba7c903db70cb6c5c9ec85202831c0863c3bb2cf339b4ea0c6731d7b2d56750b63a4f36160815e4346
+DIST dropbox-lnx.x86_64-223.4.4909.tar.gz 112292043 BLAKE2B 2f9ab179f2900c6fac1e3ef496ffc2527461b8c5caf5a9a170eae6524e20f02539988ead70a199f0e767e8bc57dc1e00e557dba33efad3d2012f4c5f5918d1ba SHA512 990cece1725b698ac6cc7dcdeb1871715ae1cfad93f9891cd45debc2824905c79fca4dc511ebe0a631ca3abb9e594556edce8f094e071689438bc9c27e45351d
diff --git a/net-misc/dropbox/dropbox-223.4.4909-r10.ebuild b/net-misc/dropbox/dropbox-223.4.4909-r10.ebuild
new file mode 100644
index 00000000..d7da346a
--- /dev/null
+++ b/net-misc/dropbox/dropbox-223.4.4909-r10.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop pax-utils systemd xdg
+
+DESCRIPTION="Dropbox daemon (pretends to be GUI-less)"
+HOMEPAGE="https://www.dropbox.com/"
+SRC_URI="
+ https://clientupdates.dropboxstatic.com/dbx-releng/client/dropbox-lnx.x86_64-${PV}.tar.gz
+ https://uxwing.com/wp-content/themes/uxwing/download/brands-and-social-media/dropbox-icon.svg
+"
+
+LICENSE="BSD-2 CC-BY-ND-3.0 FTL MIT LGPL-2 openssl dropbox"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="selinux X"
+
+RESTRICT="mirror strip"
+
+QA_PREBUILT="opt/.*"
+QA_EXECSTACK="opt/dropbox/dropbox"
+
+BDEPEND="dev-util/patchelf"
+
+# Be sure to have GLIBCXX_3.4.9, #393125
+RDEPEND="
+ X? (
+ x11-themes/hicolor-icon-theme
+ )
+ selinux? ( sec-policy/selinux-dropbox )
+ app-arch/bzip2
+ dev-libs/glib:2
+ dev-libs/libffi-compat:7
+ media-libs/fontconfig
+ media-libs/freetype
+ net-misc/wget
+ sys-libs/zlib
+ sys-libs/ncurses-compat:5
+ virtual/opengl
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrender
+ x11-libs/libxcb
+"
+
+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() {
+ default
+ # we supply all of these in RDEPEND
+ rm -vf libGL.so.1 libX11* libffi.so.7 || die
+ # some of these do not appear to be used
+ rm -vf libQt5{OpenGL,PrintSupport,Qml,Quick,Sql,WebKit,WebKitWidgets}.so.5 \
+ PyQt5.QtPrintSupport.* PyQt5.QtQml.* PyQt5.QtQuick.* \
+ wmctrl libdrm.so.2 libpopt.so.0 || die
+ if use X ; then
+ mv images/hicolor/16x16/status "${T}" || die
+ else
+ rm -vrf images || die
+ fi
+ patchelf --set-rpath '$ORIGIN' \
+ apex._apex.*.so \
+ nucleus_python.*.so \
+ tprt.*.so \
+ || 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"
+
+ if use X; then
+ doicon -s 16 -c status "${T}"/status
+ newicon -s scalable "${DISTDIR}/dropbox-icon.svg" dropbox.svg
+ fi
+
+ make_desktop_entry "${PN}" "Dropbox" "dropbox"
+
+ newinitd "${FILESDIR}"/dropbox.initd dropbox
+ newconfd "${FILESDIR}"/dropbox.conf dropbox
+ systemd_newunit "${FILESDIR}"/dropbox_at.service-r2 "dropbox@.service"
+
+ dodoc "${T}"/{README,ACKNOWLEDGEMENTS}
+}
+
+pkg_postinst() {
+ einfo "Warning: while running, dropbox may attempt to autoupdate itself in"
+ einfo " your user's home directory. To prevent this, run the following as"
+ einfo " each user who will run dropbox:"
+ einfo ""
+ einfo "install -dm0 ~/.dropbox-dist"
+}
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..4f8dd706
--- /dev/null
+++ b/net-misc/dropbox/files/dropbox.initd
@@ -0,0 +1,65 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+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-r2 b/net-misc/dropbox/files/dropbox_at.service-r2
new file mode 100644
index 00000000..a21362f3
--- /dev/null
+++ b/net-misc/dropbox/files/dropbox_at.service-r2
@@ -0,0 +1,37 @@
+# Copyright (c) 2015, Joe Roback
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# * Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+[Unit]
+Description=Dropbox as a system service
+After=local-fs.target network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/env "/home/%i/.dropbox-dist/dropboxd"
+Restart=on-failure
+RestartSec=1
+User=%i
+
+[Install]
+WantedBy=multi-user.target