commit: 5806c577a2b2391e5cf017c365a5ed096b89895a Author: Alexey Sokolov <alexey+gentoo <AT> asokolov <DOT> org> AuthorDate: Fri Sep 26 20:28:32 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Fri Oct 3 00:28:05 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5806c577
sys-apps/epoch: fix build with gcc 15 Closes: https://bugs.gentoo.org/944368 Signed-off-by: Alexey Sokolov <alexey+gentoo <AT> asokolov.org> Part-of: https://github.com/gentoo/gentoo/pull/43946 Closes: https://github.com/gentoo/gentoo/pull/43946 Signed-off-by: Sam James <sam <AT> gentoo.org> sys-apps/epoch/epoch-1.3.0-r1.ebuild | 71 +++++++++++++++++++++++++++++ sys-apps/epoch/files/epoch-1.3.0-bool.patch | 14 ++++++ 2 files changed, 85 insertions(+) diff --git a/sys-apps/epoch/epoch-1.3.0-r1.ebuild b/sys-apps/epoch/epoch-1.3.0-r1.ebuild new file mode 100644 index 000000000000..06cdfdb8fb21 --- /dev/null +++ b/sys-apps/epoch/epoch-1.3.0-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info + +DESCRIPTION="Init system, /sbin/init replacement; designed for simplicity" +HOMEPAGE="https://universe2.us/epoch.html" +SRC_URI="https://universe2.us/${PN}_${PV}.tar.gz" +S="${WORKDIR}/${PN}_${PV/rc/RC}" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" + +pkg_pretend() { + local CONFIG_CHECK="~PROC_FS" + + [[ ${MERGE_TYPE} != buildonly ]] && check_extra_config +} + +PATCHES=( + "${FILESDIR}"/${PN}-1.0-fix-CFLAGS.patch + "${FILESDIR}"/${PN}-1.3.0-fix-main.patch + "${FILESDIR}"/${PN}-1.3.0-bool.patch +) + +src_compile() { + NEED_EMPTY_CFLAGS=1 sh ./buildepoch.sh || die "Cannot build epoch." +} + +newepochins() { + local type="$1" + + cd ${type} || die "Cannot change directory." + for file in * ; do + if [[ "${file}" != "epoch" ]] ; then + new${type} ${file} epoch-${file} + fi + done + cd .. || die "Cannot change directory." +} + +src_install() { + cd built || die "Cannot change directory." + + dosbin sbin/epoch + + # For now, rename to epoch-* until we can blend in with a standard approach. + newepochins bin + newepochins sbin + + insinto /etc/epoch/ + newins "${FILESDIR}"/${PN}-1.0-epoch.conf epoch.conf +} + +pkg_postinst() { + elog "Make sure to provide /run and /tmp tmpfs mounts using /etc/fstab." + elog "" + elog "An example epoch configuration is provided at /etc/epoch/epoch.conf" + elog "which starts a minimal needed to use Gentoo." + elog "" + elog "To use epoch, add this kernel parameter: init=/usr/sbin/epoch-init" + elog "" + elog "Additional information about epoch is available at" + elog "${HOMEPAGE} and configuration documentation at" + elog "https://universe2.us/epochconfig.html which is useful reading material." + elog "" + elog "Its author Subsentient can be contacted at #epoch on irc.libera.chat." +} diff --git a/sys-apps/epoch/files/epoch-1.3.0-bool.patch b/sys-apps/epoch/files/epoch-1.3.0-bool.patch new file mode 100644 index 000000000000..bcbf39b2e0f5 --- /dev/null +++ b/sys-apps/epoch/files/epoch-1.3.0-bool.patch @@ -0,0 +1,14 @@ +https://github.com/Subsentient/epoch/pull/26 +https://bugs.gentoo.org/944368 + +--- a/src/epoch.h ++++ b/src/epoch.h +@@ -146,7 +146,7 @@ + /**Enums go here.*/ + + /*Our own boolean type.*/ +-enum { false, true }; /*I don't want to use stdbool.*/ ++#include <stdbool.h> + typedef signed char Bool; //Don't change this. Some code relies on this being signed 8 bits. + + /*How objects are stopped on shutdown.*/
