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

Reply via email to