summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/abuild/APKBUILD12
-rw-r--r--system/abuild/inode.patch30
-rw-r--r--system/abuild/libarchive.patch41
-rw-r--r--system/abuild/noarch.patch31
-rw-r--r--system/adelie-base/APKBUILD13
-rw-r--r--system/easy-kernel/APKBUILD19
-rw-r--r--system/easy-kernel/config-pmmx10
-rw-r--r--system/easy-kernel/config-ppc24
-rw-r--r--system/easy-kernel/config-ppc6418
-rw-r--r--system/musl/0001-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch38
-rw-r--r--system/musl/0002-iconv-harden-UTF-8-output-code-path-against-input-de.patch37
-rw-r--r--system/musl/APKBUILD11
-rw-r--r--system/musl/ppc-hwcap.patch36
-rw-r--r--system/ncurses/APKBUILD1
-rw-r--r--system/openssh/APKBUILD26
-rw-r--r--system/openssh/fix-utmpx.patch14
-rw-r--r--system/openssh/sftp-interactive.patch14
-rw-r--r--system/openssh/time64-seccomp.patch43
-rw-r--r--system/openssh/utmpx.patch103
-rw-r--r--system/rsync/APKBUILD11
-rw-r--r--system/ruby/APKBUILD4
-rw-r--r--user/aria2/APKBUILD71
-rw-r--r--user/aria2/aria2.conf61
-rw-r--r--user/aria2/aria2.confd10
-rw-r--r--user/aria2/aria2.initd42
-rw-r--r--user/aria2/aria2.logrotate6
-rw-r--r--user/aria2/aria2.pre-install7
-rw-r--r--user/dovecot/APKBUILD2
-rw-r--r--user/dovecot/dovecot.pre-install4
-rw-r--r--user/drm_info/APKBUILD26
-rw-r--r--user/exo/APKBUILD4
-rw-r--r--user/garcon/APKBUILD4
-rw-r--r--user/gdk-pixbuf/APKBUILD14
-rw-r--r--user/grub/0001-unmerged-usr.patch36
-rw-r--r--user/grub/0002-revert-gawk.patch2
-rw-r--r--user/grub/0003-spcr-revision.patch42
-rw-r--r--user/grub/0004-videoinfo-no-reinit.patch49
-rw-r--r--user/grub/0005-vsnprintf.patch35
-rw-r--r--user/grub/0006-cryptodisk-retval.patch37
-rw-r--r--user/grub/0007-efi_gop-shadow.patch37
-rw-r--r--user/grub/0008-efi-pure64.patch110
-rw-r--r--user/grub/0009-linux-mixed-mode.patch79
-rw-r--r--user/grub/0010-fix-gcc-no-pie-specs.patch2
-rw-r--r--user/grub/APKBUILD34
-rw-r--r--user/grub/grub2-accept-empty-module.patch2
-rw-r--r--user/grub/xfs.patch56
-rw-r--r--user/gspell/APKBUILD38
-rw-r--r--user/horizon/APKBUILD8
-rw-r--r--user/horizon/apm-disklabel.patch75
-rw-r--r--user/horizon/ppc32-apm.patch29
-rw-r--r--user/libglvnd/APKBUILD7
-rw-r--r--user/librsvg/APKBUILD3
-rw-r--r--user/libxfce4ui/APKBUILD4
-rw-r--r--user/libxfce4util/APKBUILD4
-rw-r--r--user/libxfce4windowing/APKBUILD36
-rw-r--r--user/libxpresent/APKBUILD35
-rw-r--r--user/lighttpd/APKBUILD4
-rw-r--r--user/linux-firmware/APKBUILD77
-rw-r--r--user/linux-firmware/linux-firmware-other.post-upgrade16
-rw-r--r--user/mailcap/APKBUILD22
-rw-r--r--user/mesa/APKBUILD2
-rw-r--r--user/mousepad/APKBUILD8
-rw-r--r--user/node/APKBUILD4
-rw-r--r--user/node/ppc-fixes-for-older-models-18.patch918
-rw-r--r--user/rdfind/APKBUILD35
-rw-r--r--user/seatd/APKBUILD15
-rw-r--r--user/seatd/seatd.confd12
-rw-r--r--user/seatd/seatd.initd14
-rw-r--r--user/thunar-volman/APKBUILD4
-rw-r--r--user/thunar/APKBUILD4
-rw-r--r--user/tumbler/APKBUILD4
-rw-r--r--user/tyrquake/APKBUILD46
-rw-r--r--user/tyrquake/tyrquake.initd14
-rw-r--r--user/tyrquake/tyrquake.pre-install6
-rw-r--r--user/weechat/APKBUILD6
-rw-r--r--user/wimlib/APKBUILD2
-rw-r--r--user/wimlib/header.patch31
-rw-r--r--user/xfburn/APKBUILD4
-rw-r--r--user/xfce-desktop/APKBUILD4
-rw-r--r--user/xfce4-appfinder/APKBUILD4
-rw-r--r--user/xfce4-cpugraph-plugin/APKBUILD4
-rw-r--r--user/xfce4-dev-tools/APKBUILD6
-rw-r--r--user/xfce4-dict/APKBUILD4
-rw-r--r--user/xfce4-notifyd/APKBUILD11
-rw-r--r--user/xfce4-panel/APKBUILD15
-rw-r--r--user/xfce4-power-manager/APKBUILD6
-rw-r--r--user/xfce4-pulseaudio-plugin/APKBUILD8
-rw-r--r--user/xfce4-screenshooter/APKBUILD8
-rw-r--r--user/xfce4-session/APKBUILD10
-rw-r--r--user/xfce4-settings/APKBUILD8
-rw-r--r--user/xfce4-taskmanager/APKBUILD4
-rw-r--r--user/xfconf/APKBUILD8
-rw-r--r--user/xfdesktop/APKBUILD9
-rw-r--r--user/xfwm4/APKBUILD13
-rw-r--r--user/xorg-server/APKBUILD4
-rw-r--r--user/xwayland/APKBUILD8
96 files changed, 2063 insertions, 866 deletions
diff --git a/system/abuild/APKBUILD b/system/abuild/APKBUILD
index 6c16562e1..e92435f73 100644
--- a/system/abuild/APKBUILD
+++ b/system/abuild/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=abuild
-pkgver=3.4.2
-pkgrel=3
+pkgver=3.5
+pkgrel=0
pkgdesc="Script to build APK packages"
url="https://git.adelielinux.org/adelie/abuild"
arch="all"
@@ -19,9 +19,7 @@ makedepends="$makedepends_host $makedepends_build"
subpackages="abuild-rootbld:_rootbld:noarch $pkgname-doc"
install="$pkgname.pre-install $pkgname.pre-upgrade"
source="https://distfiles.adelielinux.org/source/abuild-$pkgver.tar.xz
- inode.patch
keyhole.patch
- libarchive.patch
noarch.patch
"
@@ -56,8 +54,6 @@ _rootbld() {
mkdir -p "$subpkgdir"
}
-sha512sums="9bdeb31f54879878697b4a5436ec2bc7764e1b9840798e913ba3dd47c344437e362a3067b89440ca8a7940af1efcaa83a24e7c1077187f924bf73fb058f97fbf abuild-3.4.2.tar.xz
-53b0f2c15da767fbdde5a28b6f428943907e8752490ffae580e4a4198fea76fd71fc253a526c81bbbf17311ce3c72a563649a416ea0fda219a35cee50fcd46d1 inode.patch
+sha512sums="50e6ad1dfb033688a4a06bbb313db6bb90c0a2e7c47dbab30c1cd7f30520b782fdfd113babed8796104c415f096071a49feb8ab9e71286889d0ac79bb4acc039 abuild-3.5.tar.xz
757d750d4b5c88bf00774b64f2b93a9461e03f284d9423dc58c581e1309f276628de3114fcb510afd7c3cd55ceb721c1278e42756977c97ebe2597207805318d keyhole.patch
-2452a2b2ecf64bb6bfef1e71c35d39f02be1a5930ebd3e4c139156979b6c2249adcd4437c5c49f4af5b478f2a69529807fcbcd31ca01e6be6430165bcad74353 libarchive.patch
-5ba235c3f3c3c5cf8c8973ea8cc3fdf97364b5bb69c6e60b8738c3f0cf585868bcf77a0b05ff1a49879eec1ad5c37f28f5fe28f883643a44b3ba6c543616bbe7 noarch.patch"
+06542b3baca0a52d0a74c32683738ebe4bfc5c7c3fef867b3cbed5767cd4c5e1517a2174934320bd4184894f3462538a77ae2f4641dff8530c29a6fa0e8184a0 noarch.patch"
diff --git a/system/abuild/inode.patch b/system/abuild/inode.patch
deleted file mode 100644
index a3a7cef09..000000000
--- a/system/abuild/inode.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 9969ec002c408b616714a99a6317c7f996965dd4 Mon Sep 17 00:00:00 2001
-From: Samuel Holland <samuel@sholland.org>
-Date: Wed, 19 Jan 2022 02:35:19 -0600
-Subject: [PATCH] abuild: Correctly package files that fit in inode
-
-On filesystems such as XFS, abuild will skip small files and symlinks
-because the file fits in an inode and shows a size of 0.
-
-Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
-Acked-by: Zach van Rijn <me@zv.io>
----
- abuild.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/abuild.in b/abuild.in
-index 6bb087a..3e83563 100644
---- a/abuild.in
-+++ b/abuild.in
-@@ -927,7 +927,7 @@ prepare_metafiles() {
- sync;;
- esac
-
-- local size="$(du -sk | awk '{print $1 * 1024}')"
-+ local size="$(du -sk --apparent-size | awk '{print $1 * 1024}')"
-
- if [ "$arch" != "$apkbuild_arch" ]; then
- local msg="Split function set arch=\"$arch\" for $name, use subpackages=pkg:split:arch format instead"
---
-2.32.0 (Apple Git-132)
-
diff --git a/system/abuild/libarchive.patch b/system/abuild/libarchive.patch
deleted file mode 100644
index 7f0132971..000000000
--- a/system/abuild/libarchive.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 70943ead0e226e2db81f20867b11144e449b12c6 Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Sun, 20 Feb 2022 22:38:17 -0600
-Subject: [PATCH] abuild: Fix package building with libarchive >=3.6
-
-Now that we have sparse file support, libarchive wants to use it.
-
-APK doesn't support sparse file entries in tar files, so it fails to
-install any package made in this manner.
----
- abuild.in | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/abuild.in b/abuild.in
-index 3e83563..b0c0f9c 100644
---- a/abuild.in
-+++ b/abuild.in
-@@ -1503,7 +1503,9 @@ create_apks() {
- touch .dummy
- set -- .dummy
- fi
-- tar --format pax --xattrs -f - -c "$@" | abuild-tar --hash | $gzip -9 >"$dir"/data.tar.gz
-+ tar --no-read-sparse --format pax --xattrs -f - -c "$@" \
-+ | abuild-tar --hash \
-+ | $gzip -9 >"$dir"/data.tar.gz
-
- msg "Create checksum..."
- # append the hash for data.tar.gz
-@@ -1512,7 +1514,8 @@ create_apks() {
-
- # control.tar.gz
- cd "$dir"
-- tar --format pax -f - -c $(cat "$dir"/.metafiles) | abuild-tar --cut \
-+ tar --no-read-sparse --format pax -f - -c $(cat "$dir"/.metafiles) \
-+ | abuild-tar --cut \
- | $gzip -9 > control.tar.gz
- abuild-sign -q control.tar.gz || exit 1
-
---
-2.32.0 (Apple Git-132)
-
diff --git a/system/abuild/noarch.patch b/system/abuild/noarch.patch
index 8c61d32a6..d6e59d4db 100644
--- a/system/abuild/noarch.patch
+++ b/system/abuild/noarch.patch
@@ -2,7 +2,7 @@ diff --git a/abuild.in b/abuild.in
index b0c0f9c..a6a0fe1 100644
--- a/abuild.in
+++ b/abuild.in
-@@ -516,7 +516,7 @@ cleanpkg() {
+@@ -518,7 +518,7 @@ cleanpkg() {
rm -f "$REPODEST/$repo/src/$pkgname-$pkgver-r$pkgrel.src.tar.gz"
for i in $allpackages; do
subpkg_set "$i"
@@ -11,7 +11,7 @@ index b0c0f9c..a6a0fe1 100644
rm -f "$REPODEST/$repo/$subpkgarch/$subpkgname-$pkgver-r$pkgrel.apk"
done
subpkg_unset
-@@ -931,7 +931,7 @@ prepare_metafiles() {
+@@ -943,7 +943,7 @@ prepare_metafiles() {
if [ "$arch" != "$apkbuild_arch" ]; then
local msg="Split function set arch=\"$arch\" for $name, use subpackages=pkg:split:arch format instead"
@@ -20,7 +20,7 @@ index b0c0f9c..a6a0fe1 100644
warning "$msg"
subpkgarch="$arch"
fi
-@@ -1027,7 +1027,7 @@ prepare_metafiles() {
+@@ -1039,7 +1039,7 @@ prepare_metafiles() {
prepare_trace_rpaths() {
local dir="${subpkgdir:-$pkgdir}"
local etype= soname= file= sover=
@@ -29,7 +29,7 @@ index b0c0f9c..a6a0fe1 100644
options_has "!tracedeps" && return 0
# lets tell all the places we should look for .so files - all rpaths
scanelf --quiet --recursive --rpath "$dir" \
-@@ -1115,10 +1115,10 @@ is_openrc_pkg() {
+@@ -1137,10 +1137,10 @@ is_openrc_pkg() {
archcheck() {
options_has "!archcheck" && return 0
if dir_has_arch_binaries "${subpkgdir:-$pkgdir}"; then
@@ -42,7 +42,7 @@ index b0c0f9c..a6a0fe1 100644
# we dont want -dev package go to noarch
warning "No arch specific binaries found so arch should probably be set to \"noarch\""
fi
-@@ -1317,7 +1317,7 @@ scan_shared_objects() {
+@@ -1339,7 +1339,7 @@ scan_shared_objects() {
local name="$1" controldir="$2" datadir="$3"
local opt= i=
@@ -51,7 +51,7 @@ index b0c0f9c..a6a0fe1 100644
return 0
fi
-@@ -1520,7 +1520,7 @@ create_apks() {
+@@ -1542,7 +1542,7 @@ create_apks() {
abuild-sign -q control.tar.gz || exit 1
msg "Create $apk"
@@ -60,7 +60,7 @@ index b0c0f9c..a6a0fe1 100644
mkdir -p "$REPODEST"/$repo/$subpkgarch
cat control.tar.gz data.tar.gz > "$REPODEST"/$repo/$subpkgarch/$apk
)
-@@ -1562,7 +1562,7 @@ update_abuildrepo_index() {
+@@ -1590,7 +1590,7 @@ update_abuildrepo_index() {
# thinks they are for $CARCH and apk-tools will fetch them from
# correct URL path. Remainder of the script uses ${subpkgarch/noarch/$CARCH}
# when expanding to the target repository path.
@@ -69,7 +69,7 @@ index b0c0f9c..a6a0fe1 100644
list_has "$subpkgarch" "$allarch" || allarch="$allarch $subpkgarch"
done
subpkg_unset
-@@ -1856,7 +1856,7 @@ apk_up2date() {
+@@ -1936,7 +1936,7 @@ apk_up2date() {
local i s
for i in $allpackages; do
subpkg_set "$i"
@@ -78,7 +78,7 @@ index b0c0f9c..a6a0fe1 100644
if [ ! -f "$REPODEST/$repo/$subpkgarch/$subpkgname-$pkgver-r$pkgrel.apk" ]; then
subpkg_unset
return 1
-@@ -1872,7 +1872,7 @@ apk_up2date() {
+@@ -1952,7 +1952,7 @@ apk_up2date() {
else
s="$startdir/${i##*/}"
fi
@@ -87,7 +87,7 @@ index b0c0f9c..a6a0fe1 100644
if [ "$s" -nt "$REPODEST/$repo/$pkgarch/$pkgname-$pkgver-r$pkgrel.apk" ]; then
return 1
fi
-@@ -1886,7 +1886,7 @@ abuildindex_up2date() {
+@@ -1966,7 +1966,7 @@ abuildindex_up2date() {
for i in $allpackages; do
subpkg_set "$i"
@@ -96,7 +96,7 @@ index b0c0f9c..a6a0fe1 100644
local dir="$REPODEST"/$repo/$subpkgarch
local idx="$dir"/APKINDEX.tar.gz
local file="$dir"/$subpkgname-$pkgver-r$pkgrel.apk
-@@ -2253,7 +2253,7 @@ rootbld() {
+@@ -2335,7 +2335,7 @@ rootbld() {
stripbin() {
local bin
@@ -105,12 +105,11 @@ index b0c0f9c..a6a0fe1 100644
return 0
fi
cd "${subpkgdir:-$pkgdir}" || return 1
-@@ -2597,7 +2597,7 @@ fi
- export REPODEST SRCDEST
+@@ -2679,7 +2679,7 @@ fi
+ fi
# add dbg subpackage if its enabled globally
--if [ -n "$DEFAULT_DBG" ] && ! subpackage_types_has "dbg" && ! options_has "!dbg" && [ "$arch" != "noarch" ]; then
-+if [ -n "$DEFAULT_DBG" ] && ! subpackage_types_has "dbg" && ! options_has "!dbg" && ! list_has noarch "$arch"; then
+-if [ -n "$DEFAULT_DBG" ] && ! subpackage_types_has "dbg" && ! options_has "!dbg" && [ "$pkgarch" != "noarch" ]; then
++if [ -n "$DEFAULT_DBG" ] && ! subpackage_types_has "dbg" && ! options_has "!dbg" && ! list_has noarch "$pkgarch"; then
subpackages="$pkgname-dbg $subpackages"
fi
-
diff --git a/system/adelie-base/APKBUILD b/system/adelie-base/APKBUILD
index cc7d48397..bbb9d15c7 100644
--- a/system/adelie-base/APKBUILD
+++ b/system/adelie-base/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=adelie-base
-pkgver=0.9.7
+pkgver=0.9.8
pkgrel=0
pkgdesc="The Adélie Linux Base System"
url="https://www.adelielinux.org/"
@@ -18,7 +18,7 @@ depends="adelie-core binutils curl debianutils file gettys-openrc
makedepends=""
makedepends_host="$depends"
subpackages="adelie-core:core $pkgname-doc $pkgname-posix $pkgname-lsb dev
- dev-kit:devkit docs symbols"
+ dev-kit:devkit docs lang symbols"
provides="alpine-base"
source="https://distfiles.adelielinux.org/source/$pkgname/$pkgname-$pkgver.tar.xz
group
@@ -106,6 +106,13 @@ docs() {
return 0
}
+lang() {
+ depends=""
+ pkgdesc="Metapackage that will magically install all translations for your system"
+ mkdir -p "$subpkgdir"
+ return 0
+}
+
symbols() {
depends=""
pkgdesc="Metapackage that will magically install all debugging symbols for your system"
@@ -113,7 +120,7 @@ symbols() {
return 0
}
-sha512sums="897a4733c49bbb460ac815a95d812bc22f6d603ffebb4a5f4405be404cd526637191116e614d51377a1c2b322b44ac95c865cb1cfff6ec9d88c76eb6b5601888 adelie-base-0.9.7.tar.xz
+sha512sums="2f79f6bcd4239280ab10f7e46fb6a03187c74c3637be9010ac3708e1ffbca6dc4a8925ee904a988b9da82a4fe95bc76239807910f7083ec9fffc053646210d0b adelie-base-0.9.8.tar.xz
37260d9315fd8d8b0df3dfb5bd3e1035a47ba1e43f33aa195e3feca6d169da282c1b067ef4603e7e9acaedbfef8b58cf490c00bdca444d43c9d570355ad29eac group
33aca5423feadd02cce1ac5598ab26ce4f10f2e0d955d953c5ec12b61e605d92b25c2449aec224923bf8affb4fa918458ab67e4292a29c357ad15b74ebc68183 passwd
f2437ebfbc83aa6eaeec3a111aae98751215cebfaec3991ccc511be8c8938778ae46f15e07c7306bd431d036bc4ba49b33b724b839c125bd882d2e93c0314ae8 addgroup
diff --git a/system/easy-kernel/APKBUILD b/system/easy-kernel/APKBUILD
index a23937679..4653c349b 100644
--- a/system/easy-kernel/APKBUILD
+++ b/system/easy-kernel/APKBUILD
@@ -5,7 +5,7 @@ _kflavour=""
_patchver=2 # must match 1000-version.patch
_pkgname=easy-kernel$_kflavour
pkgver=6.6.58
-pkgrel=0
+pkgrel=1
pkgname=$_pkgname-$pkgver-mc$_patchver
pkgdesc="The Linux kernel, packaged for your convenience"
url="https://kernel.org/"
@@ -74,6 +74,17 @@ prepare() {
if [ -f $HOME/kernel_key.pem ]; then
cp $HOME/kernel_key.pem "$builddir"/certs/signing_key.pem
fi
+
+ # see #1316; note that the "|| true" is required to prevent failure
+ # if 'grep' matches no lines and has a nonzero return code
+ cd "$srcdir/linux-src"
+ _newconfig=$(make LDFLAGS="" listnewconfig | grep ^CONFIG_ || true)
+ if [ -n "${_newconfig}" ]; then
+ # the 'printf' is because 'error' doesn't accept '\n'
+ error ".config does not account for NEW options:";
+ printf "%s\n" "${_newconfig}";
+ return 1;
+ fi
}
build() {
@@ -167,9 +178,9 @@ sha512sums="458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6
c16e726450602b271802b74bcfced1e2373c21b7cea8108bb722f9b4abcad44ae6e135a26296d76ad869c554360d1e043d163934592e5899e4c9514f179ac094 config-aarch64
237b7eff4ecab68600497761eb3716c158f1f3fc6e55f70559189cd15ecc381017cb0017a44c766eb016b50d091410e590312d5eaebebb2e6e13495f5602281b config-armv7
af1495f11e7252ee65af2ce00b551b4715a9d663e1bf8cff1a1235ba922e7d0b9e90dcdacd469db1d7831d8580071f0f7fef24c89362afccde63058393d115f5 config-m68k
-9b3ca7e6f8b18374da0c58ff7fc9211a41a717e68eb87dc8f78af3fe8387fc03500cd5f4f66d2b8292b117d0067edfc89adf9370b323c5fd0ed7ec6d5616b1ff config-pmmx
-a4a2e4579a33d2720fb141d83f5a6f1b1b8be701cfee12a479a9b63021974159df7d5984a730dfa8da2e8e761d506ab6f5cce1d72b99ee577582bac7d2348cb0 config-ppc
-60116d4f5c454539d3c86538611bbcd683e46352419bcea1bb0c3f4e08e0915dff3053f80f600b54656eb12fa1f6ca818424ef91f59f0301ce71a0dc4b49a86f config-ppc64
+52d65ad133b66550e651b9165f647b094730e42d9d2e7036879f32b7c6f4f9c2320cddb0506efa832e7365156b70ed09cc66ed213bfbc67e94d60a916291e1aa config-pmmx
+fd1c8b0fa7bf0122fe670e54fa592ebb792415fba528011c83bdbfbbf16bd442339c9e1338214cb8e7522ac3ab51f45c1360dd3ce40607da902eb99ec03bc62d config-ppc
+95796cf8c2416d12fa61d72ffe1403b33f0b35dead111c94cc6835d74586761ec47b562ad1516a917a5411de043164daf13a35b5d86ee03266db2a0b146d507b config-ppc64
17a07b7563acba1f5b99b9055198f5f93e7c65432ec46c35fa6c2b5307107ad9d4e8ffea9800f50cf8a8445b69561b9a95ba1ac8cd5bb2b6814dab540edb17d4 config-sparc64
137b549a61a241c21f956c9f13f476858bbffd4b393a3630e39d7c810f25d71cdcfd5307788c5c40fb3a92552ee1081f06ccb2379a9c0868ce25cb36f31cbda2 config-x86_64
1ca1bc094a8106b33176ab6cfb55c9514e7d69f1ed30c580eee419a3c422a2e6625d71c4581702e911f36c4bbac175010f46b7123bb81fda3303d4decdc57287 kernel.h
diff --git a/system/easy-kernel/config-pmmx b/system/easy-kernel/config-pmmx
index 7597f52a0..db5fe789c 100644
--- a/system/easy-kernel/config-pmmx
+++ b/system/easy-kernel/config-pmmx
@@ -3510,12 +3510,12 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_SENTELIC is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_PS2_OLPC is not set
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+CONFIG_MOUSE_PS2_TOUCHKIT=y
+CONFIG_MOUSE_PS2_OLPC=y
CONFIG_MOUSE_PS2_FOCALTECH=y
-# CONFIG_MOUSE_PS2_VMMOUSE is not set
+CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=m
CONFIG_MOUSE_BCM5974=m
diff --git a/system/easy-kernel/config-ppc b/system/easy-kernel/config-ppc
index 86965b861..717fc60c3 100644
--- a/system/easy-kernel/config-ppc
+++ b/system/easy-kernel/config-ppc
@@ -7,9 +7,9 @@ CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=130300
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
-CONFIG_AS_VERSION=24200
+CONFIG_AS_VERSION=24301
CONFIG_LD_IS_BFD=y
-CONFIG_LD_VERSION=24200
+CONFIG_LD_VERSION=24301
CONFIG_LLD_VERSION=0
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
@@ -595,7 +595,7 @@ CONFIG_OLD_SIGSUSPEND=y
CONFIG_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
-CONFIG_VMAP_STACK=y
+# CONFIG_VMAP_STACK is not set
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
@@ -4832,11 +4832,11 @@ CONFIG_DRM_ARCPGU=m
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_GM12U320 is not set
-CONFIG_DRM_OFDRM=m
+# CONFIG_DRM_OFDRM is not set
CONFIG_DRM_SIMPLEDRM=m
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
-CONFIG_DRM_LEGACY=y
+# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m
#
@@ -4848,7 +4848,7 @@ CONFIG_FB_MACMODES=y
CONFIG_FB_CIRRUS=m
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
-CONFIG_FB_OF=m
+CONFIG_FB_OF=y
CONFIG_FB_CONTROL=y
CONFIG_FB_PLATINUM=y
CONFIG_FB_VALKYRIE=y
@@ -4859,10 +4859,7 @@ CONFIG_FB_IMSTT=y
CONFIG_FB_UVESA=m
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
-CONFIG_FB_NVIDIA=m
-CONFIG_FB_NVIDIA_I2C=y
-# CONFIG_FB_NVIDIA_DEBUG is not set
-CONFIG_FB_NVIDIA_BACKLIGHT=y
+# CONFIG_FB_NVIDIA is not set
CONFIG_FB_RIVA=m
# CONFIG_FB_RIVA_I2C is not set
# CONFIG_FB_RIVA_DEBUG is not set
@@ -4873,10 +4870,7 @@ CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
# CONFIG_FB_MATROX_I2C is not set
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
+# CONFIG_FB_RADEON is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=m
@@ -4967,7 +4961,7 @@ CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
+CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
diff --git a/system/easy-kernel/config-ppc64 b/system/easy-kernel/config-ppc64
index aa02a42fc..4b51a8c09 100644
--- a/system/easy-kernel/config-ppc64
+++ b/system/easy-kernel/config-ppc64
@@ -7,9 +7,9 @@ CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=130300
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
-CONFIG_AS_VERSION=24200
+CONFIG_AS_VERSION=24301
CONFIG_LD_IS_BFD=y
-CONFIG_LD_VERSION=24200
+CONFIG_LD_VERSION=24301
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
@@ -2151,7 +2151,7 @@ CONFIG_SCSI_SNIC=m
# CONFIG_SCSI_SNIC_DEBUG_FS is not set
CONFIG_SCSI_DMX3191D=m
# CONFIG_SCSI_FDOMAIN_PCI is not set
-CONFIG_SCSI_IPS=y
+CONFIG_SCSI_IPS=m
CONFIG_SCSI_IBMVSCSI=y
CONFIG_SCSI_INITIO=m
CONFIG_SCSI_INIA100=m
@@ -4630,7 +4630,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_GM12U320 is not set
-CONFIG_DRM_OFDRM=m
+# CONFIG_DRM_OFDRM is not set
CONFIG_DRM_SIMPLEDRM=m
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
@@ -4641,11 +4641,11 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m
# Frame buffer Devices
#
CONFIG_FB=y
-CONFIG_FB_MACMODES=m
+CONFIG_FB_MACMODES=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
-CONFIG_FB_OF=m
+CONFIG_FB_OF=y
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
@@ -4656,10 +4656,7 @@ CONFIG_FB_OF=m
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_MATROX is not set
-CONFIG_FB_RADEON=m
-CONFIG_FB_RADEON_I2C=y
-CONFIG_FB_RADEON_BACKLIGHT=y
-# CONFIG_FB_RADEON_DEBUG is not set
+# CONFIG_FB_RADEON is not set
CONFIG_FB_ATY128=m
CONFIG_FB_ATY128_BACKLIGHT=y
# CONFIG_FB_ATY is not set
@@ -4689,7 +4686,6 @@ CONFIG_FB_CORE=y
CONFIG_FB_NOTIFY=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DEVICE=y
-CONFIG_FB_DDC=m
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
diff --git a/system/musl/0001-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch b/system/musl/0001-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch
new file mode 100644
index 000000000..ff92d8ef9
--- /dev/null
+++ b/system/musl/0001-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch
@@ -0,0 +1,38 @@
+From e5adcd97b5196e29991b524237381a0202a60659 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Sun, 9 Feb 2025 10:07:19 -0500
+Subject: [PATCH] iconv: fix erroneous input validation in EUC-KR decoder
+
+as a result of incorrect bounds checking on the lead byte being
+decoded, certain invalid inputs which should produce an encoding
+error, such as "\xc8\x41", instead produced out-of-bounds loads from
+the ksc table.
+
+in a worst case, the loaded value may not be a valid unicode scalar
+value, in which case, if the output encoding was UTF-8, wctomb would
+return (size_t)-1, causing an overflow in the output pointer and
+remaining buffer size which could clobber memory outside of the output
+buffer.
+
+bug report was submitted in private by Nick Wellnhofer on account of
+potential security implications.
+---
+ src/locale/iconv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/locale/iconv.c b/src/locale/iconv.c
+index 9605c8e9..008c93f0 100644
+--- a/src/locale/iconv.c
++++ b/src/locale/iconv.c
+@@ -502,7 +502,7 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
+ if (c >= 93 || d >= 94) {
+ c += (0xa1-0x81);
+ d += 0xa1;
+- if (c >= 93 || c>=0xc6-0x81 && d>0x52)
++ if (c > 0xc6-0x81 || c==0xc6-0x81 && d>0x52)
+ goto ilseq;
+ if (d-'A'<26) d = d-'A';
+ else if (d-'a'<26) d = d-'a'+26;
+--
+2.21.0
+
diff --git a/system/musl/0002-iconv-harden-UTF-8-output-code-path-against-input-de.patch b/system/musl/0002-iconv-harden-UTF-8-output-code-path-against-input-de.patch
new file mode 100644
index 000000000..d66e66e3f
--- /dev/null
+++ b/system/musl/0002-iconv-harden-UTF-8-output-code-path-against-input-de.patch
@@ -0,0 +1,37 @@
+From c47ad25ea3b484e10326f933e927c0bc8cded3da Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Wed, 12 Feb 2025 17:06:30 -0500
+Subject: [PATCH] iconv: harden UTF-8 output code path against input decoder
+ bugs
+
+the UTF-8 output code was written assuming an invariant that iconv's
+decoders only emit valid Unicode Scalar Values which wctomb can encode
+successfully, thereby always returning a value between 1 and 4.
+
+if this invariant is not satisfied, wctomb returns (size_t)-1, and the
+subsequent adjustments to the output buffer pointer and remaining
+output byte count overflow, moving the output position backwards,
+potentially past the beginning of the buffer, without storing any
+bytes.
+---
+ src/locale/iconv.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/locale/iconv.c b/src/locale/iconv.c
+index 008c93f0..52178950 100644
+--- a/src/locale/iconv.c
++++ b/src/locale/iconv.c
+@@ -545,6 +545,10 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
+ if (*outb < k) goto toobig;
+ memcpy(*out, tmp, k);
+ } else k = wctomb_utf8(*out, c);
++ /* This failure condition should be unreachable, but
++ * is included to prevent decoder bugs from translating
++ * into advancement outside the output buffer range. */
++ if (k>4) goto ilseq;
+ *out += k;
+ *outb -= k;
+ break;
+--
+2.21.0
+
diff --git a/system/musl/APKBUILD b/system/musl/APKBUILD
index 9816d009e..5951328a1 100644
--- a/system/musl/APKBUILD
+++ b/system/musl/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=musl
pkgver=1.2.3
-pkgrel=1
+pkgrel=3
pkgdesc="System library (libc) implementation"
url="https://www.musl-libc.org/"
arch="all"
@@ -26,9 +26,13 @@ source="https://musl.libc.org/releases/musl-${pkgver}.tar.gz
3001-make-real-lastlog-h.patch
handle-aux-at_base.patch
fgetspent_r.patch
+ ppc-hwcap.patch
realpath.patch
signed-wchar_t-fixes.patch
+ 0001-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch
+ 0002-iconv-harden-UTF-8-output-code-path-against-input-de.patch
+
ldconfig
getent.c
iconv.c
@@ -41,6 +45,8 @@ source="https://musl.libc.org/releases/musl-${pkgver}.tar.gz
# - CVE-2019-14697
# 1.2.0-r2:
# - CVE-2020-28928
+# 1.2.3-r3:
+# - CVE-2025-26519
build() {
[ "$BOOTSTRAP" = "nocc" ] && return 0
@@ -125,8 +131,11 @@ f7b05d8c5f804ba3ad6998b3de5fa4d9dfceac4aca63dd67298c2d5f27cdd28a91eba74f6e428c25
88ae443dbb8e0a4368235bdc3a1c5c7b718495afa75e06deb8e01becc76cb1f0d6964589e2204fc749c9c1b3190b8b9ac1ae2c0099cab8e2ce3ec877103d4332 3001-make-real-lastlog-h.patch
1f4e9aea5a546015c75f77aa0dec10d56fc14831ccc15cf71ff27fc15ac5230ffeadb382ebe1c87c1ea07a462620e16ed01cd36252d997d1a9c2af11cb5c9ff3 handle-aux-at_base.patch
ded41235148930f8cf781538f7d63ecb0c65ea4e8ce792565f3649ee2523592a76b2a166785f0b145fc79f5852fd1fb1729a7a09110b3b8f85cba3912e790807 fgetspent_r.patch
+96d88bb9c03f6eddcfc22cbd04efa73535f4ab78409954a042a2e08294cc8df1fb2cb0475eadb92a7fa281229abaa600f034d3ef08e918c6016dbf9be1db28d9 ppc-hwcap.patch
d5ec3f1a86f2194e0af83c2391508811b939d0f8f2fd2ac5ac7f03774f8a250ce42399110d2ae04d32b864ee292863fed683a029b64598dbbcb21d9811a825d0 realpath.patch
3770af3bc961e5d5b8c152c428cd20dc54e026b23b31d764fbc2e71ee38140d160db2267755f23800bc8586fd4b51554b1caebb2415bef82fd0f4a6dd8bf640d signed-wchar_t-fixes.patch
+a69f77c4b4c7fefb543f5a1678f981b001c35cdb4c0bb2dfb56548eebc88e725330b9961a5435d11e6e1e3185b508f1fd5bf72e6aa67b708a8e8186c4b33392a 0001-iconv-fix-erroneous-input-validation-in-EUC-KR-decod.patch
+c4777d653007ea3e2af5e3edf7804e5b5562823e41543991b7c04843203a6e93c1e1e2c63b178c8ed2f89411040230268d8a83ebc3018ad199aad958587c0faf 0002-iconv-harden-UTF-8-output-code-path-against-input-de.patch
cb71d29a87f334c75ecbc911becde7be825ab30d8f39fa6d64cb53812a7c9abaf91d9804c72540e5be3ddd3c84cfe7fd9632274309005cb8bcdf9a9b09b4b923 ldconfig
378d70e65bcc65bb4e1415354cecfa54b0c1146dfb24474b69e418cdbf7ad730472cd09f6f103e1c99ba6c324c9560bccdf287f5889bbc3ef0bdf0e08da47413 getent.c
9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf iconv.c"
diff --git a/system/musl/ppc-hwcap.patch b/system/musl/ppc-hwcap.patch
new file mode 100644
index 000000000..3ebd5c42b
--- /dev/null
+++ b/system/musl/ppc-hwcap.patch
@@ -0,0 +1,36 @@
+From 2c788798c1f625c42e844311f5a5d2e19707d581 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Fri, 3 Jan 2025 13:36:33 -0600
+Subject: [PATCH] powerpc: Update HWCAP bits for Power10
+
+Linux kernel commit ee988c11acf6f9464b7b44e9a091bf6afb3b3a49 added two
+new HWCAP bits: one for ARCH_3_1, which is the Power10 ISA revision, and
+one for MMA, which is the optional Matrix Multiply Assist extension.
+---
+ arch/powerpc/bits/hwcap.h | 2 ++
+ arch/powerpc64/bits/hwcap.h | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/arch/powerpc/bits/hwcap.h b/arch/powerpc/bits/hwcap.h
+index 803de9b5..12981623 100644
+--- a/arch/powerpc/bits/hwcap.h
++++ b/arch/powerpc/bits/hwcap.h
+@@ -41,3 +41,5 @@
+ #define PPC_FEATURE2_DARN 0x00200000
+ #define PPC_FEATURE2_SCV 0x00100000
+ #define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000
++#define PPC_FEATURE2_ARCH_3_1 0x00040000
++#define PPC_FEATURE2_MMA 0x00020000
+diff --git a/arch/powerpc64/bits/hwcap.h b/arch/powerpc64/bits/hwcap.h
+index 803de9b5..12981623 100644
+--- a/arch/powerpc64/bits/hwcap.h
++++ b/arch/powerpc64/bits/hwcap.h
+@@ -41,3 +41,5 @@
+ #define PPC_FEATURE2_DARN 0x00200000
+ #define PPC_FEATURE2_SCV 0x00100000
+ #define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000
++#define PPC_FEATURE2_ARCH_3_1 0x00040000
++#define PPC_FEATURE2_MMA 0x00020000
+--
+2.40.0
+
diff --git a/system/ncurses/APKBUILD b/system/ncurses/APKBUILD
index 3b9da03fc..f3350bb00 100644
--- a/system/ncurses/APKBUILD
+++ b/system/ncurses/APKBUILD
@@ -9,6 +9,7 @@ arch="all"
options="!check" # "tests" are actual demo programs, not a test suite.
license="MIT"
depends=""
+makedepends_build="ncurses"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs
$pkgname-terminfo-base:base:noarch $pkgname-terminfo:terminfo:noarch"
source="https://invisible-mirror.net/archives/ncurses/current/$pkgname-$pkgver-$_ver.tgz"
diff --git a/system/openssh/APKBUILD b/system/openssh/APKBUILD
index 05c36455b..3c877c3c8 100644
--- a/system/openssh/APKBUILD
+++ b/system/openssh/APKBUILD
@@ -2,16 +2,16 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Horst Burkhardt <horst@adelielinux.org>
pkgname=openssh
-pkgver=9.4_p1
+pkgver=9.9_p2
_myver=${pkgver%_*}${pkgver#*_}
-pkgrel=0
+pkgrel=1
pkgdesc="Remote login tool using encrypted SSH protocol"
url="https://www.openssh.com/portable.html"
arch="all"
options="suid !check"
license="BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause"
depends="openssh-client openssh-sftp-server openssh-server"
-makedepends_build="linux-pam-dev gettext-tiny"
+makedepends_build="autoconf automake linux-pam-dev gettext-tiny"
makedepends_host="openssl-dev zlib-dev linux-headers linux-pam-dev
gettext-tiny-dev utmps-dev"
makedepends="$makedepends_build $makedepends_host"
@@ -26,13 +26,12 @@ subpackages="$pkgname-doc
source="https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$_myver.tar.gz
disable-forwarding-by-default.patch
- fix-utmpx.patch
- sftp-interactive.patch
- time64-seccomp.patch
+ utmpx.patch
sshd.initd
sshd.confd
"
+
# secfixes:
# 9.0_p1-r0:
# - CVE-2021-41617
@@ -53,6 +52,7 @@ source="https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$_myver.ta
builddir="$srcdir"/$pkgname-$_myver
build() {
+ autoreconf -vif
export LD="$CC"
LIBS="-lutmps -lskarnet" ./configure --build=$CBUILD \
--host=$CHOST \
@@ -65,7 +65,7 @@ build() {
--with-ldflags="${LDFLAGS}" \
--enable-lastlog \
--disable-strip \
- --enable-wtmp \
+ --enable-wtmpx \
--with-privsep-path=/var/empty \
--with-xauth=/usr/bin/xauth \
--with-privsep-user=sshd \
@@ -137,8 +137,12 @@ server() {
replaces="openssh-server-common"
install -d "$subpkgdir"/usr/sbin
- install -d "$subpkgdir"/etc/ssh
mv "$pkgdir"/usr/sbin/sshd "$subpkgdir"/usr/sbin/
+
+ install -d "$subpkgdir"/usr/lib/ssh
+ mv "$pkgdir"/usr/lib/ssh/sshd-session "$subpkgdir"/usr/lib/ssh/
+
+ install -d "$subpkgdir"/etc/ssh
mv "$pkgdir"/etc/ssh/sshd_config "$subpkgdir"/etc/ssh/
}
@@ -148,10 +152,8 @@ openrc() {
install_if="openssh-server=$pkgver-r$pkgrel openrc"
}
-sha512sums="0aaedeced7dbc70419c7245eb0e9db4ef570e0e7739b890ebae04d56da5fe8d147e8e150f3c943f60730976569e3ac6cc8da62ec7e2a78e2ef47d295ca0b1d25 openssh-9.4p1.tar.gz
+sha512sums="4c6d839aa3189cd5254c745f2bd51cd3f468b02f8e427b8d7a16b9ad017888a41178d2746dc51fb2d3fec5be00e54b9ab7c32c472ca7dec57a1dea4fc9840278 openssh-9.9p2.tar.gz
f3d5960572ddf49635d4edbdff45835df1b538a81840db169c36b39862e6fa8b0393ca90626000b758f59567ff6810b2537304098652483b3b31fb438a061de6 disable-forwarding-by-default.patch
-70bffa6c061a02dd790dbaa68cd0b488395aa2312039b037e1a707e8cf7465754bf376d943d351914b64044c074af7504e845de865dec45ea00d992c2bbb8925 fix-utmpx.patch
-34c0673f550e7afcd47eda4fe1da48fb42e5344c95ba8064c9c3c137fda9c43635b0f7b8145d0300f59c79f75a396ebd467afb54cdaa42aa251d624d0752dc84 sftp-interactive.patch
-ad5b209f7f3fff69c10bae34da143e071e107a2141eee94f393532d6bb04a36bfe6d9b5d2c08b713f67118503c38d11b4aad689df1df7c8a918d52db8326821d time64-seccomp.patch
+56543469db242699d8a04d0ba133b9ab0d980224035de57f70f773ca1593828cf4e41d3306f72b5ac95423f1e512bd6b92f69f86b847e05abfbd48737431104b utmpx.patch
964c0f8538ba25bdc9cdbd1467bbdfb2090e38492ff0ef7c64473785713fe26d752ea6a7b0ee7a0b34e08f4d3b4bccf6a69e6c456f0c57d0d0c581aa8a046936 sshd.initd
ce0abddbd2004891f88efd8522c4b37a4989290269fab339c0fa9aacc051f7fd3b20813e192e92e0e64315750041cb74012d4321260f4865ff69d7a935b259d4 sshd.confd"
diff --git a/system/openssh/fix-utmpx.patch b/system/openssh/fix-utmpx.patch
deleted file mode 100644
index d04742e2f..000000000
--- a/system/openssh/fix-utmpx.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- openssh-7.7p1/loginrec.c.old 2018-04-02 00:38:28.000000000 -0500
-+++ openssh-7.7p1/loginrec.c 2018-06-15 22:09:00.091482769 -0500
-@@ -1663,7 +1663,11 @@
- const char *ttyn)
- {
- int fd;
-+#if defined(USE_UTMPX)
-+ struct utmpx ut;
-+#else
- struct utmp ut;
-+#endif
- struct sockaddr_storage from;
- socklen_t fromlen = sizeof(from);
- struct sockaddr_in *a4;
diff --git a/system/openssh/sftp-interactive.patch b/system/openssh/sftp-interactive.patch
deleted file mode 100644
index e4b8967bf..000000000
--- a/system/openssh/sftp-interactive.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/sftp.c 2014-10-24 10:32:15.793544472 +0500
-+++ b/sftp.c 2014-10-24 10:35:22.329199875 +0500
-@@ -2243,8 +2243,10 @@
- signal(SIGINT, SIG_IGN);
-
- if (el == NULL) {
-- if (interactive)
-+ if (interactive) {
- printf("sftp> ");
-+ fflush(stdout);
-+ }
- if (fgets(cmd, sizeof(cmd), infile) == NULL) {
- if (interactive)
- printf("\n");
diff --git a/system/openssh/time64-seccomp.patch b/system/openssh/time64-seccomp.patch
deleted file mode 100644
index 9f9a8a247..000000000
--- a/system/openssh/time64-seccomp.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From b1c82f4b8adf3f42476d8a1f292df33fb7aa1a56 Mon Sep 17 00:00:00 2001
-From: Darren Tucker <dtucker@dtucker.net>
-Date: Wed, 13 Nov 2019 23:19:35 +1100
-Subject: [PATCH] seccomp: Allow clock_nanosleep() in sandbox.
-
-seccomp: Allow clock_nanosleep() to make OpenSSH working with latest
-glibc. Patch from Jakub Jelen <jjelen@redhat.com> via bz #3093.
-
-From 5af6fd5461bb709304e6979c8b7856c7af921c9e Mon Sep 17 00:00:00 2001
-From: Darren Tucker <dtucker@dtucker.net>
-Date: Mon, 16 Dec 2019 13:55:56 +1100
-Subject: [PATCH] Allow clock_nanosleep_time64 in seccomp sandbox.
-
-Needed on Linux ARM. bz#3100, patch from jjelen@redhat.com.
-
-From b110cefdfbf5a20f49b774a55062d6ded2fb6e22 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 7 Jan 2020 16:26:45 -0800
-Subject: [PATCH] seccomp: Allow clock_gettime64() in sandbox.
-
-This helps sshd accept connections on mips platforms with
-upcoming glibc ( 2.31 )
-
-diff --git a/sandbox-seccomp-filter.c b/sandbox-seccomp-filter.c
-index b5cda70bb..96ab141f7 100644
---- a/sandbox-seccomp-filter.c
-+++ b/sandbox-seccomp-filter.c
-@@ -242,6 +242,15 @@ static const struct sock_filter preauth_insns[] = {
- #ifdef __NR_nanosleep
- SC_ALLOW(__NR_nanosleep),
- #endif
-+#ifdef __NR_clock_nanosleep
-+ SC_ALLOW(__NR_clock_nanosleep),
-+#endif
-+#ifdef __NR_clock_nanosleep_time64
-+ SC_ALLOW(__NR_clock_nanosleep_time64),
-+#endif
-+#ifdef __NR_clock_gettime64
-+ SC_ALLOW(__NR_clock_gettime64),
-+#endif
- #ifdef __NR__newselect
- SC_ALLOW(__NR__newselect),
- #endif
diff --git a/system/openssh/utmpx.patch b/system/openssh/utmpx.patch
new file mode 100644
index 000000000..d3f24aa76
--- /dev/null
+++ b/system/openssh/utmpx.patch
@@ -0,0 +1,103 @@
+--- openssh-9.9p2/configure.ac.old 2025-02-18 02:15:08.000000000 -0600
++++ openssh-9.9p2/configure.ac 2025-02-18 20:57:12.172701096 -0600
+@@ -5449,7 +5449,9 @@
+ AC_MSG_CHECKING([if your system defines LASTLOG_FILE])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+-#include <utmp.h>
++#ifdef HAVE_UTMP_H
++# include <utmp.h>
++#endif
+ #ifdef HAVE_LASTLOG_H
+ # include <lastlog.h>
+ #endif
+@@ -5466,7 +5468,9 @@
+ AC_MSG_CHECKING([if your system defines _PATH_LASTLOG])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+-#include <utmp.h>
++#ifdef HAVE_UTMP_H
++# include <utmp.h>
++#endif
+ #ifdef HAVE_LASTLOG_H
+ # include <lastlog.h>
+ #endif
+@@ -5504,7 +5508,9 @@
+ AC_MSG_CHECKING([if your system defines UTMP_FILE])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+-#include <utmp.h>
++#ifdef HAVE_UTMP_H
++# include <utmp.h>
++#endif
+ #ifdef HAVE_PATHS_H
+ # include <paths.h>
+ #endif
+@@ -5534,7 +5540,9 @@
+ AC_MSG_CHECKING([if your system defines WTMP_FILE])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+-#include <utmp.h>
++#ifdef HAVE_UTMP_H
++# include <utmp.h>
++#endif
+ #ifdef HAVE_PATHS_H
+ # include <paths.h>
+ #endif
+@@ -5564,7 +5572,9 @@
+ AC_MSG_CHECKING([if your system defines WTMPX_FILE])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+-#include <utmp.h>
++#ifdef HAVE_UTMP_H
++# include <utmp.h>
++#endif
+ #ifdef HAVE_UTMPX_H
+ #include <utmpx.h>
+ #endif
+--- openssh-9.9p2/loginrec.c.old 2025-02-18 02:15:08.000000000 -0600
++++ openssh-9.9p2/loginrec.c 2025-02-18 21:01:26.034757676 -0600
+@@ -614,7 +614,7 @@
+ ** into account.
+ **/
+
+-#if defined(USE_BTMP) || defined(USE_UTMP) || defined (USE_WTMP) || defined (USE_LOGIN)
++#if defined(USE_UTMP) || defined (USE_WTMP) || defined (USE_LOGIN)
+
+ /* build the utmp structure */
+ void
+@@ -698,7 +698,7 @@
+ }
+ # endif
+ }
+-#endif /* USE_BTMP || USE_UTMP || USE_WTMP || USE_LOGIN */
++#endif /* USE_UTMP || USE_WTMP || USE_LOGIN */
+
+ /**
+ ** utmpx utility functions
+@@ -1644,7 +1644,13 @@
+ const char *ttyn)
+ {
+ int fd;
++#if defined(USE_UTMP)
+ struct utmp ut;
++#elif defined(USE_UTMPX)
++ struct utmpx ut;
++#else
++# error either UTMP or UTMPX must be present to use BTMP
++#endif
+ struct logininfo li;
+ socklen_t fromlen = sizeof(li.hostaddr);
+ time_t t;
+@@ -1681,7 +1687,11 @@
+ (void)getpeername(ssh_packet_get_connection_in(ssh),
+ &li.hostaddr.sa, &fromlen);
+ }
++#if defined(USE_UTMP)
+ construct_utmp(&li, &ut);
++#elif defined(USE_UTMPX)
++ construct_utmpx(&li, &ut);
++#endif
+
+ if (atomicio(vwrite, fd, &ut, sizeof(ut)) != sizeof(ut)) {
+ error("Failed to write to %s: %s", _PATH_BTMP,
diff --git a/system/rsync/APKBUILD b/system/rsync/APKBUILD
index b508f9b42..09fe1740c 100644
--- a/system/rsync/APKBUILD
+++ b/system/rsync/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=rsync
-pkgver=3.2.7
+pkgver=3.4.0
pkgrel=0
pkgdesc="File transfer program to keep remote files in sync"
url="https://rsync.samba.org/"
@@ -20,6 +20,13 @@ source="https://download.samba.org/pub/$pkgname/src/$pkgname-$pkgver.tar.gz
"
# secfixes:
+# 3.4.0-r0:
+# - CVE-2024-12747
+# - CVE-2024-12084
+# - CVE-2024-12085
+# - CVE-2024-12086
+# - CVE-2024-12087
+# - CVE-2024-12088
# 3.2.7-r0:
# - CVE-2022-29154
# 3.2.3-r0:
@@ -68,7 +75,7 @@ rrsync() {
install -D -m 755 "$builddir"/support/rrsync "$subpkgdir"/usr/bin/rrsync
}
-sha512sums="c2afba11a352fd88133f9e96e19d6df80eb864450c83eced13a7faa23df947bccf2ef093f2101df6ee30abff4cbbd39ac802e9aa5f726e42c9caff274fad8377 rsync-3.2.7.tar.gz
+sha512sums="4a0e7817e6e71e0173713ddd6b6bc7ee86237d092bd0a8c830a69f9993b76b5712a13a3ca60c7bbf42162cdc837df8783e07f8cd65c32fcb12c35f751043c56b rsync-3.4.0.tar.gz
638d87c9a753b35044f6321ccd09d2c0addaab3c52c40863eb6905905576b5268bec67b496df81225528c9e39fbd92e9225d7b3037ab1fda78508d452c78158f rsyncd.initd
c7527e289c81bee5e4c14b890817cdb47d14f0d26dd8dcdcbe85c7199cf27c57a0b679bdd1b115bfe00de77b52709cc5d97522a47f63c1bb5104f4a7220c9961 rsyncd.confd
3db8a2b364fc89132af6143af90513deb6be3a78c8180d47c969e33cb5edde9db88aad27758a6911f93781e3c9846aeadc80fffc761c355d6a28358853156b62 rsyncd.conf
diff --git a/system/ruby/APKBUILD b/system/ruby/APKBUILD
index 099a3cb5e..4c8ec8e3b 100644
--- a/system/ruby/APKBUILD
+++ b/system/ruby/APKBUILD
@@ -42,7 +42,7 @@
# - CVE-2020-8130
#
pkgname=ruby
-pkgver=3.3.5
+pkgver=3.4.1
_abiver="${pkgver%.*}.0"
pkgrel=0
pkgdesc="An object-oriented language for quick and easy programming"
@@ -274,7 +274,7 @@ _mvgem() {
done
}
-sha512sums="dd5c6a7f74854e143e0ca46b9d7c0d1983fc4886f5f733cd108345dbf4b21f61ad978ad6806e05a57b7af28fd9216dd38d7145808188bbb3695a7f3a4eda3883 ruby-3.3.5.tar.xz
+sha512sums="8d2e34117696f9debf463ae1eed288fdbb5c1a12e32800e901b69218e3b7302a0066052077e2ebca851e3a635296199bd5a10437eea1d6f787f69a77bb865680 ruby-3.4.1.tar.xz
a142199140fa711a64717429e9069fd2082319abaf4b129f561db374b3bc16e2a90cc4c849b5d28334505d1c71fed242aef3c44d983da3513d239dcb778673a5 rubygems-avoid-platform-specific-gems.patch
814fe6359505b70d8ff680adf22f20a74b4dbd3fecc9a63a6c2456ee9824257815929917b6df5394ed069a6869511b8c6dce5b95b4acbbb7867c1f3a975a0150 test_insns-lower-recursion-depth.patch
3ffc034c01110ee5531265333ca5ee8d61d08131843fe3004c5b34c88c9c1b32cb4ed89574f393177c8bd526e9c15da61ab344f93adf07b9148c561ee19e2eb5 fix-get_main_stack.patch"
diff --git a/user/aria2/APKBUILD b/user/aria2/APKBUILD
new file mode 100644
index 000000000..7d5a89150
--- /dev/null
+++ b/user/aria2/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Alice <alicela1n@protonmail.com>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Alice <alicela1n@protonmail.com>
+pkgname=aria2
+pkgver=1.37.0
+pkgrel=0
+pkgdesc="The ultra fast download utility"
+url="https://aria2.github.io/"
+arch="all"
+license="GPL-2.0+"
+depends="ca-certificates"
+checkdepends="cppunit-dev"
+makedepends="openssl-dev sqlite-dev libuv-dev"
+install="aria2.pre-install"
+pkgusers="aria2"
+pkggroups="aria2"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc::noarch"
+source="https://github.com/aria2/$pkgname/releases/download/release-$pkgver/$pkgname-$pkgver.tar.xz
+ $pkgname.conf
+ $pkgname.initd
+ $pkgname.confd
+ $pkgname.logrotate
+ "
+
+build() {
+ ./configure --build=$CBUILD \
+ --host=$CHOST \
+ --with-openssl \
+ --with-sqlite3 \
+ --with-libuv \
+ --enable-libaria2 \
+ --enable-shared \
+ --disable-static \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+openrc() {
+ default_openrc
+ pkgdesc="Support for running Aria2 as a daemon using OpenRC"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ mkdir -p "$subpkgdir"
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$subpkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$subpkgdir"/etc/conf.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.logrotate "$subpkgdir"/etc/logrotate.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.conf "$subpkgdir"/etc/$pkgname/$pkgname.conf
+ install -m750 -o aria2 -g aria2 -d "$subpkgdir"var/lib/$pkgname
+ install -m700 -o aria2 -g aria2 -d "$subpkgdir"/var/cache/$pkgname
+}
+
+sha512sums="df3b8b4de8fa8d78f203ea00c059e43585e18a229009f202e42e6a9e59db67d09df0dbba8a016e99ed73c82f59e4f8b26f86c2288afdbb96a6807cbe2c56e6b3 aria2-1.37.0.tar.xz
+dd716f27eae2628bd528fd2842de7881e8f8f00d587b179e832f1639241db5bd8f4e74a5b791ca4de984923654b38a28813a89ad49a864f64534903a46878a60 aria2.conf
+c65bef73a519b567ab35558bd60310081f5d4fcb630538666a5b2435f23dc9d741c7bfa6080e4ff46e646e977f4d5e8ba937ce9cdfb55880a3dc0eb1c2ee617a aria2.initd
+f1b5b66c00eeac4b332913d55441adb2ce7aa081f29ed030dc3c69c4767b68c4def6b7f16ea6d7ffbf149cee476df6878e35f8774eea300f241d4aca95e59ef6 aria2.confd
+2ed9ff7a5fd1801643e4fb3cdd8cb21f0ead60420c87636bb581fe00828a98a5290a0888e49f6a6becb9f39c3c145b1399aa3a9ae452eb10ac2064c0e7bca1f8 aria2.logrotate"
diff --git a/user/aria2/aria2.conf b/user/aria2/aria2.conf
new file mode 100644
index 000000000..abca1ea73
--- /dev/null
+++ b/user/aria2/aria2.conf
@@ -0,0 +1,61 @@
+# Run aria2c --help=#all to see all the available options.
+
+# The directory to store the downloaded file.
+dir=/var/lib/aria2
+
+# Save error/unfinished downloads to this file on exit.
+save-session=/var/lib/aria2/aria2.session
+input-file=/var/lib/aria2/aria2.session
+
+# Save error/unfinished downloads to a file specified by save-session option
+# every SEC seconds. If 0 is given, file will be saved only when aria2 exits.
+save-session-interval=60
+
+# Save download even if the download is completed or removed.
+force-save=true
+
+# Continue downloading a partially downloaded files. Only for HTTP/FTP.
+continue=true
+
+# Always resume download.
+always-resume=true
+
+# Set log level to output to file.
+# Possible Values: debug, info, notice, warn, error.
+log-level=notice
+
+# Set interval to output download progress summary.
+# Setting 0 suppresses the output.
+summary-interval=0
+
+# File allocation method. "falloc" is the best choice for newer file systems
+# such as ext4, Btrfs or XFS.
+file-allocation=falloc
+
+
+## RPC
+
+# Specify a port number for JSON-RPC/XML-RPC server to listen to.
+#rpc-listen-port=6800
+
+# Listen incoming JSON-RPC/XML-RPC requests on all network interfaces.
+#rpc-listen-all=false
+
+# RPC secret authorization token. Change to some random string!
+rpc-secret=top-secret
+
+
+## BitTorrent
+
+# Specify the external IP address to use in BitTorrent download and DHT.
+#bt-external-ip=
+
+# TCP port number(s) for BitTorrent downloads.
+#listen-port=6881-6999
+
+# Requires BitTorrent message payload encryption with arc4.
+#bt-force-encryption=false
+
+# Maximum number of files to open in multi-file BitTorrent/Metalink
+# downloads globally.
+#bt-max-open-files=100
diff --git a/user/aria2/aria2.confd b/user/aria2/aria2.confd
new file mode 100644
index 000000000..8b20cb34d
--- /dev/null
+++ b/user/aria2/aria2.confd
@@ -0,0 +1,10 @@
+# Configuration for /etc/init.d/aria2
+
+# The user (and group) to run Aria2 daemon.
+#command_user="aria2"
+
+# Path of the configuration file.
+#cfgfile="/etc/aria2/aria2.conf"
+
+# Path of the log file.
+#logfile="/var/log/aria2.log"
diff --git a/user/aria2/aria2.initd b/user/aria2/aria2.initd
new file mode 100644
index 000000000..a23b6eb0d
--- /dev/null
+++ b/user/aria2/aria2.initd
@@ -0,0 +1,42 @@
+#!/sbin/openrc-run
+
+: ${cfgfile:="/etc/aria2/aria2.conf"}
+: ${logfile:="/var/log/aria2.log"}
+: ${command_user:="aria2"}
+
+command="/usr/bin/aria2c"
+command_args="
+ --enable-rpc=true
+ --quiet=true
+ --log=$logfile
+ --conf-path=$cfgfile
+ ${command_args:-}"
+command_background="yes"
+
+pidfile="/run/$RC_SVCNAME.pid"
+output_log="/dev/null"
+error_log="/dev/null"
+start_stop_daemon_args="--env XDG_CACHE_HOME=/var/cache"
+
+required_files="$cfgfile"
+
+depend() {
+ need net
+ use dns netmount
+}
+
+start_pre() {
+ local _logfile=$(sed -En 's|^log=([^#]+)|\1|p' "$cfgfile")
+
+ checkpath -f -m 640 -o "$command_user" "${_logfile:-$logfile}"
+
+ # Session
+ local _inputfile=$(sed -En 's|^input-file=([^#]+)|\1|p' "$cfgfile")
+
+ if [ "$_inputfile" != "" ]; then
+ checkpath -f -m 644 -o "$command_user" "$_inputfile"
+ fi
+
+ # DHT
+ checkpath -d -m 755 -o "$command_user" "/var/cache/$command_user"
+}
diff --git a/user/aria2/aria2.logrotate b/user/aria2/aria2.logrotate
new file mode 100644
index 000000000..e73ffc044
--- /dev/null
+++ b/user/aria2/aria2.logrotate
@@ -0,0 +1,6 @@
+/var/log/aria2.log {
+ compress
+ copytruncate
+ missingok
+ notifempty
+}
diff --git a/user/aria2/aria2.pre-install b/user/aria2/aria2.pre-install
new file mode 100644
index 000000000..d819d3388
--- /dev/null
+++ b/user/aria2/aria2.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+groupadd -r aria2 2>/dev/null
+useradd -c aria2 -d /var/lib/aria2 -s /sbin/nologin -g aria2 \
+ -r aria2 2>/dev/null
+
+exit 0
diff --git a/user/dovecot/APKBUILD b/user/dovecot/APKBUILD
index 39890797a..b85f3a97e 100644
--- a/user/dovecot/APKBUILD
+++ b/user/dovecot/APKBUILD
@@ -10,7 +10,7 @@ case "$pkgver" in
*.*.*.*) _pkgvermajor=${pkgver%.*.*};;
*.*.*) _pkgvermajor=${pkgver%.*};;
esac
-pkgrel=0
+pkgrel=1
_pigeonholevel=0.5.21.1
pkgdesc="IMAP and POP3 server"
url="https://www.dovecot.org/"
diff --git a/user/dovecot/dovecot.pre-install b/user/dovecot/dovecot.pre-install
index 73a0aa3e3..0f6df4c75 100644
--- a/user/dovecot/dovecot.pre-install
+++ b/user/dovecot/dovecot.pre-install
@@ -2,7 +2,7 @@
groupadd -r dovecot 2>/dev/null
groupadd -r dovenull 2>/dev/null
-useradd -r -u 90 -h /dev/null -s /sbin/nologin -g dovecot dovecot 2>/dev/null
-useradd -r -u 91 -h /dev/null -s /sbin/nologin -g dovenull dovenull 2>/dev/null
+useradd -r -u 90 -d / -s /sbin/nologin -g dovecot dovecot 2>/dev/null
+useradd -r -u 91 -d / -s /sbin/nologin -g dovenull dovenull 2>/dev/null
exit 0
diff --git a/user/drm_info/APKBUILD b/user/drm_info/APKBUILD
new file mode 100644
index 000000000..2f367c1a4
--- /dev/null
+++ b/user/drm_info/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Ermine <mustela@erminea.space>
+pkgname=drm_info
+pkgver=2.7.0
+pkgrel=0
+pkgdesc="Small utility to dump info about DRM devices"
+url="https://gitlab.freedesktop.org/emersion/drm_info"
+license="MIT"
+arch="all"
+options="!check" # no test suite
+makedepends="meson libdrm-dev pciutils-dev json-c-dev scdoc"
+subpackages="$pkgname-doc"
+source="https://gitlab.freedesktop.org/emersion/drm_info/-/archive/v$pkgver/$pkgname-v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+build() {
+ meson setup \
+ -Dprefix=/usr \
+ output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C output
+}
+sha512sums="1eeaa103699655dd6b5d0e81e43c5422b843bb8cea991585047c3cc3e118b65c7dac4cef84155346df2c887ca57702a82e6fac202fe0146fe5280e3c83519ab8 drm_info-v2.7.0.tar.gz"
diff --git a/user/exo/APKBUILD b/user/exo/APKBUILD
index 3aac43a30..8e928d919 100644
--- a/user/exo/APKBUILD
+++ b/user/exo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=exo
-pkgver=4.18.0
+pkgver=4.20.0
pkgrel=0
pkgdesc="Support library for the XFCE desktop environment"
url="https://xfce.org"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="32f3a319ff31a37cdaf8e2e7bdbdbaa9b797d6731a27854838b47d6078f45af83ed1a664aef4663f616fd9abcae9233c6f68ab2cc18599f1b2ced487602c51ce exo-4.18.0.tar.bz2"
+sha512sums="7481f47bb0c8eb5cdc8d7db3e67c1cdaa81e3ef0833281b5380f3eab41e3c2f7112a22b37a3ce305a052b261444fd9f11c130150663deb1b4a220a998321284b exo-4.20.0.tar.bz2"
diff --git a/user/garcon/APKBUILD b/user/garcon/APKBUILD
index a6c7990bb..a3e99e3b6 100644
--- a/user/garcon/APKBUILD
+++ b/user/garcon/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=garcon
-pkgver=4.18.2
+pkgver=4.20.0
pkgrel=0
pkgdesc="freedesktop.org menu library for the XFCE desktop environment"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f74547a29dbf47469e9448ea0fb89a297d02c7a5d2f7ec1a1f05706f89160730e04743ce84de29de21f32a2d2e4e4410f6c12fd14777c65944529f5104973cee garcon-4.18.2.tar.bz2"
+sha512sums="5ed8b031cceb5943af56d006b05dc9f8ac28695a35d17a8f27f8bde1a0a75067fc4d307c87250a436d1b317f92d501f01ce4078b5c961e4e9daccd175f2f261a garcon-4.20.0.tar.bz2"
diff --git a/user/gdk-pixbuf/APKBUILD b/user/gdk-pixbuf/APKBUILD
index 7377083bb..e6268e4c9 100644
--- a/user/gdk-pixbuf/APKBUILD
+++ b/user/gdk-pixbuf/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=gdk-pixbuf
-pkgver=2.40.0
+pkgver=2.42.12
pkgrel=0
pkgdesc="GTK+ image loading library"
url="https://www.gtk.org/"
@@ -9,7 +9,7 @@ options="!check" # bug753605-atsize.jpg is missing from tarball.
license="LGPL-2.0+"
depends="shared-mime-info"
makedepends="glib-dev gobject-introspection-dev libjpeg-turbo-dev libpng-dev
- meson ninja python3 tiff-dev xmlto"
+ meson python3 py3-docutils tiff-dev xmlto"
install="$pkgname.pre-deinstall"
triggers="$pkgname.trigger=/usr/lib/gdk-pixbuf-2.0/*/loaders"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
@@ -22,19 +22,19 @@ source="https://download.gnome.org/sources/gdk-pixbuf/${pkgver%.*}/gdk-pixbuf-$p
# - CVE-2017-6314
build() {
- meson \
+ meson setup \
-Dprefix=/usr \
-Dinstalled_tests=false \
build
- ninja -C build
+ meson compile -C build
}
check() {
- ninja -C build test
+ meson test -C build
}
package() {
- DESTDIR="$pkgdir" ninja -C build install
+ DESTDIR="$pkgdir" meson install -C build
}
-sha512sums="6512befd379494dbfd89a16fc4c92641842eb7b82fc820ec83a5b057526209947db646570db1124c073b0ef69c117bdf0f8d3fea807e302a4950db39187c35aa gdk-pixbuf-2.40.0.tar.xz"
+sha512sums="ae9fcc9b4e8fd10a4c9bf34c3a755205dae7bbfe13fbc93ec4e63323dad10cc862df6a9e2e2e63c84ffa01c5e120a3be06ac9fad2a7c5e58d3dc6ba14d1766e8 gdk-pixbuf-2.42.12.tar.xz"
diff --git a/user/grub/0001-unmerged-usr.patch b/user/grub/0001-unmerged-usr.patch
deleted file mode 100644
index 93dd838c3..000000000
--- a/user/grub/0001-unmerged-usr.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From e641b4ab32f1724005ec8bf58214df86de7e81d9 Mon Sep 17 00:00:00 2001
-From: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
-Date: Mon, 10 Jul 2023 23:55:43 -0500
-Subject: util/grub.d/25_bli.in: Fix shebang on unmerged-usr
-
-On an unmerged-usr system, grub-mkconfig errors out with the following
-error due to /usr/bin/sh not existing:
-
- /usr/sbin/grub-mkconfig: /etc/grub.d/25_bli: /usr/bin/sh: bad interpreter: No such file or directory
-
-Use a /bin/sh shebang to fix the error as well as match the other
-existing files.
-
-Fixes: 158a6583e (util/grub.d/25_bli.in: Activate bli module on EFI)
-
-Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
-Reviewed-by: Glenn Washburn <development@efficientek.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-Reviewed-by: Oliver Steffen <osteffen@redhat.com>
----
- util/grub.d/25_bli.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/util/grub.d/25_bli.in b/util/grub.d/25_bli.in
-index 6e45387..26e27a0 100644
---- a/util/grub.d/25_bli.in
-+++ b/util/grub.d/25_bli.in
-@@ -1,4 +1,4 @@
--#!/usr/bin/sh
-+#! /bin/sh
- set -e
-
- # grub-mkconfig helper script.
---
-cgit v1.1
-
diff --git a/user/grub/0002-revert-gawk.patch b/user/grub/0002-revert-gawk.patch
index 565e22d6a..93ed3448d 100644
--- a/user/grub/0002-revert-gawk.patch
+++ b/user/grub/0002-revert-gawk.patch
@@ -6,7 +6,7 @@ We don't ship gawk, so we can't use asorti. The old way worked fine enough.
--- grub-2.12-rc1/grub-core/genmoddep.awk.old 2023-07-10 15:43:48.000000000 +0000
+++ grub-2.12-rc1/grub-core/genmoddep.awk 2023-10-01 07:52:03.407286373 +0000
-@@ -59,9 +59,7 @@
+@@ -63,9 +63,7 @@
}
modlist = ""
depcount[mod] = 0
diff --git a/user/grub/0003-spcr-revision.patch b/user/grub/0003-spcr-revision.patch
deleted file mode 100644
index 48b5e2f48..000000000
--- a/user/grub/0003-spcr-revision.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From b0890d371ca1e49877c45d696deb9102f1b605c3 Mon Sep 17 00:00:00 2001
-From: Glenn Washburn <development@efficientek.com>
-Date: Wed, 26 Jul 2023 16:02:36 -0500
-Subject: term/ns8250-spcr: Continue processing SPCR table even if revision is
- < 2
-
-According to commit 0231d00082 (ACPI: SPCR: Make SPCR available to x86)
-to the Linux kernel, "On x86, many systems have a valid SPCR table but the
-table version is not 2 so the table version check must be a warning."
-
-Signed-off-by: Glenn Washburn <development@efficientek.com>
-Reviewed-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/term/ns8250-spcr.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/grub-core/term/ns8250-spcr.c b/grub-core/term/ns8250-spcr.c
-index d101bff..d52b52c 100644
---- a/grub-core/term/ns8250-spcr.c
-+++ b/grub-core/term/ns8250-spcr.c
-@@ -18,6 +18,7 @@
-
- #if !defined(GRUB_MACHINE_IEEE1275) && !defined(GRUB_MACHINE_QEMU)
-
-+#include <grub/misc.h>
- #include <grub/serial.h>
- #include <grub/ns8250.h>
- #include <grub/types.h>
-@@ -34,7 +35,8 @@ grub_ns8250_spcr_init (void)
- if (spcr == NULL)
- return NULL;
- if (spcr->hdr.revision < 2)
-- return NULL;
-+ grub_dprintf ("serial", "SPCR table revision %d < 2, continuing anyway\n",
-+ (int) spcr->hdr.revision);
- if (spcr->intf_type != GRUB_ACPI_SPCR_INTF_TYPE_16550 &&
- spcr->intf_type != GRUB_ACPI_SPCR_INTF_TYPE_16550X)
- return NULL;
---
-cgit v1.1
-
diff --git a/user/grub/0004-videoinfo-no-reinit.patch b/user/grub/0004-videoinfo-no-reinit.patch
deleted file mode 100644
index c3877bf07..000000000
--- a/user/grub/0004-videoinfo-no-reinit.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 1de58326994b0045ccfb28017d05fc1ddecdb92d Mon Sep 17 00:00:00 2001
-From: Glenn Washburn <development@efficientek.com>
-Date: Fri, 11 Aug 2023 16:30:04 -0500
-Subject: commands/videoinfo: Prevent crash when run while video driver already
- active
-
-The videoinfo command will initialize all non-active video adapters. Video
-drivers tend to zero out the global framebuffer object on initialization.
-This is not a problem when there is no active video adapter. However, when
-there is, then outputting to the video adapter will cause a crash because
-methods in the framebuffer object are reinitialized. For example, this
-command sequence will cause a crash.
-
- terminal_output --append gfxterm; videoinfo
-
-When running in a QEMU headless with GRUB built for the x86_64-efi target,
-the first command initializes the Bochs video adapter, which, among
-other things, sets the set_page() member function. Then when videoinfo is
-run, all non-Bochs video adapters will be initialized, each one wiping
-the framebuffer and thus setting set_page to NULL. Soon after the videoinfo
-command finishes there will be a call to grub_refresh(), which will
-ultimately call the framebuffer's set_page which will be NULL and cause
-a crash when called.
-
-Signed-off-by: Glenn Washburn <development@efficientek.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/commands/videoinfo.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/grub-core/commands/videoinfo.c b/grub-core/commands/videoinfo.c
-index 5eb9697..205ba78 100644
---- a/grub-core/commands/videoinfo.c
-+++ b/grub-core/commands/videoinfo.c
-@@ -191,6 +191,11 @@ grub_cmd_videoinfo (grub_command_t cmd __attribute__ ((unused)),
- /* Don't worry about errors. */
- grub_errno = GRUB_ERR_NONE;
- }
-+ else if (id != GRUB_VIDEO_DRIVER_NONE)
-+ {
-+ grub_puts_ (N_(" A video driver is active, cannot initialize this driver until it is deactivated\n"));
-+ continue;
-+ }
- else
- {
- if (adapter->init ())
---
-cgit v1.1
-
diff --git a/user/grub/0005-vsnprintf.patch b/user/grub/0005-vsnprintf.patch
deleted file mode 100644
index 88c3e0f09..000000000
--- a/user/grub/0005-vsnprintf.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 14c95e57fddb6c826bee7755232de62efc8eb45b Mon Sep 17 00:00:00 2001
-From: Glenn Washburn <development@efficientek.com>
-Date: Fri, 18 Aug 2023 12:15:27 -0500
-Subject: kern/misc: Make grub_vsnprintf() C99/POSIX conformant
-
-To comply with C99 and POSIX standards, snprintf() should return the
-number of bytes that would be written to the string (excluding the
-terminating NUL byte) if the buffer size was big enough. Before this
-change, the return value was the minimum of the standard return and the
-length of the buffer. Rarely is the return value of grub_snprintf() or
-grub_vsnprintf() used with current code, and the few places where it is
-used do not need to be changed.
-
-Signed-off-by: Glenn Washburn <development@efficientek.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/kern/misc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/grub-core/kern/misc.c b/grub-core/kern/misc.c
-index 2890aad..b57249a 100644
---- a/grub-core/kern/misc.c
-+++ b/grub-core/kern/misc.c
-@@ -1201,7 +1201,7 @@ grub_vsnprintf (char *str, grub_size_t n, const char *fmt, va_list ap)
-
- free_printf_args (&args);
-
-- return ret < n ? ret : n;
-+ return ret;
- }
-
- int
---
-cgit v1.1
-
diff --git a/user/grub/0006-cryptodisk-retval.patch b/user/grub/0006-cryptodisk-retval.patch
deleted file mode 100644
index 9db7f8434..000000000
--- a/user/grub/0006-cryptodisk-retval.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 296d3ec835ed6e3b90d740e497bb534f14fe4b79 Mon Sep 17 00:00:00 2001
-From: Glenn Washburn <development@efficientek.com>
-Date: Fri, 18 Aug 2023 12:27:22 -0500
-Subject: disk/cryptodisk: Fix missing change when updating to use
- grub_uuidcasecmp()
-
-This was causing the cryptomount command to return failure even though
-the crypto device was successfully added. Of course, this meant that any
-script using the return code would behave unexpectedly.
-
-Fixes: 3cf2e848bc03 (disk/cryptodisk: Allows UUIDs to be compared in a dash-insensitive manner)
-
-Suggested-by: Olaf Hering <olaf@aepfle.de>
-Signed-off-by: Glenn Washburn <development@efficientek.com>
-Reviewed-by: Patrich Steinhardt <ps@pks.im>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/disk/cryptodisk.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
-index 34b67a7..fb807e2 100644
---- a/grub-core/disk/cryptodisk.c
-+++ b/grub-core/disk/cryptodisk.c
-@@ -1236,7 +1236,8 @@ grub_cryptodisk_scan_device (const char *name,
- dev = grub_cryptodisk_scan_device_real (name, source, cargs);
- if (dev)
- {
-- ret = (cargs->search_uuid != NULL && grub_strcasecmp (cargs->search_uuid, dev->uuid) == 0);
-+ ret = (cargs->search_uuid != NULL
-+ && grub_uuidcasecmp (cargs->search_uuid, dev->uuid, sizeof (dev->uuid)) == 0);
- goto cleanup;
- }
-
---
-cgit v1.1
-
diff --git a/user/grub/0007-efi_gop-shadow.patch b/user/grub/0007-efi_gop-shadow.patch
deleted file mode 100644
index 7709641cd..000000000
--- a/user/grub/0007-efi_gop-shadow.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 34a3adff822a6d136430e631d0a93448b27fac4e Mon Sep 17 00:00:00 2001
-From: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-Date: Mon, 28 Aug 2023 23:50:09 +0200
-Subject: video/efi_gop: Require shadow if PixelBltOnly
-
-If the EFI graphics pixel format is PixelBltOnly, we cannot write directly
-to the frame buffer. We need the shadow frame buffer which we copy via
-the BitBlt operation to the hardware.
-
-If the pixel format is PixelBltOnly and allocation of the shadow frame
-buffer fails, we must raise an error to signal that the EFI GOP protocol
-is not usable.
-
-Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/video/efi_gop.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
-index 7247aee..9452f5e 100644
---- a/grub-core/video/efi_gop.c
-+++ b/grub-core/video/efi_gop.c
-@@ -480,6 +480,10 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
- if (!buffer)
- {
- grub_dprintf ("video", "GOP: couldn't allocate shadow\n");
-+
-+ if (info->pixel_format == GRUB_EFI_GOT_BLT_ONLY)
-+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory"));
-+
- grub_errno = 0;
- grub_video_gop_fill_mode_info (gop->mode->mode, info,
- &framebuffer.mode_info);
---
-cgit v1.1
-
diff --git a/user/grub/0008-efi-pure64.patch b/user/grub/0008-efi-pure64.patch
deleted file mode 100644
index e07323c63..000000000
--- a/user/grub/0008-efi-pure64.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 67ae3981dc5113e5af3a0539174bcd7eab8f7722 Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ardb@kernel.org>
-Date: Thu, 3 Aug 2023 15:24:09 +0200
-Subject: loader/i386/linux: Prefer entry in long mode when booting via EFI
-
-The x86_64 Linux kernel can be booted in 32-bit mode, in which case the
-startup code creates a set of preliminary page tables that map the first
-4 GiB of physical memory 1:1 and enables paging. This is a prerequisite
-for 64-bit execution and can therefore only be implemented in 32-bit code.
-
-The x86_64 Linux kernel can also be booted in 64-bit mode directly: this
-implies that paging is already enabled and it is the responsibility of
-the bootloader to ensure that the active page tables cover the entire
-loaded image, including its BSS space, the size of which is described in
-the image's setup header.
-
-Given that the EFI spec mandates execution in long mode for x86_64 and
-stipulates that all system memory is mapped 1:1, the Linux/x86
-requirements for 64-bit entry can be met trivially when booting on
-x86_64 via EFI. So, enter via the 64-bit entry point in this case.
-
-This involves inspecting the xloadflags field in the setup header to
-check whether the 64-bit entry point is supported. This field was
-introduced in Linux version v3.8 (early 2013).
-
-This change ensures that all EFI firmware tables and other assets passed
-by the firmware or bootloader in memory remain mapped and accessible
-throughout the early startup code.
-
-Avoiding the drop out of long mode will also be needed to support
-upcoming CPU designs that no longer implement 32-bit mode at all
-(as recently announced by Intel [0]).
-
-[0] https://www.intel.com/content/www/us/en/developer/articles/technical/envisioning-future-simplified-architecture.html
-
-Cc: Daniel Kiper <daniel.kiper@oracle.com>
-Cc: Julian Andres Klode <julian.klode@canonical.com>
-Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/loader/i386/linux.c | 12 ++++++++++++
- include/grub/i386/linux.h | 15 +++++++++++++--
- 2 files changed, 25 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c
-index 997647a..977757f 100644
---- a/grub-core/loader/i386/linux.c
-+++ b/grub-core/loader/i386/linux.c
-@@ -624,6 +624,18 @@ grub_linux_boot (void)
- }
- #endif
-
-+#if defined (__x86_64__) && defined (GRUB_MACHINE_EFI)
-+ if (grub_le_to_cpu16 (ctx.params->version) >= 0x020c &&
-+ (linux_params.xloadflags & LINUX_X86_XLF_KERNEL_64) != 0)
-+ {
-+ struct grub_relocator64_efi_state state64;
-+
-+ state64.rsi = ctx.real_mode_target;
-+ state64.rip = ctx.params->code32_start + LINUX_X86_STARTUP64_OFFSET;
-+ return grub_relocator64_efi_boot (relocator, state64);
-+ }
-+#endif
-+
- /* FIXME. */
- /* asm volatile ("lidt %0" : : "m" (idt_desc)); */
- state.ebp = state.edi = state.ebx = 0;
-diff --git a/include/grub/i386/linux.h b/include/grub/i386/linux.h
-index 0fd6e12..d4b5508 100644
---- a/include/grub/i386/linux.h
-+++ b/include/grub/i386/linux.h
-@@ -69,6 +69,16 @@
- #define GRUB_LINUX_OFW_SIGNATURE \
- (' ' << 24 | 'W' << 16 | 'F' << 8 | 'O')
-
-+#define LINUX_X86_XLF_KERNEL_64 (1<<0)
-+#define LINUX_X86_XLF_CAN_BE_LOADED_ABOVE_4G (1<<1)
-+#define LINUX_X86_XLF_EFI_HANDOVER_32 (1<<2)
-+#define LINUX_X86_XLF_EFI_HANDOVER_64 (1<<3)
-+#define LINUX_X86_XLF_EFI_KEXEC (1<<4)
-+#define LINUX_X86_XLF_5LEVEL (1<<5)
-+#define LINUX_X86_XLF_5LEVEL_ENABLED (1<<6)
-+
-+#define LINUX_X86_STARTUP64_OFFSET 0x200
-+
- #ifndef ASM_FILE
-
- #define GRUB_E820_RAM 1
-@@ -138,7 +148,7 @@ struct linux_i386_kernel_header
- grub_uint32_t kernel_alignment;
- grub_uint8_t relocatable;
- grub_uint8_t min_alignment;
-- grub_uint8_t pad[2];
-+ grub_uint16_t xloadflags;
- grub_uint32_t cmdline_size;
- grub_uint32_t hardware_subarch;
- grub_uint64_t hardware_subarch_data;
-@@ -315,7 +325,8 @@ struct linux_kernel_params
- grub_uint32_t initrd_addr_max; /* Maximum initrd address */
- grub_uint32_t kernel_alignment; /* Alignment of the kernel */
- grub_uint8_t relocatable_kernel; /* Is the kernel relocatable */
-- grub_uint8_t pad1[3];
-+ grub_uint8_t min_alignment;
-+ grub_uint16_t xloadflags;
- grub_uint32_t cmdline_size; /* Size of the kernel command line */
- grub_uint32_t hardware_subarch;
- grub_uint64_t hardware_subarch_data;
---
-cgit v1.1
-
diff --git a/user/grub/0009-linux-mixed-mode.patch b/user/grub/0009-linux-mixed-mode.patch
deleted file mode 100644
index d3b2135f2..000000000
--- a/user/grub/0009-linux-mixed-mode.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 1f5b180742ff2706bc3a696d115ddbc677ec75b9 Mon Sep 17 00:00:00 2001
-From: Ard Biesheuvel <ardb@kernel.org>
-Date: Mon, 7 Aug 2023 14:21:51 +0200
-Subject: loader/efi/linux: Implement x86 mixed mode using legacy boot
-
-Recent mixed-mode Linux kernels, i.e., v4.0 or newer, can access EFI
-runtime services at OS runtime even when the OS was not entered via the
-EFI stub. This is because, instead of reverting back to the firmware's
-segment selectors, GDTs and IDTs, the 64-bit kernel simply calls 32-bit
-runtime services using compatibility mode, i.e., the same mode used for
-32-bit user space, without taking down all interrupt handling, exception
-handling, etc.
-
-This means that GRUB's legacy x86 boot mode is sufficient to make use of
-this: 32-bit i686 builds of GRUB can already boot 64-bit kernels in EFI
-enlightened mode, but without going via the EFI stub, and provide all
-the metadata that the OS needs to map the EFI runtime regions and call
-EFI runtime services successfully.
-
-It does mean that GRUB should not attempt to invoke the firmware's
-LoadImage()/StartImage() methods on kernel builds that it knows cannot
-be started natively. So, add a check for this in the native EFI boot
-path and fall back to legacy x86 mode in such cases.
-
-Note that in the general case, booting non-native images of the same
-native word size, e.g., x64 EFI apps on arm64 firmware, might be
-supported by means of emulation. So, let's only disallow images that use
-a non-native word size. This will also permit booting i686 kernels on
-x86_64 builds, although without access to runtime services, as this is
-not supported by Linux.
-
-This change on top of 2.12-rc1 is sufficient to boot ordinary Linux
-mixed mode builds and get full access to the EFI runtime services.
-
-Cc: Daniel Kiper <daniel.kiper@oracle.com>
-Cc: Steve McIntyre <steve@einval.com>
-Cc: Julian Andres Klode <julian.klode@canonical.com>
-Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-Acked-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/loader/efi/linux.c | 3 +++
- include/grub/efi/pe32.h | 6 ++++++
- 2 files changed, 9 insertions(+)
-
-diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c
-index ab8fb35..bfbd95a 100644
---- a/grub-core/loader/efi/linux.c
-+++ b/grub-core/loader/efi/linux.c
-@@ -117,6 +117,9 @@ grub_arch_efi_linux_load_image_header (grub_file_t file,
- return grub_error (GRUB_ERR_FILE_READ_ERROR, "failed to read COFF image header");
- }
-
-+ if (lh->pe_image_header.optional_header.magic != GRUB_PE32_NATIVE_MAGIC)
-+ return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET, "non-native image not supported");
-+
- /*
- * Linux kernels built for any architecture are guaranteed to support the
- * LoadFile2 based initrd loading protocol if the image version is >= 1.
-diff --git a/include/grub/efi/pe32.h b/include/grub/efi/pe32.h
-index 101859a..4e6e9d2 100644
---- a/include/grub/efi/pe32.h
-+++ b/include/grub/efi/pe32.h
-@@ -267,6 +267,12 @@ struct grub_pe32_section_table
-
- #define GRUB_PE32_SIGNATURE_SIZE 4
-
-+#if GRUB_TARGET_SIZEOF_VOID_P == 8
-+#define GRUB_PE32_NATIVE_MAGIC GRUB_PE32_PE64_MAGIC
-+#else
-+#define GRUB_PE32_NATIVE_MAGIC GRUB_PE32_PE32_MAGIC
-+#endif
-+
- struct grub_pe_image_header
- {
- /* This is always PE\0\0. */
---
-cgit v1.1
-
diff --git a/user/grub/0010-fix-gcc-no-pie-specs.patch b/user/grub/0010-fix-gcc-no-pie-specs.patch
index ecd59d24d..74b76f29e 100644
--- a/user/grub/0010-fix-gcc-no-pie-specs.patch
+++ b/user/grub/0010-fix-gcc-no-pie-specs.patch
@@ -1,7 +1,7 @@
diff -ur a/configure b/configure
--- a/configure 2023-10-03 12:10:39.434444137 -0500
+++ b/configure 2023-10-03 12:10:58.731025605 -0500
-@@ -37616,7 +37616,7 @@
+@@ -37656,7 +37656,7 @@
if test x"$grub_cv_target_cc_efiemu64_link_format" = xunknown; then
efiemu_excuse="no suitable link format for efiemu64 found"
else
diff --git a/user/grub/APKBUILD b/user/grub/APKBUILD
index 82605a4c9..ecc2b60bb 100644
--- a/user/grub/APKBUILD
+++ b/user/grub/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=grub
-pkgver=2.12_rc1
+pkgver=2.12
_pkgver=$(printf '%s' "$pkgver" | tr _ \~)
-pkgrel=2
+pkgrel=0
pkgdesc="Boot loader with support for Linux, Multiboot and more"
url="https://www.gnu.org/software/grub/"
arch="all"
@@ -34,19 +34,12 @@ done
install="$pkgname.post-upgrade"
-source="https://alpha.gnu.org/gnu/$pkgname/$pkgname-$_pkgver.tar.xz
+source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$_pkgver.tar.xz
adelie-branding.patch
grub2-accept-empty-module.patch
- 0001-unmerged-usr.patch
0002-revert-gawk.patch
- 0003-spcr-revision.patch
- 0004-videoinfo-no-reinit.patch
- 0005-vsnprintf.patch
- 0006-cryptodisk-retval.patch
- 0007-efi_gop-shadow.patch
- 0008-efi-pure64.patch
- 0009-linux-mixed-mode.patch
0010-fix-gcc-no-pie-specs.patch
+ xfs.patch
grub-xen-host_grub.cfg
default-grub
update-grub
@@ -81,6 +74,8 @@ _build_flavor() {
}
build() {
+ # missing from source tarball, will cause build error
+ printf "depends bli part_gpt\n" > "$builddir"/grub-core/extra_deps.lst
f=""
for f in $flavors; do
case "$f" in
@@ -189,19 +184,12 @@ mount() {
mv "$pkgdir"/usr/bin/grub-mount "$subpkgdir"/usr/bin/
}
-sha512sums="6f1fbce004b6dccf58e203bf6a6eeb771bac5ecc54b503265e56a97e9adce0221677bb3e64328144ec921f327a099f0345e7a9952be41cd8808f7635cded52cb grub-2.12~rc1.tar.xz
+sha512sums="761c060a4c3da9c0e810b0ea967e3ebc66baa4ddd682a503ae3d30a83707626bccaf49359304a16b3a26fc4435fe6bea1ee90be910c84de3c2b5485a31a15be3 grub-2.12.tar.xz
4a6c909a1150b057fb0563f7a0646db33e16f84d6a8c443ef7db4003efd56c211a52f87699c5c95a6ccde65f6db46a8711a5b784f38479db804938dfe3115439 adelie-branding.patch
-6e001762f7f562f2fafed56118079122e7602c731c70723241276f523e0882a3930d720fd847143d379ffd85626d2d7d3fa914590c0de1f0903a293695e71c41 grub2-accept-empty-module.patch
-de798c8907ab5c3f00b42bf10a63a5666af2076932a46ec6e484c67303bef0509e7787910392f75b3e4ccb9aa17d67f2ef5f5fc1eed3dcdf96f598dc2400ade4 0001-unmerged-usr.patch
-60e299ef0677dbd4e1e60623353be3dd8fbb1a795cbf24a9e1a2511f6a7322033254daf71116e95e93335d5e76a7a85488d66f357779a9f589f04119df8f0aea 0002-revert-gawk.patch
-d7f22e5f02dfbebad5e9122a01a9d6e5fffd0bb4731790c97e5184c148a5e1e8f4d5d3d49b09b26a7768648b147b134c3b316649608d2ac8390ab63b7f278a07 0003-spcr-revision.patch
-1daba1b4857c45f4e729d24cd800eb6f6b659ea5c8399394487f75817b4f7092e5972676fc8c28b6289e04f0fe41d4ca54dc4523db1393cdb65751d377a06d8a 0004-videoinfo-no-reinit.patch
-0a69b2f9cb178b8ae4a7b96f1cb801ef6d6d7942a842346de5017b6fdb5a8bd6db1ad55fdd9cc41a6c4660be9985621008d1da1dc45510d6ffed425f0f4997d1 0005-vsnprintf.patch
-9b444c596c3c7387c18f3d6747ce4000d8e1ac89a07d919f3c648b07a3492911a6b7a84764c7f953a8a7873f26dedf10549a46008bc23e38d1da3eeb6d1850e3 0006-cryptodisk-retval.patch
-a16569a037b29a669d5bd68f6130b1c59870f8bb660bf98b318f0dac39bb9a0026d76e2d47298e2b22a91f75aa34c234785149b61e699dfdde27020210023e84 0007-efi_gop-shadow.patch
-13a819813b82ed13752dff2bf2ddaf47e1c369f10148a988a2517d51f33c11ee187f3c6909c08a1b922440aebebe1f3178fe8f63f85055129b74893885e0db1f 0008-efi-pure64.patch
-911a28fa28f966369039e14062deaf90c81818c06fb3f44add27c395a3074b8c1b858a47c1a97909e07b813a87633bf244e5ee4db23f9d429edd9a05f5b5d72a 0009-linux-mixed-mode.patch
-1552f56c17c55aabae26c64beeb9ed507623331794d4b590721fa0f22b658831bbef3475dfb8c125ab05e8ec62939d5928416c32d2c968a4a2a98bee0744c1fd 0010-fix-gcc-no-pie-specs.patch
+f1daae3015c84af94aeffce20de1068c3de272aff59f809e956a085cf289c371c61b64ad1d440765c98a4d674761ea67d2986cc4b1d0dfffcf71caaf94c6f600 grub2-accept-empty-module.patch
+18502c79128d88154885a6e595bb42d4167f4e08e89e5bd9471234d4e4ba0d6a6ab7dc50a324e9c71ee8a92f3dee8f1a800942adf62ac8bc4041c6a154b19beb 0002-revert-gawk.patch
+4b369af412a303464fb538f0f1d7c51dfba4481448409204290e7959397243cb544ecaa8bd9db096788e1eccae0c4c6fac1af9b7819c34f20d01a0eb6c5105ff 0010-fix-gcc-no-pie-specs.patch
+60f884595a713e52052eb1741bd2a9f42110736b689c045d9fb23d08970fb8475f25bfdf056552040a7b5559817289774f987c825ef006e556d79f718935376f xfs.patch
4e7394e0fff6772c89683039ccf81099ebbfe4f498e6df408977a1488fd59389b6e19afdbf0860ec271e2b2aea0df7216243dcc8235d1ca3af0e7f4d0a9d60a4 grub-xen-host_grub.cfg
1cb675fa0af9a1fd8d1a868e3e9de3bfef7eada66c5df0cfef23eca33e93e676eed6e1f67c679690f3e581565b350a9f3ba01aa9b89de66c970ea61ca21bcd65 default-grub
8e5f1cf91da9fd956695438509bb26e45f38170ca90d99a996e859053d72c82b7e4b02cb8979f047fc53498036f47b5400bf54687c390793995a05ded4216d55 update-grub
diff --git a/user/grub/grub2-accept-empty-module.patch b/user/grub/grub2-accept-empty-module.patch
index f4f62d433..b6def4f94 100644
--- a/user/grub/grub2-accept-empty-module.patch
+++ b/user/grub/grub2-accept-empty-module.patch
@@ -10,7 +10,7 @@ also no relocations that's no problem (and that is checked
independendly).
--- grub-2.02~beta3/util/grub-module-verifierXX.c.mm 2016-02-11 10:57:41.000000000 +0000
+++ grub-2.02~beta3/util/grub-module-verifierXX.c 2016-08-31 15:26:36.000000000 +0000
-@@ -225,7 +225,8 @@ check_symbols (const struct grub_module_
+@@ -305,7 +305,8 @@ check_symbols (const struct grub_module_
s = find_section (arch, e, ".moddeps");
if (!s)
diff --git a/user/grub/xfs.patch b/user/grub/xfs.patch
new file mode 100644
index 000000000..922c40923
--- /dev/null
+++ b/user/grub/xfs.patch
@@ -0,0 +1,56 @@
+From 68dd65cfdaad08b1f8ec01b84949b0bf88bc0d8c Mon Sep 17 00:00:00 2001
+From: Jon DeVree <nuxi@vault24.org>
+Date: Sun, 11 Feb 2024 10:34:58 -0500
+Subject: fs/xfs: Handle non-continuous data blocks in directory extents
+
+The directory extent list does not have to be a continuous list of data
+blocks. When GRUB tries to read a non-existant member of the list,
+grub_xfs_read_file() will return a block of zero'ed memory. Checking for
+a zero'ed magic number is sufficient to skip this non-existant data block.
+
+Prior to commit 07318ee7e (fs/xfs: Fix XFS directory extent parsing)
+this was handled as a subtle side effect of reading the (non-existant)
+tail data structure. Since the block was zero'ed the computation of the
+number of directory entries in the block would return 0 as well.
+
+Fixes: 07318ee7e (fs/xfs: Fix XFS directory extent parsing)
+Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2254370
+
+Signed-off-by: Jon DeVree <nuxi@vault24.org>
+Reviewed-By: Vladimir Serbinenko <phcoder@gmail.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ grub-core/fs/xfs.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
+index bc2224dbb..8e02ab4a3 100644
+--- a/grub-core/fs/xfs.c
++++ b/grub-core/fs/xfs.c
+@@ -902,6 +902,7 @@ grub_xfs_iterate_dir (grub_fshelp_node_t dir,
+ grub_xfs_first_de(dir->data, dirblock);
+ int entries = -1;
+ char *end = dirblock + dirblk_size;
++ grub_uint32_t magic;
+
+ numread = grub_xfs_read_file (dir, 0, 0,
+ blk << dirblk_log2,
+@@ -912,6 +913,15 @@ grub_xfs_iterate_dir (grub_fshelp_node_t dir,
+ return 0;
+ }
+
++ /*
++ * If this data block isn't actually part of the extent list then
++ * grub_xfs_read_file() returns a block of zeros. So, if the magic
++ * number field is all zeros then this block should be skipped.
++ */
++ magic = *(grub_uint32_t *)(void *) dirblock;
++ if (!magic)
++ continue;
++
+ /*
+ * Leaf and tail information are only in the data block if the number
+ * of extents is 1.
+--
+cgit v1.2.3-70-g09d2
+
diff --git a/user/gspell/APKBUILD b/user/gspell/APKBUILD
new file mode 100644
index 000000000..69599a5c1
--- /dev/null
+++ b/user/gspell/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
+# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
+pkgname=gspell
+pkgver=1.14.0
+pkgrel=0
+pkgdesc="Spelling checker library for GTK programs"
+url="https://gnome.org"
+arch="all"
+options="!check" # does not support enchant aspell backend; see
+ # https://bugzilla.gnome.org/show_bug.cgi?id=772406
+license="LGPL-2.1+"
+depends=""
+checkdepends="aspell aspell-dict-en"
+makedepends="enchant-dev glib-dev gobject-introspection-dev gtk-doc gtk+3.0-dev meson vala-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://download.gnome.org/sources/gspell/${pkgver%.*}/gspell-$pkgver.tar.xz"
+
+build() {
+ meson setup \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --buildtype=release \
+ --wrap-mode=nofallback \
+ . output
+ meson compile -C output
+}
+
+check() {
+ LANG="en_US.UTF-8" meson test -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C output
+}
+
+sha512sums="d2e9931f4c37170b483ece9ee50b0af8aa281cf1bde5ac009d2a0c7dd2dbfc90e591df13dd555465c04cccdc2864b788d372625be9f71d6541e6e6b0fd3c4370 gspell-1.14.0.tar.xz"
diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD
index 227a9fad5..25cfc4d63 100644
--- a/user/horizon/APKBUILD
+++ b/user/horizon/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=horizon
-pkgver=0.9.8.1
+pkgver=0.9.9.1
pkgrel=1
pkgdesc="Installation tools for Adélie Linux"
url="https://horizon.adelielinux.org/"
@@ -18,7 +18,7 @@ makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev
subpackages="$pkgname-image $pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-qt5
$pkgname-tools $pkgname-wizard $pkgname-boot"
source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz
- apm-disklabel.patch
+ ppc32-apm.patch
"
build() {
@@ -162,5 +162,5 @@ GLOBALS
"$subpkgdir"/usr/share/xsessions/horizon.desktop
}
-sha512sums="3a34019d50cd711f868855b120a362ce67308e9eb9b32fab0a8936d393541f93beca76efe161c7d635f215445989176a7089d2df0d6fcb071428b4c1cf1ae252 horizon-0.9.8.1.tar.xz
-1d92232b3118444973a0917777a1787e3e20b6d5a8da22f0031e37d94f6c1d9df0f05aa9228d3b24c414185f6a2c9c9401534f381b4195830cd5b1469cf23f46 apm-disklabel.patch"
+sha512sums="270926f74450f3250ae168fd31fd897a0bf0e444d0fb9753ebdc571157c89e873e13ed80030d93f5b470cc1876d2f9f00527ad0df2a0d15798dc6fbd4fe0641d horizon-0.9.9.1.tar.xz
+f3977cf247436301a2f8975859f888ee24ac305f7389317a4642f07d3dd6e30cea7f9076392f35187d034c6fcb7d5c4575ba007b50fc5e24577c0debd3c4a410 ppc32-apm.patch"
diff --git a/user/horizon/apm-disklabel.patch b/user/horizon/apm-disklabel.patch
deleted file mode 100644
index 368aa8b05..000000000
--- a/user/horizon/apm-disklabel.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 5df1abdb743ac71986cabe8c76dcd9a0f75e44da Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Thu, 25 Apr 2024 23:27:30 -0500
-Subject: [PATCH] Qt UI: Fix partition count for APM disklabel
-
-The APM disklabel includes a meta partition for the partition map
-itself. This is always counted by parted as a partition, and is *not*
-considered to be a metadata partition. We therefore need to start our
-partitioning at #2 on APM, not #1.
-
-Closes: #376
----
- CHANGELOG.rst | 14 +++++++++++++-
- ui/qt5/horizonwizard.cc | 6 ++++--
- 2 files changed, 17 insertions(+), 3 deletions(-)
-
-diff --git a/CHANGELOG.rst b/CHANGELOG.rst
-index 7afcb34..b944410 100644
---- a/CHANGELOG.rst
-+++ b/CHANGELOG.rst
-@@ -5,7 +5,19 @@
- * **A. Wilcox**, documentation writer
- * **Contributors**, code
- :Copyright:
-- © 2019-2023 Adélie Linux and contributors.
-+ © 2019-2024 Adélie Linux and contributors.
-+
-+
-+
-+0.9.9 (2024-??-??)
-+==================
-+
-+Qt UI
-+-----
-+
-+* The Qt UI now counts APM partition map partitions when creating APM
-+ disklabels, fixing a long-standing bug when installing to an empty disk
-+ on PowerPC Macintosh systems.
-
-
-
-diff --git a/ui/qt5/horizonwizard.cc b/ui/qt5/horizonwizard.cc
-index 298cd15..2872eb6 100644
---- a/ui/qt5/horizonwizard.cc
-+++ b/ui/qt5/horizonwizard.cc
-@@ -400,7 +400,8 @@ QString nameForPartitionOnDisk(const std::string &dev, int part) {
- /*! Determine the correct disk label based on the target platform. */
- QStringList eraseDiskForArch(const std::string &raw_disk,
- HorizonWizard::Arch arch,
-- HorizonWizard::Subarch subarch) {
-+ HorizonWizard::Subarch subarch,
-+ int *start) {
- const auto disk = QString::fromStdString(raw_disk);
-
- switch(arch) {
-@@ -412,6 +413,7 @@ QStringList eraseDiskForArch(const std::string &raw_disk,
- case HorizonWizard::ppc64: /* Complicated */
- switch(subarch) {
- case HorizonWizard::ppc64_PowerMac:
-+ (*start)++;
- return {QString{"disklabel %1 apm"}.arg(disk)};
- case HorizonWizard::ppc64_PowerNV:
- return {QString{"disklabel %1 gpt"}.arg(disk)};
-@@ -620,7 +622,7 @@ QString HorizonWizard::toHScript() {
- int start = 1;
-
- if(erase) {
-- lines << eraseDiskForArch(chosen_disk, arch, subarch);
-+ lines << eraseDiskForArch(chosen_disk, arch, subarch, &start);
- } else {
- /* This branch will be taken when "use available space" is back. */
- Q_ASSERT(false);
---
-2.40.0
-
diff --git a/user/horizon/ppc32-apm.patch b/user/horizon/ppc32-apm.patch
new file mode 100644
index 000000000..caa5d3189
--- /dev/null
+++ b/user/horizon/ppc32-apm.patch
@@ -0,0 +1,29 @@
+From 02bab111a473e6bc45c4c95e8f17634b42e0fba9 Mon Sep 17 00:00:00 2001
+From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
+Date: Sat, 21 Dec 2024 19:18:53 -0600
+Subject: [PATCH] Qt UI: Count APM partitions correctly on PPC32
+
+The fix we did in 5df1abdb74 is not complete; we use APM on 32-bit
+PowerPC machines as well. We need to do the same workaround on PPC32
+that we do on PPC64 Power Macs.
+
+Fixes: 5df1abdb74 ("Qt UI: Fix partition count for APM disklabel")
+---
+ ui/qt5/horizonwizard.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ui/qt5/horizonwizard.cc b/ui/qt5/horizonwizard.cc
+index 81ddcdc..9cc0690 100644
+--- a/ui/qt5/horizonwizard.cc
++++ b/ui/qt5/horizonwizard.cc
+@@ -409,6 +409,7 @@ QStringList eraseDiskForArch(const std::string &raw_disk,
+ case HorizonWizard::x86_64: /* 64-bit Intel uses GPT */
+ return {QString{"disklabel %1 gpt"}.arg(disk)};
+ case HorizonWizard::ppc: /* 32-bit PowerPC: we only support Power Mac */
++ (*start)++;
+ return {QString{"disklabel %1 apm"}.arg(disk)};
+ case HorizonWizard::ppc64: /* Complicated */
+ switch(subarch) {
+--
+2.40.0
+
diff --git a/user/libglvnd/APKBUILD b/user/libglvnd/APKBUILD
index 2cddb4fa4..55441570d 100644
--- a/user/libglvnd/APKBUILD
+++ b/user/libglvnd/APKBUILD
@@ -9,7 +9,7 @@ license="MIT AND BSD-1-Clause"
options="checkx11"
depends=""
makedepends="libx11-dev libxext-dev meson xorgproto-dev"
-replaces="mesa-gl"
+replaces="mesa-gl mesa-egl mesa-gles"
subpackages="$pkgname-dev"
source="https://gitlab.freedesktop.org/glvnd/$pkgname/-/archive/v$pkgver/$pkgname-v$pkgver.tar.bz2"
builddir="$srcdir/$pkgname-v$pkgver"
@@ -34,4 +34,9 @@ package() {
DESTDIR="$pkgdir" meson install -C build
}
+dev() {
+ default_dev
+ replaces="mesa-dev"
+}
+
sha512sums="7caef0a129527bb968bf1ced64082a56cdde881f013f5ba54c51c09989e7d559dba3071c8fdc04e535e62609d68e7622197445152f655e0afbe06890c0b7a69b libglvnd-v1.7.0.tar.bz2"
diff --git a/user/librsvg/APKBUILD b/user/librsvg/APKBUILD
index 3fa19b15b..0058e06a6 100644
--- a/user/librsvg/APKBUILD
+++ b/user/librsvg/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer:
pkgname=librsvg
pkgver=2.40.21
-pkgrel=0
+pkgrel=1
pkgdesc="SAX-based renderer for SVG files into a GdkPixbuf"
url="https://wiki.gnome.org/action/show/Projects/LibRsvg"
arch="all"
@@ -19,6 +19,7 @@ source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgve
# - CVE-2019-20446
build() {
+ export CFLAGS="$CFLAGS -fno-tree-vrp"
./configure \
--build=$CBUILD \
--host=$CHOST \
diff --git a/user/libxfce4ui/APKBUILD b/user/libxfce4ui/APKBUILD
index ebe00d722..832b51741 100644
--- a/user/libxfce4ui/APKBUILD
+++ b/user/libxfce4ui/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=libxfce4ui
-pkgver=4.18.6
+pkgver=4.20.0
pkgrel=0
pkgdesc="UI library for the XFCE desktop environment"
url="https://xfce.org"
@@ -35,4 +35,4 @@ package() {
make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="1c704dd26793a304fef98c48bc3ca860248e746e9e5c39f22e984439e1a20209763e80e40e6bffcf8f0d773b323b825ebd5da4d88352582e56dfeb7c9b2ca47c libxfce4ui-4.18.6.tar.bz2"
+sha512sums="33d44e57784542278941803026c9730c7fc680e3bfdebf8656fcd55fcdad3e75846c7aedc940540d8c6c6e88a00c5caec279527dd1db13731c679aa1b9cd7138 libxfce4ui-4.20.0.tar.bz2"
diff --git a/user/libxfce4util/APKBUILD b/user/libxfce4util/APKBUILD
index 6e18b282b..d52dbc1ee 100644
--- a/user/libxfce4util/APKBUILD
+++ b/user/libxfce4util/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=libxfce4util
-pkgver=4.18.2
+pkgver=4.20.0
pkgrel=0
pkgdesc="Utility library for the XFCE desktop environment"
url="https://xfce.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="94c7371bcfd4ea8dca68a2dc2fe029ce8b232b2b906247bb45a830f13a27833e80831bb6df029d634e6cd8496d4cdcbb9691b6c4344aa51292477f2ebf56bac0 libxfce4util-4.18.2.tar.bz2"
+sha512sums="07edc4c8645b3418a659ebb688a48cd1de00d12d06521d30ccfa10b16c4525ce5a869f4b890c9da9b297c44c249a8a091ea1143c72c5f74702cd90337a124ca5 libxfce4util-4.20.0.tar.bz2"
diff --git a/user/libxfce4windowing/APKBUILD b/user/libxfce4windowing/APKBUILD
new file mode 100644
index 000000000..54dcba827
--- /dev/null
+++ b/user/libxfce4windowing/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
+# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
+pkgname=libxfce4windowing
+pkgver=4.20.0
+pkgrel=0
+pkgdesc="Windowing abstraction library for XFCE"
+url="https://xfce.org"
+arch="all"
+license="LGPL-2.1+"
+depends=""
+makedepends="glib-dev gobject-introspection-dev gtk+3.0-dev gtk-doc
+ libdisplay-info-dev libwnck-dev xfce4-dev-tools>=${pkgver%.*}"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+source="https://archive.xfce.org/src/xfce/libxfce4windowing/4.20/libxfce4windowing-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-gtk-doc
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="4db76eacd25200a50619839eb7b0f7fbfc901b8641b40acfc2aa34b88b449212e13b8946a8f5fd43ab89f021ba5bab67384e616163efb06b11603faf6913ba90 libxfce4windowing-4.20.0.tar.bz2"
diff --git a/user/libxpresent/APKBUILD b/user/libxpresent/APKBUILD
new file mode 100644
index 000000000..3dc280ea0
--- /dev/null
+++ b/user/libxpresent/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
+# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
+pkgname=libxpresent
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="Library for the X Present extension"
+url="https://www.x.org/"
+arch="all"
+license="X11"
+depends=""
+makedepends="libx11-dev libxfixes-dev libxrandr-dev xorgproto-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://xorg.freedesktop.org/releases/individual/lib/libXpresent-$pkgver.tar.xz"
+builddir="$srcdir/libXpresent-$pkgver"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="a4551f49a68f4487eb70dc5b50b7f745fbc8b6842cfa60422afe3834af41c504a37bcfddb4e7e9ee084b250df256034290776c8eb7d8838e392eb626fff55d25 libXpresent-1.0.1.tar.xz"
diff --git a/user/lighttpd/APKBUILD b/user/lighttpd/APKBUILD
index 70692ad68..219cbade6 100644
--- a/user/lighttpd/APKBUILD
+++ b/user/lighttpd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=lighttpd
-pkgver=1.4.76
+pkgver=1.4.77
pkgrel=0
pkgdesc="A secure, fast, compliant and very flexible web-server"
url="https://www.lighttpd.net"
@@ -108,7 +108,7 @@ mod_webdav() {
}
sha512sums="
-940f00f2d84e3424c389108d09756a0af41db3559474135b6c502deccd08ad051b5184f3f7907436384964d2b05045e27dca463af98c889cee69b0ae6e202782 lighttpd-1.4.76.tar.xz
+696fd4fd8486a6c3fd1131c7e8a935a02b5384882b74ddc19bf79d085e2a0abed9184a30f97e3a7aafb816d3589e110e8d70115daa15cdc52cf61aa4129e3565 lighttpd-1.4.77.tar.xz
a74fb8394fb77fca2a08bdcfc79d4e13de6aca7bc4ed842b7e05f7f3a9cc85dccaa4971ba8fd0edfaa19da8d3870a743b713d9e51f1cbfe5b8e2843bb7fe5346 lighttpd.initd
9d2ab5deb7353ebf290e90936b511941df440859c78589d0bcf130ef69a5e9c79e4d318548b6b118df002083c46f7476230a28954b7a10a9dbd05040e02b1291 lighttpd.confd
0536b4f21d2e8659f7831b45998c13d9f6051ae7ecde13be01f372f837d255bfc4e211de48a7686cc743d53aa9c08ab3f10ec19788896dcf8356b90053ca7a16 lighttpd.logrotate
diff --git a/user/linux-firmware/APKBUILD b/user/linux-firmware/APKBUILD
new file mode 100644
index 000000000..e0b9c54d2
--- /dev/null
+++ b/user/linux-firmware/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: Ariadne Conill <nenolod@dereferenced.org>
+# Contributor: Oliver Smith <ollieparanoid@bitmessage.ch>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
+pkgname=linux-firmware
+pkgver=20241210
+pkgrel=2
+pkgdesc="firmware files for linux"
+url="http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary"
+arch="all"
+options="!strip !check !dbg"
+license="custom:multiple"
+depends=""
+makedepends="rdfind"
+source="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/$pkgname-$pkgver.tar.gz"
+# Put /lib/firmware/* folders in subpackages
+_folders="3com acenic adaptec advansys airoha amd amd-ucode amdgpu amdnpu
+amdtee amlogic amphion ar3k arm ath10k ath11k ath12k ath6k ath9k_htc atmel
+atusb av7110 bnx2 bnx2x brcm cadence cavium cirrus cis cnm cpia2 cxgb3 cxgb4
+cypress dabusb dpaa2 dsp56k e100 edgeport emi26 emi62 ene-ub6250 ess go7007
+i915 imx inside-secure intel isci ixp4xx kaweth keyspan keyspan_pda korg
+libertas liquidio matrox mediatek mellanox meson microchip moxa mrvl mwl8k
+mwlwifi myricom netronome nvidia nxp ositech powervr qca qcom qed qlogic r128
+radeon realtek rockchip rsi rtl_bt rtl_nic rtlwifi rtw88 rtw89 sb16 slicoss sun
+sxg tehuti ti ti-connectivity ti-keystone tigon ttusb-budget ueagle-atm vicam
+vxge wfx xe yam yamaha"
+subpackages="$pkgname-other"
+depends="linux-firmware-other"
+for i in $_folders; do
+ subpackages="$pkgname-$i:folder $subpackages"
+ depends="$pkgname-$i $depends"
+done
+
+package() {
+ make DESTDIR="${pkgdir}" FIRMWAREDIR="/lib/firmware" install-zst
+ make DESTDIR="${pkgdir}" FIRMWAREDIR="/lib/firmware" dedup
+ rm -f "${pkgdir}/usr/lib/firmware/{Makefile,README,configure,GPL-3}"
+}
+
+folder() {
+ folder=${subpkgname##linux-firmware-}
+ pkgdesc="firmware files for linux ($folder folder)"
+ depends=""
+
+ # Move /lib/firmware/$folder (case insensitive)
+ mkdir -p "$subpkgdir/lib/firmware"
+ mv "$(find "$pkgdir/lib/firmware" -iname "$folder" -type d)" \
+ "$subpkgdir/lib/firmware"
+
+ # Move related symlinks so they do not get in -other
+ find "$pkgdir/lib/firmware" -maxdepth 1 -ilname "$folder"/\* \
+ -exec mv -- '{}' "$subpkgdir/lib/firmware" \;
+}
+
+other() {
+ # Requires subfolders to be split in subpackages
+ leftover=""
+ for i in "$pkgdir"/lib/firmware/*; do
+ [ -d "$i" ] && leftover="$leftover $(basename $i)"
+ done
+ if [ "$leftover" != "" ]; then
+ error "Not all subfolders have been moved to subpackages!"
+ error "Fix this by adjusting _folders as follows:"
+ fixed="$(echo $_folders$leftover | tr " " "\n" | tr '[A-Z]' '[a-z]' | sort)"
+ echo "_folders=\"$(printf "$fixed" | tr "\n" " ")\"" | fold -s
+ return 1
+ fi
+
+ # Move /lib/firmware (which doesn't have subfolders now)
+ pkgdesc="firmware files for linux (uncategorized)"
+ depends=""
+ install="$subpkgname.post-upgrade"
+ mkdir -p "$subpkgdir"/
+ mv "$pkgdir"/lib "$subpkgdir"/
+}
+
+sha512sums="75e2d7383e209c2f787a4369e171e2d9bd16dc9cc1cd74920874d1dc56a950df95981be942fd7aa95620ef18da3e50d0fd95886c1497c91c4e54f564fe381fc3 linux-firmware-20241210.tar.gz"
diff --git a/user/linux-firmware/linux-firmware-other.post-upgrade b/user/linux-firmware/linux-firmware-other.post-upgrade
new file mode 100644
index 000000000..e821b1015
--- /dev/null
+++ b/user/linux-firmware/linux-firmware-other.post-upgrade
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+vnew="$1"
+vold="$2"
+
+if test `apk version -t $vnew 20241210-r0` = '>' && test `apk version -t $vold 20241210-r0` != '>' ; then
+ echo
+ echo '***'
+ echo 'The linux-firmware package was repartitioned. Due to this, firmware'
+ echo 'files from go7007, mediatek, ath10k, qcom and ti folders might have'
+ echo 'been removed. If your hardware needs these files, please install'
+ echo 'relevant linux-firmware subpackage.'
+ echo 'If unsure, install the whole linux-firmware package.'
+ echo '***'
+ echo
+fi
diff --git a/user/mailcap/APKBUILD b/user/mailcap/APKBUILD
new file mode 100644
index 000000000..91cc3598c
--- /dev/null
+++ b/user/mailcap/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Ermine <mustela@erminea.space>
+pkgname=mailcap
+pkgver=2.1.54
+pkgrel=0
+pkgdesc="Helper application and MIME type associations for file types"
+url="https://pagure.io/mailcap"
+arch="noarch"
+license="Public-Domain"
+options="!check" # No test suite.
+subpackages="$pkgname-doc"
+source="https://releases.pagure.org/mailcap/mailcap-$pkgver.tar.xz"
+
+package() {
+ make install DESTDIR="$pkgdir"
+ rm -Rf "$pkgdir"/etc/nginx
+}
+
+sha512sums="
+a80caba013b644111f163d8ef74fe801d7266cf4edd38ca723f98fb12a103a24e84a8fca0c569beb05ca0f407437ed1282306b30303c38327b744194c6fe80b2 mailcap-2.1.54.tar.xz
+"
+sha512sums="a80caba013b644111f163d8ef74fe801d7266cf4edd38ca723f98fb12a103a24e84a8fca0c569beb05ca0f407437ed1282306b30303c38327b744194c6fe80b2 mailcap-2.1.54.tar.xz"
diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD
index 991f01271..2bc34d02d 100644
--- a/user/mesa/APKBUILD
+++ b/user/mesa/APKBUILD
@@ -23,7 +23,7 @@ subpackages="$pkgname-dev $pkgname-dri $pkgname-vulkan-overlay $pkgname-gbm
source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz"
_dri_driverdir=/usr/lib/xorg/modules/dri
-_gallium_drivers="r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,zink"
+_gallium_drivers="r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,zink,svga"
_vulkan_drivers="amd,nouveau,swrast,virtio"
case "$CARCH" in
diff --git a/user/mousepad/APKBUILD b/user/mousepad/APKBUILD
index ff1a44642..a42d7d874 100644
--- a/user/mousepad/APKBUILD
+++ b/user/mousepad/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=mousepad
-pkgver=0.6.2
+pkgver=0.6.3
pkgrel=0
pkgdesc="Simple text editor for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="GPL-2.0+"
depends=""
-makedepends="dbus-glib-dev glib-dev gtk+3.0-dev gtksourceview4-dev intltool
- xfconf-dev"
+makedepends="dbus-glib-dev glib-dev gspell-dev gtk+3.0-dev gtksourceview4-dev
+ intltool libxfce4ui-dev polkit-dev xfconf-dev"
subpackages="$pkgname-lang"
source="https://archive.xfce.org/src/apps/mousepad/${pkgver%.*}/mousepad-$pkgver.tar.bz2"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="086f60f6f405290ed76366f4c5195e9c8f9c5058d1892200a73e48d6378428efe47f2038e3eddb81186e22dd87d57580559a556b1b22f202b6f056c7f90b64ea mousepad-0.6.2.tar.bz2"
+sha512sums="a47e9c0d5b039444ee455e80d0ab4642d5c29d6e5632ec4fccfcef061b4bf40a1709ea73b092b02e915e1796d1593ede68e59b9fe373e127302d34f82c9beae3 mousepad-0.6.3.tar.bz2"
diff --git a/user/node/APKBUILD b/user/node/APKBUILD
index eb3e08ad5..1c0cbe5a8 100644
--- a/user/node/APKBUILD
+++ b/user/node/APKBUILD
@@ -16,6 +16,7 @@ source="https://nodejs.org/download/release/v$pkgver/node-v$pkgver.tar.xz
pmmx-test.patch
pmmx-time64.patch
zlib-version-regex.patch
+ ppc-fixes-for-older-models-18.patch
"
builddir="$srcdir/$pkgname-v$pkgver"
@@ -68,4 +69,5 @@ package() {
sha512sums="e41fcda469809186fd724ef4691e25f4a5bd81357ee99acf3d7faa1190a69c19cb62bd14aea199ca6f8b5cf9687af7d898cdf605ea2414d2c04db87ddb3b4dc8 node-v18.15.0.tar.xz
277e226f3906f791bae6aedd0b74b0e2c52b6154eb2dc0c568417ad94a0722078e4fbbbe15c59d4ba0b59cdb4ad45b5e9620f14d75694a15531857cd29aa044a pmmx-test.patch
bf78e52c60b4567854eaa9d9433ade8a318a356cb326dded99e800df35a9f475390a0cf8b0c8e595bbdb3702838eafe91801cd646576aa7fa7966b37d794e380 pmmx-time64.patch
-45d899bd62e39762fde7e9743efcc6dc032161ae087099da8eecebc84f3eaab87eecf00cbc5861f686a45332224025af172ab00ce966771dccf2e925ca48bc6a zlib-version-regex.patch"
+45d899bd62e39762fde7e9743efcc6dc032161ae087099da8eecebc84f3eaab87eecf00cbc5861f686a45332224025af172ab00ce966771dccf2e925ca48bc6a zlib-version-regex.patch
+64cffa3cfdced1152a41d77c344370d0077d046ccf20fb618cad7396bcb37290c14a8180b713a7e554e3b09042e481d6aa4a5f97a0a93ceb4090d0f2a510b052 ppc-fixes-for-older-models-18.patch"
diff --git a/user/node/ppc-fixes-for-older-models-18.patch b/user/node/ppc-fixes-for-older-models-18.patch
new file mode 100644
index 000000000..88d5bd1a0
--- /dev/null
+++ b/user/node/ppc-fixes-for-older-models-18.patch
@@ -0,0 +1,918 @@
+Fix PowerPC CPU detection and codegen to work with more processors.
+
+This patch defines the correct optional Power ISA features that the
+PPC code generator needs in order to run without crashing on v2.01
+and older CPUs such as PPC 970 (G5) or NXP e6500, and to run more
+efficiently on CPUs with features that weren't being used before.
+
+PowerPC ISA v2.01 and older CPUs don't have FP round to int instructions,
+and PowerPC ISA v2.06 and older are missing support for unsigned 64-bit
+to/from double, as well as integer to/from single-precision float.
+
+Use the current PPC_5_PLUS CPU feature to determine whether to generate
+FP round to int, and use the PPC_7_PLUS feature to determine whether
+to use the v2.06 ISA instructions or whether to generate an alternate
+generic PPC sequence to handle the cases of 64-bit unsigned integer
+to/from floating point, integers to single-precision floating point,
+and loading and storing 64-bit integers with byte reversal.
+
+Add a new PPC_7_PLUS_NXP feature for the popcnt and ldbrx/stdbrx
+opcodes added in Power ISA v2.06, which are also present in the NXP
+e5500 and e6500 cores, which are otherwise missing many of the
+features added since v2.01. This enables NXP cores to use a few
+more features. Additionally, bring back the ISELECT feature flag,
+which is also supported by NXP cores, including older ones, and
+has its own AT_HWCAP2 feature flag in Linux.
+
+By defining a new ICACHE_SNOOP feature bit to replace the use of
+PPC_6_PLUS, the meaning of the instruction cache flushing fast path,
+and the CPUs that can use it, is more clearly defined. In addition,
+for the other PowerPC chips, the loop to flush the data and instruction
+cache blocks has been split into two loops, with a single "sync" and
+"isync" after each loop, which should be more efficient, and also handles
+the few CPUs with differing data and instruction cache line sizes.
+
+In the macro assembler methods, in addition to providing an alternate
+path for FP conversion opcodes added in POWER7 (ISA v2.06), unnecessary
+instructions to move sp down and then immediately back up were replaced
+with negative offsets from the current sp. This should be faster, and also
+sp is supposed to point to a back chain at all times (V8 may not do this).
+
+--- a/deps/v8/src/base/cpu.cc 2022-02-08 04:37:48.000000000 -0800
++++ b/deps/v8/src/base/cpu.cc 2022-02-19 14:38:37.997161835 -0800
+@@ -14,15 +14,16 @@
+ #if V8_OS_LINUX
+ #include <linux/auxvec.h> // AT_HWCAP
+ #endif
+-#if V8_GLIBC_PREREQ(2, 16)
++#if V8_GLIBC_PREREQ(2, 16) || \
++ (V8_OS_LINUX && (V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64))
+ #include <sys/auxv.h> // getauxval()
++#if defined(PPC_FEATURE2_HAS_ISEL) && !defined(PPC_FEATURE2_ISEL)
++#define PPC_FEATURE2_ISEL PPC_FEATURE2_HAS_ISEL
++#endif
+ #endif
+ #if V8_OS_QNX
+ #include <sys/syspage.h> // cpuinfo
+ #endif
+-#if V8_OS_LINUX && (V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64)
+-#include <elf.h>
+-#endif
+ #if V8_OS_AIX
+ #include <sys/systemcfg.h> // _system_configuration
+ #ifndef POWER_8
+@@ -772,56 +773,55 @@
+
+ #ifndef USE_SIMULATOR
+ #if V8_OS_LINUX
+- // Read processor info from /proc/self/auxv.
+- char* auxv_cpu_type = nullptr;
+- FILE* fp = base::Fopen("/proc/self/auxv", "r");
+- if (fp != nullptr) {
+-#if V8_TARGET_ARCH_PPC64
+- Elf64_auxv_t entry;
+-#else
+- Elf32_auxv_t entry;
+-#endif
+- for (;;) {
+- size_t n = fread(&entry, sizeof(entry), 1, fp);
+- if (n == 0 || entry.a_type == AT_NULL) {
+- break;
+- }
+- switch (entry.a_type) {
+- case AT_PLATFORM:
+- auxv_cpu_type = reinterpret_cast<char*>(entry.a_un.a_val);
+- break;
+- case AT_ICACHEBSIZE:
+- icache_line_size_ = entry.a_un.a_val;
+- break;
+- case AT_DCACHEBSIZE:
+- dcache_line_size_ = entry.a_un.a_val;
+- break;
+- }
+- }
+- base::Fclose(fp);
+- }
+-
+- part_ = -1;
+- if (auxv_cpu_type) {
+- if (strcmp(auxv_cpu_type, "power10") == 0) {
+- part_ = kPPCPower10;
+- } else if (strcmp(auxv_cpu_type, "power9") == 0) {
+- part_ = kPPCPower9;
+- } else if (strcmp(auxv_cpu_type, "power8") == 0) {
+- part_ = kPPCPower8;
+- } else if (strcmp(auxv_cpu_type, "power7") == 0) {
+- part_ = kPPCPower7;
+- } else if (strcmp(auxv_cpu_type, "power6") == 0) {
+- part_ = kPPCPower6;
+- } else if (strcmp(auxv_cpu_type, "power5") == 0) {
+- part_ = kPPCPower5;
+- } else if (strcmp(auxv_cpu_type, "ppc970") == 0) {
+- part_ = kPPCG5;
+- } else if (strcmp(auxv_cpu_type, "ppc7450") == 0) {
+- part_ = kPPCG4;
+- } else if (strcmp(auxv_cpu_type, "pa6t") == 0) {
+- part_ = kPPCPA6T;
+- }
++ // Read processor info from getauxval() (needs at least glibc 2.18 or musl).
++ icache_line_size_ = static_cast<int>(getauxval(AT_ICACHEBSIZE));
++ dcache_line_size_ = static_cast<int>(getauxval(AT_DCACHEBSIZE));
++ const unsigned long hwcap = getauxval(AT_HWCAP);
++ const unsigned long hwcap2 = getauxval(AT_HWCAP2);
++ const char* platform = reinterpret_cast<const char*>(getauxval(AT_PLATFORM));
++
++ // NOTE: AT_HWCAP ISA version bits aren't cumulative, so it's necessary
++ // to compare against a mask of all supported versions and CPUs, up to
++ // ISA v2.06, which *is* set for later CPUs. In contrast, the AT_HWCAP2
++ // ISA version bits from v2.07 onward are set cumulatively, so POWER10
++ // will set the ISA version bits from v2.06 (in AT_HWCAP) through v3.1.
++
++ // i-cache coherency requires Power ISA v2.02 or later; has its own flag.
++ has_icache_snoop_ = (hwcap & PPC_FEATURE_ICACHE_SNOOP);
++
++ // requires Power ISA v2.03 or later, or the ISEL bit (e.g. e6500).
++ has_isel_ = (hwcap & (PPC_FEATURE_POWER5_PLUS | PPC_FEATURE_ARCH_2_05 |
++ PPC_FEATURE_PA6T | PPC_FEATURE_POWER6_EXT | PPC_FEATURE_ARCH_2_06)) ||
++ (hwcap2 & PPC_FEATURE2_ISEL);
++
++ // hwcap mask for older 64-bit PPC CPUs with Altivec, e.g. G5, Cell.
++ static const unsigned long kHwcapMaskPPCG5 =
++ (PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC);
++
++ if (hwcap2 & PPC_FEATURE2_ARCH_3_1) {
++ part_ = kPPCPower10;
++ } else if (hwcap2 & PPC_FEATURE2_ARCH_3_00) {
++ part_ = kPPCPower9;
++ } else if (hwcap2 & PPC_FEATURE2_ARCH_2_07) {
++ part_ = kPPCPower8;
++ } else if (hwcap & PPC_FEATURE_ARCH_2_06) {
++ part_ = kPPCPower7;
++ } else if (hwcap & PPC_FEATURE_ARCH_2_05) {
++ part_ = kPPCPower6;
++ } else if (hwcap & (PPC_FEATURE_POWER5 | PPC_FEATURE_POWER5_PLUS)) {
++ part_ = kPPCPower5;
++ } else if (hwcap & PPC_FEATURE_PA6T) {
++ part_ = kPPCPA6T;
++ } else if (strcmp(platform, "ppce6500") == 0) {
++ part_ = kPPCE6500;
++ } else if (strcmp(platform, "ppce5500") == 0) {
++ part_ = kPPCE5500;
++ } else if ((hwcap & kHwcapMaskPPCG5) == kHwcapMaskPPCG5) {
++ part_ = kPPCG5;
++ } else if (hwcap & PPC_FEATURE_HAS_ALTIVEC) {
++ part_ = kPPCG4;
++ } else {
++ part_ = kPPCG3;
+ }
+
+ #elif V8_OS_AIX
+@@ -842,9 +842,13 @@
+ part_ = kPPCPower6;
+ break;
+ case POWER_5:
++ default:
+ part_ = kPPCPower5;
+ break;
+ }
++
++ has_icache_snoop_ = true;
++ has_isel_ = (part_ != kPPCPower5); // isel was added in POWER5+ (v2.03)
+ #endif // V8_OS_AIX
+ #endif // !USE_SIMULATOR
+ #endif // V8_HOST_ARCH_PPC || V8_HOST_ARCH_PPC64
+--- a/deps/v8/src/base/cpu.h 2023-03-05 09:42:53.000000000 +0300
++++ b/deps/v8/src/base/cpu.h 2024-12-30 04:02:27.901400946 +0300
+@@ -71,9 +71,12 @@
+ kPPCPower8,
+ kPPCPower9,
+ kPPCPower10,
++ kPPCG3,
+ kPPCG4,
+ kPPCG5,
+- kPPCPA6T
++ kPPCPA6T,
++ kPPCE5500,
++ kPPCE6500
+ };
+
+ // General features
+@@ -127,6 +130,10 @@
+ // mips features
+ bool is_fp64_mode() const { return is_fp64_mode_; }
+ bool has_msa() const { return has_msa_; }
++
++ // PowerPC features
++ bool has_icache_snoop() const { return has_icache_snoop_; }
++ bool has_isel() const { return has_isel_; }
+
+ // riscv features
+ bool has_rvv() const { return has_rvv_; }
+@@ -180,6 +187,8 @@
+ bool has_non_stop_time_stamp_counter_;
+ bool is_running_in_vm_;
+ bool has_msa_;
++ bool has_icache_snoop_;
++ bool has_isel_;
+ bool has_rvv_;
+ };
+
+--- a/deps/v8/src/builtins/ppc/builtins-ppc.cc 2022-02-08 04:37:48.000000000 -0800
++++ b/deps/v8/src/builtins/ppc/builtins-ppc.cc 2022-02-19 15:18:36.373031457 -0800
+@@ -2823,7 +2823,7 @@
+ __ lbz(scratch, MemOperand(scratch, 0));
+ __ cmpi(scratch, Operand::Zero());
+
+- if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ if (CpuFeatures::IsSupported(ISELECT)) {
+ __ Move(scratch, thunk_ref);
+ __ isel(eq, scratch, function_address, scratch);
+ } else {
+--- a/deps/v8/src/codegen/ppc/macro-assembler-ppc.cc 2023-03-05 09:42:53.000000000 +0300
++++ b/deps/v8/src/codegen/ppc/macro-assembler-ppc.cc 2025-01-02 18:47:19.405199075 +0300
+@@ -906,13 +906,25 @@
+
+ void TurboAssembler::ConvertIntToFloat(Register src, DoubleRegister dst) {
+ MovIntToDouble(dst, src, r0);
+- fcfids(dst, dst);
++
++ if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ fcfids(dst, dst);
++ } else {
++ fcfid(dst, dst);
++ frsp(dst, dst);
++ }
+ }
+
+ void TurboAssembler::ConvertUnsignedIntToFloat(Register src,
+ DoubleRegister dst) {
+ MovUnsignedIntToDouble(dst, src, r0);
+- fcfids(dst, dst);
++
++ if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ fcfids(dst, dst);
++ } else {
++ fcfid(dst, dst);
++ frsp(dst, dst);
++ }
+ }
+
+ #if V8_TARGET_ARCH_PPC64
+@@ -924,20 +936,52 @@
+
+ void TurboAssembler::ConvertUnsignedInt64ToFloat(Register src,
+ DoubleRegister double_dst) {
+- MovInt64ToDouble(double_dst, src);
+- fcfidus(double_dst, double_dst);
++ if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ MovInt64ToDouble(double_dst, src);
++ fcfidus(double_dst, double_dst);
++ } else {
++ ConvertUnsignedInt64ToDouble(src, double_dst);
++ frsp(double_dst, double_dst);
++ }
+ }
+
+ void TurboAssembler::ConvertUnsignedInt64ToDouble(Register src,
+ DoubleRegister double_dst) {
+- MovInt64ToDouble(double_dst, src);
+- fcfidu(double_dst, double_dst);
++ if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ MovInt64ToDouble(double_dst, src);
++ fcfidu(double_dst, double_dst);
++ } else {
++ Label negative;
++ Label done;
++ cmpi(src, Operand::Zero());
++ blt(&negative);
++ std(src, MemOperand(sp, -kDoubleSize));
++ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
++ lfd(double_dst, MemOperand(sp, -kDoubleSize));
++ fcfid(double_dst, double_dst);
++ b(&done);
++ bind(&negative);
++ // Note: GCC saves the lowest bit, then ORs it after shifting right 1 bit,
++ // presumably for better rounding. This version only shifts right 1 bit.
++ srdi(r0, src, Operand(1));
++ std(r0, MemOperand(sp, -kDoubleSize));
++ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
++ lfd(double_dst, MemOperand(sp, -kDoubleSize));
++ fcfid(double_dst, double_dst);
++ fadd(double_dst, double_dst, double_dst);
++ bind(&done);
++ }
+ }
+
+ void TurboAssembler::ConvertInt64ToFloat(Register src,
+ DoubleRegister double_dst) {
+ MovInt64ToDouble(double_dst, src);
+- fcfids(double_dst, double_dst);
++ if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ fcfids(double_dst, double_dst);
++ } else {
++ fcfid(double_dst, double_dst);
++ frsp(double_dst, double_dst);
++ }
+ }
+ #endif
+
+@@ -967,15 +1011,56 @@
+ void TurboAssembler::ConvertDoubleToUnsignedInt64(
+ const DoubleRegister double_input, const Register dst,
+ const DoubleRegister double_dst, FPRoundingMode rounding_mode) {
+- if (rounding_mode == kRoundToZero) {
+- fctiduz(double_dst, double_input);
++ if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ if (rounding_mode == kRoundToZero) {
++ fctiduz(double_dst, double_input);
++ } else {
++ SetRoundingMode(rounding_mode);
++ fctidu(double_dst, double_input);
++ ResetRoundingMode();
++ }
++
++ MovDoubleToInt64(dst, double_dst);
+ } else {
+- SetRoundingMode(rounding_mode);
+- fctidu(double_dst, double_input);
+- ResetRoundingMode();
++ Label safe_size;
++ Label done;
++ mov(dst, Operand(1593835520)); // bit pattern for 2^63 as a float
++ stw(dst, MemOperand(sp, -kFloatSize));
++ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
++ lfs(double_dst, MemOperand(sp, -kFloatSize));
++ fcmpu(double_input, double_dst);
++ blt(&safe_size);
++ // Subtract 2^63, then OR the top bit of the uint64 to add back
++ fsub(double_dst, double_input, double_dst);
++ if (rounding_mode == kRoundToZero) {
++ fctidz(double_dst, double_dst);
++ } else {
++ SetRoundingMode(rounding_mode);
++ fctid(double_dst, double_dst);
++ ResetRoundingMode();
++ }
++ // set r0 to -1, then clear all but the MSB.
++ mov(r0, Operand(-1));
++ rldicr(r0, r0, 0, 0);
++ stfd(double_dst, MemOperand(sp, -kDoubleSize));
++ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
++ ld(dst, MemOperand(sp, -kDoubleSize));
++ orx(dst, dst, r0);
++ b(&done);
++ // Handling for values smaller than 2^63.
++ bind(&safe_size);
++ if (rounding_mode == kRoundToZero) {
++ fctidz(double_dst, double_input);
++ } else {
++ SetRoundingMode(rounding_mode);
++ fctid(double_dst, double_input);
++ ResetRoundingMode();
++ }
++ stfd(double_dst, MemOperand(sp, -kDoubleSize));
++ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
++ ld(dst, MemOperand(sp, -kDoubleSize));
++ bind(&done);
+ }
+-
+- MovDoubleToInt64(dst, double_dst);
+ }
+ #endif
+
+@@ -2466,19 +2551,17 @@
+ }
+ #endif
+
+- addi(sp, sp, Operand(-kDoubleSize));
+ #if V8_TARGET_ARCH_PPC64
+ mov(scratch, Operand(litVal.ival));
+- std(scratch, MemOperand(sp));
++ std(scratch, MemOperand(sp, -kDoubleSize));
+ #else
+ LoadIntLiteral(scratch, litVal.ival[0]);
+- stw(scratch, MemOperand(sp, 0));
++ stw(scratch, MemOperand(sp, -kDoubleSize));
+ LoadIntLiteral(scratch, litVal.ival[1]);
+- stw(scratch, MemOperand(sp, 4));
++ stw(scratch, MemOperand(sp, -kDoubleSize + 4));
+ #endif
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lfd(result, MemOperand(sp, 0));
+- addi(sp, sp, Operand(kDoubleSize));
++ lfd(result, MemOperand(sp, -kDoubleSize));
+ }
+
+ void TurboAssembler::MovIntToDouble(DoubleRegister dst, Register src,
+@@ -2492,18 +2575,16 @@
+ #endif
+
+ DCHECK(src != scratch);
+- subi(sp, sp, Operand(kDoubleSize));
+ #if V8_TARGET_ARCH_PPC64
+ extsw(scratch, src);
+- std(scratch, MemOperand(sp, 0));
++ std(scratch, MemOperand(sp, -kDoubleSize));
+ #else
+ srawi(scratch, src, 31);
+- stw(scratch, MemOperand(sp, Register::kExponentOffset));
+- stw(src, MemOperand(sp, Register::kMantissaOffset));
++ stw(scratch, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
++ stw(src, MemOperand(sp, -kDoubleSize + Register::kMantissaOffset));
+ #endif
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lfd(dst, MemOperand(sp, 0));
+- addi(sp, sp, Operand(kDoubleSize));
++ lfd(dst, MemOperand(sp, -kDoubleSize));
+ }
+
+ void TurboAssembler::MovUnsignedIntToDouble(DoubleRegister dst, Register src,
+@@ -2517,18 +2598,16 @@
+ #endif
+
+ DCHECK(src != scratch);
+- subi(sp, sp, Operand(kDoubleSize));
+ #if V8_TARGET_ARCH_PPC64
+ clrldi(scratch, src, Operand(32));
+- std(scratch, MemOperand(sp, 0));
++ std(scratch, MemOperand(sp, -kDoubleSize));
+ #else
+ li(scratch, Operand::Zero());
+- stw(scratch, MemOperand(sp, Register::kExponentOffset));
+- stw(src, MemOperand(sp, Register::kMantissaOffset));
++ stw(scratch, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
++ stw(src, MemOperand(sp, -kDoubleSize + Register::kMantissaOffset));
+ #endif
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lfd(dst, MemOperand(sp, 0));
+- addi(sp, sp, Operand(kDoubleSize));
++ lfd(dst, MemOperand(sp, -kDoubleSize));
+ }
+
+ void TurboAssembler::MovInt64ToDouble(DoubleRegister dst,
+@@ -2543,16 +2622,14 @@
+ }
+ #endif
+
+- subi(sp, sp, Operand(kDoubleSize));
+ #if V8_TARGET_ARCH_PPC64
+- std(src, MemOperand(sp, 0));
++ std(src, MemOperand(sp, -kDoubleSize));
+ #else
+- stw(src_hi, MemOperand(sp, Register::kExponentOffset));
+- stw(src, MemOperand(sp, Register::kMantissaOffset));
++ stw(src_hi, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
++ stw(src, MemOperand(sp, -kDoubleSize + Register::kMantissaOffset));
+ #endif
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lfd(dst, MemOperand(sp, 0));
+- addi(sp, sp, Operand(kDoubleSize));
++ lfd(dst, MemOperand(sp, -kDoubleSize));
+ }
+
+ #if V8_TARGET_ARCH_PPC64
+@@ -2567,12 +2644,10 @@
+ return;
+ }
+
+- subi(sp, sp, Operand(kDoubleSize));
+- stw(src_hi, MemOperand(sp, Register::kExponentOffset));
+- stw(src_lo, MemOperand(sp, Register::kMantissaOffset));
++ stw(src_hi, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
++ stw(src_lo, MemOperand(sp, -kDoubleSize + Register::kMantissaOffset));
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lfd(dst, MemOperand(sp));
+- addi(sp, sp, Operand(kDoubleSize));
++ lfd(dst, MemOperand(sp, -kDoubleSize));
+ }
+ #endif
+
+@@ -2587,12 +2662,10 @@
+ }
+ #endif
+
+- subi(sp, sp, Operand(kDoubleSize));
+- stfd(dst, MemOperand(sp));
+- stw(src, MemOperand(sp, Register::kMantissaOffset));
++ stfd(dst, MemOperand(sp, -kDoubleSize));
++ stw(src, MemOperand(sp, -kDoubleSize + Register::kMantissaOffset));
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lfd(dst, MemOperand(sp));
+- addi(sp, sp, Operand(kDoubleSize));
++ lfd(dst, MemOperand(sp, -kDoubleSize));
+ }
+
+ void TurboAssembler::InsertDoubleHigh(DoubleRegister dst, Register src,
+@@ -2606,12 +2679,10 @@
+ }
+ #endif
+
+- subi(sp, sp, Operand(kDoubleSize));
+- stfd(dst, MemOperand(sp));
+- stw(src, MemOperand(sp, Register::kExponentOffset));
++ stfd(dst, MemOperand(sp, -kDoubleSize));
++ stw(src, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lfd(dst, MemOperand(sp));
+- addi(sp, sp, Operand(kDoubleSize));
++ lfd(dst, MemOperand(sp, -kDoubleSize));
+ }
+
+ void TurboAssembler::MovDoubleLowToInt(Register dst, DoubleRegister src) {
+@@ -2622,11 +2693,9 @@
+ }
+ #endif
+
+- subi(sp, sp, Operand(kDoubleSize));
+- stfd(src, MemOperand(sp));
++ stfd(src, MemOperand(sp, -kDoubleSize));
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lwz(dst, MemOperand(sp, Register::kMantissaOffset));
+- addi(sp, sp, Operand(kDoubleSize));
++ lwz(dst, MemOperand(sp, -kDoubleSize + Register::kMantissaOffset));
+ }
+
+ void TurboAssembler::MovDoubleHighToInt(Register dst, DoubleRegister src) {
+@@ -2638,13 +2707,10 @@
+ }
+ #endif
+
+- subi(sp, sp, Operand(kDoubleSize));
+- stfd(src, MemOperand(sp));
++ stfd(src, MemOperand(sp, -kDoubleSize));
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+- lwz(dst, MemOperand(sp, Register::kExponentOffset));
+- addi(sp, sp, Operand(kDoubleSize));
++ lwz(dst, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
+ }
+-
+ void TurboAssembler::MovDoubleToInt64(
+ #if !V8_TARGET_ARCH_PPC64
+ Register dst_hi,
+@@ -2657,16 +2723,14 @@
+ }
+ #endif
+
+- subi(sp, sp, Operand(kDoubleSize));
+- stfd(src, MemOperand(sp));
++ stfd(src, MemOperand(sp, -kDoubleSize));
+ nop(GROUP_ENDING_NOP); // LHS/RAW optimization
+ #if V8_TARGET_ARCH_PPC64
+- ld(dst, MemOperand(sp, 0));
++ ld(dst, MemOperand(sp, -kDoubleSize));
+ #else
+- lwz(dst_hi, MemOperand(sp, Register::kExponentOffset));
+- lwz(dst, MemOperand(sp, Register::kMantissaOffset));
++ lwz(dst_hi, MemOperand(sp, -kDoubleSize + Register::kExponentOffset));
++ lwz(dst, MemOperand(sp, -kDoubleSize + Register::kMantissaOffset));
+ #endif
+- addi(sp, sp, Operand(kDoubleSize));
+ }
+
+ void TurboAssembler::MovIntToFloat(DoubleRegister dst, Register src,
+@@ -3291,10 +3355,8 @@
+ }
+
+ #define MEM_LE_OP_LIST(V) \
+- V(LoadU64, ldbrx) \
+ V(LoadU32, lwbrx) \
+ V(LoadU16, lhbrx) \
+- V(StoreU64, stdbrx) \
+ V(StoreU32, stwbrx) \
+ V(StoreU16, sthbrx)
+
+@@ -3316,6 +3378,37 @@
+ #undef MEM_LE_OP_FUNCTION
+ #undef MEM_LE_OP_LIST
+
++void TurboAssembler::LoadU64LE(Register dst, const MemOperand& mem,
++ Register scratch) {
++#ifdef V8_TARGET_BIG_ENDIAN
++ if (CpuFeatures::IsSupported(PPC_7_PLUS_NXP)) {
++ GenerateMemoryLEOperation(dst, mem, ldbrx);
++ } else {
++ lwbrx(dst, mem);
++ lwbrx(scratch, MemOperand(mem.ra(), mem.rb(), mem.offset() + 4));
++ rldicr(scratch, scratch, 32, 31);
++ orx(dst, dst, scratch);
++ }
++#else
++ LoadU64(dst, mem, scratch);
++#endif
++}
++
++void TurboAssembler::StoreU64LE(Register src, const MemOperand& mem,
++ Register scratch) {
++#ifdef V8_TARGET_BIG_ENDIAN
++ if (CpuFeatures::IsSupported(PPC_7_PLUS_NXP)) {
++ GenerateMemoryLEOperation(src, mem, stdbrx);
++ } else {
++ stwbrx(src, mem);
++ rldicl(scratch, src, 32, 32);
++ stwbrx(scratch, MemOperand(mem.ra(), mem.rb(), mem.offset() + 4));
++ }
++#else
++ StoreU64(src, mem, scratch);
++#endif
++}
++
+ void TurboAssembler::LoadS32LE(Register dst, const MemOperand& mem,
+ Register scratch) {
+ #ifdef V8_TARGET_BIG_ENDIAN
+--- a/deps/v8/src/codegen/cpu-features.h 2022-02-19 21:19:15.982288690 -0800
++++ b/deps/v8/src/codegen/cpu-features.h 2022-02-19 21:22:43.071487369 -0800
+@@ -52,11 +52,15 @@
+ MIPS_SIMD, // MSA instructions
+
+ #elif V8_TARGET_ARCH_PPC || V8_TARGET_ARCH_PPC64
++ PPC_5_PLUS,
+ PPC_6_PLUS,
+ PPC_7_PLUS,
+ PPC_8_PLUS,
+ PPC_9_PLUS,
+ PPC_10_PLUS,
++ ICACHE_SNOOP, // ISA v2.02 (POWER5)
++ ISELECT, // ISA v2.03 (POWER5+ and some NXP cores)
++ PPC_7_PLUS_NXP, // ISA v2.06 (POWER7 and NXP e5500/e6500)
+
+ #elif V8_TARGET_ARCH_S390X
+ FPU,
+--- a/deps/v8/src/compiler/backend/ppc/instruction-selector-ppc.cc 2022-02-20 23:35:21.212337639 -0800
++++ b/deps/v8/src/compiler/backend/ppc/instruction-selector-ppc.cc 2022-02-20 23:36:20.925858840 -0800
+@@ -2702,16 +2702,26 @@
+ // static
+ MachineOperatorBuilder::Flags
+ InstructionSelector::SupportedMachineOperatorFlags() {
+- return MachineOperatorBuilder::kFloat32RoundDown |
+- MachineOperatorBuilder::kFloat64RoundDown |
+- MachineOperatorBuilder::kFloat32RoundUp |
+- MachineOperatorBuilder::kFloat64RoundUp |
+- MachineOperatorBuilder::kFloat32RoundTruncate |
+- MachineOperatorBuilder::kFloat64RoundTruncate |
+- MachineOperatorBuilder::kFloat64RoundTiesAway |
+- MachineOperatorBuilder::kWord32Popcnt |
+- MachineOperatorBuilder::kWord64Popcnt;
++ MachineOperatorBuilder::Flags flags = MachineOperatorBuilder::Flag::kNoFlags;
++ // FP rounding to integer instructions require Power ISA v2.02 or later.
++ if (CpuFeatures::IsSupported(PPC_5_PLUS)) {
++ flags |= MachineOperatorBuilder::kFloat32RoundDown |
++ MachineOperatorBuilder::kFloat64RoundDown |
++ MachineOperatorBuilder::kFloat32RoundUp |
++ MachineOperatorBuilder::kFloat64RoundUp |
++ MachineOperatorBuilder::kFloat32RoundTruncate |
++ MachineOperatorBuilder::kFloat64RoundTruncate |
++ MachineOperatorBuilder::kFloat64RoundTiesAway;
++ }
++ // Population count requires Power ISA v2.06, or NXP e5500/e6500.
++ if (CpuFeatures::IsSupported(PPC_7_PLUS_NXP)) {
++ flags |= MachineOperatorBuilder::kWord32Popcnt;
++#if V8_TARGET_ARCH_PPC64
++ flags |= MachineOperatorBuilder::kWord64Popcnt;
++#endif
++ }
+ // We omit kWord32ShiftIsSafe as s[rl]w use 0x3F as a mask rather than 0x1F.
++ return flags;
+ }
+
+ // static
+--- a/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc 2023-03-05 09:42:53.000000000 +0300
++++ b/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc 2025-01-02 22:32:18.475188958 +0300
+@@ -1859,7 +1859,7 @@
+ cr, static_cast<CRBit>(VXCVI % CRWIDTH));
+ __ mcrfs(cr, VXCVI); // extract FPSCR field containing VXCVI into cr7
+ // Handle conversion failures (such as overflow).
+- if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ if (CpuFeatures::IsSupported(ISELECT)) {
+ if (check_conversion) {
+ __ li(i.OutputRegister(1), Operand(1));
+ __ isel(i.OutputRegister(1), r0, i.OutputRegister(1), crbit);
+@@ -1896,7 +1896,7 @@
+ int crbit = v8::internal::Assembler::encode_crbit(
+ cr, static_cast<CRBit>(VXCVI % CRWIDTH));
+ __ mcrfs(cr, VXCVI); // extract FPSCR field containing VXCVI into cr7
+- if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ if (CpuFeatures::IsSupported(ISELECT)) {
+ __ li(i.OutputRegister(1), Operand(1));
+ __ isel(i.OutputRegister(1), r0, i.OutputRegister(1), crbit);
+ } else {
+@@ -2173,11 +2173,66 @@
+ break;
+ }
+ case kPPC_LoadByteRev64: {
+- ASSEMBLE_LOAD_INTEGER_RR(ldbrx);
++ // inlined version of ASSEMBLE_LOAD_INTEGER_RR()
++ Register result = i.OutputRegister();
++ AddressingMode mode = kMode_None;
++ MemOperand operand = i.MemoryOperand(&mode);
++ DCHECK_EQ(mode, kMode_MRR);
++ bool is_atomic = i.InputInt32(2);
++ if (CpuFeatures::IsSupported(PPC_7_PLUS_NXP)) {
++ __ ldbrx(result, operand);
++ } else {
++#ifdef V8_TARGET_BIG_ENDIAN
++ // low and high words from reversed perspective
++ MemOperand op_low = operand;
++ MemOperand op_high = MemOperand(operand.ra(), operand.rb(),
++ operand.offset() + 4);
++#else
++ // low and high words from reversed perspective
++ MemOperand op_high = operand;
++ MemOperand op_low = MemOperand(operand.ra(), operand.rb(),
++ operand.offset() + 4);
++#endif
++ Register temp1 = r0;
++ __ lwbrx(result, op_low);
++ __ lwbrx(temp1, op_high);
++ __ rldicr(temp1, temp1, 32, 31);
++ __ orx(result, result, temp1);
++ }
++ if (is_atomic) __ lwsync();
++ DCHECK_EQ(LeaveRC, i.OutputRCBit());
+ break;
+ }
+ case kPPC_StoreByteRev64: {
+- ASSEMBLE_STORE_INTEGER_RR(stdbrx);
++ // inlined version of ASSEMBLE_STORE_INTEGER_RR()
++ size_t index = 0;
++ AddressingMode mode = kMode_None;
++ MemOperand operand = i.MemoryOperand(&mode, &index);
++ DCHECK_EQ(mode, kMode_MRR);
++ Register value = i.InputRegister(index);
++ bool is_atomic = i.InputInt32(3);
++ if (is_atomic) __ lwsync();
++ if (CpuFeatures::IsSupported(PPC_7_PLUS_NXP)) {
++ __ stdbrx(value, operand);
++ } else {
++#ifdef V8_TARGET_BIG_ENDIAN
++ // low and high words from reversed perspective
++ MemOperand op_low = operand;
++ MemOperand op_high = MemOperand(operand.ra(), operand.rb(),
++ operand.offset() + 4);
++#else
++ // low and high words from reversed perspective
++ MemOperand op_high = operand;
++ MemOperand op_low = MemOperand(operand.ra(), operand.rb(),
++ operand.offset() + 4);
++#endif
++ Register temp1 = r0;
++ __ stwbrx(value, op_low);
++ __ rldicl(temp1, value, 32, 32);
++ __ stwbrx(temp1, op_high);
++ }
++ if (is_atomic) __ sync();
++ DCHECK_EQ(LeaveRC, i.OutputRCBit());
+ break;
+ }
+ case kPPC_F64x2Splat: {
+@@ -3936,7 +3991,7 @@
+ // Unnecessary for eq/lt & ne/ge since only FU bit will be set.
+ }
+
+- if (CpuFeatures::IsSupported(PPC_7_PLUS)) {
++ if (CpuFeatures::IsSupported(ISELECT)) {
+ switch (cond) {
+ case eq:
+ case lt:
+@@ -3954,6 +4009,7 @@
+ break;
+ default:
+ UNREACHABLE();
++ break;
+ }
+ } else {
+ if (reg_value != 0) __ li(reg, Operand::Zero());
+--- a/deps/v8/src/codegen/ppc/cpu-ppc.cc 2022-02-08 04:37:48.000000000 -0800
++++ b/deps/v8/src/codegen/ppc/cpu-ppc.cc 2022-02-20 17:02:17.900000785 -0800
+@@ -8,14 +8,12 @@
+
+ #include "src/codegen/cpu-features.h"
+
+-#define INSTR_AND_DATA_CACHE_COHERENCY PPC_6_PLUS
+-
+ namespace v8 {
+ namespace internal {
+
+ void CpuFeatures::FlushICache(void* buffer, size_t size) {
+ #if !defined(USE_SIMULATOR)
+- if (CpuFeatures::IsSupported(INSTR_AND_DATA_CACHE_COHERENCY)) {
++ if (CpuFeatures::IsSupported(ICACHE_SNOOP)) {
+ __asm__ __volatile__(
+ "sync \n"
+ "icbi 0, %0 \n"
+@@ -26,25 +24,33 @@
+ return;
+ }
+
+- const int kCacheLineSize = CpuFeatures::icache_line_size();
+- intptr_t mask = kCacheLineSize - 1;
++ const int kInstrCacheLineSize = CpuFeatures::icache_line_size();
++ const int kDataCacheLineSize = CpuFeatures::dcache_line_size();
++ intptr_t ic_mask = kInstrCacheLineSize - 1;
++ intptr_t dc_mask = kDataCacheLineSize - 1;
+ byte* start =
+- reinterpret_cast<byte*>(reinterpret_cast<intptr_t>(buffer) & ~mask);
++ reinterpret_cast<byte*>(reinterpret_cast<intptr_t>(buffer) & ~dc_mask);
+ byte* end = static_cast<byte*>(buffer) + size;
+- for (byte* pointer = start; pointer < end; pointer += kCacheLineSize) {
+- __asm__(
++ for (byte* pointer = start; pointer < end; pointer += kDataCacheLineSize) {
++ __asm__ __volatile__(
+ "dcbf 0, %0 \n"
+- "sync \n"
+- "icbi 0, %0 \n"
+- "isync \n"
+ : /* no output */
+ : "r"(pointer));
+ }
++ __asm__ __volatile__("sync");
+
++ start =
++ reinterpret_cast<byte*>(reinterpret_cast<intptr_t>(buffer) & ~ic_mask);
++ for (byte* pointer = start; pointer < end; pointer += kInstrCacheLineSize) {
++ __asm__ __volatile__(
++ "icbi 0, %0 \n"
++ : /* no output */
++ : "r"(pointer));
++ }
++ __asm__ __volatile__("isync");
+ #endif // !USE_SIMULATOR
+ }
+ } // namespace internal
+ } // namespace v8
+
+-#undef INSTR_AND_DATA_CACHE_COHERENCY
+ #endif // V8_TARGET_ARCH_PPC || V8_TARGET_ARCH_PPC64
+--- ./deps/v8/src/codegen/ppc/assembler-ppc.cc.orig 2022-02-08 04:37:48.000000000 -0800
++++ ./deps/v8/src/codegen/ppc/assembler-ppc.cc 2022-02-20 17:20:25.019591225 -0800
+@@ -65,6 +65,7 @@
+ void CpuFeatures::ProbeImpl(bool cross_compile) {
+ supported_ |= CpuFeaturesImpliedByCompiler();
+ icache_line_size_ = 128;
++ dcache_line_size_ = 128;
+
+ // Only use statically determined features for cross compile (snapshot).
+ if (cross_compile) return;
+@@ -73,6 +74,8 @@
+ #ifdef USE_SIMULATOR
+ // Simulator
+ supported_ |= (1u << PPC_10_PLUS);
++ supported_ |= (1u << ICACHE_SNOOP);
++ supported_ |= (1u << ISELECT);
+ #else
+ base::CPU cpu;
+ if (cpu.part() == base::CPU::kPPCPower10) {
+@@ -85,17 +88,37 @@
+ supported_ |= (1u << PPC_7_PLUS);
+ } else if (cpu.part() == base::CPU::kPPCPower6) {
+ supported_ |= (1u << PPC_6_PLUS);
++ } else if (cpu.part() == base::CPU::kPPCPower5 ||
++ cpu.part() == base::CPU::kPPCPA6T) {
++ supported_ |= (1u << PPC_5_PLUS);
++ } else if (cpu.part() == base::CPU::kPPCE6500 ||
++ cpu.part() == base::CPU::kPPCE5500) {
++ supported_ |= (1u << PPC_7_PLUS_NXP); // NXP-supported v2.06 features
++ }
++
++ if (cpu.has_icache_snoop()) {
++ supported_ |= (1u << ICACHE_SNOOP);
++ }
++ if (cpu.has_isel()) {
++ supported_ |= (1u << ISELECT);
+ }
+ #if V8_OS_LINUX
+ if (cpu.icache_line_size() != base::CPU::kUnknownCacheLineSize) {
+ icache_line_size_ = cpu.icache_line_size();
+ }
++ if (cpu.dcache_line_size() != base::CPU::kUnknownCacheLineSize) {
++ dcache_line_size_ = cpu.dcache_line_size();
++ }
+ #endif
+ #endif
+ if (supported_ & (1u << PPC_10_PLUS)) supported_ |= (1u << PPC_9_PLUS);
+ if (supported_ & (1u << PPC_9_PLUS)) supported_ |= (1u << PPC_8_PLUS);
+ if (supported_ & (1u << PPC_8_PLUS)) supported_ |= (1u << PPC_7_PLUS);
+- if (supported_ & (1u << PPC_7_PLUS)) supported_ |= (1u << PPC_6_PLUS);
++ if (supported_ & (1u << PPC_7_PLUS)) {
++ supported_ |= (1u << PPC_7_PLUS_NXP); // NXP-supported v2.06 features
++ supported_ |= (1u << PPC_6_PLUS);
++ }
++ if (supported_ & (1u << PPC_6_PLUS)) supported_ |= (1u << PPC_5_PLUS);
+
+ // Set a static value on whether Simd is supported.
+ // This variable is only used for certain archs to query SupportWasmSimd128()
+@@ -117,11 +140,15 @@
+ }
+
+ void CpuFeatures::PrintFeatures() {
++ printf("PPC_5_PLUS=%d\n", CpuFeatures::IsSupported(PPC_5_PLUS));
+ printf("PPC_6_PLUS=%d\n", CpuFeatures::IsSupported(PPC_6_PLUS));
+ printf("PPC_7_PLUS=%d\n", CpuFeatures::IsSupported(PPC_7_PLUS));
+ printf("PPC_8_PLUS=%d\n", CpuFeatures::IsSupported(PPC_8_PLUS));
+ printf("PPC_9_PLUS=%d\n", CpuFeatures::IsSupported(PPC_9_PLUS));
+ printf("PPC_10_PLUS=%d\n", CpuFeatures::IsSupported(PPC_10_PLUS));
++ printf("ICACHE_SNOOP=%d\n", CpuFeatures::IsSupported(ICACHE_SNOOP));
++ printf("ISELECT=%d\n", CpuFeatures::IsSupported(ISELECT));
++ printf("PPC_7_PLUS_NXP=%d\n", CpuFeatures::IsSupported(PPC_7_PLUS_NXP));
+ }
+
+ Register ToRegister(int num) {
diff --git a/user/rdfind/APKBUILD b/user/rdfind/APKBUILD
new file mode 100644
index 000000000..593bf3cf2
--- /dev/null
+++ b/user/rdfind/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
+# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
+pkgname=rdfind
+pkgver=1.6.0
+pkgrel=0
+pkgdesc="A tool for finding duplicate files"
+url="https://rdfind.pauldreik.se/"
+arch="all"
+license="GPL-2.0+"
+depends=""
+checkdepends="cmd:which"
+makedepends="nettle-dev"
+subpackages="$pkgname-doc"
+source="https://rdfind.pauldreik.se/rdfind-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="21d135551bd2d71a71dfe1e4faece6e980db3df18f34433b7b0a5da9e21ccc9067337892025afa9b4b1fd6069732a144b5b7b8e0441cbc9821a71a8b934cced1 rdfind-1.6.0.tar.gz"
diff --git a/user/seatd/APKBUILD b/user/seatd/APKBUILD
index 07391d172..f905c6029 100644
--- a/user/seatd/APKBUILD
+++ b/user/seatd/APKBUILD
@@ -2,15 +2,18 @@
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=seatd
pkgver=0.8.0
-pkgrel=0
+pkgrel=1
pkgdesc="Seat management daemon and library"
url="https://git.sr.ht/~kennylevinsen/seatd"
arch="all"
license="MIT"
depends=""
makedepends="cmake elogind-dev meson scdoc"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~kennylevinsen/seatd/archive/$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~kennylevinsen/seatd/archive/$pkgver.tar.gz
+ $pkgname.confd
+ $pkgname.initd
+ "
build() {
# https://todo.sr.ht/~kennylevinsen/seatd/10
@@ -33,6 +36,10 @@ check() {
package() {
DESTDIR="$pkgdir" meson install -C build
+ install -Dm755 "$srcdir/$pkgname.initd" "$pkgdir"/etc/init.d/seatd
+ install -Dm644 "$srcdir/$pkgname.confd" "$pkgdir"/etc/conf.d/seatd
}
-sha512sums="93b1e5c170564ce9654e4df9985af95cb505274b36e950998bb1f16803d2d46712140eded2bdd8d5e85aec62070afd9c224184276d79a0ff0813408dfc472db7 seatd-0.8.0.tar.gz"
+sha512sums="93b1e5c170564ce9654e4df9985af95cb505274b36e950998bb1f16803d2d46712140eded2bdd8d5e85aec62070afd9c224184276d79a0ff0813408dfc472db7 seatd-0.8.0.tar.gz
+1ee755b462455fb20ee2f56b8d1a0f3a26eb9aed34eb6126e322243f9288b23577aff40e5a2c02449f349282af79eafd232b9e77cd196daa92ee8a9fcae2ec16 seatd.confd
+54e1f20a37945f95b184a26dc9ef5cfe5ddcce4445672b04394465ba16d319f87c24c1b347400a0189c4f3de9bae1ee0a95c1dee94a0d677c9c980fc238fa2df seatd.initd"
diff --git a/user/seatd/seatd.confd b/user/seatd/seatd.confd
new file mode 100644
index 000000000..8eac7d11e
--- /dev/null
+++ b/user/seatd/seatd.confd
@@ -0,0 +1,12 @@
+# Configuration for /etc/init.d/seatd
+
+# Sets the seatd log level; one of: silent, error, info, or debug.
+# Defaults to "error".
+#loglevel=
+
+# Log messages are redirected to syslog, unless `loglevel=silent`.
+# Set to empty string to disable.
+#error_logger="logger -t seatd -p daemon.$loglevel >/dev/null 2>&1"
+
+# Uncomment to run with process supervisor.
+# supervisor="supervise-daemon"
diff --git a/user/seatd/seatd.initd b/user/seatd/seatd.initd
new file mode 100644
index 000000000..b686052bf
--- /dev/null
+++ b/user/seatd/seatd.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+
+name="seatd"
+description="Seat management daemon"
+
+command="/usr/bin/seatd"
+command_args="-g video -l ${loglevel:-error} ${command_args:-}"
+command_background="yes"
+
+pidfile="/run/$RC_SVCNAME.pid"
+
+if [ "$loglevel" != 'silent' ]; then
+ : ${error_logger="logger -t $name -p daemon.${loglevel:-error} >/dev/null 2>&1"}
+fi
diff --git a/user/thunar-volman/APKBUILD b/user/thunar-volman/APKBUILD
index 671127e66..11d18ca49 100644
--- a/user/thunar-volman/APKBUILD
+++ b/user/thunar-volman/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=thunar-volman
-pkgver=4.18.0
+pkgver=4.20.0
pkgrel=0
pkgdesc="Volume manager for Thunar"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="29681ede6274e999377e2aae2b157ed355d9e471416db2d4beb4432f84c60008f8c5008c87392c20da51d58fc3bd8f097d6f21764903baf1a301fb00e6166420 thunar-volman-4.18.0.tar.bz2"
+sha512sums="8a25e94d2c182865c997c259fcccdf56d2e8fc4f6ace706f4ad0913061fb1337728f7101edd9fdf9ab3f1f4f47e66c5ee4273a51d081c3b106ec027b9c846c8f thunar-volman-4.20.0.tar.bz2"
diff --git a/user/thunar/APKBUILD b/user/thunar/APKBUILD
index 2de35a251..807facfc4 100644
--- a/user/thunar/APKBUILD
+++ b/user/thunar/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=thunar
-pkgver=4.18.10
+pkgver=4.20.0
pkgrel=0
pkgdesc="File manager for the XFCE desktop environment"
url="https://xfce.org"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f6b76db2cc69e4f14d46afb3ba602ba88d37b1d9e76e76dcf18949839ac1108c191bdd0158922a732805cfcb85780bbf6c998aedac02b502c8e1d8fcf4cfab32 thunar-4.18.10.tar.bz2"
+sha512sums="fb2063676de82efe944222a6acdfa4c5ea9e4ac5123223528349ada623e37adbac40a2253f2a76b469d83a1f6791f884f1f825b86b58178fdecc5f706ee4a43f thunar-4.20.0.tar.bz2"
diff --git a/user/tumbler/APKBUILD b/user/tumbler/APKBUILD
index 45b49ae6f..d7198fc2a 100644
--- a/user/tumbler/APKBUILD
+++ b/user/tumbler/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=tumbler
-pkgver=4.18.2
+pkgver=4.20.0
pkgrel=0
pkgdesc="Thumbnail generation service for the XFCE desktop environment"
url="https://xfce.org"
@@ -33,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="043e4e7058d1bf0eb4f037924161387042111c7a1bfbf78f8417d0b6463d6b7e72506741f395ca14d6150e2cc0b79d97b2ee3270a30e0d18a0161f639627e255 tumbler-4.18.2.tar.bz2"
+sha512sums="9de43565099c61c8a5227fb69e99f432d44435e717524f71a2c8751ef67d23d0aa06ed63aec15f035fcdbb0940a9a583bb724e59d27d600814c983269b937783 tumbler-4.20.0.tar.bz2"
diff --git a/user/tyrquake/APKBUILD b/user/tyrquake/APKBUILD
new file mode 100644
index 000000000..84a5087f8
--- /dev/null
+++ b/user/tyrquake/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Ermine <mustela@erminea.space>
+# Maintainer: Ermine <mustela@erminea.space>
+pkgname=tyrquake
+pkgver=0.71
+pkgrel=0
+pkgdesc="SDL port of Quake"
+url="https://disenchant.net/tyrquake"
+arch="all"
+options="!check" # No test suite.
+license="GPL-2.0-only"
+makedepends="sdl2-dev imagemagick libglvnd-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc $pkgname-server"
+source="https://disenchant.net/files/engine/tyrquake-$pkgver.tar.gz
+ tyrquake.initd
+ "
+
+build() {
+ make USE_SDL=Y USE_X86_ASM=N
+}
+
+package() {
+ # no install target
+ install -m755 -D "$builddir"/bin/tyr-quake "$pkgdir"/usr/bin/tyr-quake
+ install -m755 -D "$builddir"/bin/tyr-glquake "$pkgdir"/usr/bin/tyr-glquake
+ install -m755 -D "$builddir"/bin/tyr-qwcl "$pkgdir"/usr/bin/tyr-qwcl
+ install -m755 -D "$builddir"/bin/tyr-glqwcl "$pkgdir"/usr/bin/tyr-glqwcl
+ install -m755 -D "$builddir"/bin/tyr-qwsv "$pkgdir"/usr/bin/tyr-qwsv
+
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+}
+
+server() {
+ pkgdesc="$pkgdesc (QuakeWorld server)"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/tyr-qwsv "$subpkgdir"/usr/bin/
+}
+
+openrc() {
+ default_openrc
+ install_if="openrc $pkgname-server=$pkgver-r$pkgrel"
+}
+
+sha512sums="ecceeecb43866c10c0669b4362ce2eda7a790c502764b3d644566e7637ffbde0548676c9dcea07963db0d91d83c248e3497603c0a3a2e1a12a1418a82c07179a tyrquake-0.71.tar.gz
+eff93a1df0f6492c4063332c73382f8893c8a94f26e387ecd102e32a3f6a2f154a1abedecb26ccae7c25c1356ef77cc129508e1215b8320a94c4a55cea1d4aff tyrquake.initd"
diff --git a/user/tyrquake/tyrquake.initd b/user/tyrquake/tyrquake.initd
new file mode 100644
index 000000000..25231e8d2
--- /dev/null
+++ b/user/tyrquake/tyrquake.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+
+name="tyrquake"
+description="TyrQuake QuakeWorld server"
+
+supervisor=supervise-daemon
+
+command="/usr/bin/tyr-qwsv"
+command_user="tyrquake:tyrquake"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/user/tyrquake/tyrquake.pre-install b/user/tyrquake/tyrquake.pre-install
new file mode 100644
index 000000000..73f8ebcd3
--- /dev/null
+++ b/user/tyrquake/tyrquake.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+groupadd -r -- tyrquake 2>/dev/null
+useradd -r -M -N -s /sbin/nologin -g tyrquake -c tyrquake -- tyrquake 2>/dev/null
+
+exit 0
diff --git a/user/weechat/APKBUILD b/user/weechat/APKBUILD
index d99af8283..72991c3c7 100644
--- a/user/weechat/APKBUILD
+++ b/user/weechat/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: zlg <zlg+adelie@zlg.space>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=weechat
-pkgver=4.2.1
+pkgver=4.5.1
pkgrel=0
pkgdesc="Fast, light, extensible ncurses-based chat client"
url="https://www.weechat.org"
@@ -12,7 +12,7 @@ license="GPL-3.0+"
depends=""
depends_dev="cmake aspell-dev curl-dev gnutls-dev libgcrypt-dev lua5.3-dev
ncurses-dev perl-dev python3-dev ruby-dev tcl-dev zlib-dev guile-dev
- tk-dev zstd-dev"
+ tk-dev zstd-dev cjson-dev"
checkdepends="cpputest"
makedepends="$depends_dev asciidoctor"
subpackages="$pkgname-dev $pkgname-spell:_plugin $pkgname-lua:_plugin
@@ -63,4 +63,4 @@ _plugin() {
mv "$pkgdir"/$_dir/${_name}.so "$subpkgdir"/$_dir
}
-sha512sums="0f26ea34480f6388c51eb18c9f08b893cc1e16a27b02c30ef2642a93806f94ca58ccc5aebd7c06711ab77d7d1693653e00873340da38bd555f60adb13557d768 weechat-4.2.1.tar.gz"
+sha512sums="686eb0a57f6def4826ad88b6bfdef6d1e074375d756289f9f3a8046828d22eeb9313278398a619e6c18b16b4baa87753ae9fac82c7fff52ed4d0906570514d06 weechat-4.5.1.tar.gz"
diff --git a/user/wimlib/APKBUILD b/user/wimlib/APKBUILD
index 0246c8e36..a4e365ea6 100644
--- a/user/wimlib/APKBUILD
+++ b/user/wimlib/APKBUILD
@@ -36,5 +36,5 @@ package() {
}
sha512sums="f3c25ee14fe849f452f004ce8137ef040410ea048555ae71180086f010858b6ed593c8881b805bac65f9ee878bf11661a7f17677c6c24e2c77149c35ee0cd853 wimlib-1.14.4.tar.gz
-811cf6db0df5efee974e4efe2f9322bef2aade2f101e3c202e2fa51dfc536663ad828e6fa037c490f8b603c8195285f44f0f9bab3220f217ac5a188e1e11d12f header.patch
+25a410614b4d4a16f16149c09bb1107a5678d49b729ecb55fe5641727556f6eb8a0e3473331ae738e3747652674d78c32be0d6da57c2aa414bd9fc636c27997e header.patch
e58429f3256e85e39558920be295c93645ec0584cf71282e01102c62b05b51fab1c3c1b62a8edb7be8bfc2427d2464400154ca05ad07e02548cad140f781aa7f pc-fuse3.patch"
diff --git a/user/wimlib/header.patch b/user/wimlib/header.patch
index cf6c32bc0..71255d446 100644
--- a/user/wimlib/header.patch
+++ b/user/wimlib/header.patch
@@ -1,14 +1,29 @@
-The RENAME_* flags are only exposed by <linux/fs.h> on musl systems. I have
-not yet been able to triage whether this is something that should be fixed
-musl-side or if this is an issue for upstream.
+This patch should be removed once the following musl commit lands:
---- wimlib-1.14.4/src/mount_image.c.old 2023-07-22 18:55:59.000000000 -0500
-+++ wimlib-1.14.4/src/mount_image.c 2024-12-11 18:46:19.018387960 -0600
-@@ -52,6 +52,7 @@
- #include <sys/time.h>
+https://git.musl-libc.org/cgit/musl/commit\
+/include/stdio.h?id=05ce67fea99ca09cd4b6625cff7aec9cc222dd5a
+
+These macros are also exposed via <linux/fs.h>.
+
+diff -ur a/src/mount_image.c b/src/mount_image.c
+--- a/src/mount_image.c 2024-12-11 21:13:37.806412788 -0600
++++ b/src/mount_image.c 2024-12-11 21:18:32.528640110 -0600
+@@ -53,6 +53,18 @@
#include <unistd.h>
#include <utime.h>
-+#include <linux/fs.h>
++#if defined(_GNU_SOURCE)
++#ifndef RENAME_NOREPLACE
++#define RENAME_NOREPLACE (1 << 0)
++#endif
++#ifndef RENAME_EXCHANGE
++#define RENAME_EXCHANGE (1 << 1)
++#endif
++#ifndef RENAME_WHITEOUT
++#define RENAME_WHITEOUT (1 << 2)
++#endif
++#endif
++
#include "wimlib/blob_table.h"
#include "wimlib/dentry.h"
+ #include "wimlib/encoding.h"
diff --git a/user/xfburn/APKBUILD b/user/xfburn/APKBUILD
index c3165fee2..53d876d1a 100644
--- a/user/xfburn/APKBUILD
+++ b/user/xfburn/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfburn
-pkgver=0.7.0
+pkgver=0.7.2
pkgrel=0
pkgdesc="CD burning utility for the XFCE desktop environment"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="5ac679926809839d36c94d918ebc9bb409b9940127eba1cae6daf6614288f5d18181be5b7b4d249f0f0e973c2a4a22b8b3ce5709a2d23e5d4dd3b412cf5846d1 xfburn-0.7.0.tar.bz2"
+sha512sums="7966fc32a71b029f3e511565bcb751b06a9b87c2b434c9d546cccc1ba43479b1d1b17c9afe743babd08192e39907e4967e755a7b5fd72df3906645cce50db9a9 xfburn-0.7.2.tar.bz2"
diff --git a/user/xfce-desktop/APKBUILD b/user/xfce-desktop/APKBUILD
index 3182ade61..3c74251c8 100644
--- a/user/xfce-desktop/APKBUILD
+++ b/user/xfce-desktop/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce-desktop
-pkgver=4.13
-pkgrel=1
+pkgver=4.20
+pkgrel=0
arch="noarch"
pkgdesc="Complete XFCE desktop environment"
url="https://xfce.org"
diff --git a/user/xfce4-appfinder/APKBUILD b/user/xfce4-appfinder/APKBUILD
index 52aeb2207..34126ef9e 100644
--- a/user/xfce4-appfinder/APKBUILD
+++ b/user/xfce4-appfinder/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-appfinder
-pkgver=4.18.1
+pkgver=4.20.0
pkgrel=0
pkgdesc="An application finder for the XFCE desktop environment"
url="https://xfce.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3ebdf1e189e3c7d8b738d9be502124ac5e05664713e53d9e9c2f758717c409d0dc50506cd488383ba7c96aa981050a5623a957e961b9da8f486e3c189899a378 xfce4-appfinder-4.18.1.tar.bz2"
+sha512sums="eae593d075cfe091680fc0093236e95172fddab88a251765e1c6574688a5456fb03f3547eede1d2c6766f8b05b18f0bcbeae607e61d97ac92a927dbe2283790f xfce4-appfinder-4.20.0.tar.bz2"
diff --git a/user/xfce4-cpugraph-plugin/APKBUILD b/user/xfce4-cpugraph-plugin/APKBUILD
index 7b326d63b..16e92c6af 100644
--- a/user/xfce4-cpugraph-plugin/APKBUILD
+++ b/user/xfce4-cpugraph-plugin/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-cpugraph-plugin
-pkgver=1.2.8
+pkgver=1.2.10
pkgrel=0
pkgdesc="Graphical CPU monitor plugin for the XFCE panel"
url="https://xfce.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="f0f4201d0572997e8c610a25fcb957ebe4dd224204421aeba4e8ca54da71bdd97fa147dd7af7097b9e09ce6e1317836622a0bcbfec9589858010942993e27940 xfce4-cpugraph-plugin-1.2.8.tar.bz2"
+sha512sums="414c2a5da9576d2ed1f5478a07ff5c51c45eaa0a8432a31b6fb2408b81f5ab4485e3b10486af26cf33a18d23e2dc3afe21bf88630e4db91adcfa3e0f80468cf3 xfce4-cpugraph-plugin-1.2.10.tar.bz2"
diff --git a/user/xfce4-dev-tools/APKBUILD b/user/xfce4-dev-tools/APKBUILD
index 11107699d..f474b5120 100644
--- a/user/xfce4-dev-tools/APKBUILD
+++ b/user/xfce4-dev-tools/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-dev-tools
-pkgver=4.18.1
+pkgver=4.20.0
pkgrel=0
pkgdesc="Developer tools for XFCE"
url="https://xfce.org"
arch="all"
license="GPL-2.0+"
depends=""
-makedepends="glib-dev libxslt-dev"
+makedepends="glib-dev libxslt-dev meson"
subpackages="$pkgname-dev $pkgname-doc"
source="https://archive.xfce.org/src/xfce/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8fa65aa57450d3e65ef55bf86e8a113c06e64289a9f71875049b422da2a8bdfcdd36c3a3e94a3c0e7c602a3e9577eca14d63318489f81fd88d6743e188636304 xfce4-dev-tools-4.18.1.tar.bz2"
+sha512sums="2ee8d0e4512c326ad404310f15081a8c6eec026634bcc2e76873cecc5b4356c3425d883c07f05e5a76a500c135d62809e6323f318ac6fc33d16023a9c5bd5441 xfce4-dev-tools-4.20.0.tar.bz2"
diff --git a/user/xfce4-dict/APKBUILD b/user/xfce4-dict/APKBUILD
index b8fe50843..32824a9f9 100644
--- a/user/xfce4-dict/APKBUILD
+++ b/user/xfce4-dict/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-dict
-pkgver=0.8.6
+pkgver=0.8.8
pkgrel=0
pkgdesc="Dictionary application for the XFCE desktop environment"
url="https://xfce.org"
@@ -31,4 +31,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="bbb5926121e31c5adbd8f4c3ceb479759ee07b902e690245087213668fade48b92f9ffc7f4cabdfaa3ee1c02db8847468dd0bbd11e240017cd3c2b9901b81485 xfce4-dict-0.8.6.tar.bz2"
+sha512sums="db1919f3d29245cc02ea8e4f898e8d389c426a574f6227bcb0504f2f4506220617bf6ac4b8544e85e00c8d7818ad06a61e2daaea1883a6badf9b394d2b481398 xfce4-dict-0.8.8.tar.bz2"
diff --git a/user/xfce4-notifyd/APKBUILD b/user/xfce4-notifyd/APKBUILD
index c4e8a8e5f..adf0a6f81 100644
--- a/user/xfce4-notifyd/APKBUILD
+++ b/user/xfce4-notifyd/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-notifyd
-pkgver=0.9.4
+pkgver=0.9.6
pkgrel=0
pkgdesc="Notification service for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="GPL-2.0-only AND GPL-2.0+"
depends=""
-makedepends="intltool libice-dev gtk+3.0-dev libxfce4util-dev libxfce4ui-dev
- xfce4-panel-dev libnotify-dev dbus-glib-dev sqlite-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+makedepends="intltool gtk-layer-shell-dev gtk+3.0-dev libcanberra-dev
+ libice-dev libxfce4util-dev libxfce4ui-dev xfce4-panel-dev libnotify-dev
+ dbus-glib-dev sqlite-dev"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-systemd"
source="https://archive.xfce.org/src/apps/xfce4-notifyd/${pkgver%.*}/xfce4-notifyd-$pkgver.tar.bz2"
build() {
@@ -32,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d3339ec3555f27e624e643b52ce4de2a0834d38f675b286976abcb4e143cbbb32665b1f36fbff23791c152e1f0616b752a7f049045fc32829c27c0a87d82df94 xfce4-notifyd-0.9.4.tar.bz2"
+sha512sums="deef625fdb7828ac25a3eeb2c5e5813f285310354b33a81e1c7943024d9dee9e9b5765f94f7e7ccedd1998dab77eb2c62a2803864d56aed6f831f08b910f0071 xfce4-notifyd-0.9.6.tar.bz2"
diff --git a/user/xfce4-panel/APKBUILD b/user/xfce4-panel/APKBUILD
index cc455a49a..b622fc195 100644
--- a/user/xfce4-panel/APKBUILD
+++ b/user/xfce4-panel/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-panel
-pkgver=4.18.6
+pkgver=4.20.0
pkgrel=0
pkgdesc="Panel for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="LGPL-2.1+ AND GPL-2.0+"
depends=""
-makedepends="intltool gtk+3.0-dev libice-dev libxfce4util-dev>=${pkgver%.*}
- garcon-dev>=${pkgver%.*} exo-dev>=${pkgver%.*} libwnck-dev
- wayland-protocols"
+makedepends="intltool gobject-introspection-dev gtk-doc gtk-layer-shell-dev
+ gtk+3.0-dev libdbusmenu-dev libice-dev libxfce4util-dev>=${pkgver%.*}
+ libxfce4windowing-dev>=${pkgver%.*} garcon-dev>=${pkgver%.*}
+ exo-dev>=${pkgver%.*} libwnck-dev wayland-protocols vala-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="https://archive.xfce.org/src/xfce/xfce4-panel/${pkgver%.*}/xfce4-panel-$pkgver.tar.bz2"
@@ -21,7 +22,9 @@ build() {
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --localstatedir=/var
+ --localstatedir=/var \
+ --enable-dbusmenu-gtk3 \
+ --enable-gtk-doc
make
}
@@ -33,4 +36,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a1c4597bbbb72d2f3ef90abe0082abe3404e0ea7fa6027e26ca50e31e03645464ce3e0a72f4d927e84c5775a775e3a70f70e25bd3d2e4358da869f9c474e6174 xfce4-panel-4.18.6.tar.bz2"
+sha512sums="431ff1736a62bdee4a7a9a5e7b8aa9f0cf779ce5454503c33fc0ffb82b6cd4bbcbc5e1fc99c092e31f0f702f459cf31336eff914a41b618043f83d2a40c9b049 xfce4-panel-4.20.0.tar.bz2"
diff --git a/user/xfce4-power-manager/APKBUILD b/user/xfce4-power-manager/APKBUILD
index 23839e0fe..6efc54433 100644
--- a/user/xfce4-power-manager/APKBUILD
+++ b/user/xfce4-power-manager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-power-manager
-pkgver=4.18.3
+pkgver=4.20.0
pkgrel=0
pkgdesc="Power management support for the XFCE desktop environment"
url="https://xfce.org"
@@ -9,7 +9,7 @@ arch="all"
license="GPL-2.0+"
depends=""
makedepends="intltool gtk+3.0-dev libxfce4ui-dev libice-dev libnotify-dev
- upower-dev xfce4-panel-dev"
+ polkit-dev upower-dev xfce4-panel-dev"
subpackages="$pkgname-doc $pkgname-lang"
source="https://archive.xfce.org/src/xfce/xfce4-power-manager/${pkgver%.*}/xfce4-power-manager-$pkgver.tar.bz2"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="97f198ed78c3a13c5e64f0551d49533ac2efe0c719f4360eab94736790b225411b347a8524e8a2d7e28b14e546df6133df5273c80d8e0eb5766145782e1412fb xfce4-power-manager-4.18.3.tar.bz2"
+sha512sums="e61762b4ff374562fa3d70b1eb7c9928a1a7197df5b597763adf16435183fd693307267f37f0eb7dd08b573664a397d2fd22674b5db7e07ee9302089772ff6e7 xfce4-power-manager-4.20.0.tar.bz2"
diff --git a/user/xfce4-pulseaudio-plugin/APKBUILD b/user/xfce4-pulseaudio-plugin/APKBUILD
index 27e3e473f..afe52ae23 100644
--- a/user/xfce4-pulseaudio-plugin/APKBUILD
+++ b/user/xfce4-pulseaudio-plugin/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-pulseaudio-plugin
-pkgver=0.4.8
+pkgver=0.4.9
pkgrel=0
pkgdesc="Pulseaudio plugin for the XFCE panel"
url="https://xfce.org"
arch="all"
license="GPL-2.0+"
depends=""
-makedepends="exo-dev intltool libxfce4ui-dev xfce4-panel-dev pulseaudio-dev
- keybinder-3.0-dev libnotify-dev dbus-glib-dev"
+makedepends="dbus-glib-dev exo-dev intltool keybinder-3.0-dev libcanberra-dev
+ libnotify-dev libxfce4ui-dev pulseaudio-dev xfce4-panel-dev"
subpackages="$pkgname-lang"
source="https://archive.xfce.org/src/panel-plugins/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8f6f06a65295ff53bd18a32dc302b2d12fb722bcfacd549c79dbc88e8ab6890888f158ea02ce5a21b261fa681068d68f18eb076f1dc2cb9135b7fc1e77fa7ce8 xfce4-pulseaudio-plugin-0.4.8.tar.bz2"
+sha512sums="7fa29e85146e8cbbd420aed11050924fbb9c1a93657da1a4d3e207f5a7cc7fc99acdc41b467420a8948535a7f45e2a8e6d63f79df3cef228ada810566f15c263 xfce4-pulseaudio-plugin-0.4.9.tar.bz2"
diff --git a/user/xfce4-screenshooter/APKBUILD b/user/xfce4-screenshooter/APKBUILD
index d845da586..d1d14bc33 100644
--- a/user/xfce4-screenshooter/APKBUILD
+++ b/user/xfce4-screenshooter/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-screenshooter
-pkgver=1.10.5
+pkgver=1.11.1
pkgrel=0
pkgdesc="Screenshot tool for the XFCE desktop environment"
url="https://xfce.org"
@@ -9,7 +9,7 @@ arch="all"
license="GPL-2.0+"
depends=""
makedepends="intltool libxfce4ui-dev xfce4-panel-dev libsoup-dev exo-dev pango-dev>=1.44"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-lang"
source="https://archive.xfce.org/src/apps/xfce4-screenshooter/${pkgver%.*}/xfce4-screenshooter-$pkgver.tar.bz2"
build() {
@@ -28,7 +28,7 @@ check() {
}
package() {
- make DESTDIR="$pkgdir" install
+ make -j1 DESTDIR="$pkgdir" install
}
-sha512sums="0040b28514ffc77473b2d9f182c1bc162f8ac21aac97f2e28eb2b5556255dd74f7d4545f049b4060a8db6c0d415831fe5988da581857f22894bed01136aee677 xfce4-screenshooter-1.10.5.tar.bz2"
+sha512sums="aee31311faea2bb08d5e29722da190b0c7e2b37948a688a49212cd57cc4efc3f43b3c1588d9326f97eb174771412c60707cc88ae2ee0596546e9750a06112588 xfce4-screenshooter-1.11.1.tar.bz2"
diff --git a/user/xfce4-session/APKBUILD b/user/xfce4-session/APKBUILD
index bbae1d1cc..b8d637ab4 100644
--- a/user/xfce4-session/APKBUILD
+++ b/user/xfce4-session/APKBUILD
@@ -1,15 +1,17 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-session
-pkgver=4.18.3
+pkgver=4.20.0
pkgrel=0
pkgdesc="Session management for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="GPL-2.0+ AND LGPL-2.0+"
depends="iceauth polkit cmd:which xdg-user-dirs"
-makedepends="intltool gtk+3.0-dev libice-dev libsm-dev libxfce4util-dev>=${pkgver%.*}
- libxfce4ui-dev>=${pkgver%.*} libwnck-dev iceauth dbus-glib-dev polkit-dev"
+makedepends="intltool gtk-layer-shell-dev gtk+3.0-dev libice-dev libsm-dev
+ libxfce4util-dev>=${pkgver%.*} libxfce4ui-dev>=${pkgver%.*}
+ libxfce4windowing-dev>=${pkgver%.*} libwnck-dev iceauth dbus-glib-dev
+ polkit-dev"
subpackages="$pkgname-doc $pkgname-lang"
source="https://archive.xfce.org/src/xfce/xfce4-session/${pkgver%.*}/xfce4-session-$pkgver.tar.bz2"
@@ -32,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="65314472049c973af4b7553ec969691dfe701af2addb8cb63aebb49ff1b61ddb9e1418b2969e5eac69fd32096dd3163b7bf28fefe1d8c130c46bd5dd2bfe126c xfce4-session-4.18.3.tar.bz2"
+sha512sums="2e3b1280830fe3b26d39e87fcc26fd2be6df5f1328b64529c46cc51fe80abcc07b2996fd07af331ee2a502f025f40576cfb49a7ddaa9cc82b1f3cf17484f1dd6 xfce4-session-4.20.0.tar.bz2"
diff --git a/user/xfce4-settings/APKBUILD b/user/xfce4-settings/APKBUILD
index d0cae3f1d..6da8c83e8 100644
--- a/user/xfce4-settings/APKBUILD
+++ b/user/xfce4-settings/APKBUILD
@@ -1,14 +1,15 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-settings
-pkgver=4.18.4
+pkgver=4.20.0
pkgrel=0
pkgdesc="GUI settings application for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="GPL-2.0+ AND MIT AND LGPL-2.0+"
depends=""
-makedepends="intltool exo-dev>=${pkgver%.*} garcon-dev>=${pkgver%.*} libnotify-dev upower-dev
+makedepends="intltool exo-dev>=${pkgver%.*} garcon-dev>=${pkgver%.*}
+ gtk-layer-shell-dev libnotify-dev upower-dev
libxklavier-dev xf86-input-libinput-dev wayland-protocols"
subpackages="$pkgname-lang"
source="https://archive.xfce.org/src/xfce/xfce4-settings/${pkgver%.*}/xfce4-settings-$pkgver.tar.bz2"
@@ -26,6 +27,7 @@ build() {
--mandir=/usr/share/man \
--localstatedir=/var \
--enable-pluggable-dialogs \
+ --enable-upower-glib \
--enable-sound-settings
make
}
@@ -38,4 +40,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2f9e2de4a3a0cc59b4701b44899464532fbae8805270485d2821b65b9d78be54bb636c4cd4205de97e18c13b20912fcd1f4ca0b3baa561bf1a783829f53a06a0 xfce4-settings-4.18.4.tar.bz2"
+sha512sums="ab728bfce9aefe14c59dce0f93a84d395826ffc37d3a7bafc40fce61055ce4b7d9265c65460bf7ee69e4c8f4efd7e0b88b3670d859d48d4602c17acc20556528 xfce4-settings-4.20.0.tar.bz2"
diff --git a/user/xfce4-taskmanager/APKBUILD b/user/xfce4-taskmanager/APKBUILD
index b2d5bcbe5..bcbf0223a 100644
--- a/user/xfce4-taskmanager/APKBUILD
+++ b/user/xfce4-taskmanager/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfce4-taskmanager
-pkgver=1.4.2
+pkgver=1.5.7
pkgrel=0
pkgdesc="Process manager for the XFCE desktop environment"
url="https://xfce.org"
@@ -32,4 +32,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="cd7f26c7ab0e0557be52155d58c677258da8479c2a09b0e1dd4006fe0ecb2a3c82d68ecdf72c10e8b8977eac5a158fcb606027229e973edb6ea7570d040c2444 xfce4-taskmanager-1.4.2.tar.bz2"
+sha512sums="b9c8a3d088b116ba51e3db8685052f68702283509d7a7a9e7a54c079fcdfefa22b019bc0f1572546907da1c8fcd0a98ae4320f7b99a3e77f49ed1a8e86f41a80 xfce4-taskmanager-1.5.7.tar.bz2"
diff --git a/user/xfconf/APKBUILD b/user/xfconf/APKBUILD
index cf7a5b2bf..4ab3cebc2 100644
--- a/user/xfconf/APKBUILD
+++ b/user/xfconf/APKBUILD
@@ -1,16 +1,16 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfconf
-pkgver=4.18.3
+pkgver=4.20.0
pkgrel=0
pkgdesc="Configuration framework for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
-options="!check" # Tests require X11.
+options="checkx11"
license="LGPL-2.1+ AND GPL-2.0+"
depends="dbus"
makedepends="intltool gtk+3.0-dev libxfce4util-dev>=${pkgver%.*}"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-systemd"
source="https://archive.xfce.org/src/xfce/xfconf/${pkgver%.*}/xfconf-$pkgver.tar.bz2"
build() {
@@ -39,4 +39,4 @@ perl() {
mv "$pkgdir"/usr/lib/perl5 "$subpkgdir"/usr/lib
}
-sha512sums="e1aa133f79ea584af067369f6fd059cd444c4743270ed90a8b0dfe158f7ae6fbc78af62fab67c64674060c2fd1404f06602ac8c019b0db8b70779a17fde4a327 xfconf-4.18.3.tar.bz2"
+sha512sums="87ae4e9366cccb6c2f13229539e8317d26bfb3fc5333e769ec2de1b596e04348595bb2e85ca90fb63c6c64968e5108e59490700028aeb077b32b9cd03062d9e9 xfconf-4.20.0.tar.bz2"
diff --git a/user/xfdesktop/APKBUILD b/user/xfdesktop/APKBUILD
index f779a326c..f01be7143 100644
--- a/user/xfdesktop/APKBUILD
+++ b/user/xfdesktop/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfdesktop
-pkgver=4.18.1
+pkgver=4.20.0
pkgrel=0
pkgdesc="Desktop manager for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="GPL-2.0+"
depends=""
-makedepends="intltool gtk+3.0-dev libxfce4util-dev libxfce4ui-dev libwnck-dev
- exo-dev garcon-dev libnotify-dev thunar-dev>=${pkgver%.*}"
+makedepends="intltool gtk-layer-shell-dev gtk+3.0-dev libwnck-dev
+ libxfce4util-dev libxfce4ui-dev libxfce4windowing-dev yaml-dev exo-dev
+ garcon-dev libnotify-dev thunar-dev>=${pkgver%.*}"
subpackages="$pkgname-doc $pkgname-lang"
source="https://archive.xfce.org/src/xfce/xfdesktop/${pkgver%.*}/xfdesktop-$pkgver.tar.bz2"
@@ -32,4 +33,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="cafb1e274bbabf1704a6452532fc79657af26eaf92a58374f87a70f31c35fbf213319c6658b3d18bfca2d555b69e07e46949407d1f80e5a37f48e76bbde9dc3e xfdesktop-4.18.1.tar.bz2"
+sha512sums="84b0c87c9678d3d6170af3d6edabe983282b0bd4d696e32d3a1eaaca99651d56387a9767645d5b48afdc517a18503e42fdaf0a72af9a73144475fb3b6183219c xfdesktop-4.20.0.tar.bz2"
diff --git a/user/xfwm4/APKBUILD b/user/xfwm4/APKBUILD
index 3fec1283b..7c269a647 100644
--- a/user/xfwm4/APKBUILD
+++ b/user/xfwm4/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
pkgname=xfwm4
-pkgver=4.18.0
+pkgver=4.20.0
pkgrel=0
pkgdesc="Window manager for the XFCE desktop environment"
url="https://xfce.org"
arch="all"
license="GPL-2.0+"
depends=""
-makedepends="intltool gtk+3.0-dev libxfce4util-dev>=${pkgver%.*} libxfce4ui-dev
- libwnck-dev gobject-introspection-dev vala-dev"
+makedepends="intltool gobject-introspection-dev gtk-layer-shell-dev gtk+3.0-dev
+ libwnck-dev libxfce4util-dev>=${pkgver%.*} libxfce4ui-dev libxi-dev
+ libxpresent-dev vala-dev"
subpackages="$pkgname-lang"
source="https://archive.xfce.org/src/xfce/xfwm4/${pkgver%.*}/xfwm4-$pkgver.tar.bz2"
@@ -20,7 +21,9 @@ build() {
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --localstatedir=/var
+ --localstatedir=/var \
+ --enable-xi2 \
+ --enable-poswin
make
}
@@ -32,4 +35,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="1003bb1ca5254221a5d56ffcb51c12cdef1b17b9d252622c6b18f3d3fbcf9d6e0e66b5f61e0f6eae6601ea3e50a70be98320e60d6738b04e44879e6f4e6da34d xfwm4-4.18.0.tar.bz2"
+sha512sums="1fa22d5bdf44d5907cbe362d20b7a99a610cfd38954a6cb5b7efad3481de5b450deb4fbf14ae2c1642ab5f7a39179016bb0f1558fe2941997cd931e9f8cc8dc8 xfwm4-4.20.0.tar.bz2"
diff --git a/user/xorg-server/APKBUILD b/user/xorg-server/APKBUILD
index 728d1ffe3..2c64a7c54 100644
--- a/user/xorg-server/APKBUILD
+++ b/user/xorg-server/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=xorg-server
-pkgver=21.1.13
+pkgver=21.1.16
pkgrel=0
pkgdesc="X.Org X11 server"
url="https://www.X.Org/"
@@ -170,6 +170,6 @@ protocol() {
mv "$pkgdir"/usr/lib/xorg/protocol.txt "$subpkgdir"/usr/lib/xorg/
}
-sha512sums="a55fbeeed227c12c67f166f2c06a7f4f8d78feeea04c6e73509dbc723185fd0772349aa23f7c44cf0828ac0a0e2f9e4b26cffb220e6dfa7186d60f88b25ccaf1 xorg-server-21.1.13.tar.xz
+sha512sums="38fd4232a293a497d13f8b57e85e84cf6a531453a7d8d5de1a77d67ceaf8714d5770951a8a21f1b3f519e83be1fc0926dce269846e75a8b11aa1062dd507f67d xorg-server-21.1.16.tar.xz
d77151bc51766e1230a121c008ac1d0695275bf889b1db4b3330c1f8ee720b0e046cc935fa14aaef40b02fdea508e84e53959b560131ace14ace14943c8eb734 autoconfig-sis.patch
c68d6299928032806ade94b4848f147757d6571a2f8830922a20c9e1053fe42700e5c9e196ad58ce5e5536cf034260f973edd6e2792c9bacf4e2d70660949a4a fix-musl-arm.patch"
diff --git a/user/xwayland/APKBUILD b/user/xwayland/APKBUILD
index c68a6dd28..1b2959de2 100644
--- a/user/xwayland/APKBUILD
+++ b/user/xwayland/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Simon Zeni <simon@bl4ckb0ne.ca>
# Maintainer: Ermine <mustela@erminea.space>
pkgname=xwayland
-pkgver=24.1.1
+pkgver=24.1.6
pkgrel=0
pkgdesc="X11 server for Wayland"
url="https://www.X.Org/"
@@ -50,8 +50,4 @@ package() {
rm -f "$pkgdir"/usr/lib/xorg/protocol.txt
}
-sha512sums="
-e44f47adab3830846360fd05fdc06d9016832133c662f2e4b0763b98de0c9b48dbfce7d757ffea5538b5fabb68170e5d1057acc1b9a086e396b147deaa750998 xwayland-24.1.1.tar.xz
-42db6616a6566acedaa0c5dc125435183be0c0da5df4f542bf3857a1905ae4646d5eb311e4e00ec892c845a2dc2069f6e68f5f45ec6c499ea32b8e55d873a0f5 use-libtirpc-nokrb.patch
-"
-sha512sums="e44f47adab3830846360fd05fdc06d9016832133c662f2e4b0763b98de0c9b48dbfce7d757ffea5538b5fabb68170e5d1057acc1b9a086e396b147deaa750998 xwayland-24.1.1.tar.xz"
+sha512sums="b6dcc87f5c4d880cb23216518171a704c2a501803ac2efd9d01760895d755a617cd82313c6516f27a888b0581c64d74e3f8db5c238e1ae0d13da6cc1a547c02f xwayland-24.1.6.tar.xz"