Merge remote-tracking branch 'origin/3.6' into 3.7

This commit is contained in:
Tim Biermann 2022-02-17 12:53:34 +01:00
commit 7e2c89bfb1
6 changed files with 23 additions and 206 deletions

View File

@ -1,12 +1,7 @@
untrusted comment: verify with /etc/ports/contrib.pub
RWSagIOpLGJF30L2cdetPA3ygU+Mb+AH1Rm/4JnNFzBz7VLI2YmqaZVFREWZIwCHi/vTLs+wCtTCPHMrK7H5gdXeue4gO7RUqwM=
SHA256 (Pkgfile) = 84c7ccf499d004ccd877b96428bab688b4fc8ebf90c9e64cbffb9e3122c65bd4
RWSagIOpLGJF3znPx248b1Yq4AuEHhcU/lC57Ssj9jJzeQY7RuKSc0T54ckbNF1cX6+7JUgaTq1VAj+dKiq1JNfaq7cZX7gxmgY=
SHA256 (Pkgfile) = 1c21efd8174edf5f1b18e3b9008ee4ac34e2318d4beafe45427e167543ab0be9
SHA256 (.footprint) = 27aeae30c21d85f2cfd1801ba39c335fe46888d17899c8a2134db68616c63796
SHA256 (lua-language-server-2.6.4.tar.gz) = f2d2583e29970a769614e0fd65df4b85643e50f76ca91e743986316420f425f1
SHA256 (bee.lua-226b4f55938dff7e3424437aac77e1b0932d98c2.tar.gz) = 91271f29fab1e8780c41daf9ec6616b5ba2fa43f44caf1ce38b056893dd5e0ca
SHA256 (bee.lua-6d50b51196f13ba9acc1cb2aa5a17ddb96519094.tar.gz) = 6d104b4602d4cbcec09742154018d1be99d3a7d653b81b08b7c3d0542b605a64
SHA256 (love-api-6532c3890915ceb265afc64a33ca1b838a28acbe.tar.gz) = 4510fcea886ffdde9f5db8bbd6e4c3af809164227ecc0410169b0a28222e10d8
SHA256 (lpeglabel-ed183860289664af0f3727307653c9bf2bccdc80.tar.gz) = 435f45ce34f23bf1aef92507e70be8a2ba0b671462ae26ab3f825e4e78cacf15
SHA256 (luamake-843262572a2765ebe187573e32c4f8f22952c2c0.tar.gz) = 6bda82469006b2d194863f5ed1180a07a8cbdf781854407c872e2f1a80c940fa
SHA256 (rcedit-b807b34a644c86c0b0d89c7f073967e79202731a.tar.gz) = 42eb64f9582752795cf577fd460429f432e2ad031e2ef9c9c644b7fe39918135
SHA256 (lua-language-server-2.6.5.tar.gz) = b1cad396f391f337f5ab23e7b5c7ffa644e763119b45b5285c94acff55cc7fb7
SHA256 (lua-language-server-2.6.5-submodules.zip) = ec54c2886bb4e9810fdece0e7eb19342593e8163c2a67c2ec67dc115dca5a50c
SHA256 (wrapper.sh) = c22dec148487ae1e170e460ab9c2de9ff06b8f0b4d19690913ccb4a0fb3bdd0e

View File

@ -4,34 +4,14 @@
# Depends on: lua ninja
name=lua-language-server
version=2.6.4
# https://github.com/sumneko/lua-language-server/tree/master/3rd
_bee_commit=226b4f55938dff7e3424437aac77e1b0932d98c2
_loveapi_commit=6532c3890915ceb265afc64a33ca1b838a28acbe
_lpeglabel_commit=ed183860289664af0f3727307653c9bf2bccdc80
_luamake_commit=843262572a2765ebe187573e32c4f8f22952c2c0
_rcedit_commit=b807b34a644c86c0b0d89c7f073967e79202731a
# https://github.com/actboy168/luamake/tree/$_luamake_commit/3rd
_bee2_commit=6d50b51196f13ba9acc1cb2aa5a17ddb96519094
version=2.6.5
release=1
source=(https://github.com/sumneko/lua-language-server/archive/$version/$name-$version.tar.gz
https://github.com/actboy168/bee.lua/archive/$_bee_commit/bee.lua-$_bee_commit.tar.gz
https://github.com/actboy168/bee.lua/archive/$_bee2_commit/bee.lua-$_bee2_commit.tar.gz
https://github.com/love2d-community/love-api/archive/$_loveapi_commit/love-api-$_loveapi_commit.tar.gz
https://github.com/sqmedeiros/lpeglabel/archive/$_lpeglabel_commit/lpeglabel-$_lpeglabel_commit.tar.gz
https://github.com/actboy168/luamake/archive/$_luamake_commit/luamake-$_luamake_commit.tar.gz
https://github.com/electron/rcedit/archive/$_rcedit_commit/rcedit-$_rcedit_commit.tar.gz
https://github.com/sumneko/lua-language-server/releases/download/$version/lua-language-server-$version-submodules.zip
wrapper.sh)
build() {
shopt -s dotglob
for i in bee.lua-$_bee_commit love-api-$_loveapi_commit lpeglabel-$_lpeglabel_commit luamake-$_luamake_commit rcedit-$_rcedit_commit;
do rsync --recursive $i/ $name-$version/3rd/${i/-*/}/ ;
done
#rsync --recursive bee.lua-$_bee_commit/ -t $name-$version/3rd/luamake/3rd/bee.lua
rsync --recursive bee.lua-$_bee2_commit/ -t $name-$version/3rd/luamake/3rd/bee.lua
rsync --recursive $SRC/3rd -t $SRC/$name-$version/
cd $name-$version

View File

@ -102,12 +102,16 @@ drwxr-xr-x root/root usr/include/spa-0.2/spa/debug/
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/buffer.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/dict.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/format.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/log.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/mem.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/node.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/pod.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/debug/types.h
drwxr-xr-x root/root usr/include/spa-0.2/spa/graph/
-rw-r--r-- root/root usr/include/spa-0.2/spa/graph/graph.h
drwxr-xr-x root/root usr/include/spa-0.2/spa/interfaces/
drwxr-xr-x root/root usr/include/spa-0.2/spa/interfaces/audio/
-rw-r--r-- root/root usr/include/spa-0.2/spa/interfaces/audio/aec.h
drwxr-xr-x root/root usr/include/spa-0.2/spa/monitor/
-rw-r--r-- root/root usr/include/spa-0.2/spa/monitor/device.h
-rw-r--r-- root/root usr/include/spa-0.2/spa/monitor/event.h
@ -190,14 +194,15 @@ drwxr-xr-x root/root usr/lib/alsa-lib/
-rwxr-xr-x root/root usr/lib/alsa-lib/libasound_module_ctl_pipewire.so
-rwxr-xr-x root/root usr/lib/alsa-lib/libasound_module_pcm_pipewire.so
lrwxrwxrwx root/root usr/lib/libpipewire-0.3.so -> libpipewire-0.3.so.0
lrwxrwxrwx root/root usr/lib/libpipewire-0.3.so.0 -> libpipewire-0.3.so.0.345.0
-rwxr-xr-x root/root usr/lib/libpipewire-0.3.so.0.345.0
lrwxrwxrwx root/root usr/lib/libpipewire-0.3.so.0 -> libpipewire-0.3.so.0.346.0
-rwxr-xr-x root/root usr/lib/libpipewire-0.3.so.0.346.0
drwxr-xr-x root/root usr/lib/pipewire-0.3/
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-access.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-adapter.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-client-device.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-client-node.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-echo-cancel.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-fallback-sink.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-filter-chain.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-link-factory.so
-rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-loopback.so
@ -221,6 +226,8 @@ drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/libpipewire-0.3.pc
-rw-r--r-- root/root usr/lib/pkgconfig/libspa-0.2.pc
drwxr-xr-x root/root usr/lib/spa-0.2/
drwxr-xr-x root/root usr/lib/spa-0.2/aec/
-rwxr-xr-x root/root usr/lib/spa-0.2/aec/libspa-aec-null.so
drwxr-xr-x root/root usr/lib/spa-0.2/alsa/
-rwxr-xr-x root/root usr/lib/spa-0.2/alsa/libspa-alsa.so
drwxr-xr-x root/root usr/lib/spa-0.2/audioconvert/

View File

@ -1,6 +1,5 @@
untrusted comment: verify with /etc/ports/contrib.pub
RWSagIOpLGJF33gxF1DAMCHNE2xdCwotTHdogHLPz79WTiEfKjYJmtsDDrOO7htob6qVhcc3WUQm93N3gLKor81ZXu2j+w7ckA8=
SHA256 (Pkgfile) = b249fdbe6fbe54b06afe1f0caea1247172e32d669fdbd1a5e459343eae9bef47
SHA256 (.footprint) = 0b42fe03a0c889407ea6854fad2b571a6870dcaedfd7e5da84c091989a939b66
SHA256 (pipewire-0.3.45.tar.gz) = b6858beb3c688d0c905b8263c9418b58aaf9b5e7bc74a8c8d9a9307351da248c
SHA256 (97a5fe80c1d0fb0d8173a61a87051053cff7a5c2.patch) = 7ebe706119f0de55c0ae1b795bb52c8533c3deec16edc1e87c1338838444d1d8
RWSagIOpLGJF3/x1H6ZnhzQ48SjMucPofjpvyl7HxFInqgiVMnF84NPRbiTQInwlXMcgxMxmXuYjQVEqoTPHhraqjHcQ7nZfMwo=
SHA256 (Pkgfile) = e12e0aa2bcdafa2d759946895f0686368ecab6a46c008267255d97e9ea63b658
SHA256 (.footprint) = e7dc0987f6e678afaa08f153c1adfb6b381ebb420d6a0cb8cc7c1e97f55a505e
SHA256 (pipewire-0.3.46.tar.gz) = 3a5496ce19f5600914deaa75522fbd844dad5d4eb7aa28b529e3c97db3884072

View File

@ -1,161 +0,0 @@
From 97a5fe80c1d0fb0d8173a61a87051053cff7a5c2 Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pav@iki.fi>
Date: Thu, 3 Feb 2022 19:23:23 +0200
Subject: [PATCH] spa/alsa-udev: fix /proc/asound handling without
CONFIG_SND_VERBOSE_PROCFS
For kernels compiled with CONFIG_SND_VERBOSE_PROCFS=n, the pcmXX
/proc/asound entries do not exist. In that case, the "device busy"
check cannot be done, but we should still check existence of PCM devices
correctly.
Count the number of PCM devices from /dev/snd, which should work also
without /proc/asound or /sysfs/class/sound.
---
spa/plugins/alsa/alsa-udev.c | 88 ++++++++++++++++++++++++++++++------
1 file changed, 73 insertions(+), 15 deletions(-)
diff --git a/spa/plugins/alsa/alsa-udev.c b/spa/plugins/alsa/alsa-udev.c
index 572bb8a32..08373239d 100644
--- a/spa/plugins/alsa/alsa-udev.c
+++ b/spa/plugins/alsa/alsa-udev.c
@@ -246,6 +246,60 @@ static void unescape(const char *src, char *dst)
*d = 0;
}
+static int check_device_pcm_class(const char *devname)
+{
+ FILE *f;
+ char path[PATH_MAX];
+ char buf[16];
+ size_t sz;
+
+ /* Check device class */
+ spa_scnprintf(path, sizeof(path), "/sys/class/sound/%s/pcm_class",
+ devname);
+ f = fopen(path, "r");
+ if (f == NULL)
+ return -errno;
+ sz = fread(buf, 1, sizeof(buf) - 1, f);
+ buf[sz] = '\0';
+ fclose(f);
+ return spa_strstartswith(buf, "modem") ? -ENXIO : 0;
+}
+
+static int get_num_pcm_devices(unsigned int card_id)
+{
+ char prefix[32];
+ DIR *snd = NULL;
+ struct dirent *entry;
+ int num_dev = 0;
+ int res;
+
+ /* Check if card has PCM devices, without opening them */
+
+ spa_scnprintf(prefix, sizeof(prefix), "pcmC%uD", card_id);
+
+ if ((snd = opendir("/dev/snd")) == NULL)
+ return -errno;
+
+ while ((errno = 0, entry = readdir(snd)) != NULL) {
+ if (!(entry->d_type == DT_CHR &&
+ spa_strstartswith(entry->d_name, prefix)))
+ continue;
+
+ res = check_device_pcm_class(entry->d_name);
+ if (res == 0 || res == -ENOENT) {
+ /* count device also if sysfs status file not there */
+ ++num_dev;
+ }
+ }
+ if (errno != 0)
+ res = -errno;
+ else
+ res = num_dev;
+
+ closedir(snd);
+ return res;
+}
+
static int check_device_available(struct impl *this, struct device *device, int *num_pcm)
{
char path[PATH_MAX];
@@ -256,14 +310,26 @@ static int check_device_available(struct impl *this, struct device *device, int
struct dirent *entry, *entry_pcm;
int res;
+ res = get_num_pcm_devices(device->id);
+ if (res < 0) {
+ spa_log_error(this->log, "Error finding PCM devices for ALSA card %u: %s",
+ (unsigned int)device->id, spa_strerror(res));
+ return res;
+ }
+ *num_pcm = res;
+
+ spa_log_debug(this->log, "card %u has %d pcm device(s)", (unsigned int)device->id, *num_pcm);
+
/*
* Check if some pcm devices of the card are busy. Check it via /proc, as we
* don't want to actually open any devices using alsa-lib (generates uncontrolled
* number of inotify events), or replicate its subdevice logic.
+ *
+ * The pcmXX directories do not exist if kernel is compiled with
+ * CONFIG_SND_VERBOSE_PROCFS=n. In that case, the busy check always
+ * succeeds.
*/
- *num_pcm = 0;
-
spa_scnprintf(path, sizeof(path), "/proc/asound/card%u", (unsigned int)device->id);
if ((card = opendir(path)) == NULL)
@@ -274,16 +340,9 @@ static int check_device_available(struct impl *this, struct device *device, int
spa_strstartswith(entry->d_name, "pcm")))
continue;
- /* Check device class */
- spa_scnprintf(path, sizeof(path), "/sys/class/sound/pcmC%uD%s/pcm_class",
+ spa_scnprintf(path, sizeof(path), "pcmC%uD%s",
(unsigned int)device->id, entry->d_name+3);
- f = fopen(path, "r");
- if (f == NULL)
- goto done;
- sz = fread(buf, 1, sizeof(buf) - 1, f);
- buf[sz] = '\0';
- fclose(f);
- if (spa_strstartswith(buf, "modem"))
+ if (check_device_pcm_class(path) < 0)
continue;
/* Check busy status */
@@ -319,8 +378,6 @@ static int check_device_available(struct impl *this, struct device *device, int
if (errno != 0)
goto done;
- ++*num_pcm;
-
closedir(pcm);
pcm = NULL;
}
@@ -352,15 +409,16 @@ static int emit_object_info(struct impl *this, struct device *device)
* device->emitted to true. alsalib functions can be used after that.
*/
+ snprintf(path, sizeof(path), "hw:%u", id);
+
if ((res = check_device_available(this, device, &pcm)) < 0)
return res;
if (pcm == 0) {
spa_log_debug(this->log, "no pcm devices for %s", path);
device->ignored = true;
- return 0;
+ return -ENODEV;
}
- snprintf(path, sizeof(path), "hw:%u", id);
spa_log_debug(this->log, "emitting card %s", path);
device->emitted = true;
--
GitLab

View File

@ -5,10 +5,9 @@
# Optional: alsa-ucm-conf avahi bluez gst-plugins-base jack libldac pulseaudio rtkit v4l2 vulkan-loader wireplumber
name=pipewire
version=0.3.45
release=2
source=(https://github.com/PipeWire/pipewire/archive/$version/$name-$version.tar.gz
97a5fe80c1d0fb0d8173a61a87051053cff7a5c2.patch)
version=0.3.46
release=1
source=(https://github.com/PipeWire/pipewire/archive/$version/$name-$version.tar.gz)
build() {
prt-get isinst avahi || PKGMK_PW+=' -Davahi=disabled'
@ -19,8 +18,6 @@ build() {
prt-get isinst v4l-utils || PKGMK_PW+=' -Dv4l2=disabled'
prt-get isinst vulkan-loader || PKGMK_PW+=' -Dvulkan=disabled -Dvulkan=disabled'
patch -Np1 -d $name-$version -i $SRC/97a5fe80c1d0fb0d8173a61a87051053cff7a5c2.patch
meson setup $name-$version build $PKGMK_PW \
-D prefix=/usr \
--buildtype=plain \