upg mesa vlc vala qt5-base swig gobject-introspection mercurial gdb

This commit is contained in:
joborun linux 2023-03-26 07:33:15 +03:00
parent 465f9fe8aa
commit f4deb9b9c9
24 changed files with 456 additions and 127 deletions

View File

@ -10,21 +10,20 @@ pkgbase=gdb
# of gdb (for arm/avr/...)
pkgname=(gdb gdb-common)
pkgver=13.1
pkgrel=01
pkgrel=02
pkgdesc='The GNU Debugger'
arch=(x86_64)
url='https://www.gnu.org/software/gdb/'
makedepends=(glibc gcc-libs texinfo python guile ncurses expat xz mpfr
boost source-highlight readline)
source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig})
# readline8.patch)
source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig}
rust.patch::"https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=562403d4f5483e0787219fdb88da72c707c8d7f6")
#prepare() {
# cd gdb-$pkgver
#
# # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
# sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
#}
prepare() {
cd gdb-$pkgver
patch -p1 < ../rust.patch
}
build() {
cd gdb-$pkgver
@ -78,8 +77,9 @@ license=(GPL3)
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
sha256sums=(115ad5c18d69a6be2ab15882d365dda2a2211c14f480b3502c6eba576e2e95a0 # gdb-13.1.tar.xz
d14d21a672624767c609582d1c8eee91661e580a2fb08f7c38b35332c6d76dad) # gdb-13.1.tar.xz.sig
d14d21a672624767c609582d1c8eee91661e580a2fb08f7c38b35332c6d76dad # gdb-13.1.tar.xz.sig
99d8956a5a277398823ae6851855f3f8004072090ed6f89868674170d9e33c13) #rust.patch
## 046740452d810d70305a4e1c9e6f97c869df9f910dc49a5dcbff69b9c9006d7c gdb-13.1-01-x86_64.pkg.tar.lz
## ae6ecdb95095c0f592c2ee8dec7ecf1ef1e8988a29a0c3ab85c06bbe2e83bf39 gdb-common-13.1-01-x86_64.pkg.tar.lz
## 7e9bce18d314a0b945922730b8b9ff01740ccb99583bcf24a68a5bfa4081b859 gdb-13.1-02-x86_64.pkg.tar.lz
## 67d01217a9b4fb3134681362002de7ce590154fdbd82236470f334074741550f gdb-common-13.1-02-x86_64.pkg.tar.lz

View File

@ -8,20 +8,29 @@ pkgbase=gdb
# of gdb (for arm/avr/...)
pkgname=(gdb gdb-common)
pkgver=13.1
pkgrel=1
pkgrel=2
pkgdesc='The GNU Debugger'
arch=(x86_64)
url='https://www.gnu.org/software/gdb/'
license=(GPL3)
makedepends=(glibc gcc-libs texinfo python guile ncurses expat xz mpfr
source-highlight boost readline)
source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig})
source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig}
rust.patch::"https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=562403d4f5483e0787219fdb88da72c707c8d7f6")
sha1sums=('6f0f5f905085f447672d9f52af66b42207d56e46'
'SKIP')
'SKIP'
'8dc1c2e44ebb3442d292cf6a594f70a97fa24123')
b2sums=('ab3a77ef35d21597dd1299787eebc422c3ca9764d0866223752c3036c0f9e198bf25ab4730bf6e7025bc2db148c66e98b191e15abc2d69c3088aed146728beef'
'SKIP')
'SKIP'
'99ffd3597fa61c51c2aae129387e266121597eadcaaec15cdcfdb9e798d7b7da57ae837454143d6c4e196d98068dc19c1588e36bde2d7f05e710465fc15fd766')
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
prepare() {
cd gdb-$pkgver
patch -p1 < ../rust.patch
}
build() {
cd gdb-$pkgver

148
gdb/rust.patch Normal file
View File

@ -0,0 +1,148 @@
From 562403d4f5483e0787219fdb88da72c707c8d7f6 Mon Sep 17 00:00:00 2001
From: Tom Tromey <tromey@adacore.com>
Date: Fri, 24 Feb 2023 10:40:16 -0700
Subject: [PATCH] Fix crash in inside_main_func
gdb 13.1 crashes while running the rust compiler's debugger tests.
The crash has a number of causes.
First, the rust compiler still uses the C++-like _Z mangling, but with
its own twist -- some hex digits added to the end of a symbol. So,
while gdb finds the correct name of "main":
(top-gdb) p name
$13 = 0x292e0c0 "rustc_gdb_1031745::main"
It isn't found in the minsyms, because C++ demangling yields:
[99] t 0x90c0 _ZN17rustc_gdb_10317454main17h5b5be7fe16a97225E section .text rustc_gdb_1031745::main::h5b5be7fe16a97225 zko06yobckx336v
This could perhaps be fixed. I also filed a new PR to suggest
preferring the linkage name of the main program.
Next, the rust compiler emits both a DW_TAG_subprogram and a
DW_TAG_namespace for "main". This happens because the file is named
"main.rs" -- i.e., the bug is specific to the source file name. The
crash also seems to require the nested function inside of 'main', at
least for me. The namespace always is generated, but perhaps this
changes the ordering in the DWARF.
When inside_main_func looks up the main symbol, it finds the namespace
symbol rather than the function. (I filed a bug about fixing gdb's
symbol tables -- long overdue.)
Meanwhile, as I think it's important to fix this crash sooner rather
than later, this patch changes inside_main_func to check that the
symbol that is found is LOC_BLOCK. This perhaps should have been done
in the first place, anyway.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30158
(cherry picked from commit 5f056fcb3dce947447063f5ab225042177a59722)
---
gdb/frame.c | 8 ++++++
gdb/testsuite/gdb.rust/main-crash.exp | 35 +++++++++++++++++++++++++++
gdb/testsuite/gdb.rust/main.rs | 30 +++++++++++++++++++++++
3 files changed, 73 insertions(+)
create mode 100644 gdb/testsuite/gdb.rust/main-crash.exp
create mode 100644 gdb/testsuite/gdb.rust/main.rs
diff --git a/gdb/frame.c b/gdb/frame.c
index 2f9622ad2b2..3eb823e5c93 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -2453,6 +2453,14 @@ inside_main_func (frame_info_ptr this_frame)
if (bs.symbol == nullptr)
return false;
+ /* We might have found some unrelated symbol. For example, the
+ Rust compiler can emit both a subprogram and a namespace with
+ the same name in the same scope; and due to how gdb's symbol
+ tables currently work, we can't request the one we'd
+ prefer. */
+ if (bs.symbol->aclass () != LOC_BLOCK)
+ return false;
+
const struct block *block = bs.symbol->value_block ();
gdb_assert (block != nullptr);
sym_addr = block->start ();
diff --git a/gdb/testsuite/gdb.rust/main-crash.exp b/gdb/testsuite/gdb.rust/main-crash.exp
new file mode 100644
index 00000000000..8eb1aaaad18
--- /dev/null
+++ b/gdb/testsuite/gdb.rust/main-crash.exp
@@ -0,0 +1,35 @@
+# Copyright (C) 2023 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Regression test for a crash in inside_main_func.
+
+load_lib rust-support.exp
+if {[skip_rust_tests]} { return }
+
+standard_testfile main.rs
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
+ {debug rust}]} {
+ return -1
+}
+
+set line [gdb_get_line_number "BREAK"]
+# The bug was that this would crash.
+if {![runto ${srcfile}:$line]} {
+ untested "could not run to breakpoint"
+ return -1
+}
+
+# Test that gdb is alive.
+gdb_test "print 23" " = 23"
diff --git a/gdb/testsuite/gdb.rust/main.rs b/gdb/testsuite/gdb.rust/main.rs
new file mode 100644
index 00000000000..8902446551e
--- /dev/null
+++ b/gdb/testsuite/gdb.rust/main.rs
@@ -0,0 +1,30 @@
+// Copyright (C) 2016-2023 Free Software Foundation, Inc.
+
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+#![allow(dead_code)]
+#![allow(unused_variables)]
+#![allow(unused_assignments)]
+
+fn global_fn(x: u8) {
+ // BREAK
+}
+
+fn main() {
+ fn nested(y: u8) {
+ global_fn(y)
+ }
+
+ nested(23);
+}
--
2.31.1

View File

@ -1,6 +1,6 @@
real 23m2.037s
user 21m43.862s
sys 1m23.545s
real 18m32.296s
user 17m22.387s
sys 1m14.018s

View File

@ -11,16 +11,15 @@ pkgname=(
gobject-introspection-runtime
libgirepository
)
pkgver=1.76.0
pkgver=1.76.1
pkgrel=01
pkgdesc="Introspection system for GObject-based libraries"
url="https://wiki.gnome.org/Projects/GObjectIntrospection"
_glibver=2.76.0
_glibver=2.76.1
makedepends=(cairo git "glib2=$_glibver" gtk-doc meson python-mako python-markdown python-sphinx)
#options=(!emptydirs)
#options=(debug)
_commit=7aec38488a4d5fbc8539f798a7ce9ae1cb4df711 # tags/1.76.0^0
_commit=1565805460c3fd65f8630debd0337ec0e33ee2e7 # tags/1.76.1^0
source=("git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#commit=$_commit"
"git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$_glibver")
@ -107,7 +106,7 @@ validpgpkeys=(923B7025EE03C1C59F42684CF0942E894B2EAFA0 # Philip Withnall <philip
sha256sums=(SKIP
SKIP)
## 698e85fd7cd40c1767d1049a9894cd88f5a8b3bd81678acff61643d355c904e8 gobject-introspection-1.76.0-01-x86_64.pkg.tar.lz
## 26ed9356b12964c4d00aa319390134d3200de5c8fb650c4d901d208c6583c834 gobject-introspection-runtime-1.76.0-01-x86_64.pkg.tar.lz
## 50222fc19a05b948e4a74f6283ec7e3d06967cc167d1bd1d7969a4c5500acb2c libgirepository-1.76.0-01-x86_64.pkg.tar.lz
## fc85f80b0312f7a74d04df4a8bdba6957cc12e080022e0d6d14de8cfbae3afd4 gobject-introspection-1.76.1-01-x86_64.pkg.tar.lz
## 8997de78e4310a49d9cdc91253486b6e35e7f948f2d5f57ade60291b6326ecf0 gobject-introspection-runtime-1.76.1-01-x86_64.pkg.tar.lz
## 13764a43693415e285335565c0396355e69159d2b7ada25074b268bc441e526b libgirepository-1.76.1-01-x86_64.pkg.tar.lz

View File

@ -7,13 +7,13 @@ pkgname=(
gobject-introspection-runtime
libgirepository
)
pkgver=1.76.0
pkgver=1.76.1
pkgrel=1
pkgdesc="Introspection system for GObject-based libraries"
url="https://wiki.gnome.org/Projects/GObjectIntrospection"
arch=(x86_64)
license=(LGPL GPL)
_glibver=2.76.0
_glibver=2.76.1
makedepends=(
cairo
git
@ -24,7 +24,7 @@ makedepends=(
python-markdown
python-sphinx
)
_commit=7aec38488a4d5fbc8539f798a7ce9ae1cb4df711 # tags/1.76.0^0
_commit=1565805460c3fd65f8630debd0337ec0e33ee2e7 # tags/1.76.1^0
source=(
"git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#commit=$_commit"
"git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$_glibver"

View File

@ -6,7 +6,7 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=mercurial
pkgver=6.3.3
pkgver=6.4
pkgrel=01
pkgdesc='A scalable distributed SCM tool'
url="https://www.mercurial-scm.org/"
@ -83,14 +83,8 @@ validpgpkeys=(2BCCE14F5C6725AA2EA8AEB7B9C9DC824AA5BDD5 #
818D87CD1AC180C394C86E633A33DE460D9EC39F # Pulkit Goyal <7895pulkit@gmail.com>
1F66F8CDF654E905C11DA061A11E01CD0E05D956) # Raphaël Gomès <alphare@raphaelgomes.dev>
sha512sums=('2c09ec01857552e92dee2ff946444f6ccd86a7249561d2181f339aa66316e9ce0f19399895782d0b63c1b5fdb6d341f866d166616ae51a78bac7e1bb4128a0fd'
'SKIP'
'710dcddb24d928efc97370e869d9caa083107929ed9a1086dd2a3ae0caaf2c71e2f29060597e29315b6b15b1616251c42412e268ce737109c48ae4d7aa1b9555')
sha256sums=(13c97ff589c7605e80a488f336852ce1d538c5d4143cfb33be69bdaddd9157bd # mercurial-6.3.3.tar.gz
c57f7b660e4868f53be0f94cd8a896c4f1a5e147dc36a3b547825747893c08b8 # mercurial-6.3.3.tar.gz.asc
sha256sums=(e88bfbcb9911e76904a31b972e57f86da8e6ce5892b98c39dd51d3b9599c1347 # mercurial-6.4.tar.gz
95c176c6fd53d94a0a360a23b3fb263484192eaffeb7938bcb92a81e35415be8 # mercurial-6.4.tar.gz.asc
87427151713e689cd87dc50d50c048e0e58285815e4eb61962b50583532cbde5) # mercurial.profile
## 5b976aafac39a02a389f769be4ba167965b29f63d01a9b8cf5c4601581f90247 mercurial-6.3.3-01-x86_64.pkg.tar.lz
## 8e384c82b09f4ed808a0b304208766464782357c3dca4efdb6600e7a9520a775 mercurial-6.4-01-x86_64.pkg.tar.lz

View File

@ -3,7 +3,7 @@
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=mercurial
pkgver=6.3.3
pkgver=6.4
pkgrel=1
pkgdesc='A scalable distributed SCM tool'
arch=(x86_64)
@ -27,7 +27,7 @@ validpgpkeys=(2BCCE14F5C6725AA2EA8AEB7B9C9DC824AA5BDD5
1F66F8CDF654E905C11DA061A11E01CD0E05D956) # Raphaël Gomès <alphare@raphaelgomes.dev>
source=(https://www.mercurial-scm.org/release/${pkgname}-${pkgver}.tar.gz{,.asc}
mercurial.profile)
sha512sums=('2c09ec01857552e92dee2ff946444f6ccd86a7249561d2181f339aa66316e9ce0f19399895782d0b63c1b5fdb6d341f866d166616ae51a78bac7e1bb4128a0fd'
sha512sums=('a7810eddd0fd2a331215a5f7e9c81df4d860cf695aec3c5e3984821827b5427b5a01b68c07b9711e86db2f9b0ef5b5d3d6251a7dc76f99375c457920ce36c96f'
'SKIP'
'710dcddb24d928efc97370e869d9caa083107929ed9a1086dd2a3ae0caaf2c71e2f29060597e29315b6b15b1616251c42412e268ce737109c48ae4d7aa1b9555')

View File

@ -0,0 +1,51 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
Date: Thu, 29 Dec 2022 13:43:27 +0800
Subject: [PATCH] iris: Retry DRM_IOCTL_I915_GEM_EXECBUFFER2 on ENOMEM
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We are seeing endless DRM_IOCTL_SYNCOBJ_WAIT ioctl when system memory is
under pressured.
Commit f9d8d9acbb6a ("iris: Avoid abort() if kernel can't allocate
memory") avoids the abort() on ENOMEM by resetting the batch. However,
when there's an ongoing OpenGL query, resetting the batch will make the
snapshots_landed never be flipped, so iris_get_query_result() gets stuck
in the while loop forever.
Since there's no guarantee that the next batch after resetting won't hit
ENOMEM, so instead of resetting the batch, be patient and wait until kernel has
enough memory. Once the batch is submiited and snapshots_landed gets
flipped, iris_get_query_result() can proceed normally.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6851
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20449>
---
src/gallium/drivers/iris/iris_batch.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c
index c7a08a0e1f5f..deab85ce4aaf 100644
--- a/src/gallium/drivers/iris/iris_batch.c
+++ b/src/gallium/drivers/iris/iris_batch.c
@@ -981,9 +981,14 @@ submit_batch(struct iris_batch *batch)
}
int ret = 0;
- if (!batch->screen->devinfo->no_hw &&
- intel_ioctl(batch->screen->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf))
- ret = -errno;
+ if (!batch->screen->devinfo->no_hw) {
+ do {
+ ret = intel_ioctl(batch->screen->fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &execbuf);
+ } while (ret && errno == ENOMEM);
+
+ if (ret)
+ ret = -errno;
+ }
simple_mtx_unlock(bo_deps_lock);

View File

@ -0,0 +1,34 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
Date: Thu, 29 Dec 2022 14:01:31 +0800
Subject: [PATCH] Revert "iris: Avoid abort() if kernel can't allocate memory"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit f9d8d9acbb6a620684fb4dac4affe25816587d92.
Now ENOMEM is handled in submit_batch(), we don't need to check it for
resetting anymore.
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20449>
---
src/gallium/drivers/iris/iris_batch.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c
index deab85ce4aaf..2993f0ab7ee8 100644
--- a/src/gallium/drivers/iris/iris_batch.c
+++ b/src/gallium/drivers/iris/iris_batch.c
@@ -1097,9 +1097,8 @@ _iris_batch_flush(struct iris_batch *batch, const char *file, int line)
* with a new logical context, and inform iris_context that all state
* has been lost and needs to be re-initialized. If this succeeds,
* dubiously claim success...
- * Also handle ENOMEM here.
*/
- if ((ret == -EIO || ret == -ENOMEM) && replace_kernel_ctx(batch)) {
+ if (ret == -EIO && replace_kernel_ctx(batch)) {
if (batch->reset->reset) {
/* Tell gallium frontends the device is lost and it was our fault. */
batch->reset->reset(batch->reset->data, PIPE_GUILTY_CONTEXT_RESET);

View File

@ -1,4 +1,4 @@
#!/usr/bin/bash
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
@ -9,8 +9,8 @@ pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast'
'vulkan-virtio' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification w/o systemd or zstd"
pkgver=23.0.0
pkgrel=03
pkgver=23.0.1
pkgrel=01
#options=('debug' '!lto') # uncomment this if you want the debug package built # Arch removed debug for 22.3.3-3 version
options=('!lto')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
@ -20,24 +20,23 @@ makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence
makedepends+=('rust' 'rust-bindgen' 'spirv-tools' 'spirv-llvm-translator') # rusticl dependencies
url="https://www.mesa3d.org/"
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
# 0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
LICENSE)
prepare() {
cd mesa-$pkgver
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/7111
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17247
# https://github.com/HansKristian-Work/vkd3d-proton/issues/1200
patch -Np1 -i ../0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
# # https://gitlab.freedesktop.org/mesa/mesa/-/issues/7111
# # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17247
# # https://github.com/HansKristian-Work/vkd3d-proton/issues/1200
# patch -Np1 -i ../0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
# https://gitlab.freedesktop.org/drm/intel/-/issues/6851
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20449
patch -Np1 -i ../0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
patch -Np1 -i ../0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
patch -Np1 -i ../0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
patch -Np1 -i ../0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
}
build() {
@ -251,20 +250,18 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
'71C4B75620BC75708B4BDB254C95FAAB3EB073EC' # Dylan Baker <dylan@pnwbakers.com>
'57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
sha256sums=(01f3cff3763f09e0adabcb8011e4aebc6ad48f6a4dd4bae904fe918707d253e4 # mesa-23.0.0.tar.xz
54dcc0a47dab08be7c9c0911c19de911fd36aa0a7b2cf5c61b3fdf0bf49d07ae # mesa-23.0.0.tar.xz.sig
d3ec9caac9121b18825e0a5c420794ee07a5a42b048cd4f43816a587d659a4ea # 0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
99264c77d63d6fa810e295914808cde9f580a64e913e99fa794c1aa25a4f8fb2 # 0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
d6ef8fb1809e8aeae0ec32bfe916adb770c64880bfd3d0f4472a616c9f356a9a # 0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
sha256sums=(e8e586856b55893abae9bdcdb98b41c081d909bb1faf372e6e7262307bf34adf # mesa-23.0.1.tar.xz
b6d7db7f4835a65082a3dc10abaa20ecc1b05a4c87467fb8aaa8cbd1b24d33d8 # mesa-23.0.1.tar.xz.sig
99264c77d63d6fa810e295914808cde9f580a64e913e99fa794c1aa25a4f8fb2 # 0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
d6ef8fb1809e8aeae0ec32bfe916adb770c64880bfd3d0f4472a616c9f356a9a # 0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537) # LICENSE
## 03d68c0cec7c158ea3c45d4106637099e59032679f2caf6e75a343700dc4e2c4 libva-mesa-driver-23.0.0-03-x86_64.pkg.tar.lz
## d69f417b5a973a53c968aace27bbcd000431c6e5f5bed2a9450a5dec083510f8 mesa-23.0.0-03-x86_64.pkg.tar.lz
## 63ee51cc031695a67320ac36cc60c0ba3f8c9d8800c5421968b86c47bc2833e7 mesa-vdpau-23.0.0-03-x86_64.pkg.tar.lz
## 9d3922f28b8658eac176f22d38f6a1bc244ba84486ab942fb7c26b528be30d8f opencl-mesa-23.0.0-03-x86_64.pkg.tar.lz
## 18fab770d433feafeaabf30b400d78913fe0c4a24c287b2da8805f6f7c82f052 vulkan-intel-23.0.0-03-x86_64.pkg.tar.lz
## 59931694da50b05c3e043b856f3536c0ce1204d5a639a9cdfb50aa862030da9d vulkan-mesa-layers-23.0.0-03-x86_64.pkg.tar.lz
## 26a20ce25cda30605c9568146a253337cc4716fdc6cdfb3af70af520417f048b vulkan-radeon-23.0.0-03-x86_64.pkg.tar.lz
## 9ca034a6f240f66d5c0886a3525bf78f2d867ba67158901eca2f34edeb90b55c vulkan-swrast-23.0.0-03-x86_64.pkg.tar.lz
## 9da6d2f0cefdaa1ca9928863b95179c11be7a7ef7062d1984351ad87e3fb757c vulkan-virtio-23.0.0-03-x86_64.pkg.tar.lz
## 006cf25e83b6031ea4277bdec5d8ace2d34a21a9b7d0a3feaf9123b04bf0b68e libva-mesa-driver-23.0.1-01-x86_64.pkg.tar.lz
## c7ae665bd50aa228f02f0adbce6035836fc151bba29ff9333dca3170111fd851 mesa-23.0.1-01-x86_64.pkg.tar.lz
## c46637bbc17e449d35a06334cf1178add96dcd632fd17374f297d7cdbf95da34 mesa-vdpau-23.0.1-01-x86_64.pkg.tar.lz
## 937d2bfd3acc5b6c0b9acb42c181ae4c52577abb35053cb20c21697a604a6476 opencl-mesa-23.0.1-01-x86_64.pkg.tar.lz
## af9a1b2419d675cf372b4c1d42ae0686fd589e2341e4ced9863a10158ea05aca vulkan-intel-23.0.1-01-x86_64.pkg.tar.lz
## 732de4159346f6bb05acbc23e59e69c1d4f28ced2440921b5758e110824c233a vulkan-mesa-layers-23.0.1-01-x86_64.pkg.tar.lz
## cdfc47d8697401e5362cd74001de88ea9d6cb5a5d9c571a7f9f482b682e5fc27 vulkan-radeon-23.0.1-01-x86_64.pkg.tar.lz
## 40d8d6b7e79d98352715e0419b1eabd9f1931101105ae1112085c73e2e0cb5a6 vulkan-swrast-23.0.1-01-x86_64.pkg.tar.lz
## 10bfdb02b6c375ae71f4313937adae51920d5a1abca56fe122672e9f3ff5dd2d vulkan-virtio-23.0.1-01-x86_64.pkg.tar.lz

View File

@ -6,8 +6,8 @@
pkgbase=mesa
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-virtio' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
pkgdesc="An open-source implementation of the OpenGL specification"
pkgver=23.0.0
pkgrel=3
pkgver=23.0.1
pkgrel=1
arch=('x86_64')
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm'
@ -17,16 +17,19 @@ makedepends+=('rust' 'rust-bindgen' 'spirv-tools' 'spirv-llvm-translator') # ru
url="https://www.mesa3d.org/"
license=('custom')
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
LICENSE)
sha512sums=('127e2759a2a31cacd65a0891719ab7bb4a9188844022b4bccaebbedce9c550b9ccb160ad519178ea0d851c4bcb8f0f56febda248ed2ba82b5ddf804855e4694b'
sha256sums=('e8e586856b55893abae9bdcdb98b41c081d909bb1faf372e6e7262307bf34adf'
'SKIP'
'c7832724bad137461fcdffc3db8ba653ea25c56b5980d7c45955844a543ce57ec4360e88e73ab48f7cb69717a2f467a03aca13ede3591f27e36e20409f8982e8'
'b089a84333743f2f69889f99903616a9dab28e45edf2de7b1f64d29bbb321daaf898aa05bf60fea6d2feec6b5ff072b807d76bb21efe122ff1a15e275d8acc97'
'ac4f1f98c5f1d0c2f875c2cf964fe60f41385b18a3507fea77f899f0cbbbea0baee92d313936f2d325c2301a7d0dfe3294bf881722fb22fa41defd4e4fbd0f98'
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
'99264c77d63d6fa810e295914808cde9f580a64e913e99fa794c1aa25a4f8fb2'
'd6ef8fb1809e8aeae0ec32bfe916adb770c64880bfd3d0f4472a616c9f356a9a'
'7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537')
b2sums=('50d358e393037381d0d848f868ac3439b0851809c3533432dc428bd77e81bc71bbfd2b598e221b6e8c4c2528ef32e5624aec4fe2e552e01ee98abbcf96a1f5b7'
'SKIP'
'a90bfc47fb3a46eff1ef2455c7aa18c2bb515ec217b423d0a87cc5f3b824a77c0381e1378498464418644108142022dcd3c289e157877c6ae7584beaec1d9987'
'bd52994305fc0fa2f12c46ea3208bbb24f97495d9bad73120d83a6cdcf7e48f5ff0d14ac0055765516b70caacdf024fca4159b70b054e85f2783c78c9218aefe'
'1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb')
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
'946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895' # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>
@ -37,15 +40,10 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
prepare() {
cd mesa-$pkgver
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/7111
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17247
# https://github.com/HansKristian-Work/vkd3d-proton/issues/1200
patch -Np1 -i ../0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
# https://gitlab.freedesktop.org/drm/intel/-/issues/6851
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20449
patch -Np1 -i ../0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
patch -Np1 -i ../0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
patch -Np1 -i ../0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
patch -Np1 -i ../0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
}
build() {

View File

@ -3,10 +3,10 @@
real 42m17.718s
user 153m50.507s
sys 4m47.685s
23.0.0-02
real 15m56.260s
user 54m14.860s
sys 2m28.820s
23.0.1-01
real 40m28.680s
user 150m35.678s
sys 4m41.292s

View File

@ -8,8 +8,8 @@
pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers)
_basever=5.15.8
pkgver=5.15.8+kde+r183
_commit=38c54b3ff58972fa16810740fc43933620b6dc0d
pkgver=5.15.8+kde+r185
_commit=6c09620dc84900c31a2d307a8640dbc15b1fcfdd
pkgrel=01
url='https://www.qt.io'
pkgdesc='A cross-platform application and UI framework'
@ -125,7 +125,6 @@ sha256sums=(SKIP
5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78 # qmake-cflags.patch
4abc22150fa3e06b2fdcec32146abc9be4e316692aa4d5bd5aa53b4b726783fa) # qmake-config.patch
## d0f87c671bc637ebaa92e68f57c227f0b3d92dfcc73d592a466d99117590d894 qt5-base-5.15.8+kde+r183-01-x86_64.pkg.tar.lz
## 2d5b3588686a610d141b167f54a2fc061dbae3ff0fc85b6b01ee41709d8cc97a qt5-xcb-private-headers-5.15.8+kde+r183-01-x86_64.pkg.tar.lz
## a15e0f7c869f5f7a0c49afa37d8f2000d75ec7bef62b07136f1ca0196a5ac110 qt5-base-5.15.8+kde+r185-01-x86_64.pkg.tar.lz
## 4703b3d6606f27d57648c35d7650497d8883db0addddc357c61e9c140889b706 qt5-xcb-private-headers-5.15.8+kde+r185-01-x86_64.pkg.tar.lz

View File

@ -4,9 +4,9 @@
pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers)
_basever=5.15.8
pkgver=5.15.8+kde+r183
pkgver=5.15.8+kde+r185
pkgrel=1
_commit=38c54b3ff58972fa16810740fc43933620b6dc0d
_commit=6c09620dc84900c31a2d307a8640dbc15b1fcfdd
arch=('x86_64')
url='https://www.qt.io'
license=('GPL3' 'LGPL3' 'FDL' 'custom')

View File

@ -6,7 +6,7 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=swig
pkgver=4.1.0
pkgver=4.1.1
pkgrel=01
pkgdesc="Generate scripting interfaces to C/C++ code"
url="http://www.swig.org/"
@ -48,8 +48,9 @@ arch=(x86_64)
license=('custom')
sha512sums=('a7d43d6aa764923826786081a3f2e25aa0f8345e1169c1e57bf02d01f6f41c92d8db0f360ec86e0e428ef5a21d1b5cd3edb7e4b71d0beff3e6611e344b5c22b1')
sha512sums=('1cea1918455a75ebc9b2653dd1715bd5dcd974554955f324295c6a6f14c0a715651b221b85fad4a8af5197e0c75bfe7b590bc6ba7178c26245fbbd9a7e110100')
sha256sums=(d6a9a8094e78f7cfb6f80a73cc271e1fe388c8638ed22668622c2c646df5bb3d) # swig-4.1.0.tar.gz
sha256sums=(2af08aced8fcd65cdb5cc62426768914bedc735b1c250325203716f78e39ac9b) # swig-4.1.1.tar.gz
## 3b4561ca9e5cda50b41330a3606096ddbbe3ae5df5ae363038fb7993235b4307 swig-4.1.1-01-x86_64.pkg.tar.lz
## f50f1ce55f8a988026b7128ae7a5f8084414ca0094696bb96c0d4c79ab73d0b8 swig-4.1.0-01-x86_64.pkg.tar.lz

View File

@ -3,7 +3,7 @@
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=swig
pkgver=4.1.0
pkgver=4.1.1
pkgrel=1
pkgdesc="Generate scripting interfaces to C/C++ code"
arch=('x86_64')
@ -12,7 +12,7 @@ license=('custom')
depends=('pcre2' 'gcc-libs')
checkdepends=('ruby' 'python' 'java-environment' 'tcl' 'php' 'lua' 'r' 'go' 'boost')
source=(https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
sha512sums=('a7d43d6aa764923826786081a3f2e25aa0f8345e1169c1e57bf02d01f6f41c92d8db0f360ec86e0e428ef5a21d1b5cd3edb7e4b71d0beff3e6611e344b5c22b1')
sha512sums=('1cea1918455a75ebc9b2653dd1715bd5dcd974554955f324295c6a6f14c0a715651b221b85fad4a8af5197e0c75bfe7b590bc6ba7178c26245fbbd9a7e110100')
build() {
cd ${pkgname}-${pkgver}

View File

@ -1,5 +1,6 @@
real 43m22.616s
user 137m10.436s
sys 9m54.143s
real 575m15.927s
user 114m46.920s
sys 8m13.934s

View File

@ -6,11 +6,10 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=vala
pkgver=0.56.4
pkgver=0.56.5
pkgrel=01
pkgdesc='Compiler for the GObject type system'
url='https://wiki.gnome.org/Projects/Vala'
arch=(x86_64)
depends=(glib2 gtk-doc graphviz ttf-liberation pkg-config gcc)
makedepends=(libxslt vala git help2man autoconf-archive)
checkdepends=(dbus libx11 gobject-introspection)
@ -18,7 +17,7 @@ provides=(valadoc libvala-${pkgver%.*}.so libvaladoc-${pkgver%.*}.so)
conflicts=(valadoc)
replaces=(valadoc)
#options=(debug) ## uncomment this to have the debug package produced
_commit=fbf513c52806e253b3dde68f477e1eca8ac38cd1 # tags/0.56.4^0
_commit=9c8ee8f065e572ed9feecdf118145d5b1748fada # tags/0.56.5^0
source=("git+https://gitlab.gnome.org/GNOME/vala.git#commit=$_commit")
pkgver() {
@ -48,10 +47,13 @@ package() {
make DESTDIR="$pkgdir" install
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=(LGPL)
sha256sums=('SKIP')
## 8374cf68031add788557ca8f4263f9f6d0eacdad7b7475ba03a3e16903aca0b5 vala-0.56.5-01-x86_64.pkg.tar.lz

View File

@ -4,7 +4,7 @@
# Contributor: Timm Preetz <timm@preetz.us>
pkgname=vala
pkgver=0.56.4
pkgver=0.56.5
pkgrel=1
pkgdesc='Compiler for the GObject type system'
url='https://wiki.gnome.org/Projects/Vala'
@ -37,9 +37,9 @@ provides=(
)
conflicts=(valadoc)
replaces=(valadoc)
_commit=fbf513c52806e253b3dde68f477e1eca8ac38cd1 # tags/0.56.4^0
_commit=9c8ee8f065e572ed9feecdf118145d5b1748fada # tags/0.56.5^0
source=("git+https://gitlab.gnome.org/GNOME/vala.git#commit=$_commit")
sha256sums=('SKIP')
b2sums=('SKIP')
pkgver() {
cd vala

View File

@ -14,3 +14,5 @@ libjpeg-turbo
libgit2
gettext
byacc

View File

@ -10,10 +10,9 @@ _vlcver=3.0.18
# optional fixup version including hyphen
_vlcfixupver=
pkgver=${_vlcver}${_vlcfixupver//-/.r}
pkgrel=07
pkgrel=08
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player - no systemd,avahi,dbus '
url='https://www.videolan.org/vlc/'
arch=('x86_64')
# NOTE: switch to ffmpeg4.4, as ffmpeg >= 5 requires extensive changes disabling VAAPI (only supported with vlc >= 4)
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua52' 'libidn'
'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg4.4' 'faad2' 'libmad'
@ -32,7 +31,6 @@ makedepends=('gst-plugins-base-libs' 'live-media' 'libnotify' 'libbluray'
'sdl_image' 'libpulse' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr'
'lirc' 'libgoom2' 'projectm' 'aom' 'srt'
'aribb24' 'aribb25' 'pcsclite')
# 'chromaprint: Chromaprint audio fingerprinter'
optdepends=('avahi: service discovery using bonjour protocol'
'aom: AOM AV1 codec'
@ -104,7 +102,8 @@ options=('!emptydirs')
#options=('debug' '!emptydirs') ## uncomment this and comment the above options to produce the debug pkg
source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
libplacebo-5.patch
update-vlc-plugin-cache.hook)
update-vlc-plugin-cache.hook
c2dd4bfe.patch)
prepare() {
cd ${pkgname}-${_vlcver}
@ -252,7 +251,9 @@ package() {
install -Dm 644 "${srcdir}/update-vlc-plugin-cache.hook" -t "${pkgdir}/usr/share/libalpm/hooks"
}
#---- license gpg-key sha256sums ----
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('LGPL2.1' 'GPL2')
@ -261,8 +262,7 @@ validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Sig
sha256sums=(57094439c365d8aa8b9b41fa3080cc0eef2befe6025bb5cef722accc625aedec # vlc-3.0.18.tar.xz
4f87ca191bdbd185afa21466e9f4790512682dc6b5087dd784509d6ba4e5e636 # vlc-3.0.18.tar.xz.asc
c47ecb0e8e8c03f8c5451aa12fc2e38e380364c38c411a13aa38b7b41def6989 # libplacebo-5.patch
b98043683dd90d3f5a3f501212dfc629839b661100de5ac79fd30cb7b4a06f13) # update-vlc-plugin-cache.hook
## e0b590d65b5a135059a782f3722a2237a11128cf96cec81afd8ae6152db4b83b vlc-3.0.18-07-x86_64.pkg.tar.lz
b98043683dd90d3f5a3f501212dfc629839b661100de5ac79fd30cb7b4a06f13 # update-vlc-plugin-cache.hook
7c2643e43322891287b6a67043656d16ca3cb075a55c911b0e159d625061c45a) # c2dd4bfe.patch
## 901e5f55f38e469dca3d142a1566e384db146f73bddb2a65248dce7d82e817df vlc-3.0.18-08-x86_64.pkg.tar.lz

View File

@ -8,7 +8,7 @@ _vlcver=3.0.18
# optional fixup version including hyphen
_vlcfixupver=
pkgver=${_vlcver}${_vlcfixupver//-/.r}
pkgrel=7
pkgrel=8
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player'
url='https://www.videolan.org/vlc/'
arch=('x86_64')
@ -103,11 +103,13 @@ replaces=('vlc-plugin')
options=('!emptydirs')
source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
libplacebo-5.patch
update-vlc-plugin-cache.hook)
update-vlc-plugin-cache.hook
c2dd4bfe.patch)
sha512sums=('6fc8fdaa7e8862ad7133d69b3dab99ab9cd3945846a6ce5e2379b7f68ee9accd385c53b8573fc7c82f732c24678b4932b1154d2ad8accf06305f2f578d6fcd8e'
'SKIP'
'a06b04a8b059dbbef77d27435bd5bec3c26f937390bd112b0843385587e866e617c3dd0e66f99eed5fa4a91bc5f0fd9b5623f65b2f2435a54456dde2aa96209b'
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3')
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
'10801260f94c38b57d1c5666dc1772296537dbfd11d132e46fce98c3b185d9c3861a0b4e9076091990bf035525ed4f67376d4766eae63059f025c76251b6379b')
validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key
prepare() {

92
vlc/c2dd4bfe.patch Normal file
View File

@ -0,0 +1,92 @@
From c2dd4bfefe079e49db1789eb76be3885e4fc31b4 Mon Sep 17 00:00:00 2001
From: Francois Cartegnie <fcvlcdev@free.fr>
Date: Mon, 7 Nov 2022 15:02:57 +0100
Subject: [PATCH] packetizer: flac: fix CRC from emulated sync
also skips some memcpy
refs #27454 #27477
(cherry picked from commit c14b5aa6a7bd3aa25fa951e2b4136aff70f5702a)
---
modules/packetizer/flac.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/modules/packetizer/flac.c b/modules/packetizer/flac.c
index 8998f5dac0f..bfb504f004e 100644
--- a/modules/packetizer/flac.c
+++ b/modules/packetizer/flac.c
@@ -78,6 +78,7 @@ struct decoder_sys_t
size_t i_last_frame_size;
uint16_t crc;
+ size_t i_buf_offset; /* in final buffer before crc check / validation / retry */
size_t i_buf;
uint8_t *p_buf;
@@ -386,6 +387,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
p_sys->headerinfo = headerinfo;
p_sys->i_state = STATE_NEXT_SYNC;
p_sys->i_offset = FLAC_FRAME_SIZE_MIN;
+ p_sys->i_buf_offset = 0;
p_sys->crc = 0;
/* We have to read until next frame sync code to compute current frame size
@@ -461,6 +463,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
block_SkipBytes( &p_sys->bytestream, FLAC_HEADER_SIZE_MAX + 2 );
block_BytestreamFlush( &p_sys->bytestream );
p_sys->crc = 0;
+ p_sys->i_buf_offset = 0;
p_sys->i_offset = 0;
p_sys->i_state = STATE_NOSYNC;
p_sys->i_next_block_flags |= BLOCK_FLAG_DISCONTINUITY;
@@ -484,10 +487,12 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
}
/* Copy from previous sync point up to to current (offset) */
- block_PeekOffsetBytes( &p_sys->bytestream, 0, p_sys->p_buf, p_sys->i_offset );
+ block_PeekOffsetBytes( &p_sys->bytestream, p_sys->i_buf_offset,
+ &p_sys->p_buf[p_sys->i_buf_offset],
+ p_sys->i_offset - p_sys->i_buf_offset );
/* update crc to include this data chunk */
- for( size_t i = 0; i < p_sys->i_offset - 2; i++ )
+ for( size_t i = p_sys->i_buf_offset; i < p_sys->i_offset - 2; i++ )
p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[i] );
uint16_t stream_crc = GetWBE(&p_sys->p_buf[p_sys->i_offset - 2]);
@@ -497,6 +502,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
/* Add the 2 last bytes which were not the CRC sum, and go for next sync point */
p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 2] );
p_sys->crc = flac_crc16( p_sys->crc, p_sys->p_buf[p_sys->i_offset - 1] );
+ p_sys->i_buf_offset = p_sys->i_offset;
p_sys->i_offset += 1;
p_sys->i_state = !pp_block ? STATE_NOSYNC : STATE_NEXT_SYNC;
break; /* continue */
@@ -513,6 +519,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
block_BytestreamFlush( &p_sys->bytestream );
p_sys->i_offset = 0;
p_sys->crc = 0;
+ p_sys->i_buf_offset = 0;
if( block_BytestreamRemaining(&p_sys->bytestream) > 0 || pp_block == NULL /* drain */)
p_sys->i_state = STATE_SEND_DATA;
@@ -553,6 +560,7 @@ static block_t *Packetize(decoder_t *p_dec, block_t **pp_block)
else
free( p_sys->p_buf );
+ p_sys->i_buf_offset = 0;
p_sys->i_buf = 0;
p_sys->p_buf = NULL;
p_sys->i_offset = 0;
@@ -587,6 +595,7 @@ static int Open(vlc_object_t *p_this)
p_sys->b_stream_info = false;
p_sys->i_last_frame_size = FLAC_FRAME_SIZE_MIN;
p_sys->headerinfo.i_pts = VLC_TS_INVALID;
+ p_sys->i_buf_offset = 0;
p_sys->i_buf = 0;
p_sys->p_buf = NULL;
p_sys->i_next_block_flags = 0;
--
GitLab