commit: ee41125693765c77482e542de0d3b2f57df858a7 Author: Marek Szuba <marecki <AT> gentoo <DOT> org> AuthorDate: Mon Aug 21 16:24:32 2023 +0000 Commit: Marek Szuba <marecki <AT> gentoo <DOT> org> CommitDate: Mon Aug 21 16:36:27 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee411256
sys-power/acpid: phase out legacy LFS interfaces acpid comes with its own implementation of isfdtype() for standard libraries which do not define it, like musl. This implementation used LFS interfaces, which are now deprecated and which since musl-1.2.4 no longer are a part of the _GNU_SOURCE feature set. musl documentation says "just switch to standard interfaces" so let's do just that. Closes: https://bugs.gentoo.org/906189 Signed-off-by: Marek Szuba <marecki <AT> gentoo.org> sys-power/acpid/acpid-2.0.34-r1.ebuild | 60 ++++++++++++++++++++++++++++ sys-power/acpid/files/acpid-2.0.34-lfs.patch | 19 +++++++++ 2 files changed, 79 insertions(+) diff --git a/sys-power/acpid/acpid-2.0.34-r1.ebuild b/sys-power/acpid/acpid-2.0.34-r1.ebuild new file mode 100644 index 000000000000..258a20d571b5 --- /dev/null +++ b/sys-power/acpid/acpid-2.0.34-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit linux-info systemd + +DESCRIPTION="Daemon for Advanced Configuration and Power Interface" +HOMEPAGE="https://sourceforge.net/projects/acpid2/" +SRC_URI="mirror://sourceforge/${PN}2/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~riscv ~x86" +IUSE="selinux" + +RDEPEND="selinux? ( sec-policy/selinux-apm )" +DEPEND=">=sys-kernel/linux-headers-3" + +PATCHES=( + "${FILESDIR}"/${PN}-2.0.34-lfs.patch +) + +pkg_pretend() { + local CONFIG_CHECK="~INPUT_EVDEV" + local WARNING_INPUT_EVDEV="CONFIG_INPUT_EVDEV is required for ACPI button event support." + [[ ${MERGE_TYPE} != buildonly ]] && check_extra_config +} + +pkg_setup() { :; } + +src_install() { + emake DESTDIR="${D}" install + + newdoc kacpimon/README README.kacpimon + dodoc -r samples + rm -f "${D}"/usr/share/doc/${PF}/COPYING || die + + exeinto /etc/acpi + newexe "${FILESDIR}"/${PN}-1.0.6-default.sh default.sh + exeinto /etc/acpi/actions + newexe samples/powerbtn/powerbtn.sh powerbtn.sh + insinto /etc/acpi/events + newins "${FILESDIR}"/${PN}-1.0.4-default default + + newinitd "${FILESDIR}"/${PN}-2.0.26-init.d ${PN} + newconfd "${FILESDIR}"/${PN}-2.0.16-conf.d ${PN} + + systemd_dounit "${FILESDIR}"/${PN}.{service,socket} +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog + elog "You may wish to read the Gentoo Linux Power Management Guide," + elog "which can be found online at:" + elog "https://wiki.gentoo.org/wiki/Power_management/Guide" + elog + fi +} diff --git a/sys-power/acpid/files/acpid-2.0.34-lfs.patch b/sys-power/acpid/files/acpid-2.0.34-lfs.patch new file mode 100644 index 000000000000..0abca60af422 --- /dev/null +++ b/sys-power/acpid/files/acpid-2.0.34-lfs.patch @@ -0,0 +1,19 @@ +Since version 1.2.4 musl no longer enables legacy LFS interfaces as part +of _GNU_SOURCE, and will remove them altogether in a future release [1]. +Just switch to the standard interfaces. + +[1] https://musl.libc.org/releases.html + +--- a/sock.c ++++ b/sock.c +@@ -54,8 +54,8 @@ + static int + isfdtype(int fd, int fdtype) + { +- struct stat64 st; +- if (fstat64(fd, &st) != 0) ++ struct stat st; ++ if (fstat(fd, &st) != 0) + return -1; + return ((st.st_mode & S_IFMT) == (mode_t)fdtype); + }
