commit: 7796a13d4bd46adc9eaa6c765eda4f2e95aca079 Author: Jay Faulkner <jayf <AT> gentoo <DOT> org> AuthorDate: Sat May 3 20:17:47 2025 +0000 Commit: Jay Faulkner <jayf <AT> gentoo <DOT> org> CommitDate: Sat May 3 20:19:55 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7796a13d
www-apps/hugo: add 0.147.1, take maintainership Added 0.147.1, this version adds a use flag "deploy", reflecting upstream adding an option to build with or without deployment code. This ebuild aggressively removes test files as many hugo tests expect to be able to run `npm install` or be able to call HEAD on one of many random websites. Ideally we would patch out less bluntly. Additionally, I am taking maintainership of this package. Bug: https://bugs.gentoo.org/951725 Signed-off-by: Jay Faulkner <jayf <AT> gentoo.org> www-apps/hugo/Manifest | 2 + www-apps/hugo/hugo-0.147.1.ebuild | 149 ++++++++++++++++++++++++++++++++++++++ www-apps/hugo/metadata.xml | 8 +- 3 files changed, 157 insertions(+), 2 deletions(-) diff --git a/www-apps/hugo/Manifest b/www-apps/hugo/Manifest index b6c6ef8de9f8..ba90925bdc49 100644 --- a/www-apps/hugo/Manifest +++ b/www-apps/hugo/Manifest @@ -2,3 +2,5 @@ DIST hugo-0.131.0-vendor.tar.xz 6925652 BLAKE2B 352cf39d95cf30ab502d91a816b151e2 DIST hugo-0.131.0.tar.gz 20323531 BLAKE2B b88be13c6d1008a777114e5c0f42dac0277f37ba36ea601903f9a6e63b06fad3d847950aada082ad32dea544df54f1ad90c2ecbddebbcd70e73a74c416aebaf9 SHA512 53bb387bde6c6e92568036d06db1dfeaa9f897806f7f51cb4b9c3fd93026a41410ea61598370da79abb5df20e81b18616e3ec49e7cec1bb1e470d5035b594ef6 DIST hugo-0.144.2-vendor.tar.xz 7508632 BLAKE2B 9ba0bfed07fca2f7184222dc292e1e0cadc011dbe570aeff9e63b8273b4b9ebf3984abdcdcd575928fad1a878f433eca9b2415318e2bbe1c35d26fe3a304c6e5 SHA512 16a06dbecea91dc9f74649401d611a217225bd78c4ad60f42c56a30e21cb50ae3b855faaf20669a2cd61342cc585f37d0d41f82e1c8c60ab4e82ec2a92c0f063 DIST hugo-0.144.2.tar.gz 14641815 BLAKE2B 2c886cf30d378527b634593c44105a839b305bc1dd722018221811ce2f8decf61e8aa95f8bffbb2d670ccaa8a8accd44ce9be8b5f5c741525493afbef141959e SHA512 ab948b3a64cdb76fe2acfb0bdefde3c80842e4d944861383f87acc9a3e51533cb4c72eec01ab5838c9411263f7293841f9fa388255d61458394961697f91b2ea +DIST hugo-0.147.1-vendor.tar.xz 7665456 BLAKE2B 517d47d59b51edf20191e1a3f37c4564937d92d5cb551d1a1058e9377ac5c5d2fbae903079725f5c19877e414e88d6302e7ef0c973df566469cc11ef1d39a1c9 SHA512 50b22f38e428121547101ceabea4180610868c5202fa5b5cf98ac7fec40eedd95e1618fafbfa3d1edb20c066bffa2f327999b193276d632dc16eef7dd8617c99 +DIST hugo-0.147.1.tar.gz 14599628 BLAKE2B be0c0e3461440024a2c1d2af518a22ece9e817919942649f76c61d5b10c991aa77aee57e72feb40586d8e0c3bc5cba255b7fb174359563bf2388af89553d850d SHA512 57df355ee28f7ac2d4ad79898116af99604e6a34113ebb343c07c67e595590b36cbe79ed4d5817aa88d7988df7ca33493de62d8195134eade2ae35cd09a21f31 diff --git a/www-apps/hugo/hugo-0.147.1.ebuild b/www-apps/hugo/hugo-0.147.1.ebuild new file mode 100644 index 000000000000..9b5110139468 --- /dev/null +++ b/www-apps/hugo/hugo-0.147.1.ebuild @@ -0,0 +1,149 @@ +# 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}" + +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 +} diff --git a/www-apps/hugo/metadata.xml b/www-apps/hugo/metadata.xml index 899499cbf061..7ba09967c53d 100644 --- a/www-apps/hugo/metadata.xml +++ b/www-apps/hugo/metadata.xml @@ -1,9 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>[email protected]</email> + <name>Jay Faulkner</name> + </maintainer> <use> - <flag name="extended">Enable SASS/SCSS and WebP encoding support</flag> + <flag name="extended">Enable SASS/SCSS support</flag> + <flag name="deploy">Enable support for deployment support (hugo deploy)</flag> </use> <upstream> <remote-id type="github">gohugoio/hugo</remote-id>
