mirror of
https://github.com/gentoo-mirror/gentoo-zh.git
synced 2025-04-18 15:28:57 -04:00
91 lines
2.1 KiB
Bash
91 lines
2.1 KiB
Bash
# Copyright 2023-2024 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit flag-o-matic git-r3 go-module systemd
|
|
|
|
DESCRIPTION="A Modern Dashboard For dae"
|
|
HOMEPAGE="https://github.com/daeuniverse/daed"
|
|
EGIT_REPO_URI="https://github.com/daeuniverse/daed.git"
|
|
|
|
LICENSE="MIT AGPL-3"
|
|
SLOT="0"
|
|
|
|
DEPEND="
|
|
app-alternatives/v2ray-geoip
|
|
app-alternatives/v2ray-geosite
|
|
"
|
|
RDEPEND="${DEPEND}"
|
|
BDEPEND="
|
|
webui? ( sys-apps/pnpm )
|
|
llvm-core/clang
|
|
"
|
|
|
|
IUSE="+webui"
|
|
RESTRICT="strip"
|
|
|
|
src_unpack(){
|
|
git-r3_src_unpack
|
|
cd ${P} || die
|
|
if use webui; then
|
|
pnpm install || die
|
|
fi
|
|
cd wing || die
|
|
ego mod download -modcacherw
|
|
cd dae-core || die
|
|
ego mod download -modcacherw
|
|
}
|
|
|
|
src_prepare() {
|
|
# Prevent conflicting with the user's flags
|
|
# https://devmanual.gentoo.org/ebuild-writing/common-mistakes/#-werror-compiler-flag-not-removed
|
|
sed -i -e 's/-Werror//' wing/dae-core/Makefile || die 'Failed to remove -Werror via sed'
|
|
|
|
default
|
|
}
|
|
|
|
src_compile(){
|
|
if ! use webui; then
|
|
cd wing || die
|
|
fi
|
|
|
|
# for dae's ebpf target
|
|
# gentoo-zh#3720
|
|
filter-flags "-march=*" "-mtune=*"
|
|
append-cflags "-fno-stack-protector"
|
|
|
|
GO_ROOT="${S}" emake APPNAME="${PN}" VERSION="${PV}"
|
|
}
|
|
|
|
src_install(){
|
|
local service=install/daed.service
|
|
if use webui; then
|
|
dobin daed
|
|
systemd_dounit $service
|
|
else
|
|
dobin wing/dae-wing
|
|
sed -i "s!/usr/bin/daed!/usr/bin/dae-wing!" $service || die
|
|
systemd_newunit $service dae-wing.service
|
|
fi
|
|
keepdir /etc/daed/
|
|
dosym -r "/usr/share/v2ray/geosite.dat" /usr/share/daed/geosite.dat
|
|
dosym -r "/usr/share/v2ray/geoip.dat" /usr/share/daed/geoip.dat
|
|
|
|
# thanks to @MarksonHon
|
|
newinitd "${FILESDIR}"/${PN}.initd daed
|
|
}
|
|
|
|
pkg_postinst() {
|
|
elog
|
|
elog "For OpenRC user, if you want to use"
|
|
elog "openrc to manager daed service,"
|
|
elog "please refer to dae document to modify"
|
|
elog "rc.conf and sysfs first, then reboot."
|
|
elog "https://github.com/daeuniverse/dae/blob/main/docs/en/tutorials/run-on-alpine.md"
|
|
elog "Now you can start and add it to default runlevel "
|
|
elog "# rc-service daed start"
|
|
elog "# rc-update add daed default"
|
|
elog
|
|
}
|