summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2023-08-21 17:24:32 +0100
committerMarek Szuba <marecki@gentoo.org>2023-08-21 17:36:27 +0100
commitee41125693765c77482e542de0d3b2f57df858a7 (patch)
tree254f5ba579fe76a022e90355565a809b07f4ff8a /sys-power
parentRevert "net-libs/grpc: bundle abseil-cpp" (diff)
downloadgentoo-ee41125693765c77482e542de0d3b2f57df858a7.tar.gz
gentoo-ee41125693765c77482e542de0d3b2f57df858a7.tar.bz2
gentoo-ee41125693765c77482e542de0d3b2f57df858a7.zip
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@gentoo.org>
Diffstat (limited to 'sys-power')
-rw-r--r--sys-power/acpid/acpid-2.0.34-r1.ebuild60
-rw-r--r--sys-power/acpid/files/acpid-2.0.34-lfs.patch19
2 files changed, 79 insertions, 0 deletions
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);
+ }