commit: 0ec76c91157e9735d5d850c9923bd7632f18a4e4 Author: Jakov Smolić <jsmolic <AT> gentoo <DOT> org> AuthorDate: Mon Jun 30 20:06:08 2025 +0000 Commit: Jakov Smolić <jsmolic <AT> gentoo <DOT> org> CommitDate: Tue Jul 1 01:17:19 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ec76c91
dev-build/bmake: add 20250618 Add a patch to make lua test compatible with lua-5.1 os.exit() function in lua-5.4 accepts first argument as either boolean or number [1], while 5.1 only accepts number [2]; so update the function call to be compatible with both versions. While at it, add lua as a test dependency. [1] https://www.lua.org/manual/5.1/manual.html#pdf-os.exit [2] https://www.lua.org/manual/5.4/manual.html#pdf-os.exit Bug: https://bugs.gentoo.org/959269 Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org> dev-build/bmake/Manifest | 1 + dev-build/bmake/bmake-20250618.ebuild | 71 ++++++++++++++++++++++ .../bmake/files/bmake-20250618-lua-test.patch | 10 +++ 3 files changed, 82 insertions(+) diff --git a/dev-build/bmake/Manifest b/dev-build/bmake/Manifest index 79b741d703f0..943d9bb6eaf6 100644 --- a/dev-build/bmake/Manifest +++ b/dev-build/bmake/Manifest @@ -2,4 +2,5 @@ DIST bmake-20241124.tar.gz 878189 BLAKE2B 13b05ae5bd0e23e949fe09282d57eb13926007 DIST bmake-20250125.tar.gz 881309 BLAKE2B 790cf6485561a0967bfc509b03c8268234622905929bc93eaf0597c8087d71cf6e2efe70b060352ae558145f8de2f8ab250b0a292ef3e104a506ac9821f84ca1 SHA512 c2f79bc15dbea82bf0741b21f0f272aece5287dc26dfb5e0032de7911fad6d73953137da8084d155814ae0fd89ac673cd984218a05c90c3a28669bdfb34c1533 DIST bmake-20250414.tar.gz 885554 BLAKE2B 6723b5c9798c882ede43b5ed99f8d5b24ff288a1f01a4c0ec51e52e4cc26d09be9f25c9711be638838926a3b605d9358c486909a51e3b6af9e0263f7abbb543b SHA512 1ea5fe7517b3734abb807ee7b5fae01283bfdafba31e0df2e2db3b510353a0c47385ef4e449aa5dda3e3c5ee90a6053412413485d56e9397f4b76b2fd126b07f DIST bmake-20250528.tar.gz 885811 BLAKE2B d16ec308790459d68e5f151e3f83ad43762bb79936389e3be2ee4a7902ecf50342edf55b2eed51a1de85eda635eb734f77ca6330368e359672729e72cea7432e SHA512 dc9fa11e4a84bdad0f6e36befccb77154c710052a3b2a8bfe42f62fa25d3f700879a176a306f13218a0a243fea786693745a2ac832c6b360b7be2d24c77f9362 +DIST bmake-20250618.tar.gz 890039 BLAKE2B 645c3c549ab32293d2bbdf4701f562ca0cb6981d395769efd380d4f1b2efea643468c05835e6450c4efe8fc53a14e28f0590b3c6b36c27b3e536c89ec53fbda8 SHA512 fd9815cbeb9eb3ab3f1865e5587e67f05a644678b9af8d5c1a5ed792561c7ffb1733dc7bf3da7bf485293f8e84f54cc1a142bf68a857f87dc8b30bbe06721ff8 DIST mk-20210330.tar.gz 107380 BLAKE2B 9ac30a117d9ba31635cf8d8d29fdba76f148611f47628403ca8f807081c32509f10498d3c30fd24985e5420af4710fe59fc6315d71f2d0c1cfed93263a06553a SHA512 6acd3ee911442934082f4f877d795b07c5e23022eaa9c0874799d97e92a2f5a663cb45f94b7f9745c49cbbce6b7e755a29e381ccfb9e68a0be1eedbd22fd5d3b diff --git a/dev-build/bmake/bmake-20250618.ebuild b/dev-build/bmake/bmake-20250618.ebuild new file mode 100644 index 000000000000..e9f32136f853 --- /dev/null +++ b/dev-build/bmake/bmake-20250618.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MK_VER=20210330 +LUA_COMPAT=( lua5-{1..4} luajit ) + +inherit lua-single + +DESCRIPTION="NetBSD's portable make" +HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html" +SRC_URI=" + http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz + http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +REQUIRED_USE="test? ( ${LUA_REQUIRED_USE} )" + +BDEPEND="test? ( ${LUA_DEPS} )" + +# Skip failing test (sandbox and csh) +PATCHES=( + "${FILESDIR}"/${PN}-20210206-tests.patch + "${FILESDIR}"/${PN}-20250618-lua-test.patch +) + +pkg_setup() { + use test && lua-single_pkg_setup +} + +src_prepare() { + default + cd "${WORKDIR}" || die + eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch +} + +src_configure() { + econf \ + --with-mksrc=../mk \ + --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \ + --with-machine_arch=${ARCH} +} + +src_compile() { + sh make-bootstrap.sh || die "bootstrap failed" +} + +src_test() { + cd unit-tests || die + + # the 'ternary' test uses ${A} internally, which + # conflicts with Gentoo's ${A}, hence unset it for + # the tests temporarily. + env -u A MAKEFLAGS= \ + "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed" +} + +src_install() { + dobin ${PN} + doman ${PN}.1 + FORCE_BSD_MK=1 SYS_MK_DIR=. \ + sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \ + || die "failed to install mk files" +} diff --git a/dev-build/bmake/files/bmake-20250618-lua-test.patch b/dev-build/bmake/files/bmake-20250618-lua-test.patch new file mode 100644 index 000000000000..ae1f2dd50409 --- /dev/null +++ b/dev-build/bmake/files/bmake-20250618-lua-test.patch @@ -0,0 +1,10 @@ +# https://bugs.gentoo.org/959269#c4 +# make the test compatible with lua-5.1 +--- a/unit-tests/check-expect.lua ++++ b/unit-tests/check-expect.lua +@@ -187,4 +187,4 @@ end + for _, fname in ipairs(arg) do + check_mk(fname) + end +-os.exit(not had_errors) ++os.exit((not had_errors) and 0 or 1)
