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 +}
