app-editors/kakoune: drop old 0_pre20160620
[gentoo.git] / net-misc / dropbox / dropbox-34.3.19.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 PYTHON_COMPAT=( python2_7 )
7 inherit eutils gnome2-utils pax-utils systemd python-single-r1
8
9 DESCRIPTION="Dropbox daemon (pretends to be GUI-less)"
10 HOMEPAGE="http://dropbox.com/"
11 SRC_URI="
12         x86? ( https://dl.dropboxusercontent.com/u/17/dropbox-lnx.x86-${PV}.tar.gz )
13         amd64? ( https://dl.dropboxusercontent.com/u/17/dropbox-lnx.x86_64-${PV}.tar.gz )"
14
15 LICENSE="CC-BY-ND-3.0 FTL MIT LGPL-2 openssl dropbox"
16 SLOT="0"
17 KEYWORDS="amd64 x86 ~x86-linux"
18 IUSE="+librsync-bundled selinux X"
19 RESTRICT="mirror strip"
20
21 QA_PREBUILT="opt/.*"
22 QA_EXECSTACK="opt/dropbox/dropbox"
23
24 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
25
26 DEPEND="librsync-bundled? ( dev-util/patchelf )"
27
28 # Be sure to have GLIBCXX_3.4.9, #393125
29 # USE=X require wxGTK's dependencies. system-library cannot be used due to
30 # missing symbol (CtlColorEvent). #443686
31 RDEPEND="${PYTHON_DEPS}
32         X? (
33                 dev-libs/glib:2
34                 dev-qt/qtcore:5
35                 dev-qt/qtdbus:5
36                 dev-qt/qtdeclarative:5
37                 dev-qt/qtgui:5[-gles2,xcb]
38                 dev-qt/qtopengl:5[-gles2]
39                 dev-qt/qtnetwork:5
40                 dev-qt/qtprintsupport:5[-gles2]
41                 dev-qt/qtwebkit:5
42                 dev-qt/qtwidgets:5[-gles2]
43                 media-libs/fontconfig
44                 media-libs/freetype
45                 virtual/jpeg
46                 x11-libs/libSM
47                 x11-libs/libX11
48                 x11-libs/libXinerama
49                 x11-libs/libXxf86vm
50                 x11-libs/pango[X]
51                 x11-misc/wmctrl
52                 x11-themes/hicolor-icon-theme
53         )
54         !librsync-bundled? ( <net-libs/librsync-2 )
55         selinux? ( sec-policy/selinux-dropbox )
56         app-arch/bzip2
57         dev-libs/popt
58         net-misc/wget
59         >=sys-devel/gcc-4.2.0
60         sys-libs/zlib
61         || (
62                 sys-libs/ncurses:5/5
63                 sys-libs/ncurses:0/5
64         )"
65
66 src_unpack() {
67         unpack ${A}
68         mkdir -p "${S}" || die
69         mv "${WORKDIR}"/.dropbox-dist/* "${S}" || die
70         mv "${S}"/dropbox-lnx.*-${PV}/* "${S}" || die
71         rmdir "${S}"/dropbox-lnx.*-${PV}/ || die
72         rmdir .dropbox-dist || die
73 }
74
75 src_prepare() {
76         eapply_user
77
78         rm -vf libbz2* libpopt.so.0 libpng12.so.0 || die
79         rm -vf libdrm.so.2 libffi.so.6 libGL.so.1 libX11* || die
80         rm -vf libQt5* libicu* qt.conf || die
81         rm -vrf wmctrl plugins/ || die
82         if use X ; then
83                 mv images/hicolor/16x16/status "${T}" || die
84         else
85                 rm -vrf PyQt5* *pyqt5* images || die
86         fi
87         if use librsync-bundled ; then
88                 patchelf --set-rpath '$ORIGIN' librsyncffi.compiled._librsyncffi.so* || die
89         else
90                 rm -vf librsync.so.1 || die
91         fi
92         rm -rf *.egg library.zip || die
93         ln -s dropbox library.zip || die
94         pax-mark cm dropbox
95         mv README ACKNOWLEDGEMENTS "${T}" || die
96 }
97
98 src_install() {
99         local targetdir="/opt/dropbox"
100
101         insinto "${targetdir}"
102         doins -r *
103         fperms a+x "${targetdir}"/{dropbox,dropboxd}
104         dosym "${targetdir}/dropboxd" "/opt/bin/dropbox"
105
106         use X && doicon -s 16 -c status "${T}"/status
107
108         make_desktop_entry "${PN}" "Dropbox"
109
110         newinitd "${FILESDIR}"/dropbox.initd dropbox
111         newconfd "${FILESDIR}"/dropbox.conf dropbox
112         systemd_newunit "${FILESDIR}"/dropbox_at.service-r1 "dropbox@.service"
113
114         dodoc "${T}"/{README,ACKNOWLEDGEMENTS}
115 }
116
117 pkg_preinst() {
118         gnome2_icon_savelist
119 }
120
121 pkg_postinst() {
122         gnome2_icon_cache_update
123 }
124
125 pkg_postrm() {
126         gnome2_icon_cache_update
127 }