net-proxy/daed: bump to 0.4.2
[gentoo-zh.git] / net-proxy / daed / daed-9999.ebuild
blobf6a7bc9c5a4a038dbe52ccf9a3dfd8de2abcb58c
1 # Copyright 2023 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
6 inherit flag-o-matic git-r3 go-module systemd
8 DESCRIPTION="A Modern Dashboard For dae"
9 HOMEPAGE="https://github.com/daeuniverse/daed"
10 EGIT_REPO_URI="https://github.com/daeuniverse/daed.git"
12 LICENSE="MIT AGPL-3"
13 SLOT="0"
15 DEPEND="
16 app-alternatives/v2ray-geoip
17 app-alternatives/v2ray-geosite
19 RDEPEND="${DEPEND}"
20 BDEPEND="
21 webui? ( sys-apps/pnpm )
22 sys-devel/clang
25 IUSE="+webui"
26 RESTRICT="strip"
28 src_unpack(){
29 git-r3_src_unpack
30 cd ${P} || die
31 if use webui; then
32 pnpm install || die
34 cd wing || die
35 ego mod download -modcacherw
36 cd dae-core || die
37 ego mod download -modcacherw
40 src_prepare() {
41 # Prevent conflicting with the user's flags
42 # https://devmanual.gentoo.org/ebuild-writing/common-mistakes/#-werror-compiler-flag-not-removed
43 sed -i -e 's/-Werror//' wing/dae-core/Makefile || die 'Failed to remove -Werror via sed'
45 default
48 src_compile(){
49 if ! use webui; then
50 cd wing || die
53 # for dae's ebpf target
54 # gentoo-zh#3720
55 filter-flags "-march=*" "-mtune=*"
56 append-cflags "-fno-stack-protector"
58 GO_ROOT="${S}" emake APPNAME="${PN}" VERSION="${PV}"
61 src_install(){
62 local service=install/daed.service
63 if use webui; then
64 dobin daed
65 systemd_dounit $service
66 else
67 dobin wing/dae-wing
68 sed -i "s!/usr/bin/daed!/usr/bin/dae-wing!" $service || die
69 systemd_newunit $service dae-wing.service
71 keepdir /etc/daed/
72 dosym -r "/usr/share/v2ray/geosite.dat" /usr/share/daed/geosite.dat
73 dosym -r "/usr/share/v2ray/geoip.dat" /usr/share/daed/geoip.dat
75 # thanks to @MarksonHon
76 newinitd "${FILESDIR}"/${PN}.initd daed
79 pkg_postinst() {
80 elog
81 elog "For OpenRC user, if you want to use"
82 elog "openrc to manager daed service,"
83 elog "please refer to dae document to modify"
84 elog "rc.conf and sysfs first, then reboot."
85 elog "https://github.com/daeuniverse/dae/blob/main/docs/en/tutorials/run-on-alpine.md"
86 elog "Now you can start and add it to default runlevel "
87 elog "# rc-service daed start"
88 elog "# rc-update add daed default"
89 elog