net-dns/AdGuardHome: update to 0.107.49

Signed-off-by: Rahil Bhimjiani <me@rahil.rocks>
This commit is contained in:
Rahil Bhimjiani
2024-05-23 22:30:59 +05:30
parent 0d344d4a95
commit 7a315e74ee
2 changed files with 155 additions and 0 deletions

View File

@@ -0,0 +1,151 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit fcaps go-module readme.gentoo-r1 systemd
DESCRIPTION="Network-wide ads & trackers blocking DNS server like Pi-Hole with web ui"
HOMEPAGE="https://github.com/AdguardTeam/AdGuardHome/"
WIKI_COMMIT="3b27176"
SRC_URI="
https://github.com/AdguardTeam/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/deps.tar.xz -> ${P}-deps.tar.xz
https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/wiki.tar.xz -> ${PN}-wiki-${WIKI_COMMIT}.tar.xz
web? ( https://github.com/rahilarious/gentoo-distfiles/releases/download/${P}/npm-deps.tar.xz -> ${P}-npm-deps.tar.xz )
"
# main
LICENSE="GPL-3"
# deps
LICENSE+=" Apache-2.0 BSD BSD-2 MIT ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="+web"
# RESTRICT="test"
BDEPEND="
web? ( net-libs/nodejs[npm] )
"
FILECAPS=(
-m 755 'cap_net_bind_service=+eip cap_net_raw=+eip' usr/bin/${PN}
)
PATCHES=(
"${FILESDIR}"/disable-update-cmd-opt.patch
)
DOCS="
../${PN}.wiki/*
"
DOC_CONTENTS="\n
User is advised to not run binary directly instead use systemd service\n\n
Defaults for systemd service:\n
Web UI: 0.0.0.0:3000\n
Data directory: /var/lib/${PN}\n
Default config: /var/lib/${PN}/${PN}.yaml
"
src_unpack() {
# because we're using vendor/ so we don't need go-module_src_unpack
default
}
src_prepare() {
ln -sv ../vendor ./ || die
default
if use web; then
# mimicking `make js-deps`
export npm_config_cache="${WORKDIR}/npm-cache" NODE_OPTIONS=--openssl-legacy-provider || die
npm --verbose --offline --prefix client/ --no-progress --ignore-engines --ignore-optional --ignore-platform --ignore-scripts ci || die
fi
}
src_compile() {
# mimicking `make js-build`
use web && npm --verbose --offline --prefix client run build-prod || die
# mimicking https://github.com/AdguardTeam/AdGuardHome/blob/master/scripts/make/go-build.sh
local MY_LDFLAGS="-s -w"
MY_LDFLAGS+=" -X github.com/AdguardTeam/AdGuardHome/internal/version.version=${PV}"
MY_LDFLAGS+=" -X github.com/AdguardTeam/AdGuardHome/internal/version.channel=release"
MY_LDFLAGS+=" -X github.com/AdguardTeam/AdGuardHome/internal/version.committime=$(date +%s)"
if [ "$(go env GOARM)" != '' ]
then
MY_LDFLAGS+=" -X github.com/AdguardTeam/AdGuardHome/internal/version.goarm=$(go env GOARM)"
elif [ "$(go env GOMIPS)" != '' ]
then
MY_LDFLAGS+=" -X github.com/AdguardTeam/AdGuardHome/internal/version.gomips=$(go env GOMIPS)"
fi
ego build -ldflags "${MY_LDFLAGS}" -trimpath -v=1 -x=1
}
src_test() {
# mimicking https://github.com/AdguardTeam/AdGuardHome/blob/master/scripts/make/go-test.sh
count_flags='--count=1'
cover_flags='--coverprofile=./coverage.txt'
shuffle_flags='--shuffle=on'
timeout_flags="--timeout=30s"
fuzztime_flags="--fuzztime=20s"
readonly count_flags cover_flags shuffle_flags timeout_flags fuzztime_flags
# race only works when pie is disabled
export GOFLAGS="${GOFLAGS/-buildmode=pie/}"
# following test is failing without giving any reason. Tried disabling internal/updater internal/whois tests toggling race, but still failing.
# ego test\
# "$count_flags"\
# "$cover_flags"\
# "$shuffle_flags"\
# --race=1\
# "$timeout_flags"\
# ./...
# mimicking https://github.com/AdguardTeam/AdGuardHome/blob/master/scripts/make/go-bench.sh
ego test\
"$count_flags"\
"$shuffle_flags"\
--race=0\
"$timeout_flags"\
--bench='.'\
--benchmem\
--benchtime=1s\
--run='^$'\
./...
# mimicking https://github.com/AdguardTeam/AdGuardHome/blob/master/scripts/make/go-fuzz.sh
ego test\
"$count_flags"\
"$shuffle_flags"\
--race=0\
"$timeout_flags"\
"$fuzztime_flags"\
--fuzz='.'\
--run='^$'\
./internal/filtering/rulelist/\
;
}
src_install() {
dobin "${PN}"
dosym -r /usr/bin/"${PN}" /usr/bin/adguardhome
einstalldocs
readme.gentoo_create_doc
systemd_newunit "${FILESDIR}"/AdGuardHome-0.107.43.service "${PN}".service
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@@ -7,4 +7,8 @@ DIST AdGuardHome-0.107.46.tar.gz 2258665 BLAKE2B d3b7a6cd24e35fc22fc90919ce7143f
DIST AdGuardHome-0.107.48-deps.tar.zst 3702175 BLAKE2B 2da4d5e43d8c43f3222ed638726ea541e560978ee5b7d1a452f4ca3f9af6b8f019ee9fb1115485ea76c61ec627b29b9f25d3ee00326ae3a97d7c3e3c5d391153 SHA512 2783962df7216566c87c04619488786199d2b82ea8378e2d28e01413c5f3eae66a76a85d0966b25857533548b134e2df361c97205bb00a4c51b22571e99073a1
DIST AdGuardHome-0.107.48-npm-deps.tar.zst 31298525 BLAKE2B 8b52fd0eddd4fcb5405e0d08d48c38023ef5a75715ec8eca406bd8811a7ef8d719cc842011b00e364ece9bc1deed415f65eae863baea4d09df6ad7536c0b9da7 SHA512 4bae696c842a24d3e7d0c197e3a8a42efc4c67a158a20ba7243f20300f2ddd35a89c1ad46e90c2498ec5bdfe5733a1fa961d11d033a53549240b85ddb2ee5993
DIST AdGuardHome-0.107.48.tar.gz 2264834 BLAKE2B 3fc50e5d76b9e73ab14a355f005ba0a57d51e2b45b39667b31e7558a86ea31ab23009ce5738232a9de3bdf781edda9eea9689d315c285ac5bd5273351ba6f606 SHA512 861affc0628a14b7823822c4b2b2c66a874801fc4b4fa50b909785ea57b39f86bb6cc4df84d04d941b251a6eec6055e93f41cb04eeba92a4a9477c1904e8d14f
DIST AdGuardHome-0.107.49-deps.tar.xz 2655500 BLAKE2B b3fc899f6c0b1c2e4ee3861f151089a6ed8287f28b7274b70f1fc1a287d5aff6540f7385ac012d7d9aafad7cdbcf245d05dd80d546f63f7c6b714682f83a62fb SHA512 690340b6353dcf4ecc705cb63db398d5b9a64350bc9a04dcde92be75517294c177027525b987ba06009f25a049686d667fe4b738cf98bf314704b59f02d9f942
DIST AdGuardHome-0.107.49-npm-deps.tar.xz 31380124 BLAKE2B df516b58bc5cc94e651b89d92e046432db85f8eaf423fbffd1c0e2f2704193589a916fa09239ac383798508e4146fb6d416a304697001d645cbd2599a25044d0 SHA512 d847734157c2fe8d62cc4cf9788a64849681264cf3f0315423206c00a8ee5e0b8073d97af126c4eb5abf834b55242a7571a6b116aab383f280ad35288467b1a3
DIST AdGuardHome-0.107.49.tar.gz 2269512 BLAKE2B e118e3a31fc88b477a5b7cdc6b81e4aaf52b3c92ebde49f0b552220fef285c0128ec590b1eb75d82633e697065ab16da815b5bbd6bef70bb22d8fc20794711de SHA512 20e5c528a00d87658be90d7320972b44db10e1537d5a836d83dadf772c4f54754272e69bc2565163e5847375fd4d9a0159f7ef9eb552beadee2432330729b373
DIST AdGuardHome-wiki-3b27176.tar.xz 44232 BLAKE2B a4333f99ab7860734b41677265fe3565aea82db1ef6306920f302a3ed2ec69cf9a17523465ffeceefa04ffdd0d916d61adb2c8fc5d01b40a1a80c4d99d76ab72 SHA512 d702373ede62589f079fb86474ade02a9520b7008b8b9b89867c48629cca1816df1560738a575e26813f43bfbc3c77ba2d89b6a1dc8f0625af8cef3fac11a287
DIST AdGuardHome-wiki-7964837.tar.xz 44012 BLAKE2B 0cef0fb890e9fd80db12d74abd39ea90efa5561e11fba0e9df55b5e48536cd5a604d18bd17907921568d73bcc1b08ebb2980e16cb4e1eeb37be10ef89a106243 SHA512 2177fe47986f3086804ef900d2e338efbaf647df7f81d8b28235f77f0375681f96db112d3b06f69ee36706fc44698bdd960b919f5b87f82546ce87cb93b3f196