sys-apps/epoch: fix build with gcc 15

Closes: https://bugs.gentoo.org/944368
Signed-off-by: Alexey Sokolov <alexey+gentoo@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@gentoo.org>
This commit is contained in:
Alexey Sokolov
2025-09-26 21:28:32 +01:00
committed by Sam James
parent 0106db6d60
commit 5806c577a2
2 changed files with 85 additions and 0 deletions

View File

@@ -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."
}

View File

@@ -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.*/