From 3a7adf6acb026dd53e261d25d6de947f2314b04e Mon Sep 17 00:00:00 2001 From: Sam James Date: Sun, 30 Oct 2022 18:17:40 +0000 Subject: media-libs/alsa-lib: fix alsa.m4 for clang 16 Signed-off-by: Sam James --- media-libs/alsa-lib/alsa-lib-1.2.8-r1.ebuild | 97 ++++++++++++++++++++++ media-libs/alsa-lib/alsa-lib-1.2.8.ebuild | 96 --------------------- .../files/alsa-lib-1.2.8-clang16-macro.patch | 31 +++++++ 3 files changed, 128 insertions(+), 96 deletions(-) create mode 100644 media-libs/alsa-lib/alsa-lib-1.2.8-r1.ebuild delete mode 100644 media-libs/alsa-lib/alsa-lib-1.2.8.ebuild create mode 100644 media-libs/alsa-lib/files/alsa-lib-1.2.8-clang16-macro.patch (limited to 'media-libs') diff --git a/media-libs/alsa-lib/alsa-lib-1.2.8-r1.ebuild b/media-libs/alsa-lib/alsa-lib-1.2.8-r1.ebuild new file mode 100644 index 000000000000..60c8f343db4e --- /dev/null +++ b/media-libs/alsa-lib/alsa-lib-1.2.8-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +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="abe805ed6c7f38e48002e575535afd1f673b9bcd" + 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 ~ia64 ~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-doc/doxygen-1.2.6 )" + +PATCHES=( + "${FILESDIR}/${PN}-1.1.6-missing_files.patch" # bug #652422 + "${FILESDIR}/${PN}-1.2.8-clang16-macro.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() { + # 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. + 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 '*.a' -o -name '*.la' \) -delete || die + + dodoc ChangeLog doc/asoundrc.txt NOTES TODO +} diff --git a/media-libs/alsa-lib/alsa-lib-1.2.8.ebuild b/media-libs/alsa-lib/alsa-lib-1.2.8.ebuild deleted file mode 100644 index ea97e535b5f7..000000000000 --- a/media-libs/alsa-lib/alsa-lib-1.2.8.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{8..11} ) -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="abe805ed6c7f38e48002e575535afd1f673b9bcd" - 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 ~ia64 ~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-doc/doxygen-1.2.6 )" - -PATCHES=( - "${FILESDIR}/${PN}-1.1.6-missing_files.patch" # bug #652422 -) - -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() { - # 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. - 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 '*.a' -o -name '*.la' \) -delete || die - - dodoc ChangeLog doc/asoundrc.txt NOTES TODO -} diff --git a/media-libs/alsa-lib/files/alsa-lib-1.2.8-clang16-macro.patch b/media-libs/alsa-lib/files/alsa-lib-1.2.8-clang16-macro.patch new file mode 100644 index 000000000000..c74a7cc73e26 --- /dev/null +++ b/media-libs/alsa-lib/files/alsa-lib-1.2.8-clang16-macro.patch @@ -0,0 +1,31 @@ +https://github.com/alsa-project/alsa-lib/pull/278 + +From 68a233404279366f7c7e34afb6197bcc70f4b7d7 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Sun, 30 Oct 2022 18:06:37 +0000 +Subject: [PATCH] utils/alsa.m4: include for exit() + +Clang 16 makes -Wimplicit-function-declaration an error by default +and it's easier to just explicitly include rather +than hope the ALSA headers always have it. + +Signed-off-by: Sam James +--- a/utils/alsa.m4 ++++ b/utils/alsa.m4 +@@ -85,6 +85,7 @@ AC_LANG_PUSH([C]) + AC_MSG_CHECKING([for libasound headers version >= $alsa_min_major_version.$alsa_min_minor_version.$alsa_min_micro_version ($min_alsa_version)]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include ++#include + ]], [[ + /* ensure backward compatibility */ + #if !defined(SND_LIB_MAJOR) && defined(SOUNDLIB_VERSION_MAJOR) +@@ -130,6 +131,7 @@ AC_MSG_CHECKING([for libatopology (sound headers version > 1.1.9)]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #include ++#include + ]], [[ + /* ensure backward compatibility */ + #if !defined(SND_LIB_VERSION) + -- cgit v1.2.3-65-gdbad