net-wireless/bluez: Backport lots of fixes (from Fedora)...
[gentoo.git] / net-wireless / unifi / unifi-5.10.24.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 # Used when it's an unstable, beta or release candidate
7 RC_SUFFIX="-fc15f0fdf1"
8
9 inherit systemd user
10
11 DESCRIPTION="A Management Controller for Ubiquiti Networks UniFi APs"
12 HOMEPAGE="https://www.ubnt.com"
13 SRC_URI="https://dl.ubnt.com/unifi/${PV}${RC_SUFFIX}/UniFi.unix.zip -> ${P}.zip"
14
15 KEYWORDS="~amd64"
16 LICENSE="Apache-1.0 Apache-2.0 BSD-1 BSD-2 BSD CDDL EPL-1.0 GPL-2 LGPL-2.1 LGPL-3 MIT ubiquiti"
17 SLOT="0/5.10"
18 IUSE="systemd"
19
20 RDEPEND="dev-db/mongodb
21         virtual/jre:1.8"
22
23 DEPEND="app-arch/unzip"
24
25 RESTRICT="bindist mirror"
26
27 S="${WORKDIR}/UniFi"
28
29 DOCS=( "readme.txt" )
30
31 QA_PREBUILT="usr/lib/unifi/lib/native/Linux/x86_64/*.so"
32
33 pkg_setup() {
34         enewgroup unifi
35         enewuser unifi -1 -1 /var/lib/unifi unifi
36 }
37
38 src_prepare() {
39         # Remove unneeded files Linux, Mac and Windows
40         rm -r lib/native/Linux/{aarch64,armv7} lib/native/{Mac,Windows} || die
41         if ! use systemd; then
42                 rm lib/native/Linux/x86_64/libubnt_sdnotify_jni.so || die
43         fi
44
45         default
46 }
47
48 src_install() {
49         # Install MongoDB wrapper script, to avoid problems with >= 3.6.0
50         # See https://community.ubnt.com/t5/UniFi-Routing-Switching/MongoDB-3-6/td-p/2195435
51         exeinto /usr/lib/unifi/bin
52         newexe "${FILESDIR}"/mongod-wrapper mongod
53
54         insinto /usr/lib/unifi
55         doins -r dl lib webapps
56
57         diropts -o unifi -g unifi
58         keepdir /var/lib/unifi/{conf,data,run,tmp,work} /var/log/unifi
59
60         for symlink in conf data run tmp work; do
61                 dosym ../../../var/lib/unifi/${symlink} /usr/lib/unifi/${symlink}
62         done
63         dosym ../../../var/log/unifi /usr/lib/unifi/logs
64
65         newinitd "${FILESDIR}"/unifi.initd-r1 unifi
66         systemd_dounit "${FILESDIR}"/unifi.service
67
68         newconfd "${FILESDIR}"/unifi.confd unifi
69
70         echo 'CONFIG_PROTECT="/var/lib/unifi"' > "${T}"/99unifi || die
71         doenvd "${T}"/99unifi
72
73         einstalldocs
74 }