From d6e2cb105e25ff62cf71acba891b55f273afe018 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Tue, 19 Nov 2019 18:52:05 -0800 Subject: [PATCH 1/2] alsa-lib: Update to 1.2.2 Added aserver application. Fixed license information. Small consistency updates. Added usleep patch. Signed-off-by: Rosen Penev --- libs/alsa-lib/Makefile | 36 ++++++++++++++++++++---- libs/alsa-lib/patches/100-link_fix.patch | 2 +- libs/alsa-lib/patches/200-usleep.patch | 34 ++++++++++++++++++++++ 3 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 libs/alsa-lib/patches/200-usleep.patch diff --git a/libs/alsa-lib/Makefile b/libs/alsa-lib/Makefile index 4af984ec46..82c4e2b0ff 100644 --- a/libs/alsa-lib/Makefile +++ b/libs/alsa-lib/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=alsa-lib -PKG_VERSION:=1.1.9 +PKG_VERSION:=1.2.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/lib/ \ http://distfiles.gentoo.org/distfiles/ -PKG_HASH:=488373aef5396682f3a411a6d064ae0ad196b9c96269d0bb912fbdeec94b994b +PKG_HASH:=d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec PKG_MAINTAINER:=Ted Hess , \ Peter Wagner @@ -32,7 +32,7 @@ define Package/alsa-lib TITLE:=ALSA (Advanced Linux Sound Architecture) library URL:=http://www.alsa-project.org/ DEPENDS:=@AUDIO_SUPPORT +kmod-sound-core +libpthread +librt - LICENSE:=LGPLv2.1-or-later + LICENSE:=LGPL-2.1-or-later LICENSE_FILES:=COPYING endef @@ -41,6 +41,20 @@ define Package/alsa-lib/description You must have enabled the ALSA support in the kernel. endef +define Package/aserver + SECTION:=sound + CATEGORY:=Sound + TITLE:=ALSA (Advanced Linux Sound Architecture) server + URL:=http://www.alsa-project.org/ + DEPENDS:=+alsa-lib + LICENSE:=GPL-2.0-or-later + LICENSE_FILES:=aserver/COPYING +endef + +define Package/aserver/description + This is the aserver application for ALSA. +endef + define Package/alsa-lib/conffiles /etc/asound.conf endef @@ -51,8 +65,8 @@ CONFIGURE_ARGS+= \ --disable-python \ --disable-debug \ --without-debug \ - $(SOFT_FLOAT_CONFIG_OPTION) \ - --with-versioned=no + --without-versioned \ + $(SOFT_FLOAT_CONFIG_OPTION) define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include/ @@ -64,6 +78,9 @@ define Build/InstallDev $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/libasound.{la,so*} \ $(1)/usr/lib/ + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/libatopology.{la,so*} \ + $(1)/usr/lib/ $(INSTALL_DATA) \ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/alsa.pc \ $(1)/usr/lib/pkgconfig/ @@ -79,6 +96,9 @@ define Package/alsa-lib/install $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/libasound.so.* \ $(1)/usr/lib/ + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/libatopology.so.* \ + $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/share/alsa/{cards,pcm} $(INSTALL_DATA) \ @@ -92,4 +112,10 @@ define Package/alsa-lib/install $(1)/usr/share/alsa/cards/ endef +define Package/aserver/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aserver $(1)/usr/bin +endef + $(eval $(call BuildPackage,alsa-lib)) +$(eval $(call BuildPackage,aserver)) diff --git a/libs/alsa-lib/patches/100-link_fix.patch b/libs/alsa-lib/patches/100-link_fix.patch index 5d1117811f..9a3258c723 100644 --- a/libs/alsa-lib/patches/100-link_fix.patch +++ b/libs/alsa-lib/patches/100-link_fix.patch @@ -1,6 +1,6 @@ --- a/src/Makefile.in +++ b/src/Makefile.in -@@ -493,7 +493,7 @@ clean-libLTLIBRARIES: +@@ -490,7 +490,7 @@ clean-libLTLIBRARIES: } libasound.la: $(libasound_la_OBJECTS) $(libasound_la_DEPENDENCIES) $(EXTRA_libasound_la_DEPENDENCIES) diff --git a/libs/alsa-lib/patches/200-usleep.patch b/libs/alsa-lib/patches/200-usleep.patch new file mode 100644 index 0000000000..86badc2021 --- /dev/null +++ b/libs/alsa-lib/patches/200-usleep.patch @@ -0,0 +1,34 @@ +--- a/src/pcm/pcm_shm.c ++++ b/src/pcm/pcm_shm.c +@@ -45,6 +45,14 @@ + #include + #include "aserver.h" + ++#if _POSIX_C_SOURCE >= 200809L ++#define usleep(a) \ ++ do { \ ++ const struct timespec req = {0, a * 1000}; \ ++ nanosleep(&req, NULL); \ ++ } while(0) ++#endif ++ + #ifndef PIC + /* entry for static linking */ + const char *_snd_module_pcm_shm = ""; +--- a/src/ucm/ucm_local.h ++++ b/src/ucm/ucm_local.h +@@ -53,6 +53,14 @@ + #define SEQUENCE_ELEMENT_TYPE_CSET_TLV 6 + #define SEQUENCE_ELEMENT_TYPE_CMPT_SEQ 7 + ++#if _POSIX_C_SOURCE >= 200809L ++#define usleep(a) \ ++ do { \ ++ const struct timespec req = {0, a * 1000}; \ ++ nanosleep(&req, NULL); \ ++ } while(0) ++#endif ++ + struct ucm_value { + struct list_head list; + char *name; From 22e823147197847b975f6f8589731a9395434ca5 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Tue, 19 Nov 2019 19:01:00 -0800 Subject: [PATCH 2/2] alsa-utils: Update to 1.2.2 Removed upstreamed patch. Remove other patch and replace with a simple configure variable. Add another configure variable to avoid linking to libatopology. Signed-off-by: Rosen Penev --- sound/alsa-utils/Makefile | 11 ++++++-- .../patches/100-uClibc-compat.patch | 23 --------------- .../patches/101-disable-libsamplerate.patch | 28 ------------------- 3 files changed, 8 insertions(+), 54 deletions(-) delete mode 100644 sound/alsa-utils/patches/100-uClibc-compat.patch delete mode 100644 sound/alsa-utils/patches/101-disable-libsamplerate.patch diff --git a/sound/alsa-utils/Makefile b/sound/alsa-utils/Makefile index 9a1d863a70..dccee76c5e 100644 --- a/sound/alsa-utils/Makefile +++ b/sound/alsa-utils/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=alsa-utils -PKG_VERSION:=1.1.9 +PKG_VERSION:=1.2.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/utils/ \ http://distfiles.gentoo.org/distfiles/ -PKG_HASH:=5ddf2cbddb4bd1a4a2a6492a09c25898b08c3ad64893c3655be14194cf0a213a +PKG_HASH:=44807bd578c5f6df6e91a11b8d37e546424a5a1ea8d8e659ee359fe01730e4f3 PKG_MAINTAINER:=Ted Hess PKG_LICENSE:=GPL-2.0-or-later @@ -50,7 +50,7 @@ define Package/alsa-utils-tests URL:=https://www.alsa-project.org/ endef -CONFIGURE_ARGS+= \ +CONFIGURE_ARGS += \ --disable-rpath \ --disable-alsatest \ --disable-bat \ @@ -58,6 +58,11 @@ CONFIGURE_ARGS+= \ --disable-rst2man \ --with-curses=ncursesw +CONFIGURE_VARS += \ + ac_cv_header_samplerate_h=no + +TARGET_LDFLAGS += -latopology + define Package/alsa-utils/install $(INSTALL_DIR) $(1)/usr/{s,}bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/amixer $(1)/usr/bin/ diff --git a/sound/alsa-utils/patches/100-uClibc-compat.patch b/sound/alsa-utils/patches/100-uClibc-compat.patch deleted file mode 100644 index 21c87f0b76..0000000000 --- a/sound/alsa-utils/patches/100-uClibc-compat.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/alsamixer/volume_mapping.c -+++ b/alsamixer/volume_mapping.c -@@ -108,9 +108,9 @@ static double get_normalized_volume(snd_ - if (use_linear_dB_scale(min, max)) - return (value - min) / (double)(max - min); - -- normalized = exp10((value - max) / 6000.0); -+ normalized = pow(10, (value - max) / 6000.0); - if (min != SND_CTL_TLV_DB_GAIN_MUTE) { -- min_norm = exp10((min - max) / 6000.0); -+ min_norm = pow(10, (min - max) / 6000.0); - normalized = (normalized - min_norm) / (1 - min_norm); - } - -@@ -143,7 +143,7 @@ static int set_normalized_volume(snd_mix - } - - if (min != SND_CTL_TLV_DB_GAIN_MUTE) { -- min_norm = exp10((min - max) / 6000.0); -+ min_norm = pow(10, (min - max) / 6000.0); - volume = volume * (1 - min_norm) + min_norm; - } - value = lrint_dir(6000.0 * log10(volume), dir) + max; diff --git a/sound/alsa-utils/patches/101-disable-libsamplerate.patch b/sound/alsa-utils/patches/101-disable-libsamplerate.patch deleted file mode 100644 index f3dfa9d0c3..0000000000 --- a/sound/alsa-utils/patches/101-disable-libsamplerate.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/alsaloop/Makefile.am -+++ b/alsaloop/Makefile.am -@@ -1,9 +1,9 @@ - AM_CPPFLAGS = -I$(top_srcdir)/include - LDADD = -lm - AM_CFLAGS = -D_GNU_SOURCE --if HAVE_SAMPLERATE --LDADD += -lsamplerate --endif -+# if HAVE_SAMPLERATE -+# LDADD += -lsamplerate -+# endif - # LDFLAGS = -static - # CFLAGS += -g -Wall - ---- a/configure.ac -+++ b/configure.ac -@@ -38,8 +38,8 @@ AC_CHECK_HEADERS([alsa/use-case.h], [have_ucm="yes"], [have_ucm="no"], - [#include ]) - AC_CHECK_HEADERS([alsa/topology.h], [have_topology="yes"], [have_topology="no"], - [#include ]) --AC_CHECK_HEADERS([samplerate.h], [have_samplerate="yes"], [have_samplerate="no"], -- [#include ]) -+dnl AC_CHECK_HEADERS([samplerate.h], [have_samplerate="no"], [have_samplerate="no"], -+dnl [#include ]) - - AC_CHECK_LIB([asound], [snd_seq_client_info_get_card], [HAVE_SEQ_CLIENT_INFO_GET_CARD="yes"]) - if test "$HAVE_SEQ_CLIENT_INFO_GET_CARD" = "yes" ; then