gentoo-zh/net-proxy/daed/daed-9999.ebuild
jinqiang zhang 1414ffc58d
*/*: rename sys-devel/clang to llvm-core/clang
Signed-off-by: jinqiang zhang <jinqiang@zhang.my>
2024-12-11 23:39:51 +08:00

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
}