commit:     bde64281f13862e6ba19a04da40d1354c80e674b
Author:     Jay Faulkner <jayf <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 23 03:31:35 2025 +0000
Commit:     Jay Faulkner <jayf <AT> gentoo <DOT> org>
CommitDate: Sat Aug 23 03:31:46 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bde64281

www-apps/hugo: add 0.148.2

Note that automated tests still don't pass, although I performed
manual functionality checking. I'm working on the tests but in
the vein of not letting perfect be the enemy of good, I'm not
blocking the package bump on it.

Signed-off-by: Jay Faulkner <jayf <AT> gentoo.org>

 www-apps/hugo/Manifest            |   2 +
 www-apps/hugo/hugo-0.148.2.ebuild | 152 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 154 insertions(+)

diff --git a/www-apps/hugo/Manifest b/www-apps/hugo/Manifest
index d83c92283a11..59127a1fd351 100644
--- a/www-apps/hugo/Manifest
+++ b/www-apps/hugo/Manifest
@@ -1,2 +1,4 @@
 DIST hugo-0.147.7-vendor.tar.xz 7830372 BLAKE2B 
29e87c1c8d55c71c366dbeed0771c8b06d21066936c6201de44ed8b01103f55d15718a990d0ec2d220ce72df6e9070154a4e8475c2c397db1316d77735297956
 SHA512 
e92aa2d76c6b5df0094240774868310f070c4dd2f9a512123eafd4e6e356f7c9209c7d5f061a3273b05a2ef1547ffb72b1851863fc8de96f77c676f9e4a76b4c
 DIST hugo-0.147.7.tar.gz 14603510 BLAKE2B 
db1953fbbcaf6a84e418139553745dd903c519e1b7fd40627f2a957d112bd66dabca624864002d0944a6873d9f19517db68b0fb151671ddbed81b066466e02bf
 SHA512 
85f1c45da22afe94b1024e57ebf8f97e889877dba33da0ecf88205817717ed3da3d95a0bbf8193837463f9a3fb95dca06fc36957c8d846b509155a944296db74
+DIST hugo-0.148.2-vendor.tar.xz 9074900 BLAKE2B 
0a502e3e0aaad4900a5c07ae515c3252b0f6d2a101a1c17ea60b2b9df2893e4aee1305b203064a3c816110b0294c9bd2ec3bf8b14320ed446c5fbc0734a23b48
 SHA512 
f06ad4f825c0e20aea99dd28defa8b9c68c9fbf39f709bb272340ff20659111215c048093084bc519422ac842eb383b1952ec48985e4379f57aa377ce4ce7a04
+DIST hugo-0.148.2.tar.gz 14613663 BLAKE2B 
fd7e26d7724bebfd9014fc34c509683ddc92004b7886b25e6c8f3d56e46d01049b34477cc636b23f8c91f2780125f5178ff6423b37ba9db8ded46f348a389f4d
 SHA512 
e6cccfcd83dcaeb35481badae03b686547ad8d1a31b7c375b29a5ebfab13e11ea27b72d89eb9c9d75b9c1d080e54306a67d2608d9404b34d5735423003bee328

diff --git a/www-apps/hugo/hugo-0.148.2.ebuild 
b/www-apps/hugo/hugo-0.148.2.ebuild
new file mode 100644
index 000000000000..6b53b573207e
--- /dev/null
+++ b/www-apps/hugo/hugo-0.148.2.ebuild
@@ -0,0 +1,152 @@
+# Copyright 2018-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs go-module shell-completion
+
+DESCRIPTION="Fast static HTML and CSS website generator"
+HOMEPAGE="https://gohugo.io https://github.com/gohugoio/hugo";
+SRC_URI="
+       https://github.com/gohugoio/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+       https://dev.gentoo.org/~jayf/dist/${P}-vendor.tar.xz
+"
+
+# NOTE: To create the vendor tarball, run:
+# `go mod vendor && cd .. && tar -caf ${P}-vendor.tar.xz ${P}/vendor`
+
+LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0 Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+deploy doc +extended test"
+
+BDEPEND="
+       test? (
+               dev-python/docutils
+               dev-ruby/asciidoctor
+       )
+"
+RDEPEND="
+       extended? (
+               dev-libs/libsass:=
+               >=media-libs/libwebp-1.3.2:=
+       )
+"
+DEPEND="${RDEPEND}"
+
+# NOTE(JayF): Most tests currently pass, but not all. Most failing
+#             tests are internet-dependant and need to be patched out.
+# See https://bugs.gentoo.org/959346
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="deploy? ( extended )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.121.0-unbundle-libwebp-and-libsass.patch
+)
+
+_check_reqs() {
+       if [[ ${MERGE_TYPE} == binary ]] ; then
+               return 0
+       fi
+
+       if has test ${FEATURES}; then
+               CHECKREQS_DISK_BUILD="4G"
+       else
+               CHECKREQS_DISK_BUILD="1500M"
+       fi
+       check-reqs_${EBUILD_PHASE_FUNC}
+}
+
+pkg_pretend() {
+       _check_reqs
+}
+
+pkg_setup() {
+       _check_reqs
+}
+
+src_configure() {
+       if use extended; then
+               if use deploy; then
+                       # per 5dd0ba00f79d5888c8d6d05d3327a74d15073a7b 
(upstream) this is
+                       # the way to build fully extended with deploy support
+                       export MY_BUILD_FLAGS="-tags extended,withdeploy"
+               else
+                       export MY_BUILD_FLAGS="-tags extended"
+               fi
+       else
+               export MY_BUILD_FLAGS=""
+       fi
+
+       export CGO_ENABLED=1
+       export CGO_CFLAGS="${CFLAGS}"
+       export CGO_CPPFLAGS="${CPPFLAGS}"
+       export CGO_CXXFLAGS="${CXXFLAGS}"
+       export CGO_LDFLAGS="${LDFLAGS}"
+
+       default
+}
+
+src_prepare() {
+       # wants to run command that require network access
+       rm 
testscripts/commands/mod{,_vendor,__disable,_get,_get_u,_npm{,_withexisting}}.txt
 || die
+
+       # NOTE(JayF): Avoiding a hard depednency on sass tooling for tests. 
Even if
+       # installed, the tests still don't quite work.
+       rm 
resources/resource_transformers/tocss/dartsass/dartsass_integration_test.go || 
die
+
+       # TODO(JayF): Over half of the tests in these modules require network, 
and it's
+       # extremely likely more remote-depending tests will be added in the 
future.
+       # Ideally, we'd be less blunt in how we disable these tests.
+       rm tpl/tplimpl/shortcodes_integration_test.go || die
+       rm resources/resource_factories/create/create_integration_test.go || die
+       rm modules/client_test.go || die
+
+       # NOTE(JayF): Tests depend on reaching out to npm registry
+       rm internal/js/esbuild/batch_integration_test.go || die
+
+       default
+}
+
+src_compile() {
+       mkdir -pv bin || die
+       ego build -ldflags "-X 
github.com/gohugoio/hugo/common/hugo.vendorInfo=gentoo:${PVR}" \
+               ${MY_BUILD_FLAGS} -o "${S}/bin/hugo"
+
+       bin/hugo gen man --dir man || die
+
+       mkdir -pv completions || die
+       bin/hugo completion bash > completions/hugo || die
+       bin/hugo completion fish > completions/hugo.fish || die
+       bin/hugo completion zsh > completions/_hugo || die
+
+       if use doc ; then
+               bin/hugo gen doc --dir doc || die
+       fi
+}
+
+src_test() {
+       if ! has_version -b virtual/pandoc ; then
+               elog "You're missing virtual/pandoc - some tests will be 
skipped."
+       fi
+
+       if ! has_version -b dev-ruby/asciidoctor ; then
+               elog "You're missing dev-ruby/asciidoctor - some tests will be 
skipped."
+       fi
+
+       ego test "./..." ${MY_BUILD_FLAGS}
+}
+
+src_install() {
+       dobin bin/*
+       doman man/*
+
+       dobashcomp completions/${PN}
+       dofishcomp completions/${PN}.fish
+       dozshcomp completions/_${PN}
+
+       if use doc ; then
+               dodoc -r doc/*
+       fi
+}

Reply via email to