Compare commits

...

9 commits

Author SHA1 Message Date
Duncan Overbruck
2123878792
Merge 6d65eb344e into cc03789145 2025-04-04 01:05:24 -04:00
Saksham
cc03789145 opera: update to 117.0.5408.93 2025-04-04 01:05:14 -04:00
Pierre Sabbagh
42d67345ff discord: update to 0.0.90. 2025-04-03 18:59:30 -07:00
Mintsuki
3c123a3701 limine: update to 9.2.2. 2025-04-03 20:24:50 +00:00
voidxptr
64cc25a887 godot: updated to 4.4.1 2025-04-03 11:38:49 -04:00
classabbyamp
cf0e1f4a8a
icu4lua: remove package
upstream is gone, package is orphaned, leaf package

Co-authored-by: John Taylor <gitea@johntaylor.hu>

closes: #54794
fixes: #53802
2025-04-03 10:29:57 -04:00
classabbyamp
f3e3198d5b
lua54-luaposix: update homepage
Co-authored-by: John Taylor <gitea@johntaylor.hu>
2025-04-03 10:28:56 -04:00
Duncaen
6d65eb344e
kernel-libc-headers: update to 6.14. 2025-04-02 15:49:07 +02:00
Duncaen
307e25df8d
musl: backport syscall numbers and statx 2025-04-02 15:49:07 +02:00
19 changed files with 655 additions and 218 deletions

View file

@ -2507,7 +2507,6 @@ libmlt++-7.so.7 mlt7-7.0.1_1
libmlt-7.so.7 mlt7-7.0.1_1
libunibilium.so.4 unibilium-2.0.0_1
libtermkey.so.1 libtermkey-0.17_1
libicu4lua.so.0 icu4lua-0.2B_1
libKF5I18n.so.5 ki18n-5.26.0_1
libKF5I18nLocaleData.so.5 ki18n-5.88.0_1
libglog.so.1 glog-0.6.0_1

View file

@ -1,6 +1,6 @@
# Template file for 'discord'
pkgname=discord
version=0.0.89
version=0.0.90
revision=1
archs="x86_64"
depends="alsa-lib dbus-glib gtk+3 libnotify nss libXtst libcxx libatomic
@ -10,7 +10,7 @@ maintainer="Ryan Conwell <ryanconwell@protonmail.com>"
license="custom:Proprietary"
homepage="https://discord.com"
distfiles="https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"
checksum=ef833648024b4bcbb7ee6d9b128fd86e5abcdb611b59665fa4b7f97a6bd3bac1
checksum=99f428ef51b86796700eba16888d96e436f98ac331771e05c376fa5fee27ec58
repository=nonfree
restricted=yes
nopie=yes

View file

@ -0,0 +1,18 @@
diff --git a/thirdparty/manifold/src/sparse.h b/thirdparty/manifold/src/sparse.h
index a25ea61141..82ba7c5af6 100644
--- a/thirdparty/manifold/src/sparse.h
+++ b/thirdparty/manifold/src/sparse.h
@@ -40,11 +40,13 @@ class SparseIndices {
// such that the indices are sorted by (p << 32) | q
public:
#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN || \
+ defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ || \
defined(__BIG_ENDIAN__) || defined(__ARMEB__) || defined(__THUMBEB__) || \
defined(__AARCH64EB__) || defined(_MIBSEB) || defined(__MIBSEB) || \
defined(__MIBSEB__)
static constexpr size_t pOffset = 0;
#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || \
+ defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ || \
defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || \
defined(__THUMBEL__) || defined(__AARCH64EL__) || defined(_MIPSEL) || \
defined(__MIPSEL) || defined(__MIPSEL__) || defined(__EMSCRIPTEN__) || \

View file

@ -1,7 +1,7 @@
# Template file for 'godot'
pkgname=godot
version=4.3
revision=7
version=4.4.1
revision=1
archs="x86_64* i686* aarch64* armv7* ppc64*"
build_style=scons
make_build_args="platform=linuxbsd target=editor progress=no production=yes
@ -25,7 +25,7 @@ maintainer="dataCobra <datacobra@thinkbot.de>"
license="MIT"
homepage="https://www.godotengine.org/"
distfiles="https://github.com/godotengine/godot/archive/${version}-stable.tar.gz"
checksum=6a441d02957432d76343052296dc514b1b6bd72af920c9f2518b1ec3cb534874
checksum=a486c523494e155b6912a607b5813577f8f39285f8ad43ac76cb9141edad9888
nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/shell_3/logs/stdio
CFLAGS+=" -fPIE -fPIC"

View file

@ -1 +0,0 @@
icu4lua

View file

@ -1,47 +0,0 @@
VERSION?= 0.2B
DESTDIR?= /
PREFIX= $(DESTDIR)/usr
LIBDIR= $(PREFIX)/lib
INCDIR= $(PREFIX)/include
SILENT?=
SOURCES= icu.c icu.collator.c icu.idna.c icu.normalizer.c icu.regex.c \
icu.stringprep.c icu.ufile.c icu.ustring.c icu.utf8.c matchengine.c
OBJS= icu.o icu.collator.o icu.idna.o icu.normalizer.o icu.regex.o \
icu.stringprep.o icu.ufile.o icu.ustring.o icu.utf8.o matchengine.o
HEADERS= formatting.h icu4lua.h matchengine.h
TARGET= libicu4lua.so
SO_MAJOR= 0
SO_MINOR= 1
SO_BUILD= 1
SO_VER= $(SO_MAJOR).$(SO_MINOR).$(SO_BUILD)
ICU_CFLAGS= `pkg-config --cflags icu-i18n icu-io`
ICU_LIBS= `pkg-config --libs icu-i18n icu-io`
LUA_CFLAGS= `pkg-config --cflags lua5.1`
LUA_LIBS= `pkg-config --libs lua5.1`
all: $(TARGET)
$(TARGET): $(OBJS)
@echo "Linking $@ ..."
$(SILENT)$(CC) -shared -Wl,-soname,$(TARGET).$(SO_MAJOR) \
-o $(TARGET).$(SO_VER) $(LDFLAGS) \
$(OBJS) $(LIBS) $(LUA_LIBS) -L/usr/lib/icu $(ICU_LIBS)
.c.o:
@echo "Compling $< ..."
$(SILENT)$(CC) $(CFLAGS) $(ICU_CFLAGS) $(LUA_CFLAGS) -o $@ -c $<
install: $(TARGET)
@echo "Installing..."
install -d $(LIBDIR)/
install -m 0755 $(TARGET).$(SO_VER) $(LIBDIR)
ln -s $(TARGET).$(SO_VER) $(LIBDIR)/$(TARGET).$(SO_MAJOR).$(SO_MINOR)
ln -s $(TARGET).$(SO_MAJOR).$(SO_MINOR) $(LIBDIR)/$(TARGET).$(SO_MAJOR)
ln -s $(TARGET).$(SO_MAJOR) $(LIBDIR)/$(TARGET)
install -d $(INCDIR)/icu4lua
install -m 0644 *.h $(INCDIR)/icu4lua
install -d $(LIBDIR)/pkgconfig
sed < icu4lua.pc.in -e "s;@VERSION@;$(VERSION);" \
> $(LIBDIR)/pkgconfig/icu4lua.pc

View file

@ -1,11 +0,0 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${exec_prefix}/incude
Name: icu4lua
Description: Unicode support for Lua 5.1
Version: @VERSION@
Requires: icu-i18n icu-io
Libs: -L${libdir} -licu4lua
CFlags: -I${includedir}/icu4lua

View file

@ -1,94 +0,0 @@
--- a/src/icu.ustring.c.orig
+++ b/src/icu.ustring.c
@@ -38,7 +38,7 @@
target_limit = target + ICU4LUA_UBUFFERSIZE;
for (;;) {
status = U_ZERO_ERROR;
- ucnv_toUnicode(conv, &target, target_limit, &source, source_limit, NULL, TRUE, &status);
+ ucnv_toUnicode(conv, &target, target_limit, &source, source_limit, NULL, 1, &status);
switch(status) {
case U_ZERO_ERROR:
icu4lua_addusize(&build_buffer, target - temp_buffer);
@@ -100,7 +100,7 @@
for (;;) {
status = U_ZERO_ERROR;
- ucnv_fromUnicode(conv, &target, target_limit, &source, source_limit, NULL, TRUE, &status);
+ ucnv_fromUnicode(conv, &target, target_limit, &source, source_limit, NULL, 1, &status);
switch(status) {
case U_BUFFER_OVERFLOW_ERROR:
luaL_addsize(&build_buffer, (const char*)target - (const char*)temp_buffer);
@@ -691,7 +691,7 @@
lua_pushboolean(L, u_strCompare(
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
- TRUE
+ 1
) < 0);
return 1;
}
@@ -703,7 +703,7 @@
lua_pushboolean(L, u_strCompare(
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
- TRUE
+ 1
) <= 0);
return 1;
}
@@ -733,7 +733,7 @@
lua_pushboolean(L, u_strCompare(
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
- TRUE
+ 1
) < 0);
}
return 1;
@@ -759,7 +759,7 @@
lua_pushboolean(L, u_strCompare(
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
- TRUE
+ 1
) <= 0);
}
return 1;
@@ -785,7 +785,7 @@
lua_pushboolean(L, u_strCompare(
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
- TRUE
+ 1
) == 0);
}
return 1;
--- a/src/icu.utf8.c.orig
+++ b/src/icu.utf8.c
@@ -730,7 +730,7 @@
UCharIterator iter_b;
uiter_setUTF8(&iter_a, utf8_a, (int32_t)a_len);
uiter_setUTF8(&iter_b, utf8_b, (int32_t)b_len);
- lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, TRUE) < 0);
+ lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, 1) < 0);
}
return 1;
}
@@ -746,7 +746,7 @@
UCharIterator iter_b;
uiter_setUTF8(&iter_a, utf8_a, (int32_t)a_len);
uiter_setUTF8(&iter_b, utf8_b, (int32_t)b_len);
- lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, TRUE) <= 0);
+ lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, 1) <= 0);
}
return 1;
}
@@ -764,7 +764,7 @@
UCharIterator iter_b;
uiter_setUTF8(&iter_a, utf8_a, (int32_t)a_len);
uiter_setUTF8(&iter_b, utf8_b, (int32_t)b_len);
- lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, TRUE) == 0);
+ lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, 1) == 0);
}
return 1;
}

View file

@ -1,42 +0,0 @@
# Template file for 'icu4lua'
pkgname=icu4lua
version=0.2B
revision=14
create_wrksrc=yes
build_style=gnu-makefile
hostmakedepends="pkg-config unzip"
makedepends="icu-devel lua51-devel"
short_desc="Binary module for providing Unicode support to Lua"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT,X"
homepage="http://luaforge.net/projects/icu-lua/"
distfiles="
http://files.luaforge.net/releases/icu-lua/icu-lua/${version}/ICU4Lua-${version}-src.zip
http://files.luaforge.net/releases/icu-lua/icu-lua/${version}/ICU4Lua-${version}-docs.zip"
checksum="
04368e7f7573f7e0d9ca4d9f06d760234ae51199e6e7682701a0fc0cfb5cd677
d46449d77bc403e3258fd77e37de664148b0051fbd92a5d1c51b167370a26d02"
CFLAGS="-fPIC"
do_build() {
cp ${FILESDIR}/Makefile src
cp ${FILESDIR}/icu4lua.pc.in src
make -C src ${make_build_args} ${make_build_target}
}
do_install() {
make -C src VERSION=${version} DESTDIR=${DESTDIR} install
vdoc doc/index.html
}
icu4lua-devel_package() {
short_desc+=" - development files"
depends="${sourcepkg}>=${version}_${revision}"
pkg_install() {
vmove usr/share/doc
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.so"
}
}

View file

@ -1,2 +0,0 @@
site=http://files.luaforge.net/releases/icu-lua/icu-lua
pattern="\K[\d]+\.[\d][A-Z]+"

View file

@ -1,14 +1,14 @@
# Template file for 'kernel-libc-headers'
pkgname=kernel-libc-headers
version=6.1
version=6.14
revision=1
bootstrap=yes
short_desc="Linux API headers for userland development"
maintainer="Érico Nogueira <ericonr@disroot.org>"
license="GPL-2.0-only"
homepage="http://www.kernel.org"
distfiles="$KERNEL_SITE/kernel/v${version%%.*}.x/linux-${version}.tar.xz"
checksum=2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
distfiles="${KERNEL_SITE}/kernel/v${version%%.*}.x/linux-${version}.tar.xz"
checksum=a294b683e7b161bb0517bb32ec7ed1d2ea7603dfbabad135170ed12d00c47670
if [ "$CHROOT_READY" ]; then
hostmakedepends="perl"
@ -25,12 +25,11 @@ esac
do_build() {
make mrproper
make ARCH=${_arch} headers
# remove extra files and drm headers
find usr/include -name '.*' -delete
rm usr/include/Makefile
rm -rf usr/include/drm
make ARCH="${_arch}" headers
}
do_install() {
vcopy usr/include usr
# the make header_install depends on rsync so just do the same thing manuall.
vcopy usr/include usr
find "${DESTDIR}/usr/include" -type f ! -name '*.h' -delete
}

View file

@ -1,6 +1,6 @@
# Template file for 'limine'
pkgname=limine
version=9.2.1
version=9.2.2
revision=1
build_style=gnu-configure
configure_args="--enable-all TOOLCHAIN_FOR_TARGET=llvm"
@ -11,7 +11,7 @@ license="BSD-2-Clause"
homepage="https://limine-bootloader.org/"
changelog="https://raw.githubusercontent.com/limine-bootloader/limine/trunk/ChangeLog"
distfiles="https://github.com/limine-bootloader/limine/releases/download/v${version}/limine-${version}.tar.gz"
checksum=c87afc14c38a9569529249a41800c2e91e0f1ceeed1e4dfc830ac94bf9cfbefb
checksum=b83decd75effba101e4427b1efc81748cf73201c85be36e3795ca090f5f08083
post_install() {
vlicense COPYING

View file

@ -9,7 +9,7 @@ _desc="POSIX library for Lua programming language"
short_desc="${_desc} (5.4.x)"
maintainer="Orphaned <orphan@voidlinux.org>"
license="MIT"
homepage="http://luaforge.net/projects/luaposix/"
homepage="https://luaposix.github.io/luaposix/"
distfiles="https://github.com/luaposix/luaposix/archive/refs/tags/v${version}.tar.gz"
checksum=a4edf2f715feff65acb009e8d1689e57ec665eb79bc36a6649fae55eafd56809
lib32disabled=yes

View file

@ -0,0 +1,45 @@
From 55fb9a177316aa46c639d93dd0323d9a9a8c160c Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Wed, 9 Sep 2020 21:55:11 -0400
Subject: [PATCH] use new SYS_faccessat2 syscall to implement faccessat with
flags
commit 0a05eace163cee9b08571d2ff9d90f5e82d9c228 implemented AT_EACCESS
for faccessat with a horrible hack, creating a child process to change
switch uid/gid and perform the access probe without making potentially
irreversible changes to the caller's credentials. this was due to the
syscall lacking a flags argument.
linux 5.8 introduced a new syscall, SYS_faccessat2, fixing this
deficiency. use it if any flags are passed, and fallback to the old
strategy on ENOSYS. continue using the old syscall when there are no
flags.
---
src/unistd/faccessat.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/unistd/faccessat.c b/src/unistd/faccessat.c
index 76bbd4c72..557503eb6 100644
--- a/src/unistd/faccessat.c
+++ b/src/unistd/faccessat.c
@@ -25,12 +25,17 @@ static int checker(void *p)
int faccessat(int fd, const char *filename, int amode, int flag)
{
- if (!flag || (flag==AT_EACCESS && getuid()==geteuid() && getgid()==getegid()))
- return syscall(SYS_faccessat, fd, filename, amode, flag);
+ if (flag) {
+ int ret = __syscall(SYS_faccessat2, fd, filename, amode, flag);
+ if (ret != -ENOSYS) return __syscall_ret(ret);
+ }
- if (flag != AT_EACCESS)
+ if (flag & ~AT_EACCESS)
return __syscall_ret(-EINVAL);
+ if (!flag || (getuid()==geteuid() && getgid()==getegid()))
+ return syscall(SYS_faccessat, fd, filename, amode);
+
char stack[1024];
sigset_t set;
pid_t pid;

View file

@ -0,0 +1,370 @@
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -287,4 +287,21 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 4434
+#define __NR_clone3 4435
+#define __NR_close_range 4436
+#define __NR_openat2 4437
+#define __NR_pidfd_getfd 4438
+#define __NR_faccessat2 4439
+#define __NR_process_madvise 4440
+#define __NR_epoll_pwait2 4441
+#define __NR_mount_setattr 4442
+#define __NR_landlock_create_ruleset 4444
+#define __NR_landlock_add_rule 4445
+#define __NR_landlock_restrict_self 4446
+#define __NR_process_mrelease 4448
+#define __NR_futex_waitv 4449
+#define __NR_set_mempolicy_home_node 4450
+#define __NR_cachestat 4451
+#define __NR_fchmodat2 4452
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -387,6 +387,23 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -424,4 +424,22 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_memfd_secret 447
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
--- a/arch/m68k/bits/syscall.h.in
+++ b/arch/m68k/bits/syscall.h.in
@@ -404,3 +404,21 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
+
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -425,4 +425,21 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -406,4 +406,21 @@
#define __NR_fsconfig 4431
#define __NR_fsmount 4432
#define __NR_fspick 4433
+#define __NR_pidfd_open 4434
+#define __NR_clone3 4435
+#define __NR_close_range 4436
+#define __NR_openat2 4437
+#define __NR_pidfd_getfd 4438
+#define __NR_faccessat2 4439
+#define __NR_process_madvise 4440
+#define __NR_epoll_pwait2 4441
+#define __NR_mount_setattr 4442
+#define __NR_landlock_create_ruleset 4444
+#define __NR_landlock_add_rule 4445
+#define __NR_landlock_restrict_self 4446
+#define __NR_process_mrelease 4448
+#define __NR_futex_waitv 4449
+#define __NR_set_mempolicy_home_node 4450
+#define __NR_cachestat 4451
+#define __NR_fchmodat2 4452
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -336,4 +336,21 @@
#define __NR_fsconfig 5431
#define __NR_fsmount 5432
#define __NR_fspick 5433
+#define __NR_pidfd_open 5434
+#define __NR_clone3 5435
+#define __NR_close_range 5436
+#define __NR_openat2 5437
+#define __NR_pidfd_getfd 5438
+#define __NR_faccessat2 5439
+#define __NR_process_madvise 5440
+#define __NR_epoll_pwait2 5441
+#define __NR_mount_setattr 5442
+#define __NR_landlock_create_ruleset 5444
+#define __NR_landlock_add_rule 5445
+#define __NR_landlock_restrict_self 5446
+#define __NR_process_mrelease 5448
+#define __NR_futex_waitv 5449
+#define __NR_set_mempolicy_home_node 5450
+#define __NR_cachestat 5451
+#define __NR_fchmodat2 5452
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -360,4 +360,21 @@
#define __NR_fsconfig 6431
#define __NR_fsmount 6432
#define __NR_fspick 6433
+#define __NR_pidfd_open 6434
+#define __NR_clone3 6435
+#define __NR_close_range 6436
+#define __NR_openat2 6437
+#define __NR_pidfd_getfd 6438
+#define __NR_faccessat2 6439
+#define __NR_process_madvise 6440
+#define __NR_epoll_pwait2 6441
+#define __NR_mount_setattr 6442
+#define __NR_landlock_create_ruleset 6444
+#define __NR_landlock_add_rule 6445
+#define __NR_landlock_restrict_self 6446
+#define __NR_process_mrelease 6448
+#define __NR_futex_waitv 6449
+#define __NR_set_mempolicy_home_node 6450
+#define __NR_cachestat 6451
+#define __NR_fchmodat2 6452
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -309,4 +309,21 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -413,4 +413,21 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
--- a/arch/riscv64/bits/syscall.h.in
+++ b/arch/riscv64/bits/syscall.h.in
@@ -287,6 +287,23 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
#define __NR_sysriscv __NR_arch_specific_syscall
#define __NR_riscv_flush_icache (__NR_sysriscv + 15)
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -350,4 +350,22 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_memfd_secret 447
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
--- a/arch/sh/bits/syscall.h.in
+++ b/arch/sh/bits/syscall.h.in
@@ -397,4 +397,21 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -296,6 +296,24 @@
#define __NR_fsconfig (0x40000000 + 431)
#define __NR_fsmount (0x40000000 + 432)
#define __NR_fspick (0x40000000 + 433)
+#define __NR_pidfd_open (0x40000000 + 434)
+#define __NR_clone3 (0x40000000 + 435)
+#define __NR_close_range (0x40000000 + 436)
+#define __NR_openat2 (0x40000000 + 437)
+#define __NR_pidfd_getfd (0x40000000 + 438)
+#define __NR_faccessat2 (0x40000000 + 439)
+#define __NR_process_madvise (0x40000000 + 440)
+#define __NR_epoll_pwait2 (0x40000000 + 441)
+#define __NR_mount_setattr (0x40000000 + 442)
+#define __NR_landlock_create_ruleset (0x40000000 + 444)
+#define __NR_landlock_add_rule (0x40000000 + 445)
+#define __NR_landlock_restrict_self (0x40000000 + 446)
+#define __NR_memfd_secret (0x40000000 + 447)
+#define __NR_process_mrelease (0x40000000 + 448)
+#define __NR_futex_waitv (0x40000000 + 449)
+#define __NR_set_mempolicy_home_node (0x40000000 + 450)
+#define __NR_cachestat (0x40000000 + 451)
+#define __NR_fchmodat2 (0x40000000 + 452)
#define __NR_rt_sigaction (0x40000000 + 512)
#define __NR_rt_sigreturn (0x40000000 + 513)
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -343,4 +343,22 @@
#define __NR_fsconfig 431
#define __NR_fsmount 432
#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_memfd_secret 447
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452

View file

@ -0,0 +1,201 @@
From b817541f1cfd38e4b81257b3215e276ea9d0fc61 Mon Sep 17 00:00:00 2001
From: Duncan Bellamy <dunk@denkimushi.com>
Date: Wed, 31 Aug 2022 20:07:34 +0100
Subject: [PATCH] add statx interface using syscall, fallback to fstatat
---
include/sys/stat.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++
src/linux/statx.c | 42 +++++++++++++++++++++++++++++++++++
2 files changed, 97 insertions(+)
create mode 100644 src/linux/statx.c
diff --git a/include/sys/stat.h b/include/sys/stat.h
index e6d0049c..6690192d 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -18,6 +18,13 @@ extern "C" {
#define __NEED_blkcnt_t
#define __NEED_struct_timespec
+#ifdef _GNU_SOURCE
+#define __NEED_int64_t
+#define __NEED_uint64_t
+#define __NEED_uint32_t
+#define __NEED_uint16_t
+#endif
+
#include <bits/alltypes.h>
#include <bits/stat.h>
@@ -98,6 +105,54 @@ int lchmod(const char *, mode_t);
#define S_IEXEC S_IXUSR
#endif
+#if defined(_GNU_SOURCE)
+#define STATX_TYPE 1U
+#define STATX_MODE 2U
+#define STATX_NLINK 4U
+#define STATX_UID 8U
+#define STATX_GID 0x10U
+#define STATX_ATIME 0x20U
+#define STATX_MTIME 0x40U
+#define STATX_CTIME 0x80U
+#define STATX_INO 0x100U
+#define STATX_SIZE 0x200U
+#define STATX_BLOCKS 0x400U
+#define STATX_BASIC_STATS 0x7ffU
+#define STATX_BTIME 0x800U
+#define STATX_ALL 0xfffU
+
+struct statx_timestamp {
+ int64_t tv_sec;
+ uint32_t tv_nsec, __pad;
+};
+
+struct statx {
+ uint32_t stx_mask;
+ uint32_t stx_blksize;
+ uint64_t stx_attributes;
+ uint32_t stx_nlink;
+ uint32_t stx_uid;
+ uint32_t stx_gid;
+ uint16_t stx_mode;
+ uint16_t __pad0[1];
+ uint64_t stx_ino;
+ uint64_t stx_size;
+ uint64_t stx_blocks;
+ uint64_t stx_attributes_mask;
+ struct statx_timestamp stx_atime;
+ struct statx_timestamp stx_btime;
+ struct statx_timestamp stx_ctime;
+ struct statx_timestamp stx_mtime;
+ uint32_t stx_rdev_major;
+ uint32_t stx_rdev_minor;
+ uint32_t stx_dev_major;
+ uint32_t stx_dev_minor;
+ uint64_t __pad1[14];
+};
+
+int statx(int, const char *__restrict, int, unsigned, struct statx *__restrict);
+#endif
+
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
#define stat64 stat
#define fstat64 fstat
diff --git a/src/linux/statx.c b/src/linux/statx.c
new file mode 100644
index 00000000..4616bff4
--- /dev/null
+++ b/src/linux/statx.c
@@ -0,0 +1,42 @@
+#define _GNU_SOURCE
+#include <sys/stat.h>
+#include <string.h>
+#include <syscall.h>
+#include <sys/sysmacros.h>
+#include <errno.h>
+
+int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct statx *restrict stx)
+{
+ int ret = __syscall(SYS_statx, dirfd, path, flags, mask, stx);
+
+#ifndef SYS_fstatat
+ return __syscall_ret(ret);
+#endif
+
+ if (ret != -ENOSYS) return __syscall_ret(ret);
+
+ struct stat st;
+ ret = fstatat(dirfd, path, &st, flags);
+ if (ret) return ret;
+
+ stx->stx_dev_major = major(st.st_dev);
+ stx->stx_dev_minor = minor(st.st_dev);
+ stx->stx_ino = st.st_ino;
+ stx->stx_mode = st.st_mode;
+ stx->stx_nlink = st.st_nlink;
+ stx->stx_uid = st.st_uid;
+ stx->stx_gid = st.st_gid;
+ stx->stx_size = st.st_size;
+ stx->stx_blksize = st.st_blksize;
+ stx->stx_blocks = st.st_blocks;
+ stx->stx_atime.tv_sec = st.st_atim.tv_sec;
+ stx->stx_atime.tv_nsec = st.st_atim.tv_nsec;
+ stx->stx_mtime.tv_sec = st.st_mtim.tv_sec;
+ stx->stx_mtime.tv_nsec = st.st_mtim.tv_nsec;
+ stx->stx_ctime.tv_sec = st.st_ctim.tv_sec;
+ stx->stx_ctime.tv_nsec = st.st_ctim.tv_nsec;
+ stx->stx_btime = (struct statx_timestamp){.tv_sec=0, .tv_nsec=0};
+ stx->stx_mask = STATX_BASIC_STATS;
+
+ return 0;
+}
From 251cbb6366403a056b39638264932c82d18ec610 Mon Sep 17 00:00:00 2001
From: Gabriel Ravier <gabravier@gmail.com>
Date: Fri, 13 Sep 2024 22:00:15 +0200
Subject: [PATCH] statx: fix ENOSYS emulation not setting stx_rdev_*
The current implementation of the statx function fails to set the
values of stx->stx_rdev_major and stx->stx_rdev_minor if the statx
syscall fails with ENOSYS and thus the statx function has to fall back
on fstatat-based emulation.
---
src/linux/statx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/linux/statx.c b/src/linux/statx.c
index 4616bff4a..5f6dde923 100644
--- a/src/linux/statx.c
+++ b/src/linux/statx.c
@@ -21,6 +21,8 @@ int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct
stx->stx_dev_major = major(st.st_dev);
stx->stx_dev_minor = minor(st.st_dev);
+ stx->stx_rdev_major = major(st.st_rdev);
+ stx->stx_rdev_minor = minor(st.st_rdev);
stx->stx_ino = st.st_ino;
stx->stx_mode = st.st_mode;
stx->stx_nlink = st.st_nlink;
From 4ca8c267768e371930ef7ec9593a5f8b44a7f810 Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Fri, 13 Sep 2024 17:08:11 -0400
Subject: [PATCH] statx: fix uninitialized attributes/mask in fallback path
commit b817541f1cfd38e4b81257b3215e276ea9d0fc61 introduced statx with
a fallback using fstatat, but failed to fill in stx_rdev_major/minor
and stx_attributes[_mask]. the rdev omission has been addressed
separately. rather than explicitly zeroing the attributes and their
mask, pre-fill the entire structure with zeros. this will also cover
the padding adjacent to stx_mode, in case it's ever used in the
future.
explicit zeroing of stx_btime is removed since, with this change, it
will already be pre-zeroed. as an aside, zeroing it was not strictly
necessary, since STATX_BASIC_STATS does not include STATX_BTIME and
thus does not indicate any validity for it.
---
src/linux/statx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/linux/statx.c b/src/linux/statx.c
index 5f6dde92..4fb96e4b 100644
--- a/src/linux/statx.c
+++ b/src/linux/statx.c
@@ -19,6 +19,7 @@ int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct
ret = fstatat(dirfd, path, &st, flags);
if (ret) return ret;
+ *stx = (struct statx){0};
stx->stx_dev_major = major(st.st_dev);
stx->stx_dev_minor = minor(st.st_dev);
stx->stx_rdev_major = major(st.st_rdev);
@@ -37,7 +38,6 @@ int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct
stx->stx_mtime.tv_nsec = st.st_mtim.tv_nsec;
stx->stx_ctime.tv_sec = st.st_ctim.tv_sec;
stx->stx_ctime.tv_nsec = st.st_ctim.tv_nsec;
- stx->stx_btime = (struct statx_timestamp){.tv_sec=0, .tv_nsec=0};
stx->stx_mask = STATX_BASIC_STATS;
return 0;

View file

@ -2,7 +2,7 @@
pkgname=musl
reverts="1.2.0_1"
version=1.1.24
revision=23
revision=24
archs="*-musl"
bootstrap=yes
build_style=gnu-configure

View file

@ -1,6 +1,6 @@
# Template file for 'opera'
pkgname=opera
version=116.0.5366.71
version=117.0.5408.93
revision=1
archs="x86_64"
create_wrksrc=yes
@ -10,7 +10,7 @@ maintainer="mobinmob <mobinmob@disroot.org>"
license="custom:Proprietary"
homepage="https://www.opera.com/computer"
distfiles="https://get.geo.opera.com/pub/opera/desktop/${version}/linux/opera-stable_${version}_amd64.rpm"
checksum=d6b15ab8cdd5288104d16fb408826175a1c9ed99ce8631ae59c238294212be7c
checksum=a094adf3865839270ee9967155c266d670c3f3bd00e986b4125eb57d814374e4
repository="nonfree"
nostrip=yes

View file

@ -314,6 +314,8 @@ replaces="
icecat-i18n-zh-CN<=78.6.1_1
icecat-i18n-zh-TW<=78.6.1_1
icecat<=78.6.1_1
icu4lua-devel<=0.2B_14
icu4lua<=0.2B_14
ilmbase-devel<=2.4.2_2
ilmbase<=2.4.2_2
ioquake3-rpi<=20130506_2