commit:     82ae30d0fd631c1ff2fabefe8e897e4fb235b08f
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 15 17:52:44 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Mar 15 17:52:58 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=82ae30d0

media-libs/alsa-lib: further header fixes

Bug: https://bugs.gentoo.org/946562
Closes: https://bugs.gentoo.org/946626
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/alsa-lib/alsa-lib-1.2.13-r3.ebuild      | 105 +++++++++++++++++++++
 .../files/alsa-lib-1.2.13-header-fixups.patch      |  92 ++++++++++++++++++
 2 files changed, 197 insertions(+)

diff --git a/media-libs/alsa-lib/alsa-lib-1.2.13-r3.ebuild 
b/media-libs/alsa-lib/alsa-lib-1.2.13-r3.ebuild
new file mode 100644
index 000000000000..9327e61733b0
--- /dev/null
+++ b/media-libs/alsa-lib/alsa-lib-1.2.13-r3.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit autotools multilib-minimal flag-o-matic python-single-r1
+
+DESCRIPTION="Advanced Linux Sound Architecture Library"
+HOMEPAGE="https://alsa-project.org/wiki/Main_Page";
+if [[ ${PV} == *_p* ]] ; then
+       # Please set correct commit ID for a snapshot release!
+       COMMIT="7e3a3c2b0a092d0f568ba3c98365030dd91cc877"
+       
SRC_URI="https://git.alsa-project.org/?p=${PN}.git;a=snapshot;h=${COMMIT};sf=tgz
 -> ${P}.tar.gz"
+       S="${WORKDIR}"/${PN}-${COMMIT:0:7}
+else
+       # TODO: Upstream does publish .sig files, so someone could implement 
verify-sig ;)
+       SRC_URI="https://www.alsa-project.org/files/pub/lib/${P}.tar.bz2";
+fi
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="alisp debug doc python"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+       media-libs/alsa-topology-conf
+       media-libs/alsa-ucm-conf
+       python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( >=app-text/doxygen-1.2.6 )"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.1.6-missing_files.patch" # bug #652422
+       "${FILESDIR}/${PN}-1.2.13-update-symbol-name.patch" # bug #943399
+       "${FILESDIR}/${P}-seq-ump-headers.patch" # bug #943696
+       "${FILESDIR}/${P}-headers-again.patch"
+       "${FILESDIR}/${P}-header-fixups.patch"
+)
+
+pkg_setup() {
+       use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+       default
+
+       find . -name Makefile.am -exec sed -i -e '/CFLAGS/s:-g -O2::' {} + || 
die
+       # bug #545950
+       sed -i -e '5s:^$:\nAM_CPPFLAGS = -I$(top_srcdir)/include:' 
test/lsb/Makefile.am || die
+
+       eautoreconf
+}
+
+multilib_src_configure() {
+       # Tests fail to build w/ C23 (bug #944447)
+       append-cflags -std=gnu17
+
+       # Broken upstream. Could in theory work with -flto-partitions=none
+       # but it's a hack to workaround the real problem and not strictly safe.
+       # bug #616108, bug #669086, and 
https://github.com/alsa-project/alsa-lib/issues/6.
+       # (This bug is closed as of 1.2.9 but there's been no clear actual fix 
to it.
+       # Let us know if you can identify one.)
+       filter-lto
+
+       local myeconfargs=(
+               --disable-maintainer-mode
+               --disable-resmgr
+               --enable-aload
+               --enable-rawmidi
+               --enable-seq
+               --enable-shared
+               --enable-thread-safety
+
+               $(multilib_native_use_enable python)
+               $(use_enable alisp)
+               $(use_with debug)
+       )
+
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+multilib_src_compile() {
+       emake
+
+       if multilib_is_native_abi && use doc; then
+               emake doc
+               grep -FZrl "${S}" doc/doxygen/html | \
+                       xargs -0 sed -i -e "s:${S}::" || die
+       fi
+}
+
+multilib_src_install() {
+       multilib_is_native_abi && use doc && local HTML_DOCS=( 
doc/doxygen/html/. )
+
+       default
+}
+
+multilib_src_install_all() {
+       find "${ED}" -type f -name '*.la' -delete || die
+
+       dodoc ChangeLog doc/asoundrc.txt NOTES TODO
+}

diff --git a/media-libs/alsa-lib/files/alsa-lib-1.2.13-header-fixups.patch 
b/media-libs/alsa-lib/files/alsa-lib-1.2.13-header-fixups.patch
new file mode 100644
index 000000000000..a0a2a8e01f3f
--- /dev/null
+++ b/media-libs/alsa-lib/files/alsa-lib-1.2.13-header-fixups.patch
@@ -0,0 +1,92 @@
+This shouldn't be needed after 1.2.13 as a big rework landed, see
+https://github.com/alsa-project/alsa-lib/commit/ea8972c83b020d92e1a9f0a5c12eaee159bf6c63.
+
+Bug: https://bugs.gentoo.org/946562
+Bug: https://bugs.gentoo.org/946626
+--- a/include/pcm.h
++++ b/include/pcm.h
+@@ -33,6 +33,7 @@
+ extern "C" {
+ #endif
+ 
++#include <stddef.h>
+ #include <stdint.h>
+ 
+ /**
+--- a/include/rawmidi.h
++++ b/include/rawmidi.h
+@@ -28,6 +28,8 @@
+ #ifndef __ALSA_RAWMIDI_H
+ #define __ALSA_RAWMIDI_H
+ 
++#include <stddef.h>
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- a/include/seq.h
++++ b/include/seq.h
+@@ -29,6 +29,7 @@
+ #ifndef __ALSA_SEQ_H
+ #define __ALSA_SEQ_H
+ 
++#include <stddef.h>
+ #include "ump.h"
+ 
+ #ifdef __cplusplus
+--- a/include/seq_midi_event.h
++++ b/include/seq_midi_event.h
+@@ -28,6 +28,8 @@
+ #ifndef __ALSA_SEQ_MIDI_EVENT_H
+ #define __ALSA_SEQ_MIDI_EVENT_H
+ 
++#include <stddef.h>
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- a/include/seqmid.h
++++ b/include/seqmid.h
+@@ -28,6 +28,8 @@
+ #ifndef __ALSA_SEQMID_H
+ #define __ALSA_SEQMID_H
+ 
++#include <stddef.h>
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- a/include/timer.h
++++ b/include/timer.h
+@@ -28,6 +28,9 @@
+ #ifndef __ALSA_TIMER_H
+ #define __ALSA_TIMER_H
+ 
++#include <stddef.h>
++#include <sys/types.h>
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+--- a/include/ump.h
++++ b/include/ump.h
+@@ -9,6 +9,9 @@
+ #ifndef __ALSA_UMP_H
+ #define __ALSA_UMP_H
+ 
++#include <stddef.h>
++#include <sys/types.h>
++
+ #include "rawmidi.h"
+ 
+ #ifdef __cplusplus
+--- a/include/ump_msg.h
++++ b/include/ump_msg.h
+@@ -9,6 +9,7 @@
+ #ifndef __ALSA_UMP_MSG_H
+ #define __ALSA_UMP_MSG_H
+ 
++#include <stddef.h>
+ #include <stdint.h>
+ 
+ #ifdef __cplusplus

Reply via email to