upg mesa vlc vala qt5-base swig gobject-introspection mercurial gdb
This commit is contained in:
parent
465f9fe8aa
commit
f4deb9b9c9
24
gdb/PKGBUILD
24
gdb/PKGBUILD
|
@ -10,21 +10,20 @@ pkgbase=gdb
|
||||||
# of gdb (for arm/avr/...)
|
# of gdb (for arm/avr/...)
|
||||||
pkgname=(gdb gdb-common)
|
pkgname=(gdb gdb-common)
|
||||||
pkgver=13.1
|
pkgver=13.1
|
||||||
pkgrel=01
|
pkgrel=02
|
||||||
pkgdesc='The GNU Debugger'
|
pkgdesc='The GNU Debugger'
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
url='https://www.gnu.org/software/gdb/'
|
url='https://www.gnu.org/software/gdb/'
|
||||||
makedepends=(glibc gcc-libs texinfo python guile ncurses expat xz mpfr
|
makedepends=(glibc gcc-libs texinfo python guile ncurses expat xz mpfr
|
||||||
boost source-highlight readline)
|
boost source-highlight 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}
|
||||||
# readline8.patch)
|
rust.patch::"https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=562403d4f5483e0787219fdb88da72c707c8d7f6")
|
||||||
|
|
||||||
#prepare() {
|
prepare() {
|
||||||
# cd gdb-$pkgver
|
cd gdb-$pkgver
|
||||||
#
|
|
||||||
# # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
|
patch -p1 < ../rust.patch
|
||||||
# sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
|
}
|
||||||
#}
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd gdb-$pkgver
|
cd gdb-$pkgver
|
||||||
|
@ -78,8 +77,9 @@ license=(GPL3)
|
||||||
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
|
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
|
||||||
|
|
||||||
sha256sums=(115ad5c18d69a6be2ab15882d365dda2a2211c14f480b3502c6eba576e2e95a0 # gdb-13.1.tar.xz
|
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
|
## 7e9bce18d314a0b945922730b8b9ff01740ccb99583bcf24a68a5bfa4081b859 gdb-13.1-02-x86_64.pkg.tar.lz
|
||||||
## ae6ecdb95095c0f592c2ee8dec7ecf1ef1e8988a29a0c3ab85c06bbe2e83bf39 gdb-common-13.1-01-x86_64.pkg.tar.lz
|
## 67d01217a9b4fb3134681362002de7ce590154fdbd82236470f334074741550f gdb-common-13.1-02-x86_64.pkg.tar.lz
|
||||||
|
|
||||||
|
|
|
@ -8,20 +8,29 @@ pkgbase=gdb
|
||||||
# of gdb (for arm/avr/...)
|
# of gdb (for arm/avr/...)
|
||||||
pkgname=(gdb gdb-common)
|
pkgname=(gdb gdb-common)
|
||||||
pkgver=13.1
|
pkgver=13.1
|
||||||
pkgrel=1
|
pkgrel=2
|
||||||
pkgdesc='The GNU Debugger'
|
pkgdesc='The GNU Debugger'
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
url='https://www.gnu.org/software/gdb/'
|
url='https://www.gnu.org/software/gdb/'
|
||||||
license=(GPL3)
|
license=(GPL3)
|
||||||
makedepends=(glibc gcc-libs texinfo python guile ncurses expat xz mpfr
|
makedepends=(glibc gcc-libs texinfo python guile ncurses expat xz mpfr
|
||||||
source-highlight boost readline)
|
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'
|
sha1sums=('6f0f5f905085f447672d9f52af66b42207d56e46'
|
||||||
'SKIP')
|
'SKIP'
|
||||||
|
'8dc1c2e44ebb3442d292cf6a594f70a97fa24123')
|
||||||
b2sums=('ab3a77ef35d21597dd1299787eebc422c3ca9764d0866223752c3036c0f9e198bf25ab4730bf6e7025bc2db148c66e98b191e15abc2d69c3088aed146728beef'
|
b2sums=('ab3a77ef35d21597dd1299787eebc422c3ca9764d0866223752c3036c0f9e198bf25ab4730bf6e7025bc2db148c66e98b191e15abc2d69c3088aed146728beef'
|
||||||
'SKIP')
|
'SKIP'
|
||||||
|
'99ffd3597fa61c51c2aae129387e266121597eadcaaec15cdcfdb9e798d7b7da57ae837454143d6c4e196d98068dc19c1588e36bde2d7f05e710465fc15fd766')
|
||||||
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
|
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd gdb-$pkgver
|
||||||
|
|
||||||
|
patch -p1 < ../rust.patch
|
||||||
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd gdb-$pkgver
|
cd gdb-$pkgver
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
6
gdb/time
6
gdb/time
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
|
|
||||||
real 23m2.037s
|
real 18m32.296s
|
||||||
user 21m43.862s
|
user 17m22.387s
|
||||||
sys 1m23.545s
|
sys 1m14.018s
|
||||||
|
|
||||||
|
|
|
@ -11,16 +11,15 @@ pkgname=(
|
||||||
gobject-introspection-runtime
|
gobject-introspection-runtime
|
||||||
libgirepository
|
libgirepository
|
||||||
)
|
)
|
||||||
pkgver=1.76.0
|
pkgver=1.76.1
|
||||||
pkgrel=01
|
pkgrel=01
|
||||||
pkgdesc="Introspection system for GObject-based libraries"
|
pkgdesc="Introspection system for GObject-based libraries"
|
||||||
url="https://wiki.gnome.org/Projects/GObjectIntrospection"
|
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)
|
makedepends=(cairo git "glib2=$_glibver" gtk-doc meson python-mako python-markdown python-sphinx)
|
||||||
#options=(!emptydirs)
|
#options=(!emptydirs)
|
||||||
#options=(debug)
|
#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"
|
source=("git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#commit=$_commit"
|
||||||
"git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$_glibver")
|
"git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$_glibver")
|
||||||
|
|
||||||
|
@ -107,7 +106,7 @@ validpgpkeys=(923B7025EE03C1C59F42684CF0942E894B2EAFA0 # Philip Withnall <philip
|
||||||
sha256sums=(SKIP
|
sha256sums=(SKIP
|
||||||
SKIP)
|
SKIP)
|
||||||
|
|
||||||
## 698e85fd7cd40c1767d1049a9894cd88f5a8b3bd81678acff61643d355c904e8 gobject-introspection-1.76.0-01-x86_64.pkg.tar.lz
|
## fc85f80b0312f7a74d04df4a8bdba6957cc12e080022e0d6d14de8cfbae3afd4 gobject-introspection-1.76.1-01-x86_64.pkg.tar.lz
|
||||||
## 26ed9356b12964c4d00aa319390134d3200de5c8fb650c4d901d208c6583c834 gobject-introspection-runtime-1.76.0-01-x86_64.pkg.tar.lz
|
## 8997de78e4310a49d9cdc91253486b6e35e7f948f2d5f57ade60291b6326ecf0 gobject-introspection-runtime-1.76.1-01-x86_64.pkg.tar.lz
|
||||||
## 50222fc19a05b948e4a74f6283ec7e3d06967cc167d1bd1d7969a4c5500acb2c libgirepository-1.76.0-01-x86_64.pkg.tar.lz
|
## 13764a43693415e285335565c0396355e69159d2b7ada25074b268bc441e526b libgirepository-1.76.1-01-x86_64.pkg.tar.lz
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,13 @@ pkgname=(
|
||||||
gobject-introspection-runtime
|
gobject-introspection-runtime
|
||||||
libgirepository
|
libgirepository
|
||||||
)
|
)
|
||||||
pkgver=1.76.0
|
pkgver=1.76.1
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Introspection system for GObject-based libraries"
|
pkgdesc="Introspection system for GObject-based libraries"
|
||||||
url="https://wiki.gnome.org/Projects/GObjectIntrospection"
|
url="https://wiki.gnome.org/Projects/GObjectIntrospection"
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
license=(LGPL GPL)
|
license=(LGPL GPL)
|
||||||
_glibver=2.76.0
|
_glibver=2.76.1
|
||||||
makedepends=(
|
makedepends=(
|
||||||
cairo
|
cairo
|
||||||
git
|
git
|
||||||
|
@ -24,7 +24,7 @@ makedepends=(
|
||||||
python-markdown
|
python-markdown
|
||||||
python-sphinx
|
python-sphinx
|
||||||
)
|
)
|
||||||
_commit=7aec38488a4d5fbc8539f798a7ce9ae1cb4df711 # tags/1.76.0^0
|
_commit=1565805460c3fd65f8630debd0337ec0e33ee2e7 # tags/1.76.1^0
|
||||||
source=(
|
source=(
|
||||||
"git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#commit=$_commit"
|
"git+https://gitlab.gnome.org/GNOME/gobject-introspection.git#commit=$_commit"
|
||||||
"git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$_glibver"
|
"git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$_glibver"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||||
|
|
||||||
pkgname=mercurial
|
pkgname=mercurial
|
||||||
pkgver=6.3.3
|
pkgver=6.4
|
||||||
pkgrel=01
|
pkgrel=01
|
||||||
pkgdesc='A scalable distributed SCM tool'
|
pkgdesc='A scalable distributed SCM tool'
|
||||||
url="https://www.mercurial-scm.org/"
|
url="https://www.mercurial-scm.org/"
|
||||||
|
@ -83,14 +83,8 @@ validpgpkeys=(2BCCE14F5C6725AA2EA8AEB7B9C9DC824AA5BDD5 #
|
||||||
818D87CD1AC180C394C86E633A33DE460D9EC39F # Pulkit Goyal <7895pulkit@gmail.com>
|
818D87CD1AC180C394C86E633A33DE460D9EC39F # Pulkit Goyal <7895pulkit@gmail.com>
|
||||||
1F66F8CDF654E905C11DA061A11E01CD0E05D956) # Raphaël Gomès <alphare@raphaelgomes.dev>
|
1F66F8CDF654E905C11DA061A11E01CD0E05D956) # Raphaël Gomès <alphare@raphaelgomes.dev>
|
||||||
|
|
||||||
sha512sums=('2c09ec01857552e92dee2ff946444f6ccd86a7249561d2181f339aa66316e9ce0f19399895782d0b63c1b5fdb6d341f866d166616ae51a78bac7e1bb4128a0fd'
|
sha256sums=(e88bfbcb9911e76904a31b972e57f86da8e6ce5892b98c39dd51d3b9599c1347 # mercurial-6.4.tar.gz
|
||||||
'SKIP'
|
95c176c6fd53d94a0a360a23b3fb263484192eaffeb7938bcb92a81e35415be8 # mercurial-6.4.tar.gz.asc
|
||||||
'710dcddb24d928efc97370e869d9caa083107929ed9a1086dd2a3ae0caaf2c71e2f29060597e29315b6b15b1616251c42412e268ce737109c48ae4d7aa1b9555')
|
|
||||||
|
|
||||||
sha256sums=(13c97ff589c7605e80a488f336852ce1d538c5d4143cfb33be69bdaddd9157bd # mercurial-6.3.3.tar.gz
|
|
||||||
c57f7b660e4868f53be0f94cd8a896c4f1a5e147dc36a3b547825747893c08b8 # mercurial-6.3.3.tar.gz.asc
|
|
||||||
87427151713e689cd87dc50d50c048e0e58285815e4eb61962b50583532cbde5) # mercurial.profile
|
87427151713e689cd87dc50d50c048e0e58285815e4eb61962b50583532cbde5) # mercurial.profile
|
||||||
|
|
||||||
## 5b976aafac39a02a389f769be4ba167965b29f63d01a9b8cf5c4601581f90247 mercurial-6.3.3-01-x86_64.pkg.tar.lz
|
## 8e384c82b09f4ed808a0b304208766464782357c3dca4efdb6600e7a9520a775 mercurial-6.4-01-x86_64.pkg.tar.lz
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
|
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
|
||||||
|
|
||||||
pkgname=mercurial
|
pkgname=mercurial
|
||||||
pkgver=6.3.3
|
pkgver=6.4
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc='A scalable distributed SCM tool'
|
pkgdesc='A scalable distributed SCM tool'
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
|
@ -27,7 +27,7 @@ validpgpkeys=(2BCCE14F5C6725AA2EA8AEB7B9C9DC824AA5BDD5
|
||||||
1F66F8CDF654E905C11DA061A11E01CD0E05D956) # Raphaël Gomès <alphare@raphaelgomes.dev>
|
1F66F8CDF654E905C11DA061A11E01CD0E05D956) # Raphaël Gomès <alphare@raphaelgomes.dev>
|
||||||
source=(https://www.mercurial-scm.org/release/${pkgname}-${pkgver}.tar.gz{,.asc}
|
source=(https://www.mercurial-scm.org/release/${pkgname}-${pkgver}.tar.gz{,.asc}
|
||||||
mercurial.profile)
|
mercurial.profile)
|
||||||
sha512sums=('2c09ec01857552e92dee2ff946444f6ccd86a7249561d2181f339aa66316e9ce0f19399895782d0b63c1b5fdb6d341f866d166616ae51a78bac7e1bb4128a0fd'
|
sha512sums=('a7810eddd0fd2a331215a5f7e9c81df4d860cf695aec3c5e3984821827b5427b5a01b68c07b9711e86db2f9b0ef5b5d3d6251a7dc76f99375c457920ce36c96f'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'710dcddb24d928efc97370e869d9caa083107929ed9a1086dd2a3ae0caaf2c71e2f29060597e29315b6b15b1616251c42412e268ce737109c48ae4d7aa1b9555')
|
'710dcddb24d928efc97370e869d9caa083107929ed9a1086dd2a3ae0caaf2c71e2f29060597e29315b6b15b1616251c42412e268ce737109c48ae4d7aa1b9555')
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
# JOBoRun : Jwm OpenBox Obarun RUNit
|
# JOBoRun : Jwm OpenBox Obarun RUNit
|
||||||
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
||||||
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
|
# 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'
|
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast'
|
||||||
'vulkan-virtio' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
|
'vulkan-virtio' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
|
||||||
pkgdesc="An open-source implementation of the OpenGL specification w/o systemd or zstd"
|
pkgdesc="An open-source implementation of the OpenGL specification w/o systemd or zstd"
|
||||||
pkgver=23.0.0
|
pkgver=23.0.1
|
||||||
pkgrel=03
|
pkgrel=01
|
||||||
#options=('debug' '!lto') # uncomment this if you want the debug package built # Arch removed debug for 22.3.3-3 version
|
#options=('debug' '!lto') # uncomment this if you want the debug package built # Arch removed debug for 22.3.3-3 version
|
||||||
options=('!lto')
|
options=('!lto')
|
||||||
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
|
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
|
makedepends+=('rust' 'rust-bindgen' 'spirv-tools' 'spirv-llvm-translator') # rusticl dependencies
|
||||||
url="https://www.mesa3d.org/"
|
url="https://www.mesa3d.org/"
|
||||||
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
||||||
0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
|
# 0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
|
||||||
0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
|
0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
|
||||||
0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
||||||
LICENSE)
|
LICENSE)
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd mesa-$pkgver
|
cd mesa-$pkgver
|
||||||
|
|
||||||
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/7111
|
# # https://gitlab.freedesktop.org/mesa/mesa/-/issues/7111
|
||||||
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17247
|
# # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17247
|
||||||
# https://github.com/HansKristian-Work/vkd3d-proton/issues/1200
|
# # https://github.com/HansKristian-Work/vkd3d-proton/issues/1200
|
||||||
patch -Np1 -i ../0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
|
# 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/drm/intel/-/issues/6851
|
||||||
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20449
|
# 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 ../0001-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 ../0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
@ -251,20 +250,18 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
|
||||||
'71C4B75620BC75708B4BDB254C95FAAB3EB073EC' # Dylan Baker <dylan@pnwbakers.com>
|
'71C4B75620BC75708B4BDB254C95FAAB3EB073EC' # Dylan Baker <dylan@pnwbakers.com>
|
||||||
'57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
|
'57551DE15B968F6341C248F68D8E31AFC32428A6') # Eric Engestrom <eric@engestrom.ch>
|
||||||
|
|
||||||
sha256sums=(01f3cff3763f09e0adabcb8011e4aebc6ad48f6a4dd4bae904fe918707d253e4 # mesa-23.0.0.tar.xz
|
sha256sums=(e8e586856b55893abae9bdcdb98b41c081d909bb1faf372e6e7262307bf34adf # mesa-23.0.1.tar.xz
|
||||||
54dcc0a47dab08be7c9c0911c19de911fd36aa0a7b2cf5c61b3fdf0bf49d07ae # mesa-23.0.0.tar.xz.sig
|
b6d7db7f4835a65082a3dc10abaa20ecc1b05a4c87467fb8aaa8cbd1b24d33d8 # mesa-23.0.1.tar.xz.sig
|
||||||
d3ec9caac9121b18825e0a5c420794ee07a5a42b048cd4f43816a587d659a4ea # 0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
|
99264c77d63d6fa810e295914808cde9f580a64e913e99fa794c1aa25a4f8fb2 # 0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
|
||||||
99264c77d63d6fa810e295914808cde9f580a64e913e99fa794c1aa25a4f8fb2 # 0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
|
d6ef8fb1809e8aeae0ec32bfe916adb770c64880bfd3d0f4472a616c9f356a9a # 0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
||||||
d6ef8fb1809e8aeae0ec32bfe916adb770c64880bfd3d0f4472a616c9f356a9a # 0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
|
||||||
7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537) # LICENSE
|
7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537) # LICENSE
|
||||||
|
|
||||||
## 03d68c0cec7c158ea3c45d4106637099e59032679f2caf6e75a343700dc4e2c4 libva-mesa-driver-23.0.0-03-x86_64.pkg.tar.lz
|
## 006cf25e83b6031ea4277bdec5d8ace2d34a21a9b7d0a3feaf9123b04bf0b68e libva-mesa-driver-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## d69f417b5a973a53c968aace27bbcd000431c6e5f5bed2a9450a5dec083510f8 mesa-23.0.0-03-x86_64.pkg.tar.lz
|
## c7ae665bd50aa228f02f0adbce6035836fc151bba29ff9333dca3170111fd851 mesa-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## 63ee51cc031695a67320ac36cc60c0ba3f8c9d8800c5421968b86c47bc2833e7 mesa-vdpau-23.0.0-03-x86_64.pkg.tar.lz
|
## c46637bbc17e449d35a06334cf1178add96dcd632fd17374f297d7cdbf95da34 mesa-vdpau-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## 9d3922f28b8658eac176f22d38f6a1bc244ba84486ab942fb7c26b528be30d8f opencl-mesa-23.0.0-03-x86_64.pkg.tar.lz
|
## 937d2bfd3acc5b6c0b9acb42c181ae4c52577abb35053cb20c21697a604a6476 opencl-mesa-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## 18fab770d433feafeaabf30b400d78913fe0c4a24c287b2da8805f6f7c82f052 vulkan-intel-23.0.0-03-x86_64.pkg.tar.lz
|
## af9a1b2419d675cf372b4c1d42ae0686fd589e2341e4ced9863a10158ea05aca vulkan-intel-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## 59931694da50b05c3e043b856f3536c0ce1204d5a639a9cdfb50aa862030da9d vulkan-mesa-layers-23.0.0-03-x86_64.pkg.tar.lz
|
## 732de4159346f6bb05acbc23e59e69c1d4f28ced2440921b5758e110824c233a vulkan-mesa-layers-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## 26a20ce25cda30605c9568146a253337cc4716fdc6cdfb3af70af520417f048b vulkan-radeon-23.0.0-03-x86_64.pkg.tar.lz
|
## cdfc47d8697401e5362cd74001de88ea9d6cb5a5d9c571a7f9f482b682e5fc27 vulkan-radeon-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## 9ca034a6f240f66d5c0886a3525bf78f2d867ba67158901eca2f34edeb90b55c vulkan-swrast-23.0.0-03-x86_64.pkg.tar.lz
|
## 40d8d6b7e79d98352715e0419b1eabd9f1931101105ae1112085c73e2e0cb5a6 vulkan-swrast-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
## 9da6d2f0cefdaa1ca9928863b95179c11be7a7ef7062d1984351ad87e3fb757c vulkan-virtio-23.0.0-03-x86_64.pkg.tar.lz
|
## 10bfdb02b6c375ae71f4313937adae51920d5a1abca56fe122672e9f3ff5dd2d vulkan-virtio-23.0.1-01-x86_64.pkg.tar.lz
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
pkgbase=mesa
|
pkgbase=mesa
|
||||||
pkgname=('vulkan-mesa-layers' 'opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'vulkan-swrast' 'vulkan-virtio' 'libva-mesa-driver' 'mesa-vdpau' '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"
|
pkgdesc="An open-source implementation of the OpenGL specification"
|
||||||
pkgver=23.0.0
|
pkgver=23.0.1
|
||||||
pkgrel=3
|
pkgrel=1
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
|
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
|
||||||
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd' 'elfutils' 'llvm'
|
'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/"
|
url="https://www.mesa3d.org/"
|
||||||
license=('custom')
|
license=('custom')
|
||||||
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
||||||
0001-anv-force-MEDIA_INTERFACE_DESCRIPTOR_LOAD-reemit-aft.patch
|
0001-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
|
||||||
0002-iris-Retry-DRM_IOCTL_I915_GEM_EXECBUFFER2-on-ENOMEM.patch
|
0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
||||||
0003-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
|
||||||
LICENSE)
|
LICENSE)
|
||||||
sha512sums=('127e2759a2a31cacd65a0891719ab7bb4a9188844022b4bccaebbedce9c550b9ccb160ad519178ea0d851c4bcb8f0f56febda248ed2ba82b5ddf804855e4694b'
|
sha256sums=('e8e586856b55893abae9bdcdb98b41c081d909bb1faf372e6e7262307bf34adf'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'c7832724bad137461fcdffc3db8ba653ea25c56b5980d7c45955844a543ce57ec4360e88e73ab48f7cb69717a2f467a03aca13ede3591f27e36e20409f8982e8'
|
'99264c77d63d6fa810e295914808cde9f580a64e913e99fa794c1aa25a4f8fb2'
|
||||||
'b089a84333743f2f69889f99903616a9dab28e45edf2de7b1f64d29bbb321daaf898aa05bf60fea6d2feec6b5ff072b807d76bb21efe122ff1a15e275d8acc97'
|
'd6ef8fb1809e8aeae0ec32bfe916adb770c64880bfd3d0f4472a616c9f356a9a'
|
||||||
'ac4f1f98c5f1d0c2f875c2cf964fe60f41385b18a3507fea77f899f0cbbbea0baee92d313936f2d325c2301a7d0dfe3294bf881722fb22fa41defd4e4fbd0f98'
|
'7052ba73bb07ea78873a2431ee4e828f4e72bda7d176d07f770fa48373dec537')
|
||||||
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
|
b2sums=('50d358e393037381d0d848f868ac3439b0851809c3533432dc428bd77e81bc71bbfd2b598e221b6e8c4c2528ef32e5624aec4fe2e552e01ee98abbcf96a1f5b7'
|
||||||
|
'SKIP'
|
||||||
|
'a90bfc47fb3a46eff1ef2455c7aa18c2bb515ec217b423d0a87cc5f3b824a77c0381e1378498464418644108142022dcd3c289e157877c6ae7584beaec1d9987'
|
||||||
|
'bd52994305fc0fa2f12c46ea3208bbb24f97495d9bad73120d83a6cdcf7e48f5ff0d14ac0055765516b70caacdf024fca4159b70b054e85f2783c78c9218aefe'
|
||||||
|
'1ecf007b82260710a7bf5048f47dd5d600c168824c02c595af654632326536a6527fbe0738670ee7b921dd85a70425108e0f471ba85a8e1ca47d294ad74b4adb')
|
||||||
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
|
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
|
||||||
'946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
|
'946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
|
||||||
'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895' # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@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() {
|
prepare() {
|
||||||
cd mesa-$pkgver
|
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/drm/intel/-/issues/6851
|
||||||
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20449
|
# 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 ../0001-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 ../0002-Revert-iris-Avoid-abort-if-kernel-can-t-allocate-mem.patch
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
|
@ -4,9 +4,9 @@ real 42m17.718s
|
||||||
user 153m50.507s
|
user 153m50.507s
|
||||||
sys 4m47.685s
|
sys 4m47.685s
|
||||||
|
|
||||||
23.0.0-02
|
23.0.1-01
|
||||||
|
|
||||||
real 15m56.260s
|
real 40m28.680s
|
||||||
user 54m14.860s
|
user 150m35.678s
|
||||||
sys 2m28.820s
|
sys 4m41.292s
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
pkgbase=qt5-base
|
pkgbase=qt5-base
|
||||||
pkgname=(qt5-base qt5-xcb-private-headers)
|
pkgname=(qt5-base qt5-xcb-private-headers)
|
||||||
_basever=5.15.8
|
_basever=5.15.8
|
||||||
pkgver=5.15.8+kde+r183
|
pkgver=5.15.8+kde+r185
|
||||||
_commit=38c54b3ff58972fa16810740fc43933620b6dc0d
|
_commit=6c09620dc84900c31a2d307a8640dbc15b1fcfdd
|
||||||
pkgrel=01
|
pkgrel=01
|
||||||
url='https://www.qt.io'
|
url='https://www.qt.io'
|
||||||
pkgdesc='A cross-platform application and UI framework'
|
pkgdesc='A cross-platform application and UI framework'
|
||||||
|
@ -125,7 +125,6 @@ sha256sums=(SKIP
|
||||||
5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78 # qmake-cflags.patch
|
5411edbe215c24b30448fac69bd0ba7c882f545e8cf05027b2b6e2227abc5e78 # qmake-cflags.patch
|
||||||
4abc22150fa3e06b2fdcec32146abc9be4e316692aa4d5bd5aa53b4b726783fa) # qmake-config.patch
|
4abc22150fa3e06b2fdcec32146abc9be4e316692aa4d5bd5aa53b4b726783fa) # qmake-config.patch
|
||||||
|
|
||||||
## d0f87c671bc637ebaa92e68f57c227f0b3d92dfcc73d592a466d99117590d894 qt5-base-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
|
||||||
## 2d5b3588686a610d141b167f54a2fc061dbae3ff0fc85b6b01ee41709d8cc97a qt5-xcb-private-headers-5.15.8+kde+r183-01-x86_64.pkg.tar.lz
|
## 4703b3d6606f27d57648c35d7650497d8883db0addddc357c61e9c140889b706 qt5-xcb-private-headers-5.15.8+kde+r185-01-x86_64.pkg.tar.lz
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
pkgbase=qt5-base
|
pkgbase=qt5-base
|
||||||
pkgname=(qt5-base qt5-xcb-private-headers)
|
pkgname=(qt5-base qt5-xcb-private-headers)
|
||||||
_basever=5.15.8
|
_basever=5.15.8
|
||||||
pkgver=5.15.8+kde+r183
|
pkgver=5.15.8+kde+r185
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
_commit=38c54b3ff58972fa16810740fc43933620b6dc0d
|
_commit=6c09620dc84900c31a2d307a8640dbc15b1fcfdd
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url='https://www.qt.io'
|
url='https://www.qt.io'
|
||||||
license=('GPL3' 'LGPL3' 'FDL' 'custom')
|
license=('GPL3' 'LGPL3' 'FDL' 'custom')
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||||
|
|
||||||
pkgname=swig
|
pkgname=swig
|
||||||
pkgver=4.1.0
|
pkgver=4.1.1
|
||||||
pkgrel=01
|
pkgrel=01
|
||||||
pkgdesc="Generate scripting interfaces to C/C++ code"
|
pkgdesc="Generate scripting interfaces to C/C++ code"
|
||||||
url="http://www.swig.org/"
|
url="http://www.swig.org/"
|
||||||
|
@ -48,8 +48,9 @@ arch=(x86_64)
|
||||||
|
|
||||||
license=('custom')
|
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
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
|
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
|
||||||
|
|
||||||
pkgname=swig
|
pkgname=swig
|
||||||
pkgver=4.1.0
|
pkgver=4.1.1
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Generate scripting interfaces to C/C++ code"
|
pkgdesc="Generate scripting interfaces to C/C++ code"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
|
@ -12,7 +12,7 @@ license=('custom')
|
||||||
depends=('pcre2' 'gcc-libs')
|
depends=('pcre2' 'gcc-libs')
|
||||||
checkdepends=('ruby' 'python' 'java-environment' 'tcl' 'php' 'lua' 'r' 'go' 'boost')
|
checkdepends=('ruby' 'python' 'java-environment' 'tcl' 'php' 'lua' 'r' 'go' 'boost')
|
||||||
source=(https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
|
source=(https://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz)
|
||||||
sha512sums=('a7d43d6aa764923826786081a3f2e25aa0f8345e1169c1e57bf02d01f6f41c92d8db0f360ec86e0e428ef5a21d1b5cd3edb7e4b71d0beff3e6611e344b5c22b1')
|
sha512sums=('1cea1918455a75ebc9b2653dd1715bd5dcd974554955f324295c6a6f14c0a715651b221b85fad4a8af5197e0c75bfe7b590bc6ba7178c26245fbbd9a7e110100')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd ${pkgname}-${pkgver}
|
cd ${pkgname}-${pkgver}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
real 43m22.616s
|
|
||||||
user 137m10.436s
|
real 575m15.927s
|
||||||
sys 9m54.143s
|
user 114m46.920s
|
||||||
|
sys 8m13.934s
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,10 @@
|
||||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||||
|
|
||||||
pkgname=vala
|
pkgname=vala
|
||||||
pkgver=0.56.4
|
pkgver=0.56.5
|
||||||
pkgrel=01
|
pkgrel=01
|
||||||
pkgdesc='Compiler for the GObject type system'
|
pkgdesc='Compiler for the GObject type system'
|
||||||
url='https://wiki.gnome.org/Projects/Vala'
|
url='https://wiki.gnome.org/Projects/Vala'
|
||||||
arch=(x86_64)
|
|
||||||
depends=(glib2 gtk-doc graphviz ttf-liberation pkg-config gcc)
|
depends=(glib2 gtk-doc graphviz ttf-liberation pkg-config gcc)
|
||||||
makedepends=(libxslt vala git help2man autoconf-archive)
|
makedepends=(libxslt vala git help2man autoconf-archive)
|
||||||
checkdepends=(dbus libx11 gobject-introspection)
|
checkdepends=(dbus libx11 gobject-introspection)
|
||||||
|
@ -18,7 +17,7 @@ provides=(valadoc libvala-${pkgver%.*}.so libvaladoc-${pkgver%.*}.so)
|
||||||
conflicts=(valadoc)
|
conflicts=(valadoc)
|
||||||
replaces=(valadoc)
|
replaces=(valadoc)
|
||||||
#options=(debug) ## uncomment this to have the debug package produced
|
#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")
|
source=("git+https://gitlab.gnome.org/GNOME/vala.git#commit=$_commit")
|
||||||
|
|
||||||
pkgver() {
|
pkgver() {
|
||||||
|
@ -48,10 +47,13 @@ package() {
|
||||||
make DESTDIR="$pkgdir" install
|
make DESTDIR="$pkgdir" install
|
||||||
}
|
}
|
||||||
|
|
||||||
#---- license gpg-key sha256sums ----
|
#---- arch license gpg-key & sha256sums ----
|
||||||
|
|
||||||
|
arch=(x86_64)
|
||||||
|
|
||||||
license=(LGPL)
|
license=(LGPL)
|
||||||
|
|
||||||
sha256sums=('SKIP')
|
sha256sums=('SKIP')
|
||||||
|
|
||||||
|
## 8374cf68031add788557ca8f4263f9f6d0eacdad7b7475ba03a3e16903aca0b5 vala-0.56.5-01-x86_64.pkg.tar.lz
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# Contributor: Timm Preetz <timm@preetz.us>
|
# Contributor: Timm Preetz <timm@preetz.us>
|
||||||
|
|
||||||
pkgname=vala
|
pkgname=vala
|
||||||
pkgver=0.56.4
|
pkgver=0.56.5
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc='Compiler for the GObject type system'
|
pkgdesc='Compiler for the GObject type system'
|
||||||
url='https://wiki.gnome.org/Projects/Vala'
|
url='https://wiki.gnome.org/Projects/Vala'
|
||||||
|
@ -37,9 +37,9 @@ provides=(
|
||||||
)
|
)
|
||||||
conflicts=(valadoc)
|
conflicts=(valadoc)
|
||||||
replaces=(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")
|
source=("git+https://gitlab.gnome.org/GNOME/vala.git#commit=$_commit")
|
||||||
sha256sums=('SKIP')
|
b2sums=('SKIP')
|
||||||
|
|
||||||
pkgver() {
|
pkgver() {
|
||||||
cd vala
|
cd vala
|
||||||
|
|
18
vlc/PKGBUILD
18
vlc/PKGBUILD
|
@ -10,10 +10,9 @@ _vlcver=3.0.18
|
||||||
# optional fixup version including hyphen
|
# optional fixup version including hyphen
|
||||||
_vlcfixupver=
|
_vlcfixupver=
|
||||||
pkgver=${_vlcver}${_vlcfixupver//-/.r}
|
pkgver=${_vlcver}${_vlcfixupver//-/.r}
|
||||||
pkgrel=07
|
pkgrel=08
|
||||||
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player - no systemd,avahi,dbus '
|
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player - no systemd,avahi,dbus '
|
||||||
url='https://www.videolan.org/vlc/'
|
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)
|
# 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'
|
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua52' 'libidn'
|
||||||
'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg4.4' 'faad2' 'libmad'
|
'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'
|
'sdl_image' 'libpulse' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr'
|
||||||
'lirc' 'libgoom2' 'projectm' 'aom' 'srt'
|
'lirc' 'libgoom2' 'projectm' 'aom' 'srt'
|
||||||
'aribb24' 'aribb25' 'pcsclite')
|
'aribb24' 'aribb25' 'pcsclite')
|
||||||
|
|
||||||
# 'chromaprint: Chromaprint audio fingerprinter'
|
# 'chromaprint: Chromaprint audio fingerprinter'
|
||||||
optdepends=('avahi: service discovery using bonjour protocol'
|
optdepends=('avahi: service discovery using bonjour protocol'
|
||||||
'aom: AOM AV1 codec'
|
'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
|
#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}
|
source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
|
||||||
libplacebo-5.patch
|
libplacebo-5.patch
|
||||||
update-vlc-plugin-cache.hook)
|
update-vlc-plugin-cache.hook
|
||||||
|
c2dd4bfe.patch)
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
cd ${pkgname}-${_vlcver}
|
cd ${pkgname}-${_vlcver}
|
||||||
|
@ -252,7 +251,9 @@ package() {
|
||||||
install -Dm 644 "${srcdir}/update-vlc-plugin-cache.hook" -t "${pkgdir}/usr/share/libalpm/hooks"
|
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')
|
license=('LGPL2.1' 'GPL2')
|
||||||
|
|
||||||
|
@ -261,8 +262,7 @@ validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Sig
|
||||||
sha256sums=(57094439c365d8aa8b9b41fa3080cc0eef2befe6025bb5cef722accc625aedec # vlc-3.0.18.tar.xz
|
sha256sums=(57094439c365d8aa8b9b41fa3080cc0eef2befe6025bb5cef722accc625aedec # vlc-3.0.18.tar.xz
|
||||||
4f87ca191bdbd185afa21466e9f4790512682dc6b5087dd784509d6ba4e5e636 # vlc-3.0.18.tar.xz.asc
|
4f87ca191bdbd185afa21466e9f4790512682dc6b5087dd784509d6ba4e5e636 # vlc-3.0.18.tar.xz.asc
|
||||||
c47ecb0e8e8c03f8c5451aa12fc2e38e380364c38c411a13aa38b7b41def6989 # libplacebo-5.patch
|
c47ecb0e8e8c03f8c5451aa12fc2e38e380364c38c411a13aa38b7b41def6989 # libplacebo-5.patch
|
||||||
b98043683dd90d3f5a3f501212dfc629839b661100de5ac79fd30cb7b4a06f13) # update-vlc-plugin-cache.hook
|
b98043683dd90d3f5a3f501212dfc629839b661100de5ac79fd30cb7b4a06f13 # update-vlc-plugin-cache.hook
|
||||||
|
7c2643e43322891287b6a67043656d16ca3cb075a55c911b0e159d625061c45a) # c2dd4bfe.patch
|
||||||
## e0b590d65b5a135059a782f3722a2237a11128cf96cec81afd8ae6152db4b83b vlc-3.0.18-07-x86_64.pkg.tar.lz
|
|
||||||
|
|
||||||
|
|
||||||
|
## 901e5f55f38e469dca3d142a1566e384db146f73bddb2a65248dce7d82e817df vlc-3.0.18-08-x86_64.pkg.tar.lz
|
||||||
|
|
|
@ -8,7 +8,7 @@ _vlcver=3.0.18
|
||||||
# optional fixup version including hyphen
|
# optional fixup version including hyphen
|
||||||
_vlcfixupver=
|
_vlcfixupver=
|
||||||
pkgver=${_vlcver}${_vlcfixupver//-/.r}
|
pkgver=${_vlcver}${_vlcfixupver//-/.r}
|
||||||
pkgrel=7
|
pkgrel=8
|
||||||
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player'
|
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player'
|
||||||
url='https://www.videolan.org/vlc/'
|
url='https://www.videolan.org/vlc/'
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
|
@ -103,11 +103,13 @@ replaces=('vlc-plugin')
|
||||||
options=('!emptydirs')
|
options=('!emptydirs')
|
||||||
source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
|
source=(https://download.videolan.org/${pkgname}/${_vlcver}/${pkgname}-${_vlcver}${_vlcfixupver}.tar.xz{,.asc}
|
||||||
libplacebo-5.patch
|
libplacebo-5.patch
|
||||||
update-vlc-plugin-cache.hook)
|
update-vlc-plugin-cache.hook
|
||||||
|
c2dd4bfe.patch)
|
||||||
sha512sums=('6fc8fdaa7e8862ad7133d69b3dab99ab9cd3945846a6ce5e2379b7f68ee9accd385c53b8573fc7c82f732c24678b4932b1154d2ad8accf06305f2f578d6fcd8e'
|
sha512sums=('6fc8fdaa7e8862ad7133d69b3dab99ab9cd3945846a6ce5e2379b7f68ee9accd385c53b8573fc7c82f732c24678b4932b1154d2ad8accf06305f2f578d6fcd8e'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'a06b04a8b059dbbef77d27435bd5bec3c26f937390bd112b0843385587e866e617c3dd0e66f99eed5fa4a91bc5f0fd9b5623f65b2f2435a54456dde2aa96209b'
|
'a06b04a8b059dbbef77d27435bd5bec3c26f937390bd112b0843385587e866e617c3dd0e66f99eed5fa4a91bc5f0fd9b5623f65b2f2435a54456dde2aa96209b'
|
||||||
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3')
|
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
|
||||||
|
'10801260f94c38b57d1c5666dc1772296537dbfd11d132e46fce98c3b185d9c3861a0b4e9076091990bf035525ed4f67376d4766eae63059f025c76251b6379b')
|
||||||
validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key
|
validpgpkeys=('65F7C6B4206BD057A7EB73787180713BE58D1ADC') # VideoLAN Release Signing Key
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue