diff options
Diffstat (limited to 'user')
535 files changed, 10353 insertions, 15007 deletions
diff --git a/user/abiword/APKBUILD b/user/abiword/APKBUILD index 6d732c535..7da87b633 100644 --- a/user/abiword/APKBUILD +++ b/user/abiword/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=abiword pkgver=3.0.5 -pkgrel=0 +pkgrel=1 pkgdesc="A fully-featured word processor" url="https://www.abisource.com" arch="all" @@ -25,6 +25,7 @@ _plugins="applix babelfish bmp clarisworks collab docbook eml epub \ # https certificate is expired; integrity provided by checksum source="http://www.abisource.com/downloads/$pkgname/$pkgver/source/$pkgname-$pkgver.tar.gz fix-bad-cast.patch + libxml2-2.12.patch " build() { @@ -43,4 +44,5 @@ package() { } sha512sums="a2484268901ff47307c9d1f1928622e364f1006f22ce38257c585144df9411dfe3c2dea28c1f1f50a6e545e8cc579cce34117a89dfa771e20312e3ea1a9989d6 abiword-3.0.5.tar.gz -89edeed246f937e4f198068ed9861e155662d346fb1534d2ed676cbd782de22a691d2b045989942bd715cbfc3750cf9d7615065816b970695597361ae4a9d55e fix-bad-cast.patch" +89edeed246f937e4f198068ed9861e155662d346fb1534d2ed676cbd782de22a691d2b045989942bd715cbfc3750cf9d7615065816b970695597361ae4a9d55e fix-bad-cast.patch +0f98383e160782ccc2160e1bd9f5ba5ca02463dc14c2caeb987f225c06b4484a3618a068ff35806b6e3b6b2748e90a558c71ffb8d44c669f302fdcaebca836d4 libxml2-2.12.patch" diff --git a/user/abiword/libxml2-2.12.patch b/user/abiword/libxml2-2.12.patch new file mode 100644 index 000000000..2c3642248 --- /dev/null +++ b/user/abiword/libxml2-2.12.patch @@ -0,0 +1,29 @@ +From 2a06be6a10a0718f8a3d8e00c317f5042c99a467 Mon Sep 17 00:00:00 2001 +From: Jan Tojnar <jtojnar@gmail.com> +Date: Mon, 11 Dec 2023 01:55:53 +0100 +Subject: [PATCH] Fix build with libxml2 2.12 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libxml 2.12.0 restructured headers so that xmlFree is no longer in the scope. +Let’s add the correct include. +--- + src/af/util/xp/ut_stringbuf.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/af/util/xp/ut_stringbuf.cpp b/src/af/util/xp/ut_stringbuf.cpp +index f1e8d9078..88488ad67 100644 +--- a/src/af/util/xp/ut_stringbuf.cpp ++++ b/src/af/util/xp/ut_stringbuf.cpp +@@ -26,6 +26,7 @@ + #include <algorithm> + + #include <libxml/uri.h> ++#include <libxml/xmlmemory.h> + + #include <glib.h> + +-- +GitLab + diff --git a/user/apaste/APKBUILD b/user/apaste/APKBUILD index 13db635b0..99851d559 100644 --- a/user/apaste/APKBUILD +++ b/user/apaste/APKBUILD @@ -1,17 +1,16 @@ -# Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=apaste -pkgver=0.0.2.1 +pkgver=0.0.3.0 pkgrel=0 pkgdesc="A command-line pastebin" url="https://skarnet.org/software/apaste/" arch="all" options="!check" # No test suite. license="ISC" -_skalibs_version=2.14.3 -_execline_version=2.9.6 -_s6_version=2.13.1 -_s6net_version=2.7.0 +_skalibs_version=2.14.4 +_execline_version=2.9.7 +_s6_version=2.13.2 +_s6net_version=2.7.1 depends="s6-networking" makedepends="skalibs-dev>=$_skalibs_version s6-networking-dev>=$_s6net_version" subpackages="apaste-doc apasted:server apasted-openrc:apasted_openrc" @@ -30,7 +29,9 @@ build() { ./configure \ --enable-shared \ --disable-allstatic \ - --prefix=/usr + --prefix=/usr \ + --with-pkgconfig \ + --enable-pkgconfig make } @@ -75,7 +76,7 @@ apasted_openrc() { install -D -m 0755 "$srcdir/apasted.initd" "$subpkgdir/etc/init.d/apasted" } -sha512sums="262c149941d414130e7bfcbf7ecbc858427f5acd20880a68216935f79ad2632b9d82ff87cc09874d3d7215db9ebc4c55de7355ac9e29740751f44e9b2b4f8229 apaste-0.0.2.1.tar.gz +sha512sums="ac3031b5d43447cf33bb4300ce866716b650ed730d74e6d41fff83a7a3eff2233172d9962e13c6d624002537a7c13ac5d581715a9a49145f392139c21b921ea6 apaste-0.0.3.0.tar.gz 970a79b6da5a7c58539cd9d47cba36855eb4f37e1e0bbd841ade15022b5fb291a077f7ad118ff662a45f3b2b59162264a180c338f23f964ea3e48364c68ac606 apasted.run 817b276ae51e9bd769e39a8313a84449d181c65749640119ba1e4af3c21d2572152c7bdd5eec70cbcfaa3255fd6cba966dfc1dc7a818a60d329283c39ae058a8 apastesd.run 9341c1c69c1d45b35052b0042665fffb9cff6583fad558ed37a19af574b53a5e298727c43a6c718fd40936e8f16d1a10e9c229392595ba1e06ddb21d1d8b055b apasted-log.run diff --git a/user/appres/APKBUILD b/user/appres/APKBUILD index d66574bcc..0f8b4de41 100644 --- a/user/appres/APKBUILD +++ b/user/appres/APKBUILD @@ -1,34 +1,33 @@ # Contributor: Dan Theisen <djt@hxx.in> # Maintainer: Dan Theisen <djt@hxx.in> pkgname=appres -pkgver=1.0.6 +pkgver=1.0.7 pkgrel=0 pkgdesc="list X application resource database" url="https://www.X.org/" arch="all" license="X11" depends="" -makedepends="libx11-dev libxt-dev xproto" +makedepends="libx11-dev libxt-dev xproto meson" subpackages="$pkgname-doc" source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var - make + meson setup \ + -Dprefix=/usr \ + -Dsysconfdir=/etc \ + -Dmandir=/usr/share/man \ + -Dlocalstatedir=/var \ + build + meson compile -C build } check() { - make check + meson test -C build } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build } -sha512sums="6d14f6a2ad5c83a4d42d4c51ec9a9f32652dfe7624881f1f41c0b1f4946904e7e5ca81a2fd9f4f4824488ce1bd2a4047f92320626bf33b0f1afc5e6b89d3e2b9 appres-1.0.6.tar.xz" +sha512sums="5948f869124dd7160ffe109b0fc7ccdca45c3b3f551a382a0bcf2c2af9e3832b0d4451e2868ca93a38de8e8e2caf1946ac72936b3256e99a32437d0ddd937a60 appres-1.0.7.tar.xz" diff --git a/user/arcticfox/APKBUILD b/user/arcticfox/APKBUILD new file mode 100644 index 000000000..78349f11a --- /dev/null +++ b/user/arcticfox/APKBUILD @@ -0,0 +1,136 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=arcticfox +pkgver=45.1 +pkgrel=0 +pkgdesc="Arctic Fox web browser (fork of Firefox with PPC support)" +url="https://github.com/rmottola/Arctic-Fox/wiki" +arch="pmmx ppc ppc64 x86" +options="!check" # Disable tests. +license="MPL-2.0" +depends="" +makedepends="alsa-lib-dev bzip2-dev dbus-glib-dev gconf-dev gtk+2.0-dev + gtk+3.0-dev hunspell-dev icu-dev libevent-dev libidl-dev + libjpeg-turbo-dev libnotify-dev libogg-dev libtheora-dev libvorbis-dev + libxt-dev libxcomposite-dev mesa-dev nspr-dev automake libtool + pulseaudio-dev sqlite-dev startup-notification-dev autoconf2.13 + bsd-compat-headers cmd:which openssl-dev sed yasm zip" +subpackages="$pkgname-dev" +source="arcticfox-$pkgver.tar.gz::https://github.com/rmottola/Arctic-Fox/archive/refs/tags/v$pkgver.tar.gz + mozconfig + https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tar.xz + arcticfox.desktop + + hunspell.patch + override-cxx-version.patch + stackwalk-x86-ppc.patch + " +builddir="$srcdir/Arctic-Fox-$pkgver" +provides="firefox-esr=$pkgver-r$pkgrel" +_mozappdir="/usr/lib/$pkgname-$pkgver" +# Vendors its own NSS for now until upstream is compatible with latest versions +somask="libfreeblpriv3.so liblgpllibs.so libmozgtk.so libmozsqlite3.so + libnss3.so libnssckbi.so libnssdbm3.so libnssutil3.so libsmime3.so + libsoftokn3.so libssl3.so libxul.so" +ldpath="$_mozappdir" + +unpack() { + default_unpack + + [ -z $SKIP_PYTHON ] || return 0 + msg "Killing all remaining hope for humanity and building Python 2..." + cd "$srcdir" + [ -d python ] && rm -r python + mkdir python + # 19:39 <+solar> just make the firefox build process build its own py2 copy + # 20:03 <calvin> TheWilfox: there's always violence + cd Python-2.7.15 + ./configure --prefix="$srcdir/python" + make -j $JOBS + # 6 tests failed: + # test__locale test_os test_posix test_re test_strptime test_time + # make test + make -j $JOBS install +} + +prepare() { + default_prepare + + cp "$srcdir"/mozconfig "$builddir"/mozconfig + echo "ac_add_options --host=\"$CHOST\"" >> "$builddir"/mozconfig + echo "ac_add_options --target=\"$CTARGET\"" >> "$builddir"/mozconfig + echo "mk_add_options MOZ_MAKE_FLAGS=\"-j$JOBS\"" >> "$builddir"/mozconfig + # Needed, see upstream https://github.com/rmottola/Arctic-Fox/issues/125 + # on ppc, fails in NSFrameState::operator& without these flags + export CFLAGS="$CFLAGS -O1 -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" + export LDFLAGS="$LDFLAGS -Wl,-rpath,$_mozappdir" + + # arch-specific configuration + case "$CARCH" in + pmmx|x86*|arm*) + echo "ac_add_options --disable-elf-hack" >> "$builddir"/mozconfig + ;; + ppc) + export LDFLAGS="$LDFLAGS -latomic" + ;; + ppc64) + echo "ac_add_options --enable-altivec" >> "$builddir"/mozconfig + ;; + s390x) + echo "ac_add_options --disable-startupcache" >> "$builddir"/mozconfig + ;; + esac + + echo "ac_add_options --enable-optimize=\"$CFLAGS\"" >> "$builddir"/mozconfig +} + +build() { + export CFLAGS="$CFLAGS -Wno-dangling-pointer -Wno-array-bounds -Wno-comment -Wno-maybe-uninitialized -Wno-misleading-indentation -Wno-multistatement-macros -Wno-stringop-overflow -Wno-unused-function -Wno-unused-value -Wno-ignored-qualifiers -Wno-deprecated-declarations -Wno-implicit-fallthrough -Wno-unused-but-set-variable -Wno-int-in-bool-context -Wno-stringop-overread -Wno-address -Wno-use-after-free" + export CXXFLAGS="$CFLAGS -Wno-class-memaccess -Wno-changes-meaning -Wno-subobject-linkage -Wno-return-local-addr -Wno-unused-local-typedefs" + export SHELL=/bin/sh + export BUILD_OFFICIAL=1 + export MOZILLA_OFFICIAL=1 + export USE_SHORT_LIBNAME=1 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system + export PATH="$PATH:$srcdir/python/bin" + export CXX="/usr/bin/g++ -std=gnu++17" + + # set rpath so linker finds the libs + export UNIXCONFDIR="$srcdir" + + ./mach configure + # parallel make bug hit on gwyn (64 threads) + ./mach build -j1 export + ./mach build +} + +package() { + export PATH="$PATH:$srcdir/python/bin" + DESTDIR="$pkgdir" ./mach install + + for pngsize in 16 32 48; do + install -D -m644 \ + "browser/branding/$pkgname/default$pngsize.png" \ + "$pkgdir"/usr/share/icons/hicolor/${pngsize}x${pngsize}/apps/$pkgname.png + done + + install -D -m644 "browser/branding/$pkgname/mozicon128.png" \ + "$pkgdir"/usr/share/pixmaps/$pkgname.png + install -D -m644 $srcdir/$pkgname.desktop \ + "$pkgdir"/usr/share/applications/$pkgname.desktop +} + +dev() { + mkdir -p "$subpkgdir"/usr/lib "$subpkgdir"/usr/share + mv "$pkgdir"/usr/lib/$pkgname-devel-$pkgver \ + "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/idl "$subpkgdir"/usr/share/ + default_dev +} + +sha512sums="0b24bc8cf201a78517c7934c119b1e21d511068e8ea06c8b7f5ce65e5867e9f091cc0c8c65b0f8c78e8637d27dd3d505126d355c8ca5693f1b0417020b838800 arcticfox-45.1.tar.gz +ce5312b4fcf07d0dd0496366f6e3be406ef19a389f67a3eb8e3df62232d9eb08ed1a5e212dee1725d907bb025bc3da19b6d0b0d97210893846eb8206890fe8de mozconfig +27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz +d4f9a2a64cb8c1e679a13429e62cfd2e8a44cf54896c2999258571ab990711fbc3d078ce655efd90437e60ef113af1e5277f416f5cf78dfea21f82c481f6929b arcticfox.desktop +50cc077df6d17358f5dcffcabb1a75087b58ac46f60d9d5fc8f2d407e93a26d89778e4c09a5203f2a55bc9f9ddb247f4482483d30f495bc9e3393fad37a322d7 hunspell.patch +bf63b06c030b388711554a4eff36fc50f2af802b59a9f1d7c5b42f11fcc1dd806d53980bdd89bf9518fc51ba25a812c892dfaf47e9d50b33a82ebad9462da92a override-cxx-version.patch +a0f97b8b3e5b0d93b155f1678a3d5984b52ede440202656d35237a6e7025b4a1315c114a1a87c3974d0d43b0f637e186b2be6422c44ba5f111ede53893e39c54 stackwalk-x86-ppc.patch" diff --git a/user/arcticfox/arcticfox.desktop b/user/arcticfox/arcticfox.desktop new file mode 100644 index 000000000..9e09c4abd --- /dev/null +++ b/user/arcticfox/arcticfox.desktop @@ -0,0 +1,76 @@ +[Desktop Entry] +Exec=arcticfox %u +Icon=arcticfox +Type=Application +Terminal=false +Name=Arctic Fox +GenericName=Web Browser +GenericName[af]=Web Blaaier +GenericName[ar]=متصفح ويب +GenericName[az]=Veb Səyyahı +GenericName[bg]=Браузър +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[br]=Furcher ar Gwiad +GenericName[bs]=WWW Preglednik +GenericName[ca]=Fullejador web +GenericName[cs]=WWW prohlížeč +GenericName[cy]=Porydd Gwe +GenericName[da]=Browser +GenericName[de]=Web-Browser +GenericName[el]=Περιηγητής Ιστού +GenericName[eo]=TTT-legilo +GenericName[es]=Navegador web +GenericName[et]=Veebilehitseja +GenericName[eu]=Web arakatzailea +GenericName[fa]=مرورگر وب +GenericName[fi]=WWW-selain +GenericName[fo]=Alnótsfar +GenericName[fr]=Navigateur web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hi]=वेब ब्राउज़र +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[is]=Vafri +GenericName[it]=Browser Web +GenericName[ja]=ウェブブラウザ +GenericName[ko]=웹 브라우저 +GenericName[lo]=ເວັບບຣາວເຊີ +GenericName[lt]=Žiniatinklio naršyklė +GenericName[lv]=Web Pārlūks +GenericName[mk]=Прелистувач на Интернет +GenericName[mn]=Веб-Хөтөч +GenericName[nb]=Nettleser +GenericName[nds]=Nettkieker +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[nso]=Seinyakisi sa Web +GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator de web +GenericName[ru]=Веб-браузер +GenericName[se]=Fierpmádatlogan +GenericName[sk]=Webový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sr]=Веб претраживач +GenericName[sr@Latn]=Veb pretraživač +GenericName[ss]=Ibrawuza yeWeb +GenericName[sv]=Webbläsare +GenericName[ta]=வலை உலாவி +GenericName[tg]=Тафсиргари вэб +GenericName[th]=เว็บบราวเซอร์ +GenericName[tr]=Web Tarayıcı +GenericName[uk]=Навігатор Тенет +GenericName[uz]=Веб-браузер +GenericName[ven]=Buronza ya Webu +GenericName[vi]=Trình duyệt Web +GenericName[wa]=Betchteu waibe +GenericName[xh]=Umkhangeli zincwadi we Web +GenericName[zh_CN]=网页浏览器 +GenericName[zh_TW]=網頁瀏覽器 +GenericName[zu]=Umcingi we-Web +MimeType=text/html; +StartupNotify=true +Categories=Network;WebBrowser; diff --git a/user/arcticfox/hunspell.patch b/user/arcticfox/hunspell.patch new file mode 100644 index 000000000..9fa23eeb5 --- /dev/null +++ b/user/arcticfox/hunspell.patch @@ -0,0 +1,15 @@ +On musl libc, #define free is dangerous. + +Upstream-URL: https://github.com/rmottola/Arctic-Fox/issues/100 + +--- Arctic-Fox-45.1/extensions/spellcheck/hunspell/glue/hunspell_alloc_hooks.h.old 2024-09-30 19:54:44.000000000 +0000 ++++ Arctic-Fox-45.1/extensions/spellcheck/hunspell/glue/hunspell_alloc_hooks.h 2024-10-22 21:46:00.494798524 +0000 +@@ -47,6 +47,8 @@ + * allocated using C memory allocation functions. + */ + ++#include <sched.h> ++#include "mozilla/Logging.h" + #include "mozilla/mozalloc.h" + #include "mozHunspellAllocator.h" + diff --git a/user/arcticfox/mozconfig b/user/arcticfox/mozconfig new file mode 100644 index 000000000..e19a24be1 --- /dev/null +++ b/user/arcticfox/mozconfig @@ -0,0 +1,28 @@ +ac_add_options --prefix=/usr +ac_add_options --disable-crashreporter +ac_add_options --disable-eme +ac_add_options --disable-install-strip +ac_add_options --disable-jemalloc +ac_add_options --disable-mozril-geoloc +ac_add_options --disable-necko-wifi +ac_add_options --disable-precompiled-startupcache +ac_add_options --disable-profiling +ac_add_options --disable-strip +ac_add_options --disable-tests +ac_add_options --disable-updater +ac_add_options --disable-webrtc +ac_add_options --enable-alsa +ac_add_options --enable-application=browser +ac_add_options --enable-dbus +ac_add_options --enable-default-toolkit=cairo-gtk3 +ac_add_options --enable-pulseaudio +ac_add_options --enable-system-ffi +ac_add_options --enable-system-hunspell +ac_add_options --with-branding=browser/branding/arcticfox +ac_add_options --with-system-icu +ac_add_options --with-system-jpeg +ac_add_options --with-system-nspr +ac_add_options --with-system-pixman +ac_add_options --with-system-png +ac_add_options --with-system-zlib +ac_add_options --without-system-nss diff --git a/user/arcticfox/override-cxx-version.patch b/user/arcticfox/override-cxx-version.patch new file mode 100644 index 000000000..6486c702e --- /dev/null +++ b/user/arcticfox/override-cxx-version.patch @@ -0,0 +1,17 @@ +ICU 75 requires C++17 mode as a bare minimum. + +--- Arctic-Fox-45.1/build/moz.configure/toolchain.configure.old 2024-09-30 14:54:44.000000000 -0500 ++++ Arctic-Fox-45.1/build/moz.configure/toolchain.configure 2024-11-19 00:21:31.792210428 -0600 +@@ -339,9 +339,9 @@ + # Note: MSVC, while supporting C++11, still reports 199711L for __cplusplus. + # Note: this is a strict version check because we used to always add + # -std=gnu++11. +- if info.language == 'C++' and info.language_version != 201103: +- if info.type in ('clang-cl', 'clang', 'gcc'): +- append_flag('-std=gnu++11') ++ if info.language == 'C++' and info.language_version < 201703: ++ if info.type in ('clang', 'gcc'): ++ append_flag('-std=gnu++17') + + # We force clang-cl to emulate Visual C++ 2013 Update 3 with fallback to + # cl.exe. diff --git a/user/arcticfox/stackwalk-x86-ppc.patch b/user/arcticfox/stackwalk-x86-ppc.patch new file mode 100644 index 000000000..377edabb6 --- /dev/null +++ b/user/arcticfox/stackwalk-x86-ppc.patch @@ -0,0 +1,14 @@ +--- Arctic-Fox-45.1/mozglue/misc/StackWalk.cpp.old 2024-09-30 19:54:44.000000000 +0000 ++++ Arctic-Fox-45.1/mozglue/misc/StackWalk.cpp 2024-10-21 11:28:48.295293788 +0000 +@@ -42,10 +42,7 @@ + (defined(XP_DARWIN) && \ + (defined(__i386) || defined(__ppc__) || defined(HAVE__UNWIND_BACKTRACE))) + +-#define MOZ_STACKWALK_SUPPORTS_LINUX \ +- (defined(linux) && \ +- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ +- defined(HAVE__UNWIND_BACKTRACE))) ++#define MOZ_STACKWALK_SUPPORTS_LINUX 0 + + #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) + #define HAVE___LIBC_STACK_END 1 diff --git a/user/argp-standalone/001-throw-in-funcdef.patch b/user/argp-standalone/001-throw-in-funcdef.patch deleted file mode 100644 index 4a90751e1..000000000 --- a/user/argp-standalone/001-throw-in-funcdef.patch +++ /dev/null @@ -1,79 +0,0 @@ -# --- T2-COPYRIGHT-NOTE-BEGIN --- -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# -# T2 SDE: package/.../rng-tools/throw-in-funcdef.patch.argp-standalone -# Copyright (C) 2006 The T2 SDE Project -# -# More information can be found in the files COPYING and README. -# -# This patch file is dual-licensed. It is available under the license the -# patched project is licensed under, as long as it is an OpenSource license -# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms -# of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. -# --- T2-COPYRIGHT-NOTE-END --- - - -No __THROW in function implementation. - --jsaw - ---- argp-standalone-1.4-test2/argp.h.orig 2006-01-06 02:29:59.000000000 +0100 -+++ argp-standalone-1.4-test2/argp.h 2006-01-06 02:41:10.000000000 +0100 -@@ -560,17 +560,17 @@ - # endif - - # ifndef ARGP_EI --# define ARGP_EI extern __inline__ -+# define ARGP_EI extern inline - # endif - - ARGP_EI void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - ARGP_EI int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -582,7 +582,7 @@ - } - - ARGP_EI int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } ---- argp-standalone-1.4-test2/argp-parse.c.orig 2006-01-06 02:47:48.000000000 +0100 -+++ argp-standalone-1.4-test2/argp-parse.c 2006-01-06 02:48:16.000000000 +0100 -@@ -1290,13 +1290,13 @@ - /* Defined here, in case a user is not inlining the definitions in - * argp.h */ - void --__argp_usage (__const struct argp_state *__state) __THROW -+__argp_usage (__const struct argp_state *__state) - { - __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); - } - - int --__option_is_short (__const struct argp_option *__opt) __THROW -+__option_is_short (__const struct argp_option *__opt) - { - if (__opt->flags & OPTION_DOC) - return 0; -@@ -1310,7 +1310,7 @@ - } - - int --__option_is_end (__const struct argp_option *__opt) __THROW -+__option_is_end (__const struct argp_option *__opt) - { - return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; - } diff --git a/user/argp-standalone/APKBUILD b/user/argp-standalone/APKBUILD deleted file mode 100644 index 450af92f4..000000000 --- a/user/argp-standalone/APKBUILD +++ /dev/null @@ -1,46 +0,0 @@ -# Contributor: Francesco Colista <fcolista@alpinelinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=argp-standalone -pkgver=1.3 -pkgrel=5 -pkgdesc="Hierarchial argument parsing library broken out from glibc" -url="http://www.lysator.liu.se/~nisse/misc/" -arch="all" -options="!dbg" -license="LGPL-2.0+ AND Public-Domain" -depends="" -makedepends="libtool automake autoconf" -source="http://www.lysator.liu.se/~nisse/misc/$pkgname-$pkgver.tar.gz - 001-throw-in-funcdef.patch - gnu89-inline.patch - " - -prepare() { - default_prepare - autoreconf -vif -} - -build() { - export CFLAGS="$CFLAGS -fPIC" - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var - make -} - -check() { - make -C "$builddir" check -} - -package() { - install -D -m644 argp.h "$pkgdir"/usr/include/argp.h - install -D -m755 libargp.a "$pkgdir"/usr/lib/libargp.a -} - -sha512sums="58c3feb8852b90248fff39e49b5019bd0dcf646790c3eaf70c3262eb81dda31a61dc0a45963c7b4a010e80fc14b37288dcb3b3ef48d02f2d33dd72c1c62e62d9 argp-standalone-1.3.tar.gz -5e4cdeeb16e6a4fb46a00ab95f3da9276ee554eec00bb2a05da7467961234ba3f9a630aafa7ceb5feb429a84ece8bf03b869fa996b86468f4716935a914c79a4 001-throw-in-funcdef.patch -69f1d8a4fcd542346f98bc1fb7151db748483fc2f331c8c35114e0891d867b41c603ddaa5f3130aaaf1c640e02c51ac71cee71b62c09301b146812e9059e9ade gnu89-inline.patch" diff --git a/user/argp-standalone/gnu89-inline.patch b/user/argp-standalone/gnu89-inline.patch deleted file mode 100644 index 71978eba5..000000000 --- a/user/argp-standalone/gnu89-inline.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 4658839..09f0267 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -79,16 +79,10 @@ AC_CHECK_DECLS([program_invocation_name, program_invocation_short_name], - - # Set these flags *last*, or else the test programs won't compile - if test x$GCC = xyes ; then -- # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core -- if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then -- true -- else -- CFLAGS="$CFLAGS -ggdb3" -- fi - CFLAGS="$CFLAGS -Wall -W \ - -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes \ - -Waggregate-return \ -- -Wpointer-arith -Wbad-function-cast -Wnested-externs" -+ -Wpointer-arith -Wbad-function-cast -Wnested-externs -fgnu89-inline" - fi - - CPPFLAGS="$CPPFLAGS -I$srcdir" 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/baloo/APKBUILD b/user/baloo/APKBUILD index 8b1e52851..0ea50a54f 100644 --- a/user/baloo/APKBUILD +++ b/user/baloo/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=baloo pkgver=5.94.0 -pkgrel=0 +pkgrel=1 pkgdesc="Semantic desktop search framework" url="https://www.kde.org/" arch="all" diff --git a/user/bcnm/APKBUILD b/user/bcnm/APKBUILD index 1a3c6380b..69fc94ef5 100644 --- a/user/bcnm/APKBUILD +++ b/user/bcnm/APKBUILD @@ -1,39 +1,32 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=bcnm -pkgver=0.0.1.8 +pkgver=0.0.2.0 pkgrel=0 pkgdesc="Client network manager" url="https://skarnet.org/software/bcnm/" arch="all" options="!check" # No test suite. license="ISC" -_skalibs_version=2.14.3 +_skalibs_version=2.14.4 depends="" makedepends="skalibs-dev>=$_skalibs_version" subpackages="$pkgname-dev $pkgname-libs $pkgname-doc" -source="https://skarnet.org/software/bcnm/bcnm-$pkgver.tar.gz - $pkgname.pc.in - wpactrl.pc.in" +source="https://skarnet.org/software/bcnm/bcnm-$pkgver.tar.gz" build() { ./configure \ --enable-shared \ --disable-allstatic \ - --prefix=/usr + --prefix=/usr \ + --with-pkgconfig \ + --enable-pkgconfig make } package() { make DESTDIR="$pkgdir" install - sed -e "s/@@VERSION@@/$pkgver/g; s/@@SKALIBS_VERSION@@/${_skalibs_version}/g;" "$srcdir/$pkgname.pc.in" > "$srcdir/$pkgname.pc" - sed -e "s/@@VERSION@@/$pkgver/g; s/@@SKALIBS_VERSION@@/${_skalibs_version}/g;" "$srcdir/wpactrl.pc.in" > "$srcdir/wpactrl.pc" - install -D -m 0644 "$srcdir/$pkgname.pc" "$pkgdir/usr/lib/pkgconfig/$pkgname.pc" - install -D -m 0644 "$srcdir/wpactrl.pc" "$pkgdir/usr/lib/pkgconfig/wpactrl.pc" mkdir -p "$pkgdir/usr/share/doc" cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname" } -sha512sums="78868ba9f5c58acba1e8283492929164096a9e66ea8fd6fc6b5adb4c81bce78cba96173afb4510daa0e16b79313d0ee9ef790523b062f4ceb181ecdea5973f9a bcnm-0.0.1.8.tar.gz -168127832b78284e4388fa983ea44612e760ca3b5789a863a4a82adb8a75044e006640711a8426d321bb2995425a8cb8e1fb8f788e6d09e5f7b93e55a457fdb6 bcnm.pc.in -ccc46c7a918328236cc5730710a114d06fb91fa6f023f853df70725581469b5b980dc3a5d20046df26393d21b51b4c87f1588cb5fa6cd065b32801a4dfeebb72 wpactrl.pc.in" +sha512sums="826f8f5dce5bc07396c5c8af116c438ad9da0b320e9002e33e3da8f16619f36f2c295f25ef2acbdbf90e241b5887f6d0b51abab5f3f547d5e067378d220913f5 bcnm-0.0.2.0.tar.gz" diff --git a/user/bcnm/bcnm.pc.in b/user/bcnm/bcnm.pc.in deleted file mode 100644 index 710ae09ec..000000000 --- a/user/bcnm/bcnm.pc.in +++ /dev/null @@ -1,6 +0,0 @@ -Name: bcnm -Description: C library to get network interface information -URL: https://skarnet.org/software/bcnm/ -Version: @@VERSION@@ -Requires.private: skalibs >= @@SKALIBS_VERSION@@ -Libs: -lbcnm diff --git a/user/bcnm/wpactrl.pc.in b/user/bcnm/wpactrl.pc.in deleted file mode 100644 index 09b893dc6..000000000 --- a/user/bcnm/wpactrl.pc.in +++ /dev/null @@ -1,6 +0,0 @@ -Name: wpactrl -Description: C Library to control wpa_supplicant -URL: https://skarnet.org/software/bcnm/ -Version: @@VERSION@@ -Requires.private: skalibs >= @@SKALIBS_VERSION@@ -Libs: -lwpactrl diff --git a/user/beforelight/APKBUILD b/user/beforelight/APKBUILD index 4cb502c9d..ee6f0da72 100644 --- a/user/beforelight/APKBUILD +++ b/user/beforelight/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=beforelight -pkgver=1.0.5 +pkgver=1.0.6 pkgrel=0 pkgdesc="Example screen saver for X.Org" url="https://www.X.Org/" @@ -10,13 +10,7 @@ license="X11" depends="" makedepends="util-macros libx11-dev libxscrnsaver-dev libxt-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/beforelight-$pkgver.tar.bz2" - -prepare() { - default_prepare - chmod a+w config.sub - update_config_sub -} +source="https://www.x.org/releases/individual/app/beforelight-$pkgver.tar.xz" build() { ./configure \ @@ -37,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f6cc794159cda89ac060a43d190fa72419dbcf503a97093b4c0f05315389085ff804c2891e00da2843709e97633973010165f9d68ceb0dcc76eed150f9c75968 beforelight-1.0.5.tar.bz2" +sha512sums="48a165d151676f6d213883bee98b34007403a77e025253c8649f9a0f5ea258b09381ab523a5e906030ac9fc8245fce2c6beaf9ad0f81116e302d51ad4a0fad5a beforelight-1.0.6.tar.xz" diff --git a/user/bindgen-cli/APKBUILD b/user/bindgen-cli/APKBUILD new file mode 100644 index 000000000..ec4e1ee1a --- /dev/null +++ b/user/bindgen-cli/APKBUILD @@ -0,0 +1,241 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=bindgen-cli +pkgver=0.70.1 +pkgrel=0 +pkgdesc="Automatically generates Rust FFI bindings to C (and some C++) libraries." +url="https://rust-lang.github.io/rust-bindgen/" +arch="all" +license="BSD-3-Clause" +depends="clang-libs" +makedepends="rust cargo" +subpackages="" +source="" + +cargo_deps=" +aho-corasick 0.7.20 +annotate-snippets 0.9.1 +bindgen 0.70.1 +bindgen-cli 0.70.1 +bitflags 1.3.2 +bitflags 2.2.1 +block 0.1.6 +cc 1.0.78 +cexpr 0.6.0 +cfg-if 1.0.0 +clang-sys 1.4.0 +clap 4.1.4 +clap_complete 4.2.0 +clap_derive 4.1.0 +clap_lex 0.3.1 +either 1.8.1 +env_logger 0.10.0 +env_logger 0.8.4 +errno-dragonfly 0.1.2 +errno 0.3.1 +fastrand 1.8.0 +getrandom 0.2.8 +glob 0.3.1 +heck 0.4.0 +hermit-abi 0.3.2 +humantime 2.1.0 +instant 0.1.12 +io-lifetimes 1.0.4 +is-terminal 0.4.7 +itertools 0.13.0 +libc 0.2.154 +libloading 0.7.4 +linux-raw-sys 0.3.8 +log 0.4.17 +malloc_buf 0.0.6 +memchr 2.5.0 +minimal-lexical 0.2.1 +nom 7.1.3 +objc 0.2.7 +once_cell 1.17.0 +os_str_bytes 6.4.1 +owo-colors 3.5.0 +prettyplease 0.2.7 +proc-macro-error-attr 1.0.4 +proc-macro-error 1.0.4 +proc-macro2 1.0.60 +quickcheck 1.0.3 +quote 1.0.28 +rand 0.8.5 +rand_core 0.6.4 +redox_syscall 0.3.5 +regex-syntax 0.6.28 +regex 1.7.1 +rustc-hash 1.1.0 +rustix 0.37.7 +shlex 1.3.0 +similar 2.2.1 +strsim 0.10.0 +syn 1.0.107 +syn 2.0.18 +tempfile 3.5.0 +termcolor 1.2.0 +unicode-ident 1.0.6 +unicode-width 0.1.10 +version_check 0.9.4 +wasi 0.11.0+wasi-snapshot-preview1 +winapi-i686-pc-windows-gnu 0.4.0 +winapi-util 0.1.5 +winapi-x86_64-pc-windows-gnu 0.4.0 +winapi 0.3.9 +windows-sys 0.42.0 +windows-sys 0.45.0 +windows-sys 0.48.0 +windows-targets 0.42.2 +windows-targets 0.48.1 +windows_aarch64_gnullvm 0.42.2 +windows_aarch64_gnullvm 0.48.0 +windows_aarch64_msvc 0.42.2 +windows_aarch64_msvc 0.48.0 +windows_i686_gnu 0.42.2 +windows_i686_gnu 0.48.0 +windows_i686_msvc 0.42.2 +windows_i686_msvc 0.48.0 +windows_x86_64_gnu 0.42.2 +windows_x86_64_gnu 0.48.0 +windows_x86_64_gnullvm 0.42.2 +windows_x86_64_gnullvm 0.48.0 +windows_x86_64_msvc 0.42.2 +windows_x86_64_msvc 0.48.0 +yansi-term 0.1.2 +" + +source="$source $(echo $cargo_deps | sed -E 's#([[:graph:]]+) ([[:graph:]]+)#\1-\2.tar.gz::https://crates.io/api/v1/crates/\1/\2/download#g')" + +prepare() { + export CARGO_HOME="$srcdir/cargo-home" + export CARGO_VENDOR="$CARGO_HOME/adelie" + + (builddir=$srcdir; default_prepare) + + mkdir -p "$CARGO_VENDOR" + cat <<- EOF > "$CARGO_HOME/config.toml" + [source.adelie] + directory = "${CARGO_VENDOR}" + + [source.crates-io] + replace-with = "adelie" + local-registry = "/nonexistant" + EOF + + for _dep in $(echo $cargo_deps | sed -E 's#([[:graph:]]+) ([[:graph:]]+)#\1-\2#g'); do + ln -s "$srcdir/$_dep" "$CARGO_VENDOR/$_dep" + _sum=$(sha256sum "$srcdir/$_dep.tar.gz" | cut -d' ' -f1) + cat <<- EOF > "$CARGO_VENDOR/$_dep/.cargo-checksum.json" + { + "package":"$_sum", + "files":{} + } + EOF + done +} + +build() { + export CARGO_HOME="$srcdir/cargo-home" + cargo build -j $JOBS --release +} + +check() { + export CARGO_HOME="$srcdir/cargo-home" + cargo test -j $JOBS --release +} + +package() { + export CARGO_HOME="$srcdir/cargo-home" + cargo install --no-track --path . --root="$pkgdir"/usr +} + +sha512sums="ad31f3d1b3fe41e593d4ca7e721bbad62936f2e6a17fd1e0997353edb6fc906d1bef2b79f0ac7c7676abe637bbabb23ff22059947be379a2441011f8178983c5 aho-corasick-0.7.20.tar.gz +e1e8b262a6681730ad068c29d7e0f3879acf0c7138721f606851228bd5d90292f24ac2c225fe49f26264e7d35de5ed3904850e522da8cd2c44a67f7db36f2d8e annotate-snippets-0.9.1.tar.gz +cf1c87ea7ab9ed4df953795f1aa77e6ae6d72e768de3b517300074501ce49db6a3def1f58b9d824b5727974cab84a48461e7d98086fc440dc73ad9cf173ad5ed bindgen-0.70.1.tar.gz +70ba89860ac86bcbc546cea8459b3d2f4f0762e3fef758df2358e2aeea09249775174a6ccbcbd707f9dba107c1d49a8f066b122af88f05cf98b0d0e087fa13f5 bindgen-cli-0.70.1.tar.gz +3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 bitflags-1.3.2.tar.gz +413b602edb82f8a4553735e46feefe323137b742d003368e037406157f916e5a5ea002d015a27cf8d41accca75f103c6712e2268fe2853d4d5e93e7264682182 bitflags-2.2.1.tar.gz +c278e3c0346cae423b533a8f5d6b822e788ec450c92ef0f5f559d5705764a0a11df49f0f66bb1c8af7e89bec8ec802934676b969e43f92255a38b210d0fbd710 block-0.1.6.tar.gz +b85bec4c75cb1d1e252419052e9dd22b6892e54ea36195ff483a04f785b5b103e82b30b778459fd45324ffeb2463aa4f5696baeff2779c25ffe9f65eb99ae893 cc-1.0.78.tar.gz +766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886 cexpr-0.6.0.tar.gz +0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff cfg-if-1.0.0.tar.gz +062189bb0a341e2e85de4987f4b564c1fc69e4005c9c42cfedb61dee5f48db9126a8114d1d97be1b9c21b8c885243751232fbe8cf532e1d2be593308fe45216a clang-sys-1.4.0.tar.gz +0828a67a5dda8a32251ce5de6570e020cb54ff7198a7df0051e1e78c75bf7c3f7b9e47ee1f6ff93fcac985d06a65c0d6ec061de4b967954949f77c12110053bb clap-4.1.4.tar.gz +6af0d15c54aea2dd90fe49688053936f158f374290a568df80ca7907c6a6a93edf2c84f281c3ff0a4ca716619e71714922928b2f90885cb79a3b64666e83bebd clap_complete-4.2.0.tar.gz +dc191ccd0b596395d029e9ded5d1cb2cb86c8392a4de52ddb877b59dafe85369287b6ec2749d01f33372fcd4cb6a4e12a9cb02b394f50d65ebdc4693af062807 clap_derive-4.1.0.tar.gz +2619ba0fb961d8ee86e42864b56511378ef837674aab6b1a21defee20f321e4f29b3b3fead0665b4385b0675d7bc63a7dd7df00dde51dee7ee99c7add6828b89 clap_lex-0.3.1.tar.gz +5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e either-1.8.1.tar.gz +4dd02f9d333a1f15657167ef4bd403eda5426cad17e0a4a43fa20cc65449345eb4d3fae2d6b10a3480016b9e23497fac13ed7e70b40c9450ef430be9f910d3e4 env_logger-0.10.0.tar.gz +9e4478ff609a2e1e1a902a55b221af43a52622fdb5668dc33fb0be354b964708b7b6d13b7f1ef11982f45fa7e71f0712a2ab3fd4ea98155a5115e5a7c3d33049 env_logger-0.8.4.tar.gz +f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916 errno-dragonfly-0.1.2.tar.gz +00d64157d066f1e7601c522c0f4e777eb662ca5cce64682f616de0734857765c343396f7161ac2908c3db0c474995ae157bfe9d8a9880743724d9bd428dfdf54 errno-0.3.1.tar.gz +82cbc2b29b97fa3fa2c9372d3e8c390586a7b39f6c7d8c45f9b779bdfdaa2e8a3b44bc7bfcb3367c18120726facc753c9827cf63a8fb4ddc2667509b16333cb1 fastrand-1.8.0.tar.gz +cd7aea29f79a33a0de2a52a0a82f2b57ea8f27908ccfe00a5f42248766df88b225023603ec56d6fc634ef9c1eb67ad0135c90d4c695f6f659db0767e7fda44c5 getrandom-0.2.8.tar.gz +29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b glob-0.3.1.tar.gz +33bdbf4ff9ecc4f4d74cf06590e056f4d96bf0d990d5381b9da5b65682b2495ed74e27b45419c2afa986c1f6200909d5175b137ae73ced5cc8ac869e4e1bce8f heck-0.4.0.tar.gz +22901ec8976a7c96e93c9e07a2c5d3db49d7af60ce60c7ee6f61c3cbe93190d1f285e737c1c8b2236d540ab14e5d92e42828ec05f1b212332a862baf2b1b57f6 hermit-abi-0.3.2.tar.gz +3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c humantime-2.1.0.tar.gz +fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407 instant-0.1.12.tar.gz +1b2b151561dc79d1467b699590b2cb5d4acb39f75f38c05a94edb6d1543acca541b5a083fe7b606bc37cb2812692b7acb46996d0b096b96b0b085d31b1336775 io-lifetimes-1.0.4.tar.gz +56c00b2942963f8a0b5c40c96a885f85565fb09e247bfd5a3e77ca5c9e0e0e40a17a8d809c0541177e8b496fef87baac4b86c751765491ffffdb631515d8acf5 is-terminal-0.4.7.tar.gz +c6cb8f93a93b6ac1a2cbb3033e66fc81a39f83be773b734bea3311332b96bc71bbb518aae3e6b40cb537590c23de1ca4964361c336795c3985bde63232d410c4 itertools-0.13.0.tar.gz +891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61 libc-0.2.154.tar.gz +34439d9eca68bac8fcbe2bc94a70e07550e7e95d713ab74ed60ba6736ec807fd9c9135c178d436fbeb39afb074b2a9b05775d953340845c088f5f8712f5f56a1 libloading-0.7.4.tar.gz +cb0e5c54870dacfa513ad05f7a84e9e90dc1a42f55685fe3e252fd25cffa4b875f1b65eaf4ad132ef0a19e6677c7763b360d71ff0060fe6ce5198f38b9956375 linux-raw-sys-0.3.8.tar.gz +2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2 log-0.4.17.tar.gz +463b3d7666cdd7de618abf0cc4e488060c84d6d93c56d4e922169511a0b03de380ea988cd998f5a162b244088902198763351ac16dea3762f0fa0840fc29d6ed malloc_buf-0.0.6.tar.gz +444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa memchr-2.5.0.tar.gz +385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c minimal-lexical-0.2.1.tar.gz +1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad nom-7.1.3.tar.gz +7178870c8e4e9154b4c7b4953b3164946b7ce72c956a02b9ba18889353c72be735824bd73e44a485e42ad5f97994820d9153ac684629342755a6a63711ab5988 objc-0.2.7.tar.gz +291d87380c0ea17fb3ffc9fdff8620d2ff55601c06ef65b2f0c54254fecd5b488645c6e94c6026b82071893f4d420491ff712399a782e14efa1e323e5c299c46 once_cell-1.17.0.tar.gz +2199502ad24449e08370686a596f905325f5b145e105e8c7bf90ed7729bbc405e065fce62c98eada40f77f0665ca041db41f16cc8e62473501eca32c24e56f43 os_str_bytes-6.4.1.tar.gz +1718f03d9f3296ffe3145161e038ebdb8dc40b69c0e2cb80a51866b519cf857b6573aedb7704895401e10cea11ca422a384c3594b8762be29eaa90908e24f7aa owo-colors-3.5.0.tar.gz +b8625d09c9709d0cbb7c49bf887574e40419df2b21978ad9ba22693358abb295c3d9f85830fb41b64c4adc76d64a514de174fcc4a11b54d59fa6aca3f8b85c3c prettyplease-0.2.7.tar.gz +2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495 proc-macro-error-attr-1.0.4.tar.gz +8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db proc-macro-error-1.0.4.tar.gz +2a3d33d2e42e3b7edac7a099dcaf83c43ad47852217424c2bcf8ed5b894292975ef5a11df01ebb3479971e94d5b032b9d043c28bed476d6f7087fb9297fbaac0 proc-macro2-1.0.60.tar.gz +07dd707c9d3fd0b9cedbba545bc8b4fc1ca2770d169e444f8c96f8306d3161a6a3e9189cc5d0d6b3dc4221f7dbc05887dfe2dedc914f88d5e69ab2b94179185a quickcheck-1.0.3.tar.gz +846d718153f78cbae6dc714caa9413a5d5964bcc5e032f5c6c5356c62c33bf22635955ebdff0dede69ba1c9657387e65d61de7c537f6f56f8060721dfa52d735 quote-1.0.28.tar.gz +8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 rand-0.8.5.tar.gz +36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 rand_core-0.6.4.tar.gz +16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde redox_syscall-0.3.5.tar.gz +ba5fb1622a330b67a4eb820551c7f20dbfdc6b38eb697b9bfddea4cf0060b473472045e93aaf6cb9727ae609e06ed285e1e42f06f34ac730ac39fb90425bbe85 regex-syntax-0.6.28.tar.gz +ee19bc6d24b981a151324ad4115488383227ec33dfba0225b35b6252f0d363b8d906db59a45170139c7a687fe681a983c2392d2921c7365db38c7c0e9745066f regex-1.7.1.tar.gz +84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544 rustc-hash-1.1.0.tar.gz +e72fcf16722b62dc9821a498b21254b6f794580aef64e2ae9db15eaf5f5c63bd55a22e0014a00e2a2fcdb4f6ad703c2fa8b75b2db387d1a658a34da7a4ca424e rustix-0.37.7.tar.gz +5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a shlex-1.3.0.tar.gz +9a353bfbe495bab83e401314bb97c6605fa6283af06e03bad50bc429388c7abf44bb9cc68db781ef2b786840eb444907f35b70b17343b2cb993800536b4e36a2 similar-2.2.1.tar.gz +78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1 strsim-0.10.0.tar.gz +58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623 syn-1.0.107.tar.gz +2642eb35d52022c6d21bb893843beb9b737a267f620e1f5a6c9096d434fd1fab05fe007c8d8b6f1fe00a25007d6f55dbd4ec620b9f5c1154659bf34c246334dd syn-2.0.18.tar.gz +8e8775a9727e32f6931b3289d2b8aefa5ede7b224ae2e1937da3aff371ef5f6078587f060eb36793e9779249992a97acc39c02c6095c41467929e39ada12c7db tempfile-3.5.0.tar.gz +cf1896523353390b2f90b2a8bf30f47da5fc7c2daa635bd0cd8059bdc73feb243e46e4279562fe45d5726f2840833b1e967c7de19ffc0c853592d9f86c0c1be7 termcolor-1.2.0.tar.gz +ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86 unicode-ident-1.0.6.tar.gz +9836a8d489d18ea1ecfe1957ed6d5da7dce825e138cd1848aef093fa8d2eb83fcf01eabb1a2446df4f5ede4e67316e9e81b5d58b59d4e8c5d67870e8fa5dca3b unicode-width-0.1.10.tar.gz +b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8 version_check-0.9.4.tar.gz +043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f wasi-0.11.0+wasi-snapshot-preview1.tar.gz +a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 winapi-i686-pc-windows-gnu-0.4.0.tar.gz +7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd winapi-util-0.1.5.tar.gz +4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz +ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 winapi-0.3.9.tar.gz +b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354 windows-sys-0.42.0.tar.gz +f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47 windows-sys-0.45.0.tar.gz +bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed windows-sys-0.48.0.tar.gz +84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9 windows-targets-0.42.2.tar.gz +e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2 windows-targets-0.48.1.tar.gz +75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1 windows_aarch64_gnullvm-0.42.2.tar.gz +80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711 windows_aarch64_gnullvm-0.48.0.tar.gz +d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63 windows_aarch64_msvc-0.42.2.tar.gz +617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df windows_aarch64_msvc-0.48.0.tar.gz +ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c windows_i686_gnu-0.42.2.tar.gz +15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68 windows_i686_gnu-0.48.0.tar.gz +c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804 windows_i686_msvc-0.42.2.tar.gz +11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b windows_i686_msvc-0.48.0.tar.gz +5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f windows_x86_64_gnu-0.42.2.tar.gz +38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602 windows_x86_64_gnu-0.48.0.tar.gz +d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3 windows_x86_64_gnullvm-0.42.2.tar.gz +8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396 windows_x86_64_gnullvm-0.48.0.tar.gz +53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788 windows_x86_64_msvc-0.42.2.tar.gz +6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795 windows_x86_64_msvc-0.48.0.tar.gz +ba720e36487871427aaa7139e8aeaf5b2b3f2d1df4798d7e238e323dc3d3220f12202e223f74339201be3466848c372dc1712e1842e5cd6bd51c3dedf76c9ff6 yansi-term-0.1.2.tar.gz" diff --git a/user/bitmap/APKBUILD b/user/bitmap/APKBUILD index 660643ef7..864ffbb84 100644 --- a/user/bitmap/APKBUILD +++ b/user/bitmap/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=bitmap -pkgver=1.1.0 +pkgver=1.1.1 pkgrel=0 pkgdesc="X Bitmap (XBM) editor and utilities" url="https://www.X.Org/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3d6c94675f10772daeb71598c3e0ddcb51569b1bfc4771159e9df89599bfeb8bf49f464c24fef54d30a8f737af32136f859f844be03e088d24ed962f88381193 bitmap-1.1.0.tar.xz" +sha512sums="69096a73739019545f2eb44b823e659b84377cf7c497243c89cbf3f26c9623c31fecfa36628022d241a581a5930e9e2394ec116e5c6d9df94097b45661261307 bitmap-1.1.1.tar.xz" diff --git a/user/brillo/APKBUILD b/user/brillo/APKBUILD new file mode 100644 index 000000000..f377b047f --- /dev/null +++ b/user/brillo/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=brillo +pkgver=1.4.12 +pkgrel=0 +pkgdesc="Utility for controlling display brightness" +url="https://gitlab.com/cameronnemo/brillo" +arch="all" +options="!check" # no testsuite +license="GPL-3.0-only AND 0BSD" +depends="udev polkit" +makedepends="" +subpackages="" +source="https://gitlab.com/cameronnemo/brillo/-/archive/v$pkgver/brillo-v$pkgver.tar.bz2" +builddir="$srcdir/brillo-v$pkgver" + +build() { + make +} + +package() { + make DESTDIR="$pkgdir" install.bin install.udev install.polkit +} + +sha512sums="f7bb6df12a8ddd7df6ac3c973cf24a0b4974387479d20477c7cec75503ca0bfbff8d16645464f79f73074711e62614ffcc5c9388384100274ba8be0bfaae26b8 brillo-v1.4.12.tar.bz2" diff --git a/user/cairo/APKBUILD b/user/cairo/APKBUILD index d9be3529f..3f1823ece 100644 --- a/user/cairo/APKBUILD +++ b/user/cairo/APKBUILD @@ -1,25 +1,22 @@ # Maintainer: Zach van Rijn <me@zv.io> pkgname=cairo -pkgver=1.16.0 -pkgrel=3 +pkgver=1.18.4 +pkgrel=0 pkgdesc="A vector graphics library" url="https://cairographics.org/" arch="all" -options="!check" # Recursive dependency on gtk+2.0 for check. +options="!check" # Times out (after 3600 seconds). license="LGPL-2.0+ AND MPL-1.1" depends="" -depends_dev="fontconfig-dev freetype-dev libxrender-dev pixman-dev - xcb-util-dev libxext-dev $pkgname-tools" -makedepends="$depends_dev zlib-dev expat-dev glib-dev libpng-dev cmd:which" +depends_dev="$pkgname-tools" +makedepends="expat-dev fontconfig-dev freetype-dev glib-dev gtk-doc libpng-dev + libx11-dev libxext-dev libxrender-dev meson pixman-dev xcb-util-dev + zlib-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-gobject $pkgname-tools" -# fontconfig-ultimate https://github.com/bohoomil/fontconfig-ultimate -_ultver="2016-04-23" source="https://cairographics.org/releases/$pkgname-$pkgver.tar.xz - fontconfig-ultimate-$_ultver.tar.gz::https://github.com/bohoomil/fontconfig-ultimate/archive/$_ultver.tar.gz musl-stacksize.patch - CVE-2018-19876.patch - CVE-2019-6462.patch - CVE-2020-35492.patch + cairo-respect-fontconfig_pb.patch + cairo-webkit-html5-fix.patch " # secfixes: @@ -29,42 +26,30 @@ source="https://cairographics.org/releases/$pkgname-$pkgver.tar.xz # 1.16.0-r1: # - CVE-2018-19876 -prepare() { - default_prepare +build() { + meson setup \ + -Dprefix=/usr \ + -Dfontconfig=enabled \ + -Dfreetype=enabled \ + -Dglib=enabled \ + -Dpng=enabled \ + -Dspectre=disabled \ + -Dtee=enabled \ + -Dxcb=enabled \ + -Dxlib=enabled \ + -Dzlib=enabled \ + -Dgtk_doc=true \ + build - # infinality - for j in "$srcdir"/fontconfig-ultimate-$_ultver/$pkgname/*.patch; do - msg "Applying ${j}" - patch -p1 -i $j - done + meson compile -C build } -build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --enable-ft \ - --enable-gobject \ - --enable-pdf \ - --enable-png \ - --enable-ps \ - --enable-svg \ - --enable-tee \ - --enable-x \ - --enable-xcb \ - --enable-xcb-shm \ - --enable-xlib \ - --enable-xlib-xrender \ - --disable-xlib-xcb \ - --disable-static - make +check() { + meson test -C build } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build } gobject() { @@ -81,9 +66,7 @@ tools() { "$subpkgdir"/usr/lib/cairo/ } -sha512sums="9eb27c4cf01c0b8b56f2e15e651f6d4e52c99d0005875546405b64f1132aed12fbf84727273f493d84056a13105e065009d89e94a8bfaf2be2649e232b82377f cairo-1.16.0.tar.xz -d8185f4ec74f44c4746acf7e79bba7ff7ffd9d35bdabeb25e10b4e12825942d910931aa857f1645e5c8185bcb40a1f1ffe1e7e647428e9ea66618b2aec52fac3 fontconfig-ultimate-2016-04-23.tar.gz +sha512sums="863679f817ed67dc2c916c035d740916e27e7e69c04fca63936e37d274e7f4c79848d16c8f7c481798864602e8847c489f698df89b785cbc576c925dbd513316 cairo-1.18.4.tar.xz 86f26fe41deb5e14f553c999090d1ec1d92a534fa7984112c9a7f1d6c6a8f1b7bb735947e8ec3f26e817f56410efe8cc46c5e682f6a278d49b40a683513740e0 musl-stacksize.patch -9020c596caa54a2ac435d5dae0f121d36d3c3f34d487b9c1032665b1bd15813506adf31984e34b5dd328ee0e068de0627e1d061230758328cae4fa993c3a9209 CVE-2018-19876.patch -ebe5d71b18aa9eefe1e0a6c150761bb7abef41f144f37eb0bfa8a01947aacb1292ac131cf815dcaaaa6478c0aac07ca5428fba28ad346a00c5aaa5fa64f6ff5b CVE-2019-6462.patch -8dcb95b6a8e023ad5675f81f9a87a087868dc74113cd0ab96568d525582266c366064cc7cc168738dc75968385ab0444911f54754d31962dfe1235526afbd72c CVE-2020-35492.patch" +bdc01ec3619e40e6e260890e038628607076d56d8e64ceaf8a3fd3c92e348d451a12852148a168f2e0e69d40285800fa66e39fdee771d1e0d632311c61923ca2 cairo-respect-fontconfig_pb.patch +9bf936f9c84f00409d75665034b21fa345c2e1c414715a899ad37ae10eaf54348537a3386ce078a56f1e931c749c3e50a99dd3b4e8aab484077ee18b5b89abe9 cairo-webkit-html5-fix.patch" diff --git a/user/cairo/CVE-2018-19876.patch b/user/cairo/CVE-2018-19876.patch deleted file mode 100644 index 33731e4fc..000000000 --- a/user/cairo/CVE-2018-19876.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos <cgarcia@igalia.com> -Date: Mon, 19 Nov 2018 12:33:07 +0100 -Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in - cairo_ft_apply_variations - -Fixes a crash when using freetype >= 2.9 ---- - src/cairo-ft-font.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c -index 325dd61b4..981973f78 100644 ---- a/src/cairo-ft-font.c -+++ b/src/cairo-ft-font.c -@@ -2393,7 +2393,11 @@ skip: - done: - free (coords); - free (current_coords); -+#if HAVE_FT_DONE_MM_VAR -+ FT_Done_MM_Var (face->glyph->library, ft_mm_var); -+#else - free (ft_mm_var); -+#endif - } - } - --- -2.21.0 - diff --git a/user/cairo/CVE-2019-6462.patch b/user/cairo/CVE-2019-6462.patch deleted file mode 100644 index 2a26876c3..000000000 --- a/user/cairo/CVE-2019-6462.patch +++ /dev/null @@ -1,36 +0,0 @@ -From bbeaf08190d3006a80b80a77724801cd477a37b8 Mon Sep 17 00:00:00 2001 -From: Heiko Lewin <hlewin@worldiety.de> -Date: Sat, 17 Apr 2021 19:15:03 +0200 -Subject: [PATCH] _arc_max_angle_for_tolerance_normalized: fix infinite loop - ---- - src/cairo-arc.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/cairo-arc.c b/src/cairo-arc.c -index 390397bae..1c891d1a0 100644 ---- a/src/cairo-arc.c -+++ b/src/cairo-arc.c -@@ -90,16 +90,18 @@ _arc_max_angle_for_tolerance_normalized (double tolerance) - { M_PI / 11.0, 9.81410988043554039085e-09 }, - }; - int table_size = ARRAY_LENGTH (table); -+ const int max_segments = 1000; /* this value is chosen arbitrarily. this gives an error of about 1.74909e-20 */ - - for (i = 0; i < table_size; i++) - if (table[i].error < tolerance) - return table[i].angle; - - ++i; -+ - do { - angle = M_PI / i++; - error = _arc_error_normalized (angle); -- } while (error > tolerance); -+ } while (error > tolerance && i < max_segments); - - return angle; - } --- -GitLab - diff --git a/user/cairo/CVE-2020-35492.patch b/user/cairo/CVE-2020-35492.patch deleted file mode 100644 index d7369b3d6..000000000 --- a/user/cairo/CVE-2020-35492.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 -From: Heiko Lewin <heiko.lewin@worldiety.de> -Date: Tue, 15 Dec 2020 16:48:19 +0100 -Subject: [PATCH] Fix mask usage in image-compositor - ---- - src/cairo-image-compositor.c | 8 ++-- - test/Makefile.sources | 1 + - test/bug-image-compositor.c | 39 ++++++++++++++++++++ - test/reference/bug-image-compositor.ref.png | Bin 0 -> 185 bytes - 4 files changed, 44 insertions(+), 4 deletions(-) - create mode 100644 test/bug-image-compositor.c - create mode 100644 test/reference/bug-image-compositor.ref.png - -diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c -index 79ad69f68..4f8aaed99 100644 ---- a/src/cairo-image-compositor.c -+++ b/src/cairo-image-compositor.c -@@ -2610,14 +2610,14 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, - unsigned num_spans) - { - cairo_image_span_renderer_t *r = abstract_renderer; -- uint8_t *m; -+ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); - int x0; - - if (num_spans == 0) - return CAIRO_STATUS_SUCCESS; - - x0 = spans[0].x; -- m = r->_buf; -+ m = base; - do { - int len = spans[1].x - spans[0].x; - if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { -@@ -2655,7 +2655,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, - spans[0].x, y, - spans[1].x - spans[0].x, h); - -- m = r->_buf; -+ m = base; - x0 = spans[1].x; - } else if (spans[0].coverage == 0x0) { - if (spans[0].x != x0) { -@@ -2684,7 +2684,7 @@ _inplace_src_spans (void *abstract_renderer, int y, int h, - #endif - } - -- m = r->_buf; -+ m = base; - x0 = spans[1].x; - } else { - *m++ = spans[0].coverage; - diff --git a/user/cairo/cairo-respect-fontconfig_pb.patch b/user/cairo/cairo-respect-fontconfig_pb.patch new file mode 100644 index 000000000..0bb0f4a7a --- /dev/null +++ b/user/cairo/cairo-respect-fontconfig_pb.patch @@ -0,0 +1,13 @@ +--- a/src/cairo-ft-font.c 2015-03-10 23:21:07.000000000 +0100 ++++ b/src/cairo-ft-font.c 2015-03-11 21:59:05.747697134 +0100 +@@ -1932,7 +1932,9 @@ _cairo_ft_options_merge (cairo_ft_option + options->base.subpixel_order = other->base.subpixel_order; + } + +- if (options->base.hint_style == CAIRO_HINT_STYLE_DEFAULT) ++ options->base.hint_style = CAIRO_HINT_STYLE_DEFAULT; ++ ++ if (other->base.hint_style != CAIRO_HINT_STYLE_DEFAULT) + options->base.hint_style = other->base.hint_style; + + if (other->base.hint_style == CAIRO_HINT_STYLE_NONE) diff --git a/user/cairo/cairo-webkit-html5-fix.patch b/user/cairo/cairo-webkit-html5-fix.patch new file mode 100644 index 000000000..07c5c6db8 --- /dev/null +++ b/user/cairo/cairo-webkit-html5-fix.patch @@ -0,0 +1,30 @@ +From 0742b90a214b35951414558f6f5579f79b8a8194 Mon Sep 17 00:00:00 2001 +From: Massimo Valentini <mvalentini@src.gnome.org> +Date: Thu, 21 Aug 2014 17:15:51 +0200 +Subject: [PATCH] Fix segfault rendering videos in webkit based browsers + +do not tessellate empty boxes. + +Reported-by: Henrique Lengler <henriqueleng@openmailbox.org> +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81699 +--- + src/cairo-bentley-ottmann-rectangular.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/cairo-bentley-ottmann-rectangular.c b/src/cairo-bentley-ottmann-rectangular.c +index 5541bdc..4bcd8d1 100644 +--- a/src/cairo-bentley-ottmann-rectangular.c ++++ b/src/cairo-bentley-ottmann-rectangular.c +@@ -834,6 +834,9 @@ _cairo_bentley_ottmann_tessellate_boxes (const cairo_boxes_t *in, + for (i = 0; i < chunk->count; i++) { + int h; + ++ if (box[i].p1.y == box[i].p2.y) ++ continue; ++ + if (box[i].p1.x < box[i].p2.x) { + rectangles[j].left.x = box[i].p1.x; + rectangles[j].left.dir = 1; +-- +1.9.3 + diff --git a/user/chelf/APKBUILD b/user/chelf/APKBUILD deleted file mode 100644 index cf3b34228..000000000 --- a/user/chelf/APKBUILD +++ /dev/null @@ -1,24 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=chelf -pkgver=0.2.2 -pkgrel=0 -pkgdesc="Display or change the stack size of an ELF binary" -url=" " -arch="all" -options="!check" # No test suite. -license="BSD-2-Clause" -depends="" -makedepends="" -subpackages="" -source="$pkgname-$pkgver.tar.xz::https://distfiles.adelielinux.org/source/$pkgname-$pkgver.txz" - -build() { - make -} - -package() { - install -D -m755 chelf "$pkgdir"/usr/bin/chelf -} - -sha512sums="bf29f0f526ca1977e0d0743901f6afeb23b2dd78b60618ea65201ea95000832854250f44de6e7625b6d546cace4638be094989cdb96b4e842285ef85718c0082 chelf-0.2.2.tar.xz" diff --git a/user/chrpath/APKBUILD b/user/chrpath/APKBUILD deleted file mode 100644 index 7bdb44c39..000000000 --- a/user/chrpath/APKBUILD +++ /dev/null @@ -1,35 +0,0 @@ -# Maintainer: -pkgname=chrpath -pkgver=0.16 -pkgrel=2 -pkgdesc="Modify rpath of compiled programs" -url="https://github.com/jwilk-mirrors/chrpath" -arch="all" -license="GPL-2.0-only" -depends="" -makedepends="" -subpackages="$pkgname-doc" -source="https://alioth-archive.debian.org/releases/chrpath/chrpath/0.16/chrpath-0.16.tar.gz" - -build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --localstatedir=/var - make -} - -check() { - make check -} - -package() { - make DESTDIR="$pkgdir" docdir=/usr/share/doc/$pkgname-$pkgver \ - install -} - -sha512sums="aa04d490f78bff20a56fe20539cec10218c0772a668909eda8324ca825f51e8ef92001e95d9c316e79a145a043c9c327ec94d1a82e104ab408ca1021832745aa chrpath-0.16.tar.gz" diff --git a/user/clang/APKBUILD b/user/clang/APKBUILD index 7d8f46369..5084a4020 100644 --- a/user/clang/APKBUILD +++ b/user/clang/APKBUILD @@ -3,7 +3,7 @@ pkgname=clang # Note: Update together with llvm. pkgver=18.1.8 -pkgrel=0 +pkgrel=1 _llvmver=${pkgver%%.*} pkgdesc="A C language family front-end for LLVM" arch="all" @@ -21,7 +21,6 @@ source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/l big-endian-32.patch cfe-005-ppc64-dynamic-linker-path.patch ppc-dirwatcher.patch - ppc-interp.patch use-llvm-lit.patch " builddir="$srcdir/llvm-project-$pkgver.src/$pkgname" @@ -66,16 +65,6 @@ prepare() { rm -f test/Driver/ppc-float-abi-warning.cpp # known broken on 32-bit platforms rm -f test/CodeGenCUDA/static-device-var-rdc.cu - - case $CARCH in - ppc) - for _interp_test in code-undo.cpp const.cpp execute-stmts.cpp \ - execute-weak.cpp execute.cpp fail.cpp global-dtor.cpp \ - inline-virtual.cpp lambda.cpp multiline.cpp \ - simple-exception.cpp; do - rm test/Interpreter/$_interp_test - done;; - esac } build() { @@ -166,5 +155,4 @@ d37d2339a76c21666aa4405b2a620100e6967eb933535b5cea05f5de25a4d7551047944350071552 241a087888b7b5373b54653c4675c77c70d82b61a1b79359cba7d5fe0187851e790cb4e7e278a0a59c660b9a980cf087b393dc43a19a975fc9b97717bca12bc4 big-endian-32.patch 8272ec0eeb93287c9cc961099139f7cb0f94561befc31a4521387fa5f7216dc4b3d99750c4560a0b71ec4acde5bd776abef733cfafe81058ef054b62f72fc209 cfe-005-ppc64-dynamic-linker-path.patch 0032fdd3864870d345caff9c4ff44f58bebc802bddf06c4b3bf30276c89e237167e6dea03456d322d3f6e2ee5e3a2ecf9f649ed033f0ab078b80bda44371b3ce ppc-dirwatcher.patch -a2d90bcfc7cee261d6c8ac3b5dd011f55eab94deff456b63c5ef3598397e358b271e7ae86dec9e56c09c874736645ffbecccde4d31826d9b20908a4a16c61387 ppc-interp.patch 6c6b4fc49539ecf02e4eec9c2bbd89cc37fe01383e7884aa52c90ab0a4aa23cd9a86716bc645af6949f787d2fe3b9a3ad177baef1edbec928437872d14db536d use-llvm-lit.patch" diff --git a/user/clang/ppc-interp.patch b/user/clang/ppc-interp.patch deleted file mode 100644 index fae58aa3d..000000000 --- a/user/clang/ppc-interp.patch +++ /dev/null @@ -1,35 +0,0 @@ -PPC32 doesn't support some of the clang-repl due to R_PPC_REL24 not being -implemented in RuntimeDyld. - ---- clang-14.0.6.src/test/Interpreter/execute.cpp.old 2022-06-22 16:46:24.000000000 +0000 -+++ clang-14.0.6.src/test/Interpreter/execute.cpp 2022-12-05 01:04:26.517960246 +0000 -@@ -1,4 +1,4 @@ --// UNSUPPORTED: system-aix -+// UNSUPPORTED: system-aix, powerpc- - - // clang-format off - // RUN: clang-repl "int i = 10;" 'extern "C" int printf(const char*,...);' \ ---- clang/unittests/Interpreter/InterpreterTest.cpp.old 2024-10-10 18:11:05.390017076 +0000 -+++ clang/unittests/Interpreter/InterpreterTest.cpp 2024-10-10 22:34:07.176019197 +0000 -@@ -30,7 +30,7 @@ - - using namespace clang; - --#if defined(_AIX) -+#if defined(_AIX) || (!defined(__powerpc64__) && defined(__powerpc__)) - #define CLANG_INTERPRETER_NO_SUPPORT_EXEC - #endif - ---- clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp.old 2024-06-15 17:21:32.000000000 +0000 -+++ clang/unittests/Interpreter/ExceptionTests/InterpreterExceptionTest.cpp 2024-10-10 22:36:53.358466534 +0000 -@@ -113,8 +113,8 @@ - if (Triple.isOSAIX()) - GTEST_SKIP(); - -- // FIXME: ARM fails due to `Not implemented relocation type!` -- if (Triple.isARM()) -+ // FIXME: ARM and PPC32 fail due to `Not implemented relocation type!` -+ if (Triple.isARM() || Triple.isPPC32()) - GTEST_SKIP(); - - // FIXME: libunwind on darwin is broken, see PR49692. diff --git a/user/clutter/APKBUILD b/user/clutter/APKBUILD index 18089c391..d102ee728 100644 --- a/user/clutter/APKBUILD +++ b/user/clutter/APKBUILD @@ -2,15 +2,16 @@ # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=clutter pkgver=1.26.4 -pkgrel=0 +pkgrel=1 pkgdesc="OpenGL-based interactive canvas library" url="https://gnome.org" arch="all" options="!check" # Test suite skipped all tests. license="LGPL-2.0+ AND MIT AND LGPL-2.1+ AND GPL-2.0+" depends="" -makedepends="glib-dev mesa-dev cogl-dev cairo-dev pango-dev json-glib-dev - atk-dev vala gobject-introspection-dev" +makedepends="glib-dev libglvnd-dev cogl-dev cairo-dev pango-dev json-glib-dev + atk-dev vala gobject-introspection-dev wayland-dev wayland-protocols + libxkbcommon-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" source="https://download.gnome.org/sources/clutter/1.26/clutter-$pkgver.tar.xz" @@ -21,7 +22,8 @@ build() { --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ - --localstatedir=/var + --localstatedir=/var \ + --enable-wayland-backend=yes make } diff --git a/user/cogl/APKBUILD b/user/cogl/APKBUILD index 2f1b161e3..7e0311e66 100644 --- a/user/cogl/APKBUILD +++ b/user/cogl/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=cogl pkgver=1.22.8 -pkgrel=0 +pkgrel=1 pkgdesc="GObject-based GL/GLES abstraction library" url="https://gnome.org" arch="all" @@ -10,7 +10,8 @@ options="!check" # broken testsuite, no logs/messages to determine why license="MIT AND SGI-B-2.0 AND BSD-3-Clause AND Public-Domain AND LGPL-2.0+ AND Apache-2.0" depends="" makedepends="glib-dev libxcomposite-dev libxrandr-dev mesa-dev cairo-dev - pango-dev vala gobject-introspection-dev gdk-pixbuf-dev" + pango-dev vala gobject-introspection-dev gdk-pixbuf-dev libglvnd-dev + wayland-dev wayland-protocols" subpackages="$pkgname-dev $pkgname-lang" source="https://download.gnome.org/sources/cogl/1.22/cogl-$pkgver.tar.xz" @@ -23,7 +24,9 @@ build() { --mandir=/usr/share/man \ --localstatedir=/var \ --enable-kms-egl-platform=yes \ - --enable-xlib-egl-platform=yes + --enable-xlib-egl-platform=yes \ + --enable-wayland-egl-platform=yes \ + --enable-wayland-egl-server=yes make } diff --git a/user/colordiff/APKBUILD b/user/colordiff/APKBUILD new file mode 100644 index 000000000..0ef752514 --- /dev/null +++ b/user/colordiff/APKBUILD @@ -0,0 +1,28 @@ +# Contributor: Alice <alicela1n@protonmail.com> +# Maintainer: Alice <alicela1n@protonmail.com> +pkgname=colordiff +pkgver=1.0.21 +pkgrel=0 +pkgdesc="Wrapper for diff that produces the same output but with syntax highlighting" +url="https://www.colordiff.org/" +arch="noarch" +options="!check" # No test suite +license="GPL-3.0+" +depends="diffutils less perl" +makedepends="xmlto w3m" +subpackages="$pkgname-doc" +source="https://www.colordiff.org/$pkgname-$pkgver.tar.gz" + +build() { + make +} + +package() { + install -Dm 755 colordiff.pl "$pkgdir"/usr/bin/colordiff + install -Dm 755 cdiff.sh "$pkgdir"/usr/bin/cdiff + install -Dm 644 colordiff.1 "$pkgdir"/usr/share/man/man1/colordiff.1 + install -Dm 644 cdiff.1 "$pkgdir"/usr/share/man/man1/cdiff.1 + install -Dm 644 colordiffrc "$pkgdir"/etc/colordiffrc +} + +sha512sums="e814e38db0db6e0ba420c64bc53815c1c9e74457390bbe45f31eb9539c068efc9354c11dbf1259b1a64bd3cd5b2cc452441f822e030af80d18fe5b5c5f627c9d colordiff-1.0.21.tar.gz" diff --git a/user/compton/APKBUILD b/user/compton/APKBUILD index 233ffdec6..3b0dee878 100644 --- a/user/compton/APKBUILD +++ b/user/compton/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=compton pkgver=4 -pkgrel=0 +pkgrel=1 pkgdesc="Lightweight compositor for X11" url="https://github.com/yshui/compton" arch="all" @@ -10,7 +10,7 @@ options="!check" # No test suite. license="MIT AND MPL-2.0" depends="" makedepends="meson libx11-dev libxext-dev libev-dev xcb-util-renderutil-dev - xcb-util-image-dev pixman-dev libconfig-dev pcre-dev mesa-dev + xcb-util-image-dev pixman-dev libconfig-dev pcre-dev libglvnd-dev dbus-dev" source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.gz" diff --git a/user/cyrus-sasl/APKBUILD b/user/cyrus-sasl/APKBUILD index b061d41ad..31753ae53 100644 --- a/user/cyrus-sasl/APKBUILD +++ b/user/cyrus-sasl/APKBUILD @@ -8,7 +8,7 @@ url="https://www.cyrusimap.org/sasl/" arch="all" options="!check" # No test suite. license="BSD-4-Clause" -depends="" +depends="adelie-core" # #1167 makedepends="db-dev openssl-dev krb5-dev autoconf automake libtool" subpackages="$pkgname-dev $pkgname-doc $pkgname-gssapi $pkgname-gs2 $pkgname-scram $pkgname-ntlm $pkgname-crammd5 $pkgname-digestmd5 diff --git a/user/darkman/APKBUILD b/user/darkman/APKBUILD new file mode 100644 index 000000000..1600fae79 --- /dev/null +++ b/user/darkman/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=darkman +pkgver=2.0.1 +pkgrel=0 +pkgdesc="Framework for managing dark- and light-mode transitions" +url="https://darkman.whynothugo.nl/" +arch="all" +options="!check" # no testsuite +license="0BSD" +depends="" +makedepends="gcc-go scdoc" +subpackages="$pkgname-doc $pkgname-systemd" +source="https://gitlab.com/WhyNotHugo/darkman/-/archive/v$pkgver/darkman-v$pkgver.tar.bz2" +builddir="$srcdir/darkman-v$pkgver" + +build() { + make VERSION="$pkgver" +} + +package() { + make VERSION="$pkgver" DESTDIR="$pkgdir" install +} + +sha512sums="8036e3470d22e1f689d8305cb3faf81a1fc2f0692afd8fb9657c2c22af417f25fd928189fcda42df7c053cb9129c90cdf11df64e6f597498af95f330de76f282 darkman-v2.0.1.tar.bz2" diff --git a/user/dbus/APKBUILD b/user/dbus/APKBUILD index fcd7da74d..a3f0847b0 100644 --- a/user/dbus/APKBUILD +++ b/user/dbus/APKBUILD @@ -12,7 +12,7 @@ license="AFL-2.1 OR GPL-2.0+" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-openrc $pkgname-x11" triggers="$pkgname.trigger=/etc/dbus-1/system.d" -depends="" +depends="adelie-core" # #1167 depends_dev="util-linux-dev" makedepends="$depends_dev expat-dev libx11-dev autoconf automake libtool xmlto libsm-dev" 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/dwl/APKBUILD b/user/dwl/APKBUILD new file mode 100644 index 000000000..000ac4151 --- /dev/null +++ b/user/dwl/APKBUILD @@ -0,0 +1,25 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=dwl +pkgver=0.7 +pkgrel=0 +pkgdesc="Minimal, DWM-like compositor for Wayland" +url="https://codeberg.org/dwl/dwl" +arch="all" +options="!check" # no testsuite +license="GPL-3.0+ AND MIT AND CC0-1.0" +depends="wlroots-0.18" +makedepends="libinput-dev libxkbcommon-dev wayland-dev wayland-protocols wlroots-0.18-dev" +subpackages="$pkgname-doc" +source="https://codeberg.org/dwl/dwl/releases/download/v$pkgver/dwl-v$pkgver.tar.gz" +builddir="$srcdir/dwl-v$pkgver" + +build() { + make PREFIX="/usr" +} + +package() { + make PREFIX="/usr" DESTDIR="$pkgdir" install +} + +sha512sums="d2ec9467bb7758ea52e0face555cb505624062eb66c8959b59e715b7d1c7bb74c649029f365c9bfd07d7b5806fdef018f555d7e64bd62e7e413ead45b5d73986 dwl-v0.7.tar.gz" diff --git a/user/edid-decode/APKBUILD b/user/edid-decode/APKBUILD new file mode 100644 index 000000000..b4a4610b2 --- /dev/null +++ b/user/edid-decode/APKBUILD @@ -0,0 +1,35 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=edid-decode +pkgver=0_git20240827 +pkgrel=0 +pkgdesc="Utility for extracting EDID information" +url="https://git.linuxtv.org/edid-decode.git/" +arch="all" +options="!check" # no tests +license="MIT" +depends="" +makedepends="meson" +subpackages="$pkgname-doc" +source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.gz" +giturl="git://linuxtv.org/edid-decode.git" +reporev="10bc5ee3901ef337f6d255a8d5bee211277543c0" +disturl="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.gz" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + --wrap-mode=nofallback \ + build + meson compile -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build +} + +sha512sums="1e3d0c149662ed05166838a0e11185505a03b0804a28a0846505e6e8f94adadf073962a6d442ddb408561d57a7da4c6769e4f9a40ea47cb014e919e9cc1603c4 edid-decode-0_git20240827.tar.gz" diff --git a/user/editres/APKBUILD b/user/editres/APKBUILD index f593df2cc..e22e79115 100644 --- a/user/editres/APKBUILD +++ b/user/editres/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=editres -pkgver=1.0.8 +pkgver=1.0.9 pkgrel=0 pkgdesc="Examine Xt widgets and edit X11 resources dynamically" url="http://www.rahul.net/kenton/editres.html" @@ -9,7 +9,7 @@ arch="all" license="X11" depends="" makedepends="util-macros libx11-dev libxaw-dev libxmu-dev libxt-dev - xorgproto-dev" + xorgproto-dev libxkbfile-dev" subpackages="$pkgname-doc" source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.xz" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="9a007ed7a02abf61af8b65a163a7289a1e960db390db401bdfad162aa642e0eb887ecf85be14093efd8567c68f5e01450bb8321403a203a00065fa21985c7922 editres-1.0.8.tar.xz" +sha512sums="b1abf32cad8f881b8b98c8b4a3280b09f581fc3a86188e86d5d435801676ec75377d8a636b9479a335c5c2321d358841f1194861913b2c17803758b626517230 editres-1.0.9.tar.xz" diff --git a/user/encodings/APKBUILD b/user/encodings/APKBUILD index 75963f52b..d1b03e036 100644 --- a/user/encodings/APKBUILD +++ b/user/encodings/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=encodings -pkgver=1.0.6 +pkgver=1.1.0 pkgrel=0 pkgdesc="Font encoding files for X11" url="https://www.X.Org/" @@ -27,4 +27,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2d52486996939401121bc858ba23031f70eef857760db8da4c84f083e981868e4bc7a8c2ab6d59274a0cf95f592a0dbfad47bce6c9299bb45d115b48abc39134 encodings-1.0.6.tar.xz" +sha512sums="ae912e120847954f5756193cc8860f50ada6c79bb3ba44f7f0cd1913b13aeed7885e140282cb47989a93fae0a0e8cedebe9a2420f65b1936b40192dc7d208427 encodings-1.1.0.tar.xz" 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/fastfetch/APKBUILD b/user/fastfetch/APKBUILD index 5bbe3e20c..9c527663e 100644 --- a/user/fastfetch/APKBUILD +++ b/user/fastfetch/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Horst G. Burkhardt <horst@adelielinux.org> pkgname=fastfetch pkgver=2.5.0 -pkgrel=0 +pkgrel=1 pkgdesc="Tool for fetching and presenting system information" url="https://github.com/fastfetch-cli/fastfetch" arch="all" @@ -12,7 +12,7 @@ license="MIT" depends="" makedepends="cmake dbus-dev dconf-dev libdrm-dev libxcb-dev libxrandr-dev mesa-dev networkmanager-dev pciutils-dev pulseaudio-dev sqlite-dev - utmps-dev wayland-dev xfconf-dev zlib-dev" + utmps-dev wayland-dev xfconf-dev zlib-dev libglvnd-dev" source="$pkgname-$pkgver.tar.gz::https://github.com/fastfetch-cli/fastfetch/archive/refs/tags/$pkgver.tar.gz" build() { diff --git a/user/firefox-esr/APKBUILD b/user/firefox-esr/APKBUILD index 82c29ffd7..66803e8b4 100644 --- a/user/firefox-esr/APKBUILD +++ b/user/firefox-esr/APKBUILD @@ -1,9 +1,9 @@ # Contributor: Molly Miller <adelie@m-squa.red> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=firefox-esr -pkgver=91.13.0 -_llvmver=14 -pkgrel=4 +pkgver=128.10.1 +_llvmver=18 +pkgrel=0 pkgdesc="Firefox web browser (extended support release)" url="https://www.mozilla.org/firefox/" arch="all !ppc" # #837 @@ -21,7 +21,7 @@ makedepends=" ncurses-dev openssl-dev alsa-lib-dev bzip2-dev icu-dev libevent-dev libffi-dev libpng-dev - libjpeg-turbo-dev nspr-dev nss-dev pulseaudio-dev zlib-dev + libjpeg-turbo-dev nspr-dev nss-dev pcre-dev pulseaudio-dev zlib-dev dbus-glib-dev fts-dev gconf-dev gtk+3.0-dev hunspell-dev libnotify-dev libsm-dev libxcomposite-dev libxdamage-dev @@ -33,31 +33,30 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$_ffxver/source/firefox-$_f mozconfig bad-google-code.patch - BTS-1074.patch - disable-arm-flac.patch fix-mutex-build.patch fix-seccomp-bpf.patch - gcc89074.patch + icu-75.patch jpeg-link.patch + js-endian.patch mozilla-build-arm.patch - newer-cbindgen.patch pmmx-double-format.patch ppc32-fix.patch - python3.11-open-U.patch - python3.11-regex-inline-flags.patch rust-32bit.patch shut-up-warning.patch + skia-endian.patch skia-unified.patch stackwalk-x86-ppc.patch - triplet-vendor-support.patch webrender.patch - gcc13.patch + without-jit.patch firefox.desktop firefox-safe.desktop " builddir="$srcdir/firefox-$pkgver" _mozappdir=/usr/lib/firefox +somask="libgkcodecs.so libipcclientcerts.so liblgpllibs.so libmozavcodec.so + libmozavutil.so libmozgtk.so libmozsandbox.so libmozsqlite3.so + libmozwayland.so libxul.so" ldpath="$_mozappdir" # secfixes: firefox-esr @@ -73,7 +72,7 @@ prepare() { # arch-specific configuration case "$CARCH" in - pmmx|x86*|arm*) + pmmx|x86*|arm*|aarch64) echo "ac_add_options --disable-elf-hack" >> "$builddir"/mozconfig ;; ppc) @@ -97,12 +96,14 @@ prepare() { } build() { + export CFLAGS="$CFLAGS -Wno-dangling-pointer -Wno-array-bounds -Wno-comment -Wno-maybe-uninitialized -Wno-misleading-indentation" + export CXXFLAGS="$CFLAGS -Wno-class-memaccess -Wno-changes-meaning" export PATH="/usr/lib/llvm${_llvmver}/bin:${PATH}" #1230 export SHELL=/bin/sh export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 export USE_SHORT_LIBNAME=1 - export MACH_USE_SYSTEM_PYTHON=1 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system # set rpath so linker finds the libs export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}" @@ -121,7 +122,7 @@ run() { } package() { - export MACH_USE_SYSTEM_PYTHON=1 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system DESTDIR="$pkgdir" ./mach install install -m755 -d ${pkgdir}/usr/share/applications @@ -157,27 +158,23 @@ package() { EOF } -sha512sums="38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516 firefox-91.13.0esr.source.tar.xz -86168a5e5b8aa3ea7cc0d40174baa97595c82b8e599937155fbd7761e7df7220980c74f75e96c34e5f660423e42ad67761f57b2923389be363253868bac033a9 mozconfig -ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch -57410e4b9199f3c7db1cd4a0cf3e67cd962b585730c073edb1cadc3bcac5b0aec4e6f7efe24f3eadd1020aefef475e08e97f13dc6b6534e639f33cc6fb1abe04 BTS-1074.patch -33c6c9d845981137e41e396463c09a55c4effe56628f9f7a4e13b7328e4591b97bc607df484393994a9da07d701f2eaee4e30b463284159e4206e1c42a1a4cdc disable-arm-flac.patch -c0b2bf43206c2a5154e560ef30189a1062ae856861b39f52ce69002390ff9972d43e387bfd2bf8d2ab3cac621987bc042c8c0a8b4cf90ae05717ca7705271880 fix-mutex-build.patch -70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch -6eb7fb134760f5d232710c56f18f14de4f533e41e269531edd01f5650f6d641513e34a8d2294af5ad6fd184736f674c734efb4cc003636a75e14a8fdba2fe3b0 gcc89074.patch -240d6c9290a20e2c9ccfa2d15c9a636fc1b09b62f09285eb688974d888390da2a84271f14c397570b58ccdcf29b99370f7183cc0dbbbe581bf6e7d7ee8dcabd2 jpeg-link.patch -e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch -eb158bf2e4b9d513ae36f3c977a3b110ea8c4801c3c94841bc3ad4cdca3bdfc96d4a662e5a2e662fe7a01b0f1af097280097b16f5d0e83d29b4a7e6cbb8c7396 newer-cbindgen.patch -573b90c73512d2b9971e466b138ffeea94b28f9a20e11e75ee1121e3f6a14fb4bf1a30622da6d48f67e5ea0bc58b200ba5fc3e930bae52f83b2f25f6c10806dd pmmx-double-format.patch +sha512sums="6e7363d8cbecda1cedaf534ac10dc046b5f515399ec754492357e8a558c61ee3389f7bb90aa929dbcb4d6eba041ae1e778a0a8f90aa1e1f939eea517333b6c45 firefox-128.10.1esr.source.tar.xz +aaeec88eda3ca5ef00503f2e1656f8a143017d5ff60bd289ce7a49b7f8352ce5b61556c732e5eb3b6859e1c30551219eb5bbb954e9b88eca8d3f44683bdd747d mozconfig +1fff71be77aa34791ef8aa972b5dc5f131d79f4b895ebbfb59bc223078764d6f79c82a3a4e4c717a3893ecbe4907d556f27e97d2692e41f02365f06da759a71a bad-google-code.patch +5e6c3fa027052cc43ba161cf5c12016b07723e7c0b002a42431bbd5d716d512d5245ab6befbb56c37c7d244441533f810f4e7b583f83bbe965981931f1435a94 fix-mutex-build.patch +9f2892eff9d09f3eed1f9a9ee98ba9c6a6826c30ccdeabfefb8733abc98e7b612418827262423568e830c6354a2b8242f471bc200b7079f21862bb00947da716 fix-seccomp-bpf.patch +0a84e8cb6604fdb7601745b60c04ee74733632ada32bfd85eb32db8fee095cfb79c82033e5e3cf3bbc7b7f4df753e86ffe18e26e63a6603a93c3bb5a459aabd3 icu-75.patch +a2400c8df888637d9ebe33d82dc2fb95792685c9938b5486230a5c15bc819cbb850a2bdcb54a775516652fc8ffd6b40f8c591ab7941211f9516064101380ebbf jpeg-link.patch +d40e6c1a6e62d5e1dc350dc0bbaf2b8488b19ea0911532784f1df1199a7a5af0aae81b0b0d77c4398a2d903d86b5560f4442386eb446d9af8d58e73eea475e4f js-endian.patch +9f5730ee3a29b86786089abcfffab32bf2210f1a1ec43260ae824a08acda687dbfa37306b82a4978dd022bcf747eab155f7f3c5f73a1375f1c3c4fcd106dae3e mozilla-build-arm.patch +1864c6c63c647f3ed1b3ca4df7f52a2c7ec4c65f2e067a9842d24a242f01e047d59ffbf88ad3740d830df1eb0bade929e245e640db135fe14f4c0d879269cb7e pmmx-double-format.patch 06a3f4ee6d3726adf3460952fcbaaf24bb15ef8d15b3357fdd1766c7a62b00bd53a1e943b5df7f4e1a69f4fae0d44b64fae1e027d7812499c77894975969ea10 ppc32-fix.patch -07c311921e50fdb86c587000418306292548117f32a69b78db9d8ebd3a1b08196774a3d284b7e2898a2f1fbb9987b2367092f33957824514fd3d7c7b618a83e2 python3.11-open-U.patch -c9c5610b99e73a1eedd3510e73921cba84f8c6d0c58fc7fe5b4a7ec261bd5fe530560856fba46d6b37f84c6e467d5b43946968dc8230b5491bba976b0b5ae33c python3.11-regex-inline-flags.patch -153f955169e1489d49867be90f68e8a4722cad8edb3a9d1ddb6161e34399e1b4e9e82dc8d72aaba1d5f585bca7c4852433e8ecb068be1583df7155c7cce0223b rust-32bit.patch -39ddb15d1453a8412275c36fc8db3befc69dffd4a362e932d280fb7fd1190db595a2af9b468ee49e0714f5e9df6e48eb5794122a64fa9f30d689de8693acbb15 shut-up-warning.patch -961fa1c856e97e4d08da4682f520ecf23075571a532a781c5e14dbec4915130b02a8199caf6602013ea904d347c4f06d086b0fe84a3850dd6910d351232da599 skia-unified.patch -452b47b825294779f98ed46bc1065dad76b79ff453521ef049934a120f349c84a1c863b16af1828fe053059823da9690ec917c055ae02dcc5c80c54cad732448 stackwalk-x86-ppc.patch -60ffc4b95ba72aa19fb4f4aaf91393e8c730dae536a19248e2dd21c38cc32891bff69a6b51ea903f185ecc680dae4b21ec11d8cac67b3b038b3f0e757639ad94 triplet-vendor-support.patch -b7c1ac21cd03b7cdc887e005ed970cf13ff95643c7651decf1e6d42094cda6a0464dc2ba3cded3827f6d0f3682c2c9b081a7667f386133aa6e3072d0464e72e8 webrender.patch -bb57b3ed998543f9a2edcc379a0c5e2d7e855a0d6f538547f18cdfce56f6c91a3c26a8b1505824628fdd394f0f75a8e98c7fb559ef79eac803d4028e5e9827e5 gcc13.patch +e1c8a85c46a9cc804eb6b5946d35b63fa2cfc7ad8b4f250c5eaf1b590b139a66d9a833246bc26ae2e340fffb81b6761cf51c600181895bd49feb9a3b8fbfe331 rust-32bit.patch +c2248297df00633771da7e6b9f2caba3dd5108d93617f652fa8b2fb4e6975821e5fee866c00713f8fce08e760fa456e2dd19a8ef7370e5a2c65dc09614526be9 shut-up-warning.patch +11f7ce86376b54281082fa5b9d3fefee8046eabe38a0ec17266764b4f62cb90f4744245c1ca93d73ed74cf81c066dab7ddcb3fe9704be8f91e0a2a4f664b203a skia-endian.patch +a6a14104ee6985867efb1937a262aba1538ed4b069bba56e400d75f51d84d29363d8bbb2183ee27785758ad3a8b8ae4350e23dc854d50c92cb2147eddf83b9bb skia-unified.patch +9df89366bd51670f534591e4c169186703ad3166a493f522e58f129fb79af375d71baaf0f6b238126792118a2d3ed0f011b010e39497ab5901ee5bea63a84fa2 stackwalk-x86-ppc.patch +7d6c5f3cafd29eae4e7c5433b14f49cc679eebdcb4e602af18819f685500747a6daa8d38fbb0f91878331b14ce299ca8b731f62ab013b69e579fc450b29fe743 webrender.patch +ed78e15030d79b10026ebae26e44a68d16c2a8567082072b5099b0dde4f79ae217a21737e0d9c7ec6a3cc99de3ab3c9083cca7d82889d559bb18cc15fa7e6f2a without-jit.patch f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop 5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop" diff --git a/user/firefox-esr/BTS-1074.patch b/user/firefox-esr/BTS-1074.patch deleted file mode 100644 index fdc5478b4..000000000 --- a/user/firefox-esr/BTS-1074.patch +++ /dev/null @@ -1,62 +0,0 @@ -gas(1) under binutils-2.41 no longer allows invalid negative shifts. - -This patch fixes the bundled FFmpeg in Firefox to not use them. - ---- a/media/ffvpx/libavcodec/x86/mathops.h.old 2023-10-03 22:15:24.440738743 -0500 -+++ b/media/ffvpx/libavcodec/x86/mathops.h 2023-10-03 22:15:41.458911245 -0500 -@@ -35,12 +35,20 @@ - static av_always_inline av_const int MULL(int a, int b, unsigned shift) - { - int rt, dummy; -+ if (__builtin_constant_p(shift)) - __asm__ ( - "imull %3 \n\t" - "shrdl %4, %%edx, %%eax \n\t" - :"=a"(rt), "=d"(dummy) -- :"a"(a), "rm"(b), "ci"((uint8_t)shift) -+ :"a"(a), "rm"(b), "i"(shift & 0x1F) - ); -+ else -+ __asm__ ( -+ "imull %3 \n\t" -+ "shrdl %4, %%edx, %%eax \n\t" -+ :"=a"(rt), "=d"(dummy) -+ :"a"(a), "rm"(b), "c"((uint8_t)shift) -+ ); - return rt; - } - -@@ -113,19 +121,31 @@ - // avoid +32 for shift optimization (gcc should do that ...) - #define NEG_SSR32 NEG_SSR32 - static inline int32_t NEG_SSR32( int32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("sarl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("sarl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - - #define NEG_USR32 NEG_USR32 - static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("shrl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("shrl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - diff --git a/user/firefox-esr/bad-google-code.patch b/user/firefox-esr/bad-google-code.patch index e214af432..31659370d 100644 --- a/user/firefox-esr/bad-google-code.patch +++ b/user/firefox-esr/bad-google-code.patch @@ -1,6 +1,6 @@ --- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc +++ firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc -@@ -45,6 +45,7 @@ +@@ -47,6 +47,7 @@ #include <sys/mman.h> #include <sys/stat.h> #include <unistd.h> @@ -34,7 +34,7 @@ --- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h +++ firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h -@@ -1134,6 +1134,12 @@ struct kernel_statfs { +@@ -1246,6 +1246,12 @@ struct kernel_statfs { #ifndef __NR_fallocate #define __NR_fallocate 285 #endif diff --git a/user/firefox-esr/disable-arm-flac.patch b/user/firefox-esr/disable-arm-flac.patch deleted file mode 100644 index fa1ba8753..000000000 --- a/user/firefox-esr/disable-arm-flac.patch +++ /dev/null @@ -1,15 +0,0 @@ -32-bit ARM assembler is mostly for Android32 accel anyway. - -It doesn't link properly on musl (TEXTRELs). - ---- firefox-91.13.0/toolkit/moz.configure.old 2023-10-09 10:40:18.231733637 +0000 -+++ firefox-91.13.0/toolkit/moz.configure 2023-10-10 02:22:34.743712070 +0000 -@@ -1894,7 +1894,7 @@ - flac_only = True - elif target.cpu == "x86_64": - flags = ["-D__x86_64__", "-DPIC", "-DELF", "-Pconfig_unix64.asm"] -- elif target.cpu in ("x86", "arm", "aarch64"): -+ elif target.cpu in ("x86", "aarch64"): - flac_only = True - else: - enable = False diff --git a/user/firefox-esr/fix-mutex-build.patch b/user/firefox-esr/fix-mutex-build.patch index a569e5aa7..1d1d0772b 100644 --- a/user/firefox-esr/fix-mutex-build.patch +++ b/user/firefox-esr/fix-mutex-build.patch @@ -1,18 +1,18 @@ --- firefox-60.3.0/memory/build/Mutex.h.old 2018-10-17 20:39:32.000000000 +0000 +++ firefox-60.3.0/memory/build/Mutex.h 2018-10-26 05:22:54.980000000 +0000 -@@ -39,7 +39,7 @@ +@@ -57,7 +57,7 @@ } #elif defined(XP_DARWIN) - mMutex = OS_SPINLOCK_INIT; + mMutex = OS_UNFAIR_LOCK_INIT; -#elif defined(XP_LINUX) && !defined(ANDROID) +#elif defined(XP_LINUX) && defined(__GLIBC__) pthread_mutexattr_t attr; if (pthread_mutexattr_init(&attr) != 0) { return false; -@@ -107,7 +107,7 @@ +@@ -142,7 +142,7 @@ # if defined(XP_DARWIN) - # define STATIC_MUTEX_INIT OS_SPINLOCK_INIT + # define STATIC_MUTEX_INIT OS_UNFAIR_LOCK_INIT -# elif defined(XP_LINUX) && !defined(ANDROID) +# elif defined(XP_LINUX) && defined(__GLIBC__) # define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP diff --git a/user/firefox-esr/fix-seccomp-bpf.patch b/user/firefox-esr/fix-seccomp-bpf.patch index 47cde56c7..08068b5f5 100644 --- a/user/firefox-esr/fix-seccomp-bpf.patch +++ b/user/firefox-esr/fix-seccomp-bpf.patch @@ -1,8 +1,8 @@ --- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2015-09-23 09:10:08.812740571 +0200 +++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-09-23 09:11:38.404746155 +0200 -@@ -23,6 +23,11 @@ - #include "sandbox/linux/services/android_ucontext.h" - #endif +@@ -25,6 +25,11 @@ + #include "sandbox/linux/system_headers/linux_seccomp.h" + #include "sandbox/linux/system_headers/linux_signal.h" +// musl libc defines siginfo_t __si_fields instead of _sifields +#if defined(OS_LINUX) && !defined(__GLIBC__) diff --git a/user/firefox-esr/gcc13.patch b/user/firefox-esr/gcc13.patch deleted file mode 100644 index 1c4f085e0..000000000 --- a/user/firefox-esr/gcc13.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- firefox-91.13.0/gfx/2d/Rect.h.old 2022-08-15 13:04:38.000000000 -0500 -+++ firefox-91.13.0/gfx/2d/Rect.h 2024-05-28 20:50:50.230975904 -0500 -@@ -15,6 +15,7 @@ - #include "mozilla/Maybe.h" - - #include <cmath> -+#include <cstdint> - - namespace mozilla { - diff --git a/user/firefox-esr/gcc89074.patch b/user/firefox-esr/gcc89074.patch deleted file mode 100644 index e9713193c..000000000 --- a/user/firefox-esr/gcc89074.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-URL: https://bugzilla.mozilla.org/show_bug.cgi?id=1688122 -Upstream-URL: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89074 - -Valid code, but only used for debugging. GCC 12 fixed this. -Moz upstream not interested. - ---- firefox-91.13.0/dom/base/nsTreeSanitizer.cpp.old 2022-08-15 13:04:32.000000000 -0500 -+++ firefox-91.13.0/dom/base/nsTreeSanitizer.cpp 2022-11-19 00:42:15.892580023 -0600 -@@ -632,15 +632,6 @@ - constexpr const nsStaticAtom* const kURLAttributesSVG[] = {nsGkAtoms::href, - nullptr}; - --static_assert(AllOf(std::begin(kURLAttributesSVG), std::end(kURLAttributesSVG), -- [](auto aURLAttributeSVG) { -- return AnyOf(std::begin(kAttributesSVG), -- std::end(kAttributesSVG), -- [&](auto aAttributeSVG) { -- return aAttributeSVG == aURLAttributeSVG; -- }); -- })); -- - const nsStaticAtom* const kElementsMathML[] = { - nsGkAtoms::abs_, // abs - nsGkAtoms::_and, // and diff --git a/user/firefox-esr/icu-75.patch b/user/firefox-esr/icu-75.patch new file mode 100644 index 000000000..617dd76a9 --- /dev/null +++ b/user/firefox-esr/icu-75.patch @@ -0,0 +1,41 @@ +https://bugs.gentoo.org/917599 +https://bugzilla.mozilla.org/show_bug.cgi?id=1862601 +https://hg.mozilla.org/try/rev/d5f3b0c4f08a426ce00a153c04e177eecb6820e2 + +# HG changeset patch +# User André Bargull <andre.bargull@gmail.com> +# Date 1697435923 -7200 +# Node ID d5f3b0c4f08a426ce00a153c04e177eecb6820e2 +# Parent c63994f8259efdf6e745c960aa9e1409d5477049 +Bug xxx - Part 12: Add new line break classes. r? + +diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp +--- a/intl/lwbrk/LineBreaker.cpp ++++ b/intl/lwbrk/LineBreaker.cpp +@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB + /* JT = 34, [JT] */ CLASS_CHARACTER, + /* JV = 35, [JV] */ CLASS_CHARACTER, + /* CLOSE_PARENTHESIS = 36, [CP] */ CLASS_CLOSE_LIKE_CHARACTER, + /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE, + /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER, + /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER, + /* E_BASE = 40, [EB] */ CLASS_BREAKABLE, + /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER, +- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER}; ++ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER, ++ /* AKSARA = 43, [AK] */ CLASS_CHARACTER, ++ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER, ++ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER, ++ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER, ++ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER, ++ }; + + static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass), + "Gecko vs ICU LineBreak class mismatch"); + + auto cls = GetLineBreakClass(u); + MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass)); + + // Overrides based on rules for the different line-break values given in + + diff --git a/user/firefox-esr/jpeg-link.patch b/user/firefox-esr/jpeg-link.patch index a04d924d4..724bc76fb 100644 --- a/user/firefox-esr/jpeg-link.patch +++ b/user/firefox-esr/jpeg-link.patch @@ -1,6 +1,6 @@ --- firefox-91.13.0/toolkit/moz.configure.old 2022-08-15 13:05:59.000000000 -0500 +++ firefox-91.13.0/toolkit/moz.configure 2022-11-15 01:26:57.874201494 -0600 -@@ -1758,14 +1758,14 @@ +@@ -2274,14 +2274,14 @@ ) with only_when("--with-system-jpeg"): diff --git a/user/firefox-esr/js-endian.patch b/user/firefox-esr/js-endian.patch new file mode 100644 index 000000000..44f21d2d1 --- /dev/null +++ b/user/firefox-esr/js-endian.patch @@ -0,0 +1,33 @@ +# HG changeset patch +# User A. Wilcox <AWilcox@Wilcox-Tech.com> +# Date 1729710191 18000 +# Wed Oct 23 14:03:11 2024 -0500 +# Node ID 6102585e0d752de1729135d4c7d917e751b268c5 +# Parent 61f7d9c0998e2ce8008cd15b187f86dfdba21a26 +Bug 1926667 - Ensure JSStructuredCloneReader::readTransferMap respects endianness r?sfink + +Differential Revision: https://phabricator.services.mozilla.com/D226707 + +diff --git a/js/src/vm/StructuredClone.cpp b/js/src/vm/StructuredClone.cpp +--- a/js/src/vm/StructuredClone.cpp ++++ b/js/src/vm/StructuredClone.cpp +@@ -3387,7 +3387,8 @@ bool JSStructuredCloneReader::readTransf + } + + headerPos.write( +- PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRING)); ++ NativeEndian::swapToLittleEndian( ++ PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRING))); + + uint64_t numTransferables; + MOZ_ALWAYS_TRUE(in.readPair(&tag, &data)); +@@ -3512,7 +3513,8 @@ bool JSStructuredCloneReader::readTransf + MOZ_ASSERT(TransferableMapHeader(data) == SCTAG_TM_TRANSFERRING); + #endif + headerPos.write( +- PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRED)); ++ NativeEndian::swapToLittleEndian( ++ PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRED))); + + return true; + } diff --git a/user/firefox-esr/mozconfig b/user/firefox-esr/mozconfig index ed1f42dbb..b49d3be3f 100644 --- a/user/firefox-esr/mozconfig +++ b/user/firefox-esr/mozconfig @@ -23,3 +23,4 @@ ac_add_options --with-system-nss ac_add_options --with-system-pixman ac_add_options --with-system-png ac_add_options --with-system-zlib +ac_add_options --without-wasm-sandboxed-libraries diff --git a/user/firefox-esr/mozilla-build-arm.patch b/user/firefox-esr/mozilla-build-arm.patch index dcf2f6d8a..17c95d01d 100644 --- a/user/firefox-esr/mozilla-build-arm.patch +++ b/user/firefox-esr/mozilla-build-arm.patch @@ -1,10 +1,10 @@ --- ./gfx/ycbcr/moz.build.orig 2014-04-03 13:50:38.990296661 +0000 +++ ./gfx/ycbcr/moz.build 2014-04-03 13:52:26.878268547 +0000 -@@ -59,7 +59,7 @@ +@@ -53,7 +53,7 @@ 'yuv_row_other.cpp', ] --if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']: +-if CONFIG['TARGET_CPU'] == 'arm' and CONFIG['HAVE_ARM_NEON']: +if CONFIG['HAVE_ARM_NEON']: SOURCES += [ 'yuv_row_arm.s', diff --git a/user/firefox-esr/newer-cbindgen.patch b/user/firefox-esr/newer-cbindgen.patch deleted file mode 100644 index 9829237ee..000000000 --- a/user/firefox-esr/newer-cbindgen.patch +++ /dev/null @@ -1,17 +0,0 @@ -Description: Remove an extra constant definition that is now being - generated by newer versions of cbindgen (0.24), and causing - build failures because it is defined in several places. -Author: Olivier Tilloy <olivier.tilloy@canonical.com> -Upstream-URL: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259 - ---- a/gfx/webrender_bindings/webrender_ffi.h -+++ b/gfx/webrender_bindings/webrender_ffi.h -@@ -77,8 +77,6 @@ struct WrPipelineInfo; - struct WrPipelineIdAndEpoch; - using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>; - --const uint64_t ROOT_CLIP_CHAIN = ~0; -- - } // namespace wr - } // namespace mozilla - diff --git a/user/firefox-esr/pmmx-double-format.patch b/user/firefox-esr/pmmx-double-format.patch index 4b2289fab..e520987b3 100644 --- a/user/firefox-esr/pmmx-double-format.patch +++ b/user/firefox-esr/pmmx-double-format.patch @@ -12,5 +12,5 @@ index 51d79f9c2ec59..fafd7d6fc1e0d 100644 typedef double __double_t; +#endif typedef __double_t double_t; + typedef float __float_t; - /* diff --git a/user/firefox-esr/python3.11-open-U.patch b/user/firefox-esr/python3.11-open-U.patch deleted file mode 100644 index 8cbab9c0a..000000000 --- a/user/firefox-esr/python3.11-open-U.patch +++ /dev/null @@ -1,102 +0,0 @@ ---- thunderbird-91.11.0/dom/base/usecounters.py.python-open-U 2022-06-28 04:37:00.000000000 +0200 -+++ thunderbird-91.11.0/dom/base/usecounters.py 2022-07-11 19:17:46.266517761 +0200 -@@ -8,7 +8,7 @@ import re - - def read_conf(conf_filename): - # Can't read/write from a single StringIO, so make a new one for reading. -- stream = open(conf_filename, "rU") -+ stream = open(conf_filename, "r") - - def parse_counters(stream): - for line_num, line in enumerate(stream): ---- thunderbird-91.11.0/python/mozbuild/mozbuild/action/process_define_files.py.python-open-U 2022-06-28 04:37:39.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/action/process_define_files.py 2022-07-11 19:18:24.056417112 +0200 -@@ -36,7 +36,7 @@ def process_define_file(output, input): - ) and not config.substs.get("JS_STANDALONE"): - config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src")) - -- with open(path, "rU") as input: -+ with open(path, "r") as input: - r = re.compile( - "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U - ) ---- thunderbird-91.11.0/python/mozbuild/mozbuild/backend/base.py.python-open-U 2022-06-28 04:37:39.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/backend/base.py 2022-07-11 19:18:34.165390187 +0200 -@@ -272,7 +272,7 @@ class BuildBackend(LoggingMixin): - return status - - @contextmanager -- def _write_file(self, path=None, fh=None, readmode="rU"): -+ def _write_file(self, path=None, fh=None, readmode="r"): - """Context manager to write a file. - - This is a glorified wrapper around FileAvoidWrite with integration to ---- thunderbird-91.11.0/python/mozbuild/mozbuild/preprocessor.py.python-open-U 2022-06-28 04:37:20.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/preprocessor.py 2022-07-11 19:19:30.677239685 +0200 -@@ -531,7 +531,7 @@ class Preprocessor: - - if args: - for f in args: -- with io.open(f, "rU", encoding="utf-8") as input: -+ with io.open(f, "r", encoding="utf-8") as input: - self.processFile(input=input, output=out) - if depfile: - mk = Makefile() -@@ -860,7 +860,7 @@ class Preprocessor: - args = self.applyFilters(args) - if not os.path.isabs(args): - args = os.path.join(self.curdir, args) -- args = io.open(args, "rU", encoding="utf-8") -+ args = io.open(args, "r", encoding="utf-8") - except Preprocessor.Error: - raise - except Exception: -@@ -914,7 +914,7 @@ class Preprocessor: - def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"): - pp = Preprocessor(defines=defines, marker=marker) - for f in includes: -- with io.open(f, "rU", encoding="utf-8") as input: -+ with io.open(f, "r", encoding="utf-8") as input: - pp.processFile(input=input, output=output) - return pp.includes - ---- thunderbird-91.11.0/python/mozbuild/mozbuild/util.py.python-open-U 2022-06-28 04:37:40.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/util.py 2022-07-11 19:19:19.903268374 +0200 -@@ -225,7 +225,7 @@ class FileAvoidWrite(BytesIO): - still occur, as well as diff capture if requested. - """ - -- def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"): -+ def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"): - BytesIO.__init__(self) - self.name = filename - assert type(capture_diff) == bool -@@ -1447,7 +1447,7 @@ def patch_main(): - - def my_get_command_line(): - with open( -- os.path.join(os.path.dirname(__file__), "fork_interpose.py"), "rU" -+ os.path.join(os.path.dirname(__file__), "fork_interpose.py"), "r" - ) as fork_file: - fork_code = fork_file.read() - # Add our relevant globals. ---- thunderbird-91.11.0/python/mozbuild/mozpack/files.py.python-open-U 2022-06-28 04:37:40.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozpack/files.py 2022-07-11 19:19:40.372213866 +0200 -@@ -574,7 +574,7 @@ class PreprocessedFile(BaseFile): - pp = Preprocessor(defines=self.defines, marker=self.marker) - pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) - -- with _open(self.path, "rU") as input: -+ with _open(self.path, "r") as input: - with _open(os.devnull, "w") as output: - pp.processFile(input=input, output=output) - -@@ -631,7 +631,7 @@ class PreprocessedFile(BaseFile): - pp = Preprocessor(defines=self.defines, marker=self.marker) - pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) - -- with _open(self.path, "rU") as input: -+ with _open(self.path, "r") as input: - pp.processFile(input=input, output=dest, depfile=deps_out) - - dest.close() diff --git a/user/firefox-esr/python3.11-regex-inline-flags.patch b/user/firefox-esr/python3.11-regex-inline-flags.patch deleted file mode 100644 index 39481ec01..000000000 --- a/user/firefox-esr/python3.11-regex-inline-flags.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- thunderbird-91.11.0/xpcom/idl-parser/xpidl/xpidl.py.python-inline-flags 2022-06-28 04:39:56.000000000 +0200 -+++ thunderbird-91.11.0/xpcom/idl-parser/xpidl/xpidl.py 2022-07-11 21:55:05.287553042 +0200 -@@ -1563,13 +1563,13 @@ class IDLParser(object): - t_ignore = " \t" - - def t_multilinecomment(self, t): -- r"/\*(?s).*?\*/" -+ r"/\*(?s:.*?)\*/" - t.lexer.lineno += t.value.count("\n") - if t.value.startswith("/**"): - self._doccomments.append(t.value) - - def t_singlelinecomment(self, t): -- r"(?m)//.*?$" -+ r"(?m://.*?$)" - - def t_IID(self, t): - return t -@@ -1582,7 +1582,7 @@ class IDLParser(object): - return t - - def t_LCDATA(self, t): -- r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?" -+ r"(?s:%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?)" - t.type = "CDATA" - t.value = t.lexer.lexmatch.group("cdata") - t.lexer.lineno += t.value.count("\n") diff --git a/user/firefox-esr/rust-32bit.patch b/user/firefox-esr/rust-32bit.patch index cff36e90b..4829e44bf 100644 --- a/user/firefox-esr/rust-32bit.patch +++ b/user/firefox-esr/rust-32bit.patch @@ -1,32 +1,30 @@ ---- firefox-91.13.0/config/makefiles/rust.mk.old 2022-08-15 13:04:32.000000000 -0500 -+++ firefox-91.13.0/config/makefiles/rust.mk 2022-11-15 01:35:10.150096648 -0600 -@@ -64,19 +64,19 @@ +LTO kills the build on 32-bit architectures. + +--- firefox-128.0/config/makefiles/rust.mk.old 2024-07-04 11:20:25.000000000 -0500 ++++ firefox-128.0/config/makefiles/rust.mk 2024-08-04 03:20:25.375459833 -0500 +@@ -82,25 +82,6 @@ # These flags are passed via `cargo rustc` and only apply to the final rustc # invocation (i.e., only the top-level crate, not its dependencies). cargo_rustc_flags = $(CARGO_RUSTCFLAGS) -ifndef DEVELOPER_OPTIONS -ifndef MOZ_DEBUG_RUST -+#ifndef DEVELOPER_OPTIONS -+#ifndef MOZ_DEBUG_RUST - # Enable link-time optimization for release builds, but not when linking - # gkrust_gtest. And not when doing cross-language LTO. +-# Enable link-time optimization for release builds, but not when linking +-# gkrust_gtest. And not when doing cross-language LTO. -ifndef MOZ_LTO_RUST_CROSS +-# Never enable when sancov is enabled to work around https://github.com/rust-lang/rust/issues/90300. +-ifndef rustflags_sancov +-# Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045. +-ifndef MOZ_CODE_COVERAGE -ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) --cargo_rustc_flags += -Clto +-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat) -endif -+#ifndef MOZ_LTO_RUST_CROSS -+#ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) -+#cargo_rustc_flags += -Clto -+#endif - # We need -Cembed-bitcode=yes for all crates when using -Clto. +-# We need -Cembed-bitcode=yes for all crates when using -Clto. -RUSTFLAGS += -Cembed-bitcode=yes -endif -endif -endif -+#RUSTFLAGS += -Cembed-bitcode=yes -+#endif -+#endif -+#endif +-endif +-endif ifdef CARGO_INCREMENTAL export CARGO_INCREMENTAL diff --git a/user/firefox-esr/shut-up-warning.patch b/user/firefox-esr/shut-up-warning.patch index 8df045af1..bc90b6e2b 100644 --- a/user/firefox-esr/shut-up-warning.patch +++ b/user/firefox-esr/shut-up-warning.patch @@ -1,6 +1,6 @@ --- firefox-68.0.1/gfx/2d/HelpersCairo.h.old 2019-07-17 20:51:26.000000000 +0000 +++ firefox-68.0.1/gfx/2d/HelpersCairo.h 2019-08-10 11:38:36.047380153 +0000 -@@ -147,7 +147,7 @@ +@@ -149,7 +149,7 @@ case SurfaceFormat::R5G6B5_UINT16: return CAIRO_FORMAT_RGB16_565; default: diff --git a/user/firefox-esr/skia-endian.patch b/user/firefox-esr/skia-endian.patch new file mode 100644 index 000000000..7a88b0869 --- /dev/null +++ b/user/firefox-esr/skia-endian.patch @@ -0,0 +1,112 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1888396 + +--- firefox-128.0/gfx/skia/skia/include/private/SkColorData.h ++++ firefox-128.0/gfx/skia/skia/include/private/SkColorData.h +@@ -12,6 +12,13 @@ #include "include/core/SkColor.h" + #include "include/core/SkColorPriv.h" + #include "include/private/base/SkTo.h" + ++/* Macro to covert between big endian and little endian memory order. */ ++#ifdef SK_CPU_BENDIAN ++#define BE_CONVERT(c) ((((c) & 0xff)<<24) | (((c) & 0xff00)<<8) | (((c) & 0xff0000)>>8) | (((c) & 0xff000000)>>24)) ++#else ++#define BE_CONVERT(c) c ++#endif ++ + //////////////////////////////////////////////////////////////////////////////////////////// + // Convert a 16bit pixel to a 32bit pixel + +--- firefox-128.0/gfx/skia/skia/src/core/SkBlitRow_D32.cpp ++++ firefox-128.0/gfx/skia/skia/src/core/SkBlitRow_D32.cpp +@@ -555,7 +555,7 @@ } + void SkBlitRow::Color32(SkPMColor dst[], int count, SkPMColor color) { + switch (SkGetPackedA32(color)) { + case 0: /* Nothing to do */ return; +- case 255: SkOpts::memset32(dst, color, count); return; ++ case 255: SkOpts::memset32(dst, BE_CONVERT(color), count); return; + } +- return SkOpts::blit_row_color32(dst, count, color); ++ return SkOpts::blit_row_color32(dst, count, BE_CONVERT(color)); + } +--- firefox-128.0/gfx/skia/skia/src/core/SkBlitter_ARGB32.cpp ++++ firefox-128.0/gfx/skia/skia/src/core/SkBlitter_ARGB32.cpp +@@ -1487,7 +1487,7 @@ } + unsigned aa = antialias[0]; + if (aa) { + if ((opaqueMask & aa) == 255) { +- SkOpts::memset32(device, color, count); ++ SkOpts::memset32(device, BE_CONVERT(color), count); + } else { + uint32_t sc = SkAlphaMulQ(color, SkAlpha255To256(aa)); + SkBlitRow::Color32(device, count, sc); +@@ -1503,17 +1503,17 @@ void SkARGB32_Blitter::blitAntiH2(int x, + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x + 1, y);) + +- device[0] = SkBlendARGB32(fPMColor, device[0], a0); +- device[1] = SkBlendARGB32(fPMColor, device[1], a1); ++ device[0] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[0]), a0)); ++ device[1] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[1]), a1)); + } + + void SkARGB32_Blitter::blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) { + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x, y + 1);) + +- device[0] = SkBlendARGB32(fPMColor, device[0], a0); ++ device[0] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[0]), a0)); + device = (uint32_t*)((char*)device + fDevice.rowBytes()); +- device[0] = SkBlendARGB32(fPMColor, device[0], a1); ++ device[0] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[0]), a1)); + } + + ////////////////////////////////////////////////////////////////////////////////////// +@@ -1604,17 +1604,17 @@ void SkARGB32_Opaque_Blitter::blitAntiH2 + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x + 1, y);) + +- device[0] = SkFastFourByteInterp(fPMColor, device[0], a0); +- device[1] = SkFastFourByteInterp(fPMColor, device[1], a1); ++ device[0] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[0]), a0)); ++ device[1] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[1]), a1)); + } + + void SkARGB32_Opaque_Blitter::blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) { + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x, y + 1);) + +- device[0] = SkFastFourByteInterp(fPMColor, device[0], a0); ++ device[0] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[0]), a0)); + device = (uint32_t*)((char*)device + fDevice.rowBytes()); +- device[0] = SkFastFourByteInterp(fPMColor, device[0], a1); ++ device[0] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[0]), a1)); + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -1634,7 +1634,7 @@ } + unsigned dst_scale = SkAlpha255To256(255 - SkGetPackedA32(color)); + size_t rowBytes = fDevice.rowBytes(); + while (--height >= 0) { +- device[0] = color + SkAlphaMulQ(device[0], dst_scale); ++ device[0] = BE_CONVERT(color + SkAlphaMulQ(BE_CONVERT(device[0]), dst_scale)); + device = (uint32_t*)((char*)device + rowBytes); + } + } +@@ -1651,7 +1651,7 @@ uint32_t color = fPMColor; + size_t rowBytes = fDevice.rowBytes(); + + if (SkGetPackedA32(fPMColor) == 0xFF) { +- SkOpts::rect_memset32(device, color, width, rowBytes, height); ++ SkOpts::rect_memset32(device, BE_CONVERT(color), width, rowBytes, height); + } else { + while (height --> 0) { + SkBlitRow::Color32(device, width, color); +@@ -1680,7 +1680,7 @@ } + unsigned aa = antialias[0]; + if (aa) { + if (aa == 255) { +- SkOpts::memset32(device, black, count); ++ SkOpts::memset32(device, BE_CONVERT(black), count); + } else { + SkPMColor src = aa << SK_A32_SHIFT; + unsigned dst_scale = 256 - aa; diff --git a/user/firefox-esr/skia-unified.patch b/user/firefox-esr/skia-unified.patch index 77bc56299..cacfe3451 100644 --- a/user/firefox-esr/skia-unified.patch +++ b/user/firefox-esr/skia-unified.patch @@ -1,69 +1,786 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=1344659 +This patch is not complete. ---- firefox-102.1.0/gfx/2d/Types.h -+++ firefox-102.1.0/gfx/2d/Types.h -@@ -91,15 +91,8 @@ UNKNOWN, - // The following values are endian-independent synonyms. The _UINT32 suffix - // indicates that the name reflects the layout when viewed as a uint32_t - // value. --#if MOZ_LITTLE_ENDIAN() - A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB - X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB --#elif MOZ_BIG_ENDIAN() -- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB -- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB --#else --# error "bad endianness" --#endif +It attempts to completely remove endian-specific surface formats from the +entire tree, then replace it with a single swizzle in Skia. - // The following values are OS and endian-independent synonyms. - // +Most things are working, including most Web sites and graphics. However, +notably, native widgets (like menus, or 'Remember password?' popups) cause +an assertion failure. +We need to ship beta6 and this gets people a browser with many unfortunate +caveats, which is better than no browser at all. -https://bugzilla.mozilla.org/show_bug.cgi?id=1325259 +I intend to remain working with upstream on finding a way forward with the +overall idea of this patch and hope to land something eventually. ---- firefox-102.1.0/gfx/2d/DrawTargetSkia.cpp -+++ firefox-102.1.0/gfx/2d/DrawTargetSkia.cpp -@@ -154,8 +154,12 @@ } - return surfaceBounds.Intersect(bounds); +diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp +--- a/dom/canvas/CanvasRenderingContext2D.cpp ++++ b/dom/canvas/CanvasRenderingContext2D.cpp +@@ -383,7 +383,7 @@ class AdjustedTargetForFilter { + } + + if (!mFinalTarget->CanCreateSimilarDrawTarget(mSourceGraphicRect.Size(), +- SurfaceFormat::B8G8R8A8)) { ++ SurfaceFormat::OS_RGBA)) { + mTarget = mFinalTarget; + mCtx = nullptr; + mFinalTarget = nullptr; +@@ -391,7 +391,7 @@ class AdjustedTargetForFilter { + } + + mTarget = mFinalTarget->CreateSimilarDrawTarget(mSourceGraphicRect.Size(), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + + if (mTarget) { + // See bug 1524554. +@@ -419,7 +419,7 @@ class AdjustedTargetForFilter { + } + + RefPtr<DrawTarget> dt = mFinalTarget->CreateSimilarDrawTarget( +- aRect.Size(), SurfaceFormat::B8G8R8A8); ++ aRect.Size(), SurfaceFormat::OS_RGBA); + + if (dt) { + // See bug 1524554. +@@ -516,7 +516,7 @@ class AdjustedTargetForShadow { + bounds.RoundOut(); + if (!bounds.ToIntRect(&mTempRect) || + !mFinalTarget->CanCreateSimilarDrawTarget(mTempRect.Size(), +- SurfaceFormat::B8G8R8A8)) { ++ SurfaceFormat::OS_RGBA)) { + mTarget = mFinalTarget; + mCtx = nullptr; + mFinalTarget = nullptr; +@@ -524,7 +524,7 @@ class AdjustedTargetForShadow { + } + + mTarget = mFinalTarget->CreateShadowDrawTarget( +- mTempRect.Size(), SurfaceFormat::B8G8R8A8, mSigma); ++ mTempRect.Size(), SurfaceFormat::OS_RGBA, mSigma); + + if (mTarget) { + // See bug 1524554. +@@ -2117,7 +2117,7 @@ CanvasRenderingContext2D::GetOptimizedSn + } + + SurfaceFormat CanvasRenderingContext2D::GetSurfaceFormat() const { +- return mOpaque ? SurfaceFormat::B8G8R8X8 : SurfaceFormat::B8G8R8A8; ++ return mOpaque ? SurfaceFormat::OS_RGBX : SurfaceFormat::OS_RGBA; } -+#if __sparc -+static const int kARGBAlphaOffset = 0; -+#else - static const int kARGBAlphaOffset = - SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; + // +@@ -5295,7 +5295,7 @@ static already_AddRefed<SourceSurface> E + } + + RefPtr<DrawTarget> subrectDT = aTargetDT->CreateSimilarDrawTarget( +- roundedOutSourceRectInt.Size(), SurfaceFormat::B8G8R8A8); ++ roundedOutSourceRectInt.Size(), SurfaceFormat::OS_RGBA); + + if (subrectDT) { + // See bug 1524554. +@@ -6061,7 +6061,7 @@ void CanvasRenderingContext2D::DrawWindo + } + } + drawDT = gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- dtSize, SurfaceFormat::B8G8R8A8); ++ dtSize, SurfaceFormat::OS_RGBA); + if (!drawDT || !drawDT->IsValid()) { + aError.Throw(NS_ERROR_FAILURE); + return; +@@ -6315,7 +6315,7 @@ void CanvasRenderingContext2D::EnsureErr + + RefPtr<DrawTarget> errorTarget = + gfxPlatform::GetPlatform()->CreateOffscreenCanvasDrawTarget( +- IntSize(1, 1), SurfaceFormat::B8G8R8A8); ++ IntSize(1, 1), SurfaceFormat::OS_RGBA); + MOZ_ASSERT(errorTarget, "Failed to allocate the error target!"); + + sErrorTarget.set(errorTarget.forget().take()); +@@ -6437,7 +6437,7 @@ void CanvasRenderingContext2D::PutImageD + dstData = lockedBits + dirtyRect.y * dstStride + dirtyRect.x * 4; + } else { + sourceSurface = Factory::CreateDataSourceSurface( +- dirtyRect.Size(), SurfaceFormat::B8G8R8A8, false); ++ dirtyRect.Size(), SurfaceFormat::OS_RGBA, false); + + // In certain scenarios, requesting larger than 8k image fails. Bug + // 803568 covers the details of how to run into it, but the full +diff --git a/dom/canvas/ImageBitmap.cpp b/dom/canvas/ImageBitmap.cpp +--- a/dom/canvas/ImageBitmap.cpp ++++ b/dom/canvas/ImageBitmap.cpp +@@ -227,7 +227,7 @@ static already_AddRefed<DataSourceSurfac + // this rectangle are outside the area where the input bitmap was placed, then + // they will be transparent black in output." + // So, instead, we force the output format to be SurfaceFormat::B8G8R8A8. +- const SurfaceFormat format = SurfaceFormat::B8G8R8A8; ++ const SurfaceFormat format = SurfaceFormat::OS_RGBA; + const int bytesPerPixel = BytesPerPixel(format); + const IntSize dstSize = + IntSize(positiveCropRect.width, positiveCropRect.height); +@@ -500,6 +500,11 @@ static already_AddRefed<layers::Image> C + + // Convert RGBA to BGRA + RefPtr<DataSourceSurface> rgbaDataSurface = rgbaSurface->GetDataSurface(); ++ ++ if (SurfaceFormat::OS_RGBA == SurfaceFormat::R8G8B8A8) { ++ return CreateImageFromSurface(rgbaDataSurface); ++ } ++ + DataSourceSurface::ScopedMap rgbaMap(rgbaDataSurface, + DataSourceSurface::READ); + if (NS_WARN_IF(!rgbaMap.IsMapped())) { +@@ -724,7 +729,7 @@ SurfaceFromElementResult ImageBitmap::Su + bool requiresCrop = !allowUncropped && hasCropRect; + if (wantExactSize || requiresPremult || requiresCrop || mSurface) { + RefPtr<DrawTarget> dt = Factory::CreateDrawTarget( +- BackendType::SKIA, IntSize(1, 1), SurfaceFormat::B8G8R8A8); ++ BackendType::SKIA, IntSize(1, 1), SurfaceFormat::OS_RGBA); + sfer.mSourceSurface = PrepareForDrawTarget(dt); + + if (!sfer.mSourceSurface) { +@@ -831,7 +836,7 @@ already_AddRefed<SourceSurface> ImageBit + // black, even if the surface is opaque, so force to an alpha format in + // that case. + if (!surfPortion.IsEqualEdges(mPictureRect) && isOpaque) { +- format = SurfaceFormat::B8G8R8A8; ++ format = SurfaceFormat::OS_RGBA; + } + + // If we need to pre-multiply the alpha, then we need to be able to +diff --git a/dom/canvas/OffscreenCanvasDisplayHelper.cpp b/dom/canvas/OffscreenCanvasDisplayHelper.cpp +--- a/dom/canvas/OffscreenCanvasDisplayHelper.cpp ++++ b/dom/canvas/OffscreenCanvasDisplayHelper.cpp +@@ -181,7 +181,7 @@ bool OffscreenCanvasDisplayHelper::Commi + + MutexAutoLock lock(mMutex); + +- gfx::SurfaceFormat format = gfx::SurfaceFormat::B8G8R8A8; ++ gfx::SurfaceFormat format = gfx::SurfaceFormat::OS_RGBA; + layers::TextureFlags flags = layers::TextureFlags::IMMUTABLE; + + if (!mCanvasElement) { +@@ -207,7 +207,7 @@ bool OffscreenCanvasDisplayHelper::Commi + + if (mData.mIsOpaque) { + flags |= layers::TextureFlags::IS_OPAQUE; +- format = gfx::SurfaceFormat::B8G8R8X8; ++ format = gfx::SurfaceFormat::OS_RGBX; + } else if (!mData.mIsAlphaPremult) { + flags |= layers::TextureFlags::NON_PREMULTIPLIED; + } +diff --git a/gfx/2d/HelpersSkia.h b/gfx/2d/HelpersSkia.h +--- a/gfx/2d/HelpersSkia.h ++++ b/gfx/2d/HelpersSkia.h +@@ -26,6 +26,9 @@ namespace gfx { + static inline SkColorType GfxFormatToSkiaColorType(SurfaceFormat format) { + switch (format) { + case SurfaceFormat::B8G8R8A8: ++#if MOZ_BIG_ENDIAN() ++ //MOZ_DIAGNOSTIC_ASSERT(false, "wrong way unsupported by Skia"); ++#endif + return kBGRA_8888_SkColorType; + case SurfaceFormat::B8G8R8X8: + // We probably need to do something here. +@@ -37,7 +40,9 @@ static inline SkColorType GfxFormatToSki + case SurfaceFormat::R8G8B8A8: + return kRGBA_8888_SkColorType; + case SurfaceFormat::A8R8G8B8: ++#if MOZ_LITTLE_ENDIAN() + MOZ_DIAGNOSTIC_ASSERT(false, "A8R8G8B8 unsupported by Skia"); +#endif + return kRGBA_8888_SkColorType; + default: + MOZ_DIAGNOSTIC_ASSERT(false, "Unknown surface format"); +@@ -49,20 +54,20 @@ static inline SurfaceFormat SkiaColorTyp + SkColorType aColorType, SkAlphaType aAlphaType = kPremul_SkAlphaType) { + switch (aColorType) { + case kBGRA_8888_SkColorType: +- return aAlphaType == kOpaque_SkAlphaType ? SurfaceFormat::B8G8R8X8 +- : SurfaceFormat::B8G8R8A8; ++ return aAlphaType == kOpaque_SkAlphaType ? SurfaceFormat::OS_RGBX ++ : SurfaceFormat::OS_RGBA; + case kRGB_565_SkColorType: + return SurfaceFormat::R5G6B5_UINT16; + case kAlpha_8_SkColorType: + return SurfaceFormat::A8; + default: +- return SurfaceFormat::B8G8R8A8; ++ return SurfaceFormat::OS_RGBA; + } + } - static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, - const int32_t aStride, SurfaceFormat aFormat) { -# HG changeset patch -# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec -Problem description: Tab-titles that are too long to fit into a tab get faded out. - On big endian this is broken and instead of fading out, the - tab gets white and the font transparent, leading to an unreadable - tab-title -Solution: This is not a real solution, but a hack. The real solution would have been - to byte-swap the correct buffer, but I could not find it. - So the next best thing is to deactivate the fading-effect. Now all tab-titles - are readable, albeit not as pretty to look at as they could be. -Side-effects: I have not yet found an unwanted side-effect. - -diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp ---- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200 -+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100 -@@ -1861,6 +1861,14 @@ - SkCanvas::kPreserveLCDText_SaveLayerFlag | - (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); - -+#if MOZ_BIG_ENDIAN -+ // Pushing a layer where an aMask is defined produces wrong output. -+ // We _should_ endian swap the data, but I couldn't find a workable way to do so -+ // Therefore I deactivate those layers in the meantime. -+ // The result is: Tab-titles that are longer than the available space should be faded out. -+ // The fading doesn't work, so we deactivate the fading-effect here. -+ if (!aMask) + static inline SkAlphaType GfxFormatToSkiaAlphaType(SurfaceFormat format) { + switch (format) { +- case SurfaceFormat::B8G8R8X8: ++ case SurfaceFormat::OS_RGBX: + case SurfaceFormat::R5G6B5_UINT16: + return kOpaque_SkAlphaType; + default: +diff --git a/gfx/ipc/CrossProcessPaint.cpp b/gfx/ipc/CrossProcessPaint.cpp +--- a/gfx/ipc/CrossProcessPaint.cpp ++++ b/gfx/ipc/CrossProcessPaint.cpp +@@ -107,7 +107,7 @@ PaintFragment PaintFragment::Record(dom: + nsContentUtils::FlushLayoutForTree(ds->GetWindow()); + + // Initialize the recorder +- SurfaceFormat format = SurfaceFormat::B8G8R8A8; ++ SurfaceFormat format = SurfaceFormat::OS_RGBA; + RefPtr<DrawTarget> referenceDt = Factory::CreateDrawTarget( + gfxPlatform::GetPlatform()->GetSoftwareBackend(), IntSize(1, 1), format); + +@@ -254,7 +254,7 @@ bool CrossProcessPaint::Start(dom::Windo + // Create the destination draw target + RefPtr<DrawTarget> drawTarget = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- root->mSize, SurfaceFormat::B8G8R8A8); ++ root->mSize, SurfaceFormat::OS_RGBA); + if (!drawTarget || !drawTarget->IsValid()) { + CPP_LOG("Couldn't create (%d x %d) surface for fragment %" PRIu64 + ".\n", +diff --git a/gfx/ipc/GfxMessageUtils.h b/gfx/ipc/GfxMessageUtils.h +--- a/gfx/ipc/GfxMessageUtils.h ++++ b/gfx/ipc/GfxMessageUtils.h +@@ -677,7 +677,7 @@ struct ParamTraits<GeckoProcessType> + template <> + struct ParamTraits<mozilla::gfx::SurfaceFormat> + : public ContiguousEnumSerializer<mozilla::gfx::SurfaceFormat, +- mozilla::gfx::SurfaceFormat::B8G8R8A8, ++ mozilla::gfx::SurfaceFormat::OS_RGBA, + mozilla::gfx::SurfaceFormat::UNKNOWN> {}; + + template <> +diff --git a/gfx/layers/Compositor.cpp b/gfx/layers/Compositor.cpp +--- a/gfx/layers/Compositor.cpp ++++ b/gfx/layers/Compositor.cpp +@@ -36,7 +36,7 @@ class CompositorRecordedFrame final : pu + gfx::IntSize size = mBuffer->GetSize(); + + mSurface = gfx::Factory::CreateDataSourceSurface( +- size, gfx::SurfaceFormat::B8G8R8A8, ++ size, gfx::SurfaceFormat::OS_RGBA, + /* aZero = */ false); + + if (!mBuffer->MapAndCopyInto(mSurface, size)) { +diff --git a/gfx/layers/ImageDataSerializer.cpp b/gfx/layers/ImageDataSerializer.cpp +--- a/gfx/layers/ImageDataSerializer.cpp ++++ b/gfx/layers/ImageDataSerializer.cpp +@@ -288,16 +288,16 @@ already_AddRefed<DataSourceSurface> Data + RefPtr<DataSourceSurface> result; + if (aSurface) { + MOZ_ASSERT(aSurface->GetSize() == size); +- MOZ_ASSERT(aSurface->GetFormat() == gfx::SurfaceFormat::B8G8R8X8); ++ MOZ_ASSERT(aSurface->GetFormat() == gfx::SurfaceFormat::OS_RGBX); + if (aSurface->GetSize() == size && +- aSurface->GetFormat() == gfx::SurfaceFormat::B8G8R8X8) { ++ aSurface->GetFormat() == gfx::SurfaceFormat::OS_RGBX) { + result = aSurface; + } + } + + if (!result) { + result = +- Factory::CreateDataSourceSurface(size, gfx::SurfaceFormat::B8G8R8X8); ++ Factory::CreateDataSourceSurface(size, gfx::SurfaceFormat::OS_RGBX); + } + if (NS_WARN_IF(!result)) { + return nullptr; +@@ -320,7 +320,7 @@ already_AddRefed<DataSourceSurface> Data + ycbcrData.mChromaSubsampling = aDescriptor.chromaSubsampling(); + +- gfx::ConvertYCbCrToRGB(ycbcrData, gfx::SurfaceFormat::B8G8R8X8, size, ++ gfx::ConvertYCbCrToRGB(ycbcrData, gfx::SurfaceFormat::OS_RGBX, size, + map.mData, map.mStride); + + result->Unmap(); + return result.forget(); +diff --git a/gfx/layers/composite/TextureHost.cpp b/gfx/layers/composite/TextureHost.cpp +--- a/gfx/layers/composite/TextureHost.cpp ++++ b/gfx/layers/composite/TextureHost.cpp +@@ -182,7 +182,7 @@ already_AddRefed<TextureHost> CreateDumm + aFlags &= ~TextureFlags::DEALLOCATE_CLIENT; + aFlags |= TextureFlags::DUMMY_TEXTURE; + UniquePtr<TextureData> textureData(BufferTextureData::Create( +- gfx::IntSize(1, 1), gfx::SurfaceFormat::B8G8R8A8, gfx::BackendType::SKIA, ++ gfx::IntSize(1, 1), gfx::SurfaceFormat::OS_RGBA, gfx::BackendType::SKIA, + aBackend, aFlags, TextureAllocationFlags::ALLOC_DEFAULT, nullptr)); + SurfaceDescriptor surfDesc; + textureData->Serialize(surfDesc); +diff --git a/gfx/layers/ipc/SharedSurfacesChild.cpp b/gfx/layers/ipc/SharedSurfacesChild.cpp +--- a/gfx/layers/ipc/SharedSurfacesChild.cpp ++++ b/gfx/layers/ipc/SharedSurfacesChild.cpp +@@ -241,7 +241,7 @@ nsresult SharedSurfacesChild::ShareInter + + SurfaceFormat format = aSurface->GetFormat(); + MOZ_RELEASE_ASSERT( +- format == SurfaceFormat::B8G8R8X8 || format == SurfaceFormat::B8G8R8A8, ++ format == SurfaceFormat::OS_RGBX || format == SurfaceFormat::OS_RGBA, + "bad format"); + + data->MarkShared(manager->GetNextExternalImageId()); +diff --git a/gfx/layers/wr/WebRenderLayerManager.cpp b/gfx/layers/wr/WebRenderLayerManager.cpp +--- a/gfx/layers/wr/WebRenderLayerManager.cpp ++++ b/gfx/layers/wr/WebRenderLayerManager.cpp +@@ -512,7 +512,7 @@ void WebRenderLayerManager::MakeSnapshot + #ifdef MOZ_WIDGET_ANDROID + SurfaceFormat::R8G8B8A8; + #else +- SurfaceFormat::B8G8R8A8; ++ SurfaceFormat::OS_RGBA; + #endif + RefPtr<TextureClient> texture = TextureClient::CreateForRawBufferAccess( + WrBridge(), format, aSize.ToUnknownSize(), BackendType::SKIA, +diff --git a/gfx/layers/wr/WebRenderTextureHost.cpp b/gfx/layers/wr/WebRenderTextureHost.cpp +--- a/gfx/layers/wr/WebRenderTextureHost.cpp ++++ b/gfx/layers/wr/WebRenderTextureHost.cpp +@@ -159,7 +159,7 @@ int32_t WebRenderTextureHost::GetRGBStri + // XXX this stride is used until yuv image rendering by webrender is used. + // Software converted RGB buffers strides are aliened to 16 + return gfx::GetAlignedStride<16>( +- GetSize().width, BytesPerPixel(gfx::SurfaceFormat::B8G8R8A8)); ++ GetSize().width, BytesPerPixel(gfx::SurfaceFormat::OS_RGBA)); + } + return ImageDataSerializer::ComputeRGBStride(format, GetSize().width); + } +diff --git a/gfx/thebes/gfx2DGlue.h b/gfx/thebes/gfx2DGlue.h +--- a/gfx/thebes/gfx2DGlue.h ++++ b/gfx/thebes/gfx2DGlue.h +@@ -68,9 +68,9 @@ inline gfxRect ThebesRect(const RectDoub + + inline gfxImageFormat SurfaceFormatToImageFormat(SurfaceFormat aFormat) { + switch (aFormat) { +- case SurfaceFormat::B8G8R8A8: ++ case SurfaceFormat::OS_RGBA: + return SurfaceFormat::A8R8G8B8_UINT32; +- case SurfaceFormat::B8G8R8X8: ++ case SurfaceFormat::OS_RGBX: + return SurfaceFormat::X8R8G8B8_UINT32; + case SurfaceFormat::R5G6B5_UINT16: + return SurfaceFormat::R5G6B5_UINT16; +@@ -84,16 +84,16 @@ inline gfxImageFormat SurfaceFormatToIma + inline SurfaceFormat ImageFormatToSurfaceFormat(gfxImageFormat aFormat) { + switch (aFormat) { + case SurfaceFormat::A8R8G8B8_UINT32: +- return SurfaceFormat::B8G8R8A8; ++ return SurfaceFormat::OS_RGBA; + case SurfaceFormat::X8R8G8B8_UINT32: +- return SurfaceFormat::B8G8R8X8; ++ return SurfaceFormat::OS_RGBX; + case SurfaceFormat::R5G6B5_UINT16: + return SurfaceFormat::R5G6B5_UINT16; + case SurfaceFormat::A8: + return SurfaceFormat::A8; + default: + case SurfaceFormat::UNKNOWN: +- return SurfaceFormat::B8G8R8A8; ++ return SurfaceFormat::OS_RGBA; + } + } + +@@ -102,9 +102,11 @@ inline gfxContentType ContentForFormat(c + case SurfaceFormat::R5G6B5_UINT16: + case SurfaceFormat::B8G8R8X8: + case SurfaceFormat::R8G8B8X8: ++ case SurfaceFormat::X8R8G8B8: + return gfxContentType::COLOR; + case SurfaceFormat::A8: + return gfxContentType::ALPHA; ++ case SurfaceFormat::A8R8G8B8: + case SurfaceFormat::B8G8R8A8: + case SurfaceFormat::R8G8B8A8: + default: +diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp +--- a/gfx/thebes/gfxPlatform.cpp ++++ b/gfx/thebes/gfxPlatform.cpp +@@ -987,7 +987,7 @@ void gfxPlatform::Init() { + + gPlatform->mScreenReferenceDrawTarget = + gPlatform->CreateOffscreenContentDrawTarget(IntSize(1, 1), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + if (!gPlatform->mScreenReferenceDrawTarget || + !gPlatform->mScreenReferenceDrawTarget->IsValid()) { + // If TDR is detected, create a draw target with software backend +diff --git a/gfx/thebes/gfxPlatformWorker.cpp b/gfx/thebes/gfxPlatformWorker.cpp +--- a/gfx/thebes/gfxPlatformWorker.cpp ++++ b/gfx/thebes/gfxPlatformWorker.cpp +@@ -64,7 +64,7 @@ RefPtr<mozilla::gfx::DrawTarget> + gfxPlatformWorker::ScreenReferenceDrawTarget() { + if (!mScreenReferenceDrawTarget) { + mScreenReferenceDrawTarget = Factory::CreateDrawTarget( +- BackendType::SKIA, IntSize(1, 1), SurfaceFormat::B8G8R8A8); ++ BackendType::SKIA, IntSize(1, 1), SurfaceFormat::OS_RGBA); + } + return mScreenReferenceDrawTarget; + } +diff --git a/gfx/thebes/gfxUtils.cpp b/gfx/thebes/gfxUtils.cpp +--- a/gfx/thebes/gfxUtils.cpp ++++ b/gfx/thebes/gfxUtils.cpp +@@ -1082,10 +1082,10 @@ nsresult gfxUtils::EncodeSourceSurfaceAs + } + + RefPtr<DataSourceSurface> dataSurface; +- if (aSurface->GetFormat() != SurfaceFormat::B8G8R8A8) { ++ if (aSurface->GetFormat() != SurfaceFormat::OS_RGBA) { + // FIXME bug 995807 (B8G8R8X8), bug 831898 (R5G6B5) + dataSurface = gfxUtils::CopySurfaceToDataSourceSurfaceWithFormat( +- aSurface, SurfaceFormat::B8G8R8A8); ++ aSurface, SurfaceFormat::OS_RGBA); + } else { + dataSurface = aSurface->GetDataSurface(); + } +diff --git a/gfx/webrender_bindings/RenderCompositorSWGL.cpp b/gfx/webrender_bindings/RenderCompositorSWGL.cpp +--- a/gfx/webrender_bindings/RenderCompositorSWGL.cpp ++++ b/gfx/webrender_bindings/RenderCompositorSWGL.cpp +@@ -7,6 +7,7 @@ + #include "RenderCompositorSWGL.h" + + #include "mozilla/gfx/Logging.h" ++#include "mozilla/gfx/Swizzle.h" + #include "mozilla/widget/CompositorWidget.h" + + #ifdef MOZ_WIDGET_GTK +@@ -92,8 +93,8 @@ bool RenderCompositorSWGL::AllocateMappe + gfx::SurfaceFormat format = gfx::SurfaceFormat::UNKNOWN; + if (bufferMode != layers::BufferMode::BUFFERED && !mSurface && + mDT->LockBits(&data, &size, &stride, &format) && +- (format != gfx::SurfaceFormat::B8G8R8A8 && +- format != gfx::SurfaceFormat::B8G8R8X8)) { ++ (format != gfx::SurfaceFormat::OS_RGBA && ++ format != gfx::SurfaceFormat::OS_RGBX)) { + // We tried to lock the DT and it succeeded, but the size or format + // of the data is not compatible, so just release it and fall back below... + mDT->ReleaseBits(data); +@@ -127,7 +128,7 @@ bool RenderCompositorSWGL::AllocateMappe + size = bounds.Size().ToUnknownSize(); + if (!mSurface || mSurface->GetSize() != size) { + mSurface = gfx::Factory::CreateDataSourceSurface( +- size, gfx::SurfaceFormat::B8G8R8A8); ++ size, gfx::SurfaceFormat::OS_RGBA); + } + gfx::DataSourceSurface::MappedSurface map = {nullptr, 0}; + if (!mSurface || !mSurface->Map(gfx::DataSourceSurface::READ_WRITE, &map)) { +@@ -242,6 +243,12 @@ void RenderCompositorSWGL::CommitMappedB + } + mDT->Flush(); + ++#if MOZ_BIG_ENDIAN() ++ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, ++ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, ++ mDT->GetSize()); +#endif - mCanvas->saveLayer(saveRec); ++ + // Done with the DT. Hand it back to the widget and clear out any trace of it. + mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion); + mDirtyRegion.SetEmpty(); +diff --git a/gfx/webrender_bindings/RenderTextureHostSWGL.cpp b/gfx/webrender_bindings/RenderTextureHostSWGL.cpp +--- a/gfx/webrender_bindings/RenderTextureHostSWGL.cpp ++++ b/gfx/webrender_bindings/RenderTextureHostSWGL.cpp +@@ -36,8 +36,8 @@ bool RenderTextureHostSWGL::UpdatePlanes + } + GLenum internalFormat = 0; + switch (format) { +- case gfx::SurfaceFormat::B8G8R8A8: +- case gfx::SurfaceFormat::B8G8R8X8: ++ case gfx::SurfaceFormat::OS_RGBA: ++ case gfx::SurfaceFormat::OS_RGBX: + MOZ_ASSERT(colorDepth == gfx::ColorDepth::COLOR_8); + internalFormat = LOCAL_GL_RGBA8; + break; +diff --git a/gfx/webrender_bindings/WebRenderTypes.h b/gfx/webrender_bindings/WebRenderTypes.h +--- a/gfx/webrender_bindings/WebRenderTypes.h ++++ b/gfx/webrender_bindings/WebRenderTypes.h +@@ -105,7 +105,7 @@ inline Maybe<wr::ImageFormat> SurfaceFor + inline gfx::SurfaceFormat ImageFormatToSurfaceFormat(ImageFormat aFormat) { + switch (aFormat) { + case ImageFormat::BGRA8: +- return gfx::SurfaceFormat::B8G8R8A8; ++ return gfx::SurfaceFormat::OS_RGBA; + case ImageFormat::R8: + return gfx::SurfaceFormat::A8; + case ImageFormat::R16: +diff --git a/image/imgTools.cpp b/image/imgTools.cpp +--- a/image/imgTools.cpp ++++ b/image/imgTools.cpp +@@ -425,8 +425,8 @@ static nsresult EncodeImageData(DataSour + const nsACString& aMimeType, + const nsAString& aOutputOptions, + nsIInputStream** aStream) { +- MOZ_ASSERT(aDataSurface->GetFormat() == SurfaceFormat::B8G8R8A8 || +- aDataSurface->GetFormat() == SurfaceFormat::B8G8R8X8, ++ MOZ_ASSERT(aDataSurface->GetFormat() == SurfaceFormat::OS_RGBA || ++ aDataSurface->GetFormat() == SurfaceFormat::OS_RGBX, + "We're assuming B8G8R8A8/X8"); + + // Get an image encoder for the media type +@@ -474,13 +474,13 @@ imgTools::EncodeImage(imgIContainer* aCo + + RefPtr<DataSourceSurface> dataSurface; + +- if (frame->GetFormat() == SurfaceFormat::B8G8R8A8 || +- frame->GetFormat() == SurfaceFormat::B8G8R8X8) { ++ if (frame->GetFormat() == SurfaceFormat::OS_RGBA || ++ frame->GetFormat() == SurfaceFormat::OS_RGBX) { + dataSurface = frame->GetDataSurface(); + } else { + // Convert format to SurfaceFormat::B8G8R8A8 + dataSurface = gfxUtils::CopySurfaceToDataSourceSurfaceWithFormat( +- frame, SurfaceFormat::B8G8R8A8); ++ frame, SurfaceFormat::OS_RGBA); + } + + NS_ENSURE_TRUE(dataSurface, NS_ERROR_FAILURE); +@@ -522,8 +522,8 @@ imgTools::EncodeScaledImage(imgIContaine + + // If the given surface is the right size/format, we can encode it directly. + if (scaledSize == frame->GetSize() && +- (frame->GetFormat() == SurfaceFormat::B8G8R8A8 || +- frame->GetFormat() == SurfaceFormat::B8G8R8X8)) { ++ (frame->GetFormat() == SurfaceFormat::OS_RGBA || ++ frame->GetFormat() == SurfaceFormat::OS_RGBX)) { + RefPtr<DataSourceSurface> dataSurface = frame->GetDataSurface(); + if (dataSurface) { + return EncodeImageData(dataSurface, aMimeType, aOutputOptions, aStream); +@@ -533,7 +533,7 @@ imgTools::EncodeScaledImage(imgIContaine + // Otherwise we need to scale it using a draw target. + // Ensure the surface is initialized to clear in case we need to blend to it. + RefPtr<DataSourceSurface> dataSurface = Factory::CreateDataSourceSurface( +- scaledSize, SurfaceFormat::B8G8R8A8, true); ++ scaledSize, SurfaceFormat::OS_RGBA, true); + if (NS_WARN_IF(!dataSurface)) { + return NS_ERROR_FAILURE; + } +@@ -545,7 +545,7 @@ imgTools::EncodeScaledImage(imgIContaine + + RefPtr<DrawTarget> dt = Factory::CreateDrawTargetForData( + BackendType::SKIA, map.GetData(), dataSurface->GetSize(), map.GetStride(), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + if (!dt) { + gfxWarning() << "imgTools::EncodeImage failed in CreateDrawTargetForData"; + return NS_ERROR_OUT_OF_MEMORY; +@@ -603,7 +603,7 @@ imgTools::EncodeCroppedImage(imgIContain + frameHeight >= aOffsetY + aHeight); + + RefPtr<DataSourceSurface> dataSurface = Factory::CreateDataSourceSurface( +- IntSize(aWidth, aHeight), SurfaceFormat::B8G8R8A8, ++ IntSize(aWidth, aHeight), SurfaceFormat::OS_RGBA, + /* aZero = */ true); + if (NS_WARN_IF(!dataSurface)) { + return NS_ERROR_FAILURE; +@@ -616,7 +616,7 @@ imgTools::EncodeCroppedImage(imgIContain + + RefPtr<DrawTarget> dt = Factory::CreateDrawTargetForData( + BackendType::SKIA, map.GetData(), dataSurface->GetSize(), map.GetStride(), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + if (!dt) { + gfxWarning() + << "imgTools::EncodeCroppedImage failed in CreateDrawTargetForData"; +diff --git a/layout/base/PresShell.cpp b/layout/base/PresShell.cpp +--- a/layout/base/PresShell.cpp ++++ b/layout/base/PresShell.cpp +@@ -5124,7 +5124,7 @@ already_AddRefed<SourceSurface> PresShel + + RefPtr<DrawTarget> dt = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- IntSize(pixelArea.width, pixelArea.height), SurfaceFormat::B8G8R8A8); ++ IntSize(pixelArea.width, pixelArea.height), SurfaceFormat::OS_RGBA); + if (!dt || !dt->IsValid()) { + return nullptr; + } +diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp +--- a/layout/base/nsLayoutUtils.cpp ++++ b/layout/base/nsLayoutUtils.cpp +@@ -7022,9 +7022,9 @@ SurfaceFromElementResult nsLayoutUtils:: + result.mAlphaType = gfxAlphaType::Opaque; + RefPtr<DrawTarget> ref = + aTarget ? aTarget : gfxPlatform::ThreadLocalScreenReferenceDrawTarget(); +- if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8)) { ++ if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA)) { + RefPtr<DrawTarget> dt = +- ref->CreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8); ++ ref->CreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA); + if (dt) { + result.mSourceSurface = dt->Snapshot(); + } +@@ -7102,12 +7102,12 @@ SurfaceFromElementResult nsLayoutUtils:: + : gfxPlatform::GetPlatform() + ->ThreadLocalScreenReferenceDrawTarget(); + if (!ref->CanCreateSimilarDrawTarget(displaySize, +- SurfaceFormat::B8G8R8A8)) { ++ SurfaceFormat::OS_RGBA)) { + return result; + } + + RefPtr<DrawTarget> dt = +- ref->CreateSimilarDrawTarget(displaySize, SurfaceFormat::B8G8R8A8); ++ ref->CreateSimilarDrawTarget(displaySize, SurfaceFormat::OS_RGBA); + if (!dt) { + return result; + } +@@ -7380,9 +7380,9 @@ SurfaceFromElementResult nsLayoutUtils:: + RefPtr<DrawTarget> ref = + aTarget ? aTarget + : gfxPlatform::GetPlatform()->ScreenReferenceDrawTarget(); +- if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8)) { ++ if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA)) { + RefPtr<DrawTarget> dt = +- ref->CreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8); ++ ref->CreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA); + if (dt) { + result.mSourceSurface = dt->Snapshot(); + } +diff --git a/layout/painting/nsCSSRenderingGradients.cpp b/layout/painting/nsCSSRenderingGradients.cpp +--- a/layout/painting/nsCSSRenderingGradients.cpp ++++ b/layout/painting/nsCSSRenderingGradients.cpp +@@ -1160,7 +1160,7 @@ bool nsCSSGradientRenderer::TryPaintTile + { + RefPtr<gfx::DrawTarget> tileTarget = + aContext.GetDrawTarget()->CreateSimilarDrawTarget( +- tileSize, gfx::SurfaceFormat::B8G8R8A8); ++ tileSize, gfx::SurfaceFormat::OS_RGBA); + if (!tileTarget || !tileTarget->IsValid()) { + return false; + } +diff --git a/layout/painting/nsDisplayList.cpp b/layout/painting/nsDisplayList.cpp +--- a/layout/painting/nsDisplayList.cpp ++++ b/layout/painting/nsDisplayList.cpp +@@ -5043,7 +5043,7 @@ void nsDisplayBlendMode::Paint(nsDisplay + // we're going to draw to. This will include the same transform as + // is currently on |dt|. + RefPtr<DrawTarget> temp = +- dt->CreateClippedDrawTarget(rect, SurfaceFormat::B8G8R8A8); ++ dt->CreateClippedDrawTarget(rect, SurfaceFormat::OS_RGBA); + if (!temp) { + return; + } +@@ -6870,7 +6870,7 @@ void nsDisplayTransform::Paint(nsDisplay + RefPtr<DrawTarget> untransformedDT = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( + IntSize(pixelBounds.Width(), pixelBounds.Height()), +- SurfaceFormat::B8G8R8A8, true); ++ SurfaceFormat::OS_RGBA, true); + if (!untransformedDT || !untransformedDT->IsValid()) { + return; + } +diff --git a/layout/painting/nsImageRenderer.cpp b/layout/painting/nsImageRenderer.cpp +--- a/layout/painting/nsImageRenderer.cpp ++++ b/layout/painting/nsImageRenderer.cpp +@@ -469,7 +469,7 @@ ImgDrawResult nsImageRenderer::Draw(nsPr + return ImgDrawResult::SUCCESS; + } + RefPtr<DrawTarget> tempDT = ctx->GetDrawTarget()->CreateSimilarDrawTarget( +- tmpDTRect.Size(), SurfaceFormat::B8G8R8A8); ++ tmpDTRect.Size(), SurfaceFormat::OS_RGBA); + if (!tempDT || !tempDT->IsValid()) { + gfxDevCrash(LogReason::InvalidContext) + << "ImageRenderer::Draw problem " << gfx::hexa(tempDT); +diff --git a/layout/svg/FilterInstance.cpp b/layout/svg/FilterInstance.cpp +--- a/layout/svg/FilterInstance.cpp ++++ b/layout/svg/FilterInstance.cpp +@@ -666,7 +666,7 @@ void FilterInstance::BuildSourcePaint(So + + RefPtr<DrawTarget> offscreenDT = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- neededRect.Size(), SurfaceFormat::B8G8R8A8); ++ neededRect.Size(), SurfaceFormat::OS_RGBA); + if (!offscreenDT || !offscreenDT->IsValid()) { + return; + } +@@ -714,7 +714,7 @@ void FilterInstance::BuildSourceImage(Dr + } + + RefPtr<DrawTarget> offscreenDT; +- SurfaceFormat format = SurfaceFormat::B8G8R8A8; ++ SurfaceFormat format = SurfaceFormat::OS_RGBA; + if (aDest->CanCreateSimilarDrawTarget(neededRect.Size(), format)) { + offscreenDT = aDest->CreateSimilarDrawTargetForFilter( + neededRect.Size(), format, aFilter, aSource, aSourceRect, Point(0, 0)); +diff --git a/layout/svg/SVGMaskFrame.cpp b/layout/svg/SVGMaskFrame.cpp +--- a/layout/svg/SVGMaskFrame.cpp ++++ b/layout/svg/SVGMaskFrame.cpp +@@ -68,7 +68,7 @@ already_AddRefed<SourceSurface> SVGMaskF + RefPtr<DrawTarget> maskDT; + if (maskType == StyleMaskType::Luminance) { + maskDT = aParams.dt->CreateClippedDrawTarget(maskSurfaceRect, +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + } else { + maskDT = + aParams.dt->CreateClippedDrawTarget(maskSurfaceRect, SurfaceFormat::A8); +diff --git a/layout/svg/SVGPatternFrame.cpp b/layout/svg/SVGPatternFrame.cpp +--- a/layout/svg/SVGPatternFrame.cpp ++++ b/layout/svg/SVGPatternFrame.cpp +@@ -370,7 +370,7 @@ already_AddRefed<SourceSurface> SVGPatte + } + + RefPtr<DrawTarget> dt = aDrawTarget->CreateSimilarDrawTargetWithBacking( +- surfaceSize, SurfaceFormat::B8G8R8A8); ++ surfaceSize, SurfaceFormat::OS_RGBA); + if (!dt || !dt->IsValid()) { + return nullptr; + } +diff --git a/layout/svg/SVGUtils.cpp b/layout/svg/SVGUtils.cpp +--- a/layout/svg/SVGUtils.cpp ++++ b/layout/svg/SVGUtils.cpp +@@ -488,7 +488,7 @@ class MixModeBlender { + + RefPtr<DrawTarget> targetDT = + mSourceCtx->GetDrawTarget()->CreateSimilarDrawTarget( +- drawRect.Size(), SurfaceFormat::B8G8R8A8); ++ drawRect.Size(), SurfaceFormat::OS_RGBA); + if (!targetDT || !targetDT->IsValid()) { + return nullptr; + } +diff --git a/widget/gtk/DMABufSurface.cpp b/widget/gtk/DMABufSurface.cpp +--- a/widget/gtk/DMABufSurface.cpp ++++ b/widget/gtk/DMABufSurface.cpp +@@ -948,8 +948,8 @@ bool DMABufSurfaceRGBA::HasAlpha() { + } + + gfx::SurfaceFormat DMABufSurfaceRGBA::GetFormat() { +- return HasAlpha() ? gfx::SurfaceFormat::B8G8R8A8 +- : gfx::SurfaceFormat::B8G8R8X8; ++ return HasAlpha() ? gfx::SurfaceFormat::OS_RGBA ++ : gfx::SurfaceFormat::OS_RGBX; + } + + // GL uses swapped R and B components so report accordingly. +@@ -1662,7 +1662,7 @@ DMABufSurfaceYUV::GetAsSourceSurface() { + LOGDMABUF(("DMABufSurfaceYUV::GetAsSourceSurface UID %d", mUID)); + + gfx::IntSize size(GetWidth(), GetHeight()); +- const auto format = gfx::SurfaceFormat::B8G8R8A8; ++ const auto format = gfx::SurfaceFormat::OS_RGBA; + RefPtr<gfx::DataSourceSurface> source = + gfx::Factory::CreateDataSourceSurface(size, format); + if (NS_WARN_IF(!source)) { +@@ -1692,7 +1692,7 @@ nsresult DMABufSurfaceYUV::BuildSurfaceD + LOGDMABUF(("DMABufSurfaceYUV::BuildSurfaceDescriptorBuffer UID %d", mUID)); + + gfx::IntSize size(GetWidth(), GetHeight()); +- const auto format = gfx::SurfaceFormat::B8G8R8A8; ++ const auto format = gfx::SurfaceFormat::OS_RGBA; - SetPermitSubpixelAA(aOpaque); + uint8_t* buffer = nullptr; + int32_t stride = 0; +diff --git a/widget/gtk/WindowSurfaceX11.cpp b/widget/gtk/WindowSurfaceX11.cpp +--- a/widget/gtk/WindowSurfaceX11.cpp ++++ b/widget/gtk/WindowSurfaceX11.cpp +@@ -24,13 +24,13 @@ gfx::SurfaceFormat WindowSurfaceX11::Get + case 32: + if (aVisual->red_mask == 0xff0000 && aVisual->green_mask == 0xff00 && + aVisual->blue_mask == 0xff) { +- return gfx::SurfaceFormat::B8G8R8A8; ++ return gfx::SurfaceFormat::OS_RGBA; + } + break; + case 24: + if (aVisual->red_mask == 0xff0000 && aVisual->green_mask == 0xff00 && + aVisual->blue_mask == 0xff) { +- return gfx::SurfaceFormat::B8G8R8X8; ++ return gfx::SurfaceFormat::OS_RGBX; + } + break; + case 16: diff --git a/user/firefox-esr/stackwalk-x86-ppc.patch b/user/firefox-esr/stackwalk-x86-ppc.patch index eed7a0956..df9ebfd94 100644 --- a/user/firefox-esr/stackwalk-x86-ppc.patch +++ b/user/firefox-esr/stackwalk-x86-ppc.patch @@ -1,16 +1,16 @@ --- thunderbird-52.6.0/mozglue/misc/StackWalk.cpp +++ thunderbird-52.6.0/mozglue/misc/StackWalk.cpp -@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress; - #define MOZ_STACKWALK_SUPPORTS_MACOSX 0 +@@ -50,13 +50,6 @@ static CriticalAddress gCriticalAddress; + # define HAVE___LIBC_STACK_END 0 #endif -#if (defined(linux) && \ - ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ -- defined(HAVE__UNWIND_BACKTRACE))) +- defined(HAVE__UNWIND_BACKTRACE)) && \ +- (HAVE___LIBC_STACK_END || ANDROID)) -# define MOZ_STACKWALK_SUPPORTS_LINUX 1 -#else # define MOZ_STACKWALK_SUPPORTS_LINUX 0 -#endif - - #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) - #define HAVE___LIBC_STACK_END 1 + + #if HAVE___LIBC_STACK_END diff --git a/user/firefox-esr/triplet-vendor-support.patch b/user/firefox-esr/triplet-vendor-support.patch deleted file mode 100644 index d0ca17e81..000000000 --- a/user/firefox-esr/triplet-vendor-support.patch +++ /dev/null @@ -1,316 +0,0 @@ -Squashed version of https://github.com/bytecodealliance/target-lexicon/pull/35 - -diff -Naur firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/build.rs firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/build.rs ---- firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/build.rs 2022-08-15 13:05:59.000000000 -0500 -+++ firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/build.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -32,6 +32,7 @@ - } - } - -+use self::targets::Vendor; - use self::triple::Triple; - - fn main() { -@@ -52,6 +53,8 @@ - writeln!(out, "use crate::Aarch64Architecture::*;")?; - writeln!(out, "#[allow(unused_imports)]")?; - writeln!(out, "use crate::ArmArchitecture::*;")?; -+ writeln!(out, "#[allow(unused_imports)]")?; -+ writeln!(out, "use crate::CustomVendor;")?; - writeln!(out)?; - writeln!(out, "/// The `Triple` of the current host.")?; - writeln!(out, "pub const HOST: Triple = Triple {{")?; -@@ -60,7 +63,7 @@ - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!(out, " vendor: {},", vendor_display(&triple.vendor))?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -90,7 +93,7 @@ - writeln!(out, "impl Vendor {{")?; - writeln!(out, " /// Return the vendor for the current host.")?; - writeln!(out, " pub const fn host() -> Self {{")?; -- writeln!(out, " Vendor::{:?}", triple.vendor)?; -+ writeln!(out, " {}", vendor_display(&triple.vendor))?; - writeln!(out, " }}")?; - writeln!(out, "}}")?; - writeln!(out)?; -@@ -138,7 +141,11 @@ - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!( -+ out, -+ " vendor: {},", -+ vendor_display(&triple.vendor) -+ )?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -160,3 +167,13 @@ - - Ok(()) - } -+ -+fn vendor_display(vendor: &Vendor) -> String { -+ match vendor { -+ Vendor::Custom(custom) => format!( -+ "Vendor::Custom(CustomVendor::Static({:?}))", -+ custom.as_str() -+ ), -+ known => format!("Vendor::{:?}", known), -+ } -+} -diff -Naur firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/lib.rs firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/src/lib.rs ---- firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/lib.rs 2022-08-15 13:05:37.000000000 -0500 -+++ firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/src/lib.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -28,7 +28,7 @@ - pub use self::host::HOST; - pub use self::parse_error::ParseError; - pub use self::targets::{ -- Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, Environment, OperatingSystem, -- Vendor, -+ Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, CustomVendor, Environment, -+ OperatingSystem, Vendor, - }; - pub use self::triple::{CallingConvention, Endianness, PointerWidth, Triple}; -diff -Naur firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/targets.rs firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/src/targets.rs ---- firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/targets.rs 2022-08-15 13:05:42.000000000 -0500 -+++ firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/src/targets.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -1,7 +1,10 @@ - // This file defines all the identifier enums and target-aware logic. - - use crate::triple::{Endianness, PointerWidth, Triple}; -+use alloc::boxed::Box; -+use alloc::string::String; - use core::fmt; -+use core::hash::{Hash, Hasher}; - use core::str::FromStr; - - /// The "architecture" field, which in some cases also specifies a specific -@@ -290,9 +293,42 @@ - } - } - -+/// A string for a `Vendor::Custom` that can either be used in `const` -+/// contexts or hold dynamic strings. -+#[derive(Clone, Debug, Eq)] -+pub enum CustomVendor { -+ /// An owned `String`. This supports the general case. -+ Owned(Box<String>), -+ /// A static `str`, so that `CustomVendor` can be constructed in `const` -+ /// contexts. -+ Static(&'static str), -+} -+ -+impl CustomVendor { -+ /// Extracts a string slice. -+ pub fn as_str(&self) -> &str { -+ match self { -+ CustomVendor::Owned(s) => s, -+ CustomVendor::Static(s) => s, -+ } -+ } -+} -+ -+impl PartialEq for CustomVendor { -+ fn eq(&self, other: &Self) -> bool { -+ self.as_str() == other.as_str() -+ } -+} -+ -+impl Hash for CustomVendor { -+ fn hash<H: Hasher>(&self, state: &mut H) { -+ self.as_str().hash(state) -+ } -+} -+ - /// The "vendor" field, which in practice is little more than an arbitrary - /// modifier. --#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] -+#[derive(Clone, Debug, PartialEq, Eq, Hash)] - #[allow(missing_docs)] - pub enum Vendor { - Unknown, -@@ -306,6 +342,15 @@ - Sun, - Uwp, - Wrs, -+ -+ /// A custom vendor. "Custom" in this context means that the vendor is -+ /// not specifically recognized by upstream Autotools, LLVM, Rust, or other -+ /// relevant authorities on triple naming. It's useful for people building -+ /// and using locally patched toolchains. -+ /// -+ /// Outside of such patched environments, users of `target-lexicon` should -+ /// treat `Custom` the same as `Unknown` and ignore the string. -+ Custom(CustomVendor), - } - - /// The "operating system" field, which sometimes implies an environment, and -@@ -717,6 +762,7 @@ - Vendor::Sun => "sun", - Vendor::Uwp => "uwp", - Vendor::Wrs => "wrs", -+ Vendor::Custom(ref name) => name.as_str(), - }; - f.write_str(s) - } -@@ -738,7 +784,43 @@ - "sun" => Vendor::Sun, - "uwp" => Vendor::Uwp, - "wrs" => Vendor::Wrs, -- _ => return Err(()), -+ custom => { -+ use alloc::borrow::ToOwned; -+ -+ // A custom vendor. Since triple syntax is so loosely defined, -+ // be as conservative as we can to avoid potential ambiguities. -+ // We err on the side of being too strict here, as we can -+ // always relax it if needed. -+ -+ // Don't allow empty string names. -+ if custom.is_empty() { -+ return Err(()); -+ } -+ -+ // Don't allow any other recognized name as a custom vendor, -+ // since vendors can be omitted in some contexts. -+ if Architecture::from_str(custom).is_ok() -+ || OperatingSystem::from_str(custom).is_ok() -+ || Environment::from_str(custom).is_ok() -+ || BinaryFormat::from_str(custom).is_ok() -+ { -+ return Err(()); -+ } -+ -+ // Require the first character to be an ascii lowercase. -+ if !custom.chars().nth(0).unwrap().is_ascii_lowercase() { -+ return Err(()); -+ } -+ -+ // Restrict the set of characters permitted in a custom vendor. -+ if custom.chars().any(|c: char| { -+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -+ }) { -+ return Err(()); -+ } -+ -+ Vendor::Custom(CustomVendor::Owned(Box::new(custom.to_owned()))) -+ } - }) - } - } -@@ -1120,4 +1202,87 @@ - assert_eq!(t.environment, Environment::Eabihf); - assert_eq!(t.binary_format, BinaryFormat::Elf); - } -+ -+ #[test] -+ fn custom_vendors() { -+ // Test various invalid cases. -+ assert!(Triple::from_str("x86_64--linux").is_err()); -+ assert!(Triple::from_str("x86_64-42-linux").is_err()); -+ assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err()); -+ assert!(Triple::from_str("x86_64-^-linux").is_err()); -+ assert!(Triple::from_str("x86_64- -linux").is_err()); -+ assert!(Triple::from_str("x86_64-CustomVendor-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-linux").is_err()); -+ assert!(Triple::from_str("x86_64-x86_64-linux").is_err()); -+ assert!(Triple::from_str("x86_64-elf-linux").is_err()); -+ assert!(Triple::from_str("x86_64-gnu-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-customvendor").is_err()); -+ assert!(Triple::from_str("customvendor").is_err()); -+ assert!(Triple::from_str("customvendor-x86_64").is_err()); -+ assert!(Triple::from_str("x86_64-").is_err()); -+ assert!(Triple::from_str("x86_64--").is_err()); -+ -+ // Test various Unicode things. -+ assert!( -+ Triple::from_str("x86_64-𝓬𝓾𝓼𝓽𝓸𝓶𝓿𝓮𝓷𝓭𝓸𝓻-linux").is_err(), -+ "unicode font hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-ćúśtőḿvéńdőŕ-linux").is_err(), -+ "diacritical mark stripping hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-customvendοr-linux").is_err(), -+ "homoglyph hazard" -+ ); -+ assert!(Triple::from_str("x86_64-customvendor-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-ffi-linux").is_err(), -+ "normalization hazard" -+ ); -+ assert!(Triple::from_str("x86_64-ffi-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "zero-width character hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "BOM hazard" -+ ); -+ -+ // Test some valid cases. -+ let t = Triple::from_str("x86_64-customvendor-linux") -+ .expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(CustomVendor::Static("customvendor")) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Linux); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Elf); -+ assert_eq!(t.to_string(), "x86_64-customvendor-linux"); -+ -+ let t = -+ Triple::from_str("x86_64-customvendor").expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(CustomVendor::Static("customvendor")) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Unknown); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Unknown); -+ -+ assert_eq!( -+ Triple::from_str("unknown-foo"), -+ Ok(Triple { -+ architecture: Architecture::Unknown, -+ vendor: Vendor::Custom(CustomVendor::Static("foo")), -+ operating_system: OperatingSystem::Unknown, -+ environment: Environment::Unknown, -+ binary_format: BinaryFormat::Unknown, -+ }) -+ ); -+ } - } -diff -Naur firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/triple.rs firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/src/triple.rs ---- firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/triple.rs 2022-08-15 13:05:59.000000000 -0500 -+++ firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/src/triple.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -323,10 +323,6 @@ - Err(ParseError::UnrecognizedArchitecture("foo".to_owned())) - ); - assert_eq!( -- Triple::from_str("unknown-foo"), -- Err(ParseError::UnrecognizedVendor("foo".to_owned())) -- ); -- assert_eq!( - Triple::from_str("unknown-unknown-foo"), - Err(ParseError::UnrecognizedOperatingSystem("foo".to_owned())) - ); -diff -Naur firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/.cargo-checksum.json firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json ---- firefox-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/.cargo-checksum.json 2022-08-15 13:05:38.000000000 -0500 -+++ firefox-91.13.0/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json 2022-11-23 01:16:14.304912521 -0600 -@@ -1 +1 @@ --{"files":{"Cargo.lock":"a1a162e6ce8fc2234a6ddf7090410006a1920ace8738772e32a5b50e4780c19d","Cargo.toml":"f3b545fa0f184fd0d3624e6e5c205fcbdf1ad0934a2e08406549ad53c2a62ac3","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"c3467056d91be3f59562158ee9604c729b5b5f473efbefb036032803eb76809e","build.rs":"723100e9cdc30cd8c48407233c2cffa10f5b10703a0a11bac1230d8b86e49ccf","examples/host.rs":"503bafddfb372123fe4dc0e7b8037808beb5bfe6df60c00d3315922bd3792c6c","examples/misc.rs":"49a579845450b7b020ed5c97dca142fc548725893cbc82f6f750ee0caab2beca","newlist":"89564342916321c5bc35e772d374a7f0af22cc9ae6dcc0027eca48d2269f18cb","src/host.rs":"fb543df4f362e9119a58523563e453110f4e3a426f0995911d0ca386657cf1d9","src/lib.rs":"4414353c30f25d44df6cc14f7f9eea9991222289c6aa662b74406f6923235970","src/parse_error.rs":"b3735eabc0fd0a9dfdd6375662f20ec96a79852a00a05a98fb2e421545285e53","src/targets.rs":"9ccc0849cff06d8906dacbdc15136cc47fab85ccd795033ddfdde1397dfcfe32","src/triple.rs":"949bd83b043b53b18f643ebc3fbebbfe02a13998b787fda432a5d36aa27d20bd","test.sh":"22e3c630a6c84e90d5c70c367a6712be8eeca1e7682c00d1f65bf53e330e9191"},"package":"6f4c118a7a38378f305a9e111fcb2f7f838c0be324bfb31a77ea04f7f6e684b4"} -\ No newline at end of file -+{"files":{"Cargo.lock":"a1a162e6ce8fc2234a6ddf7090410006a1920ace8738772e32a5b50e4780c19d","Cargo.toml":"f3b545fa0f184fd0d3624e6e5c205fcbdf1ad0934a2e08406549ad53c2a62ac3","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"c3467056d91be3f59562158ee9604c729b5b5f473efbefb036032803eb76809e","build.rs":"85d6a1b6392b56946f48c0ff1526736a37fe012951bf3855709da1d6cfb4baa0","examples/host.rs":"503bafddfb372123fe4dc0e7b8037808beb5bfe6df60c00d3315922bd3792c6c","examples/misc.rs":"49a579845450b7b020ed5c97dca142fc548725893cbc82f6f750ee0caab2beca","newlist":"89564342916321c5bc35e772d374a7f0af22cc9ae6dcc0027eca48d2269f18cb","src/host.rs":"fb543df4f362e9119a58523563e453110f4e3a426f0995911d0ca386657cf1d9","src/lib.rs":"89986c98b9a04e0f1e957e0127e23a53048a1f0d597493723c4bba031c2ca32d","src/parse_error.rs":"b3735eabc0fd0a9dfdd6375662f20ec96a79852a00a05a98fb2e421545285e53","src/targets.rs":"f2048f06e3e2151a8181d8c92651fa45e64b8bfdfd18ead4b6c18ee7c9fb9003","src/triple.rs":"4704266fec8763bc70d230aad3608bdb790b51e41149056daa2ce0d5fdaef5a3","test.sh":"22e3c630a6c84e90d5c70c367a6712be8eeca1e7682c00d1f65bf53e330e9191"},"package":"6f4c118a7a38378f305a9e111fcb2f7f838c0be324bfb31a77ea04f7f6e684b4"} diff --git a/user/firefox-esr/webrender.patch b/user/firefox-esr/webrender.patch index a2457e576..cfc920cfd 100644 --- a/user/firefox-esr/webrender.patch +++ b/user/firefox-esr/webrender.patch @@ -6,35 +6,9 @@ # Parent 20d81e68da033746bf81acbb08490f16679853da Bug 1716707 [s390x] Software WebRender does not support big endian -diff -r 20d81e68da03 -r 903e5f164c0e gfx/webrender_bindings/RenderCompositorSWGL.cpp ---- a/gfx/webrender_bindings/RenderCompositorSWGL.cpp Thu Mar 24 06:57:58 2022 +0000 -+++ b/gfx/webrender_bindings/RenderCompositorSWGL.cpp Thu Mar 24 02:36:16 2022 -0700 -@@ -7,6 +7,7 @@ - #include "RenderCompositorSWGL.h" - - #include "mozilla/gfx/Logging.h" -+#include "mozilla/gfx/Swizzle.h" - #include "mozilla/widget/CompositorWidget.h" - - #ifdef MOZ_WIDGET_GTK -@@ -235,6 +237,13 @@ - } - mDT->Flush(); - -+#if MOZ_BIG_ENDIAN() -+ // One swizzle to rule them all. -+ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, -+ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, -+ mDT->GetSize()); -+#endif -+ - // Done with the DT. Hand it back to the widget and clear out any trace of it. - mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion); - mDirtyRegion.SetEmpty(); -diff -r 20d81e68da03 -r 903e5f164c0e image/imgFrame.cpp ---- a/image/imgFrame.cpp Thu Mar 24 06:57:58 2022 +0000 -+++ b/image/imgFrame.cpp Thu Mar 24 02:36:16 2022 -0700 -@@ -372,6 +372,17 @@ +--- firefox-128.0/image/imgFrame.cpp ++++ firefox-128.0/image/imgFrame.cpp +@@ -382,6 +382,17 @@ mAborted = true; return NS_ERROR_OUT_OF_MEMORY; } diff --git a/user/firefox-esr/without-jit.patch b/user/firefox-esr/without-jit.patch new file mode 100644 index 000000000..dff372ec0 --- /dev/null +++ b/user/firefox-esr/without-jit.patch @@ -0,0 +1,28 @@ +diff -r 81fc811c3c39 toolkit/components/translations/actors/TranslationsParent.sys.mjs +--- a/toolkit/components/translations/actors/TranslationsParent.sys.mjs Thu Aug 08 21:26:29 2024 -0700 ++++ b/toolkit/components/translations/actors/TranslationsParent.sys.mjs Sat Aug 10 16:45:13 2024 -0700 +@@ -618,16 +618,25 @@ + * Detect if Wasm SIMD is supported, and cache the value. It's better to check + * for support before downloading large binary blobs to a user who can't even + * use the feature. This function also respects mocks and simulating unsupported + * engines. + * + * @type {boolean} + */ + static getIsTranslationsEngineSupported() { ++ try { ++ // Ensure WebAssembly is supported and enabled (may not be on tier-3). ++ if (!WebAssembly) { ++ return false; ++ } ++ } catch(e) { ++ return false; ++ } ++ + if (lazy.simulateUnsupportedEnginePref) { + // Use the non-lazy console.log so that the user is always informed as to why + // the translations engine is not working. + console.log( + "Translations: The translations engine is disabled through the pref " + + '"browser.translations.simulateUnsupportedEngine".' + ); diff --git a/user/flameshot/APKBUILD b/user/flameshot/APKBUILD new file mode 100644 index 000000000..3ac292020 --- /dev/null +++ b/user/flameshot/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=flameshot +pkgver=12.1.0 +pkgrel=0 +pkgdesc="Simple, powerful screenshot utility" +url="https://flameshot.org/" +arch="all" +license="GPL-3.0+ AND LGPL-3.0+ AND MIT AND (GPL-3.0+ AND GPL-2.0-only) AND Apache-2.0 AND CC0-1.0 AND FAL-1.3" +depends="" +makedepends="cmake qt5-qtbase-dev qt5-qtsvg-dev qt5-qttools-dev" +subpackages="$pkgname-doc $pkgname-lang" +source="flameshot-$pkgver.tar.gz::https://github.com/flameshot-org/flameshot/archive/refs/tags/v$pkgver.tar.gz" +langdir="/usr/share/flameshot/translations" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + ${CMAKE_CROSSOPTS} \ + . + make +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="159bf3a8ff406b3881dcc77fc48d9e7cc0d595bd47ee2363396d7efc95f69160cf25ccf99cd1b2c2b527baeadf91c209784a7bca23ed5f17caacc385e161c83c flameshot-12.1.0.tar.gz" diff --git a/user/fltk/APKBUILD b/user/fltk/APKBUILD index 886584625..c1842602f 100644 --- a/user/fltk/APKBUILD +++ b/user/fltk/APKBUILD @@ -3,14 +3,14 @@ pkgname=fltk pkgver=1.3.5 _realver=1.3.5 -pkgrel=0 +pkgrel=1 pkgdesc="Cross-platform C++ GUI toolkit" url="https://www.fltk.org/" arch="all" options="!check" # No test suite. license="LGPL-2.0-only WITH FLTK-exception" depends="" -depends_dev="libx11-dev libxext-dev libxft-dev mesa-dev" +depends_dev="libglvnd-dev libx11-dev libxext-dev libxft-dev" makedepends="$depends_dev libjpeg-turbo-dev libpng-dev libxinerama-dev" subpackages="$pkgname-doc $pkgname-dev $pkgname-fluid" source="https://www.fltk.org/pub/fltk/1.3.5/$pkgname-$_realver-source.tar.gz" diff --git a/user/font-adobe-100dpi/APKBUILD b/user/font-adobe-100dpi/APKBUILD index e141b606b..f3fc23252 100644 --- a/user/font-adobe-100dpi/APKBUILD +++ b/user/font-adobe-100dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-adobe-100dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="100dpi X11 fonts from Adobe" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-adobe-100dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-adobe-100dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="27ed98dcdbb9c174c7090cdd8fe230f7471d10b5dfc63e092640b5d0fc6ab351bc8ffa9a92bec1755f2780b3d9c1de3ad298c64b70a68b5e6879a8592ef32987 font-adobe-100dpi-1.0.3.tar.bz2" +sha512sums="fedb86672c3b9cb624ee5d74d1d710f21d92c2d48a1fcf0a45b54b3f992f6f5599fc271d38a7e25ef123b64d405fa60a3d46883fe7a9d71ebad83c9b418f8383 font-adobe-100dpi-1.0.4.tar.xz" diff --git a/user/font-adobe-75dpi/APKBUILD b/user/font-adobe-75dpi/APKBUILD index 5ef4fe5a8..3ac3fb6b1 100644 --- a/user/font-adobe-75dpi/APKBUILD +++ b/user/font-adobe-75dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-adobe-75dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="75dpi X11 fonts from Adobe" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-adobe-75dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-adobe-75dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="c0d851df5732e81027e265370751a606c6e4f5eea546d802608988dde02de35fa28238f709f48567191090bf18814f671b1a7f9f0b528d54949b0aa9403f266d font-adobe-75dpi-1.0.3.tar.bz2" +sha512sums="4e63c268525f21c03525870129c8d42cbd17a03d86d9c88bebdccb5094a1093acef1d2b6d4dde221559cb19f047b86baf58fa8ad65d28d4cb6c3064ec164836a font-adobe-75dpi-1.0.4.tar.xz" diff --git a/user/font-adobe-utopia-100dpi/APKBUILD b/user/font-adobe-utopia-100dpi/APKBUILD index 7f7b77dd7..60ff800dc 100644 --- a/user/font-adobe-utopia-100dpi/APKBUILD +++ b/user/font-adobe-utopia-100dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-adobe-utopia-100dpi -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="100dpi Utopia X11 font from Adobe" url="https://www.X.Org/" @@ -16,7 +16,7 @@ license="Utopia" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-adobe-utopia-100dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-adobe-utopia-100dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -43,4 +43,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="fecb9a9bde99a82787d12779ea579c8696dcce168acd74b478a879ae24d421d5978d5f69da651e8ff3b25dca355960aaa19f69f2bf61e540464887e546a7b94b font-adobe-utopia-100dpi-1.0.4.tar.bz2" +sha512sums="9685d66de107ab3142aa9322bbded20f4f538d7bcd8c97bfb4db8eb1fc440724b0c7574ee8b4b5e96c81044c8ee4da175dd638f03dc3e1e650200fdf7b8a169b font-adobe-utopia-100dpi-1.0.5.tar.xz" diff --git a/user/font-adobe-utopia-75dpi/APKBUILD b/user/font-adobe-utopia-75dpi/APKBUILD index 02e746ddf..86e02adb1 100644 --- a/user/font-adobe-utopia-75dpi/APKBUILD +++ b/user/font-adobe-utopia-75dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-adobe-utopia-75dpi -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="75dpi Utopia X11 font from Adobe" url="https://www.X.Org/" @@ -16,7 +16,7 @@ license="Utopia" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-adobe-utopia-75dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-adobe-utopia-75dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -43,4 +43,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="c569af760a62b00738be65546364587638e8c46e4a0765013747e9595d51bc0633908c72359e42e7ebf6240fdc6294b51512c0a096a5fe64b2bd300ccbff7b92 font-adobe-utopia-75dpi-1.0.4.tar.bz2" +sha512sums="9608698288fca47bf61cff911b8f081593807eed9f138ea22f05a7b6c26c481ec5144d79665cf509ba889df35ef5406e0de71710362bcf6de6b602c12158e22a font-adobe-utopia-75dpi-1.0.5.tar.xz" diff --git a/user/font-adobe-utopia-type1/APKBUILD b/user/font-adobe-utopia-type1/APKBUILD index ee684a79e..a48e51517 100644 --- a/user/font-adobe-utopia-type1/APKBUILD +++ b/user/font-adobe-utopia-type1/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-adobe-utopia-type1 -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="Type 1 Utopia X11 font from Adobe" url="https://www.X.Org/" @@ -16,7 +16,7 @@ license="Utopia" depends="encodings font-alias fontconfig mkfontscale" makedepends="util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-adobe-utopia-type1-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-adobe-utopia-type1-$pkgver.tar.xz" prepare() { default_prepare @@ -44,4 +44,4 @@ package() { find "$pkgdir" -name fonts.scale -exec rm {} + } -sha512sums="53ff2ce7b17824a0eed1be6c3e3386e51983389f5623e732ac898c4e08769c8720f6d6b7c75b6455e050ec5dc390376747ca4cdb9f831a218f9dd5ee5edcd0d6 font-adobe-utopia-type1-1.0.4.tar.bz2" +sha512sums="e30f4c7702f47a3a42206975fbcfec058317681956d246411e50e372b669bdc875c5d7fe28bad7d298bc61b71a997c7836fb6ac16effd223a96723a6e9ece649 font-adobe-utopia-type1-1.0.5.tar.xz" diff --git a/user/font-alias/APKBUILD b/user/font-alias/APKBUILD index 793405de7..d09841afe 100644 --- a/user/font-alias/APKBUILD +++ b/user/font-alias/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-alias -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="Font alias definitions from X.Org" url="https://www.X.Org/" @@ -9,7 +9,7 @@ license="MIT" depends="" makedepends="util-macros" subpackages="" -source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -27,4 +27,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c67ac2ee344a601fcc09471580214b30c3fd6acc4800702840de44f0733e6d18b3faeec2fa3f4e2314025cc1724d7d6796ebaf620398fe350710182fd2c4b07d font-alias-1.0.4.tar.bz2" +sha512sums="86bffa6b9ff789eeba715c079965157806ed633d44cd3dbf5e2a4bba2b390a0f48db65edc8e3264acbc2368d78a8d7e05bc2e2e3a86ddbf6b08bfe7f5e862bcc font-alias-1.0.5.tar.xz" diff --git a/user/font-arabic-misc/APKBUILD b/user/font-arabic-misc/APKBUILD index 66e7cb372..858091f83 100644 --- a/user/font-arabic-misc/APKBUILD +++ b/user/font-arabic-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-arabic-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Arabic X11 fonts" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-arabic-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-arabic-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="46a416bf888afdb54f5dda6c9a7207dc069d14089ba14b262c60cb9ad427784c46e2a61b32a79f1d745e73ea657bbc36b48aa5d4bbd79f73a2d997b027ddfbc0 font-arabic-misc-1.0.3.tar.bz2" +sha512sums="afd5fae32440b133c5ee0195af44ad1462d35c2f451dcf4b1c93e0ce245d009b120d39eb5f780b003ae2f572408965e6d149437e9ebbf5738cb69193aaa4d488 font-arabic-misc-1.0.4.tar.xz" diff --git a/user/font-bh-100dpi/APKBUILD b/user/font-bh-100dpi/APKBUILD index 2dff87e24..344e7567f 100644 --- a/user/font-bh-100dpi/APKBUILD +++ b/user/font-bh-100dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-bh-100dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="100dpi X11 fonts from Bigelow & Holmes" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="Lucida" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-bh-100dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-bh-100dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="60532fb3bd25bad08b1db65f96fdd1cdb2ae5fd580729d7851f5b619f1ed6bdef4fec30111ec408cec9ae5e94f92ad9cf214214c01ac684f3a4bd8d43bafd8a2 font-bh-100dpi-1.0.3.tar.bz2" +sha512sums="5fe2a24df0d0e9109f1c1cb2556f4cdbf07cc16441e565333f01a00815dd4555b6ef0dd689ef3196ddb76db7480bca8f0b501d4244262d6c64d4751d75503b44 font-bh-100dpi-1.0.4.tar.xz" diff --git a/user/font-bh-75dpi/APKBUILD b/user/font-bh-75dpi/APKBUILD index 619f8ce0c..c8edcddd6 100644 --- a/user/font-bh-75dpi/APKBUILD +++ b/user/font-bh-75dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-bh-75dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="75dpi X11 fonts from Bigelow & Holmes" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="Lucida" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-bh-75dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-bh-75dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="fb19c7fe91b6cc0670b01d5b8165075866ad08796293650d6037d79211ca668decdcc1b3684774907c06073145919655690d78ccdcf2511db38b5879328a9f50 font-bh-75dpi-1.0.3.tar.bz2" +sha512sums="8ccc5accdd43b4e1b8007c94e7916c6ee947ff0d57e3b0ce92154b718ef0ac2579659719738a50ef3ab0998a8bcea5b055e6a2e4d72b9fa5755b786143303955 font-bh-75dpi-1.0.4.tar.xz" diff --git a/user/font-bh-lucidatypewriter-100dpi/APKBUILD b/user/font-bh-lucidatypewriter-100dpi/APKBUILD index 118787f42..275072468 100644 --- a/user/font-bh-lucidatypewriter-100dpi/APKBUILD +++ b/user/font-bh-lucidatypewriter-100dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-bh-lucidatypewriter-100dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="100dpi Lucida Typewriter X11 font from Bigelow & Holmes" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="Lucida" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-bh-lucidatypewriter-100dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-bh-lucidatypewriter-100dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="1862003c20aa7709ea07487a4326c619e2beb33b7069d644f438d64182b41a06039c69e2867921b4d12939612a4b8e1e1727fd15851aeab9a0361060183e3b0f font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2" +sha512sums="31a4d061430089c5523815dde7d7cf73c9cba768ab79004eb65af8a1684fdd57d0829d9f4249c8e542e733266cc5f83e38eff403423a77a06af15008ce95d2ab font-bh-lucidatypewriter-100dpi-1.0.4.tar.xz" diff --git a/user/font-bh-lucidatypewriter-75dpi/APKBUILD b/user/font-bh-lucidatypewriter-75dpi/APKBUILD index 67d155853..9a2d26282 100644 --- a/user/font-bh-lucidatypewriter-75dpi/APKBUILD +++ b/user/font-bh-lucidatypewriter-75dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-bh-lucidatypewriter-75dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="75dpi Lucida Typewriter X11 font from Bigelow & Holmes" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="Lucida" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-bh-lucidatypewriter-75dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-bh-lucidatypewriter-75dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="2bba19c10df8e95f95d59d5fc7c15380c91a5140b0fa490497dbdf78a5574adae06a5566941c8c61e4a9850712fc9ca16974173aeee771f41976f472f0a2de13 font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2" +sha512sums="bfe2776b84533dd23648df42b2c74fb7f49e665e4f2128c6af529425a1569051c9ddadb696dfa7a6bd959a4929f8a75f7e4fbd7da7767d272a0a8a5424a879cf font-bh-lucidatypewriter-75dpi-1.0.4.tar.xz" diff --git a/user/font-bitstream-100dpi/APKBUILD b/user/font-bitstream-100dpi/APKBUILD index 491e7622b..8ddf0edc8 100644 --- a/user/font-bitstream-100dpi/APKBUILD +++ b/user/font-bitstream-100dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-bitstream-100dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="100dpi X11 fonts from Bitstream" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-bitstream-100dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-bitstream-100dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="10fd920d46d2cb1b314e8c2f05c202e9ffa74a4e5315f34790eba8bd8fcda865a6932eb712a7538624e69367647bcd6891e7015099e65463aeef772d0ba58bfd font-bitstream-100dpi-1.0.3.tar.bz2" +sha512sums="1389681eee8b9e2bbfe0293b0aa1add7c6fa86149ff3cb779195ddcc548b1a519336c2d43b6988c899dc09d44ca30de9ffb5daca24fc3906694ab0fd391eb437 font-bitstream-100dpi-1.0.4.tar.xz" diff --git a/user/font-bitstream-75dpi/APKBUILD b/user/font-bitstream-75dpi/APKBUILD index fa6149d10..0c9bf3e4b 100644 --- a/user/font-bitstream-75dpi/APKBUILD +++ b/user/font-bitstream-75dpi/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-bitstream-75dpi -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="75dpi X11 fonts from Bitstream" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-bitstream-75dpi-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-bitstream-75dpi-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="9311a5b0cbe1613aca87fdf7fd9ab263eb1129e3c3eacbce54547f2185e151fb1237128b1b6d39f716f28694a486909564ecc9a0aef061438622d11b5661d650 font-bitstream-75dpi-1.0.3.tar.bz2" +sha512sums="d678c58493696b3a744878991838b329243e5ba7985b1a435b62e9b1a05b5609d0b66d5943d840479ce2c5fc1da1b0633c33f28e3613712d26802fc41ee22c22 font-bitstream-75dpi-1.0.4.tar.xz" diff --git a/user/font-bitstream-type1/APKBUILD b/user/font-bitstream-type1/APKBUILD index cf4d86d6d..2cb1696f1 100644 --- a/user/font-bitstream-type1/APKBUILD +++ b/user/font-bitstream-type1/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-bitstream-type1 -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Type 1 X11 fonts from Bitstream" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="fontconfig mkfontscale" makedepends="util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-bitstream-type1-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-bitstream-type1-$pkgver.tar.xz" prepare() { default_prepare @@ -38,4 +38,4 @@ package() { find "$pkgdir" -name fonts.scale -exec rm {} + } -sha512sums="71883f7fc0a68b4fb8ef30b8b8bdfd73ae1194b6d6495abde6c819eef7a91d6365ef1b4cae026d6c3fa7fddecc643b46b7ba1232cec404fcada49a92aaf1af61 font-bitstream-type1-1.0.3.tar.bz2" +sha512sums="f09d60abb88c9be6227c57f5519f08e5e3c59c916183d32a512d3c2ace0047eaad2b377c3725c8987e8b4c55468eb7821322ff5447f000d4c2be6cb909f6219b font-bitstream-type1-1.0.4.tar.xz" diff --git a/user/font-cronyx-cyrillic/APKBUILD b/user/font-cronyx-cyrillic/APKBUILD index 38765a4a3..8b6582f67 100644 --- a/user/font-cronyx-cyrillic/APKBUILD +++ b/user/font-cronyx-cyrillic/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-cronyx-cyrillic -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Cyrillic X11 fonts from Cronyx" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-cronyx-cyrillic-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-cronyx-cyrillic-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="b926c425644f94548ad831c38573009ae97d207a05c9d8a917018c2518911960280eb3861ae11d99bc8d001fb0dca1967712fb70ba4f413bc9d6ac8ef904b456 font-cronyx-cyrillic-1.0.3.tar.bz2" +sha512sums="39c0bfc08ac746fd98a668d7545da503e8413d5d66cdb1884489ed7221fa4f09dad8dc997ca39595113e2f12fd65de6d2bfd8eaf1480aa93d5eb961d2e2f7cff font-cronyx-cyrillic-1.0.4.tar.xz" diff --git a/user/font-cursor-misc/APKBUILD b/user/font-cursor-misc/APKBUILD index f5b870917..56ffa3838 100644 --- a/user/font-cursor-misc/APKBUILD +++ b/user/font-cursor-misc/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-cursor-misc -pkgver=1.0.3 -pkgrel=4 +pkgver=1.0.4 +pkgrel=0 pkgdesc="X11 cursor fonts" url="https://www.X.Org/" arch="noarch" @@ -9,7 +9,7 @@ license="Public-Domain" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.xz" prepare() { default_prepare @@ -33,4 +33,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="7ecb7f1c3c11da8b81fc0ff121fa6c1026b11f6c7878ffd0e4959df036511bc579d6b0552422ce13e26a8d188e3406631d2de55cab6b29bc7fce0416a8cffc83 font-cursor-misc-1.0.3.tar.bz2" +sha512sums="22bd86a81cdfb1e17f885dc3961071c08920171a6f0736ae52d95c8e576b1debc7570aa3b7e1007f474b50435fba411f0eb1847894e8b52f6e6268d91cf9f2db font-cursor-misc-1.0.4.tar.xz" diff --git a/user/font-daewoo-misc/APKBUILD b/user/font-daewoo-misc/APKBUILD index 0e75b5af6..44f2c7c79 100644 --- a/user/font-daewoo-misc/APKBUILD +++ b/user/font-daewoo-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-daewoo-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="X11 fonts from Daewoo" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-daewoo-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-daewoo-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="7e97bc580f66a1316e366617d34e1dbefd576b47b9373ef34833aaaf2fdefc50befc2add5f038915db0b45fbdd56b77304a8a980bb72726479d429085c406f06 font-daewoo-misc-1.0.3.tar.bz2" +sha512sums="be9f550e8cb84f9e24afb6b739c357cb159da8a06f8bc2c26c9fbb62320427dd7522e04d10492cec91ab559b2e5dd5067012ff3225695a8337f1cd7db9801f57 font-daewoo-misc-1.0.4.tar.xz" diff --git a/user/font-dec-misc/APKBUILD b/user/font-dec-misc/APKBUILD index 6f6189efd..003b51a98 100644 --- a/user/font-dec-misc/APKBUILD +++ b/user/font-dec-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-dec-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="X11 fonts from Digital" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-dec-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-dec-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="af755d51c4c59cdbe5d3dccf37990bc787373958feb984bb037c8d8aba8a0eb410965a3600886b5123d89e85e1ea0498b84dfa384fccbbcbcaf3549b83c839c6 font-dec-misc-1.0.3.tar.bz2" +sha512sums="bf6c0e4924835346f1f7913a04fa3903a7c55d292317526dd8eaa799dfb3b52eb2157c34692d659b41a18123af8389785dcb4aa0c31fc387cb368642801c3335 font-dec-misc-1.0.4.tar.xz" diff --git a/user/font-isas-misc/APKBUILD b/user/font-isas-misc/APKBUILD index 9acfa2cb3..7bf811639 100644 --- a/user/font-isas-misc/APKBUILD +++ b/user/font-isas-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-isas-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Chinese X11 fonts from Academia Sinica" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-isas-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-isas-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="be6fb1d2c53550a462d1ab010fa7ac913990e83a22d4580c93b8f1f087aa6caa0e46bc87debca2b13b10e5611bd2fe7f6b4240367fb24f59b37f68ffb0e2586b font-isas-misc-1.0.3.tar.bz2" +sha512sums="7c8cc9083600949fff4a0373f9f22df80f6a2c97d8d56bc2c4d03b102d16ad071b984b1ecf547d2d17ede9335e5c3a418512631a18938b7728c66b4339dcedd5 font-isas-misc-1.0.4.tar.xz" diff --git a/user/font-jis-misc/APKBUILD b/user/font-jis-misc/APKBUILD index 1b047736a..bac5e655a 100644 --- a/user/font-jis-misc/APKBUILD +++ b/user/font-jis-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-jis-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Japanese Industrial Standard X11 fonts" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="Public-Domain" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-jis-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-jis-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="3ce4c96d54440045e84f54f7d790e350c05b0c56a72491941f2cd9ed7e2d1735ff4b41667501cf08d5d81ee19c9de6d43f88a8b59a3c5c55de9fb1696cae208c font-jis-misc-1.0.3.tar.bz2" +sha512sums="c54034205e7bd7a01b311c25c890f9fd1abc25f842315812d5c83d4e4091e5e6c2125a43d4d532b88c79d51cb812b86cfa8e7e4c1a87175746f1bd4e38129440 font-jis-misc-1.0.4.tar.xz" diff --git a/user/font-micro-misc/APKBUILD b/user/font-micro-misc/APKBUILD index 8eae0a5a4..8bf9bd49b 100644 --- a/user/font-micro-misc/APKBUILD +++ b/user/font-micro-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-micro-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Smol X11 font" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="Public-Domain" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-micro-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-micro-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="7a546432225c22ae0aacf9ce88b617a7d1d6678ee1f5eb4b3a93e33764fb752f27bca3feda1312182517bbf7babd5f3700bb9b8de0ef6c35b1ae6e2ce7ab0b69 font-micro-misc-1.0.3.tar.bz2" +sha512sums="e9a402a5042eef0b618bc30b319256cae9f71f546c167c8b638a780f93cbdc2d61c472203efaee7077acedfac3b3981feefbc1017cfee8512077e61deff42ed3 font-micro-misc-1.0.4.tar.xz" diff --git a/user/font-misc-cyrillic/APKBUILD b/user/font-misc-cyrillic/APKBUILD index ffe4760e6..fb93e953b 100644 --- a/user/font-misc-cyrillic/APKBUILD +++ b/user/font-misc-cyrillic/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-misc-cyrillic -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Cyrillic X11 fonts" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT AND Public-Domain" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-misc-cyrillic-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-misc-cyrillic-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="75e49cdb633f7ce5b9612d5adb0a85471c8fde5d55e8ccd9302f79f01e99e78b02449642c2cf785289f58d833bfa62042fce4253093fb17c87471559d1f9bdbf font-misc-cyrillic-1.0.3.tar.bz2" +sha512sums="fb2102805fedbd04b1533b85abcde79f432b97b72822bcfcdc09f525488d0d0c63815c8c25b79bab864bbe11fa1b72e2c34f5ba7b96eee1b6c84b841bb333353 font-misc-cyrillic-1.0.4.tar.xz" diff --git a/user/font-misc-ethiopic/APKBUILD b/user/font-misc-ethiopic/APKBUILD index 87b71086c..534dc3937 100644 --- a/user/font-misc-ethiopic/APKBUILD +++ b/user/font-misc-ethiopic/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-misc-ethiopic -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="Ethiopic X11 fonts" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-misc-ethiopic-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-misc-ethiopic-$pkgver.tar.xz" build() { ./configure \ @@ -33,4 +33,4 @@ package() { find "$pkgdir" -name fonts.scale -exec rm {} + } -sha512sums="4fed9ff3782746898c56dac199e9ca89356f4967779937049b9ff4ffad202317c023859f92d44b371dfa5485d5368ccad648e64b12cde0ed21f7d4aee5affcd5 font-misc-ethiopic-1.0.4.tar.bz2" +sha512sums="7732a828c005e3762b6383729134c5656fd575ac59288504d047fbe26e9965a80519a37b0cc4c6b89379a85a62160c5ea76017f790447a230c015aa7a9143ba0 font-misc-ethiopic-1.0.5.tar.xz" diff --git a/user/font-misc-misc/APKBUILD b/user/font-misc-misc/APKBUILD index 66f55e2ad..e731c9de6 100644 --- a/user/font-misc-misc/APKBUILD +++ b/user/font-misc-misc/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-misc-misc -pkgver=1.1.2 -pkgrel=4 +pkgver=1.1.3 +pkgrel=0 pkgdesc="Miscellaneous X11 fonts included with X.Org" url="https://www.X.Org/" arch="noarch" @@ -9,7 +9,7 @@ license="Public-Domain" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.xz" prepare() { default_prepare @@ -33,4 +33,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="d0bf74142f9621746846ea7a6fe9ae298a303a09c65e05c7decb4f37b2f513a88d727bf3dc5a3566c30de83b83493f164be0118b41d704464f75700b55018c74 font-misc-misc-1.1.2.tar.bz2" +sha512sums="fac4bfda0e4189d1a9999abc47bdd404f2beeec5301da190d92afc2176cd344789b7223c1b2f4748bd0efe1b9a81fa7f13f7037015d5d800480fa2236f369b48 font-misc-misc-1.1.3.tar.xz" diff --git a/user/font-mutt-misc/APKBUILD b/user/font-mutt-misc/APKBUILD index 575ad7e2e..2520a4138 100644 --- a/user/font-mutt-misc/APKBUILD +++ b/user/font-mutt-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-mutt-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="MUTT X11 font family" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-mutt-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-mutt-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="7b152f6c1464d806b1f76664d9b619858c3cb3ea63027b6be1f69897e939e3a0b5312ddf230e0a42a8f3e3701e50f41917cac6ce566c05bc74dfa49bdf2ed4db font-mutt-misc-1.0.3.tar.bz2" +sha512sums="9cbc82e6a519572576cb60f4d6b9795468666d53ac7df17d6736ab04190cb5f58c8b57be61ab509fc9372e1114c6aaa5e0d098ec1fa63dc5d8638916614f7046 font-mutt-misc-1.0.4.tar.xz" diff --git a/user/font-schumacher-misc/APKBUILD b/user/font-schumacher-misc/APKBUILD index d8a3bfb90..cf288951a 100644 --- a/user/font-schumacher-misc/APKBUILD +++ b/user/font-schumacher-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-schumacher-misc -pkgver=1.1.2 +pkgver=1.1.3 pkgrel=0 pkgdesc="X11 fonts from Dale Schumacher" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-schumacher-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-schumacher-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="f37a2bfce95458b11376c89767b5adaea03dcecd7ed5b99a19a3d263f48e70b15bf679826a794c55da26b5f1635ea5fa5772ffe44c9f77a1daab0744ed92300a font-schumacher-misc-1.1.2.tar.bz2" +sha512sums="83b25495535176a5e348269358ac34af8223023a55e2c5c599725ee90ec9ff3ea9ff19cca46b93eeae7ef985da325f9065c83d829a4a8c72d0c3c197242a1b64 font-schumacher-misc-1.1.3.tar.xz" diff --git a/user/font-screen-cyrillic/APKBUILD b/user/font-screen-cyrillic/APKBUILD index 4e0d72cd6..b52c8978f 100644 --- a/user/font-screen-cyrillic/APKBUILD +++ b/user/font-screen-cyrillic/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-screen-cyrillic -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="Cyrillic X11 fonts" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-screen-cyrillic-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-screen-cyrillic-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="58f12a4cbd18e323daad75b32a01ab3980dca0046f8dd94ff4452606ab9316b8a208dda3bc8e9346c02993bd2b8bb2b3dfe3413ccf9fc6a907fc1ea5d236fa51 font-screen-cyrillic-1.0.4.tar.bz2" +sha512sums="9f136fc6f6a3621c4b38302af5396789b1e6558b9b4b1b991624945eb9aac8497a6cd415460abc7dbcbaad1ef8ebd23cacfb3448c6e34cc9ba0726e7973c1a99 font-screen-cyrillic-1.0.5.tar.xz" diff --git a/user/font-sony-misc/APKBUILD b/user/font-sony-misc/APKBUILD index 2d5a256ff..ff55dc5b4 100644 --- a/user/font-sony-misc/APKBUILD +++ b/user/font-sony-misc/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-sony-misc -pkgver=1.0.3 -pkgrel=3 +pkgver=1.0.4 +pkgrel=0 pkgdesc="X11 fonts from Sony" url="https://www.X.Org/" arch="noarch" @@ -9,7 +9,7 @@ license="MIT" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf font-util-dev util-macros" subpackages="" -source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/font/$pkgname-$pkgver.tar.xz" prepare() { default_prepare @@ -33,4 +33,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="c397b4e5081b2946799d701b8c48fca9fd2d55b8fa1dd96d2b29c5cd9996bb7356ae12671bf3bd964e6313bdc154020ed6377534e59ce53067e955e4b37aee1d font-sony-misc-1.0.3.tar.bz2" +sha512sums="f361fca66db2ec80b1467fb6bff57bd2cfc6722473bd7ad119026a97552eef07ff77552c01eb8f98f3299d7fd40c8c2cb3e0d0b01adca2f81c2c2f75581dc113 font-sony-misc-1.0.4.tar.xz" diff --git a/user/font-sun-misc/APKBUILD b/user/font-sun-misc/APKBUILD index e3134ef91..578c8c3b2 100644 --- a/user/font-sun-misc/APKBUILD +++ b/user/font-sun-misc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-sun-misc -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="X11 fonts from Sun Microsystems" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-sun-misc-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-sun-misc-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="52c4a38e49a94831999652d9830da841949c319083ea40492e83690e1e5c2d31ea1979046a420af0e51bc105b8697bb06b4a438485e82b130d7469ad4519e275 font-sun-misc-1.0.3.tar.bz2" +sha512sums="9eeb330c1190557479636119af8aeb49917f1faeaa42d3a93e35d318348ee4247405544107ce9f5a244dbe2c0001c8d34b604b961bd9d92431f84b992fe9739e font-sun-misc-1.0.4.tar.xz" diff --git a/user/font-util/APKBUILD b/user/font-util/APKBUILD index 9674cb3b1..76a35ee3d 100644 --- a/user/font-util/APKBUILD +++ b/user/font-util/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-util -pkgver=1.3.3 +pkgver=1.4.1 pkgrel=0 pkgdesc="X.org font utilities" url="https://www.X.Org/" @@ -29,4 +29,4 @@ package() { make -j1 DESTDIR="$pkgdir" install } -sha512sums="5e1cb8af44fe0bea72b1a6a4e455f50ca49b7531c2f4b605800c0b2b7578b9826ccf17fa195c505ab1d6339fd4ad697c01ba3b9777616f354ab62b23434d47c9 font-util-1.3.3.tar.xz" +sha512sums="cec7fc38ba64ca9c81c59a8395da94d71c75e14f19faf6457da0a1a8c3c1cf51bcaab227834f6f5a6d274ba2557555e542dbe2bd88e527c45ea196318bbc38d0 font-util-1.4.1.tar.xz" diff --git a/user/font-winitzki-cyrillic/APKBUILD b/user/font-winitzki-cyrillic/APKBUILD index 09853fc30..29d904d94 100644 --- a/user/font-winitzki-cyrillic/APKBUILD +++ b/user/font-winitzki-cyrillic/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-winitzki-cyrillic -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Cyrillic X11 fonts from Serge Winitzki" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="Public-Domain" depends="encodings font-alias fontconfig mkfontscale" makedepends="bdftopcf util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-winitzki-cyrillic-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-winitzki-cyrillic-$pkgver.tar.xz" prepare() { default_prepare @@ -37,4 +37,4 @@ package() { find "$pkgdir" -name fonts.dir -exec rm {} + } -sha512sums="f98fa99c1b0e60160b362310a7fe5fd5798aaa686751a6784a697c546ed754e885537eeed39a1f973dbceabc962cb65b39af1d336649381a49feb6df9f23e2b7 font-winitzki-cyrillic-1.0.3.tar.bz2" +sha512sums="11e366f96abe65aed9fb6fd087b2bd90af9f60548de0cebfeb348262860957a63a997616e00092d312b8ae9c262a7bb52da69c704a27d34018a45b98a87eb158 font-winitzki-cyrillic-1.0.4.tar.xz" diff --git a/user/font-xfree86-type1/APKBUILD b/user/font-xfree86-type1/APKBUILD index 308217e65..66521e717 100644 --- a/user/font-xfree86-type1/APKBUILD +++ b/user/font-xfree86-type1/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=font-xfree86-type1 -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="Type 1 X11 fonts from the XFree86 project" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="fontconfig mkfontdir mkfontscale" makedepends="util-macros" subpackages="" -source="https://www.x.org/releases/individual/font/font-xfree86-type1-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/font/font-xfree86-type1-$pkgver.tar.xz" prepare() { default_prepare @@ -38,4 +38,4 @@ package() { find "$pkgdir" -name fonts.scale -exec rm {} + } -sha512sums="2b4afc6cbb7953f8ba4aab7862d16b7b988ea6a4df6de8d41c8340d35a1cd53d6fcc26479ff88189d1de9f42804e4f56d70e9dbd7e75820eab4ac6ae3a96840c font-xfree86-type1-1.0.4.tar.bz2" +sha512sums="0a92d911269c5c4d815dfb617bfcc57c3bd54e4cd308eba87f9ec49851369d99dea61950dbd6cdc0f85db92c0c24055da88063b083b4b0cafb3315051bb650ed font-xfree86-type1-1.0.5.tar.xz" diff --git a/user/fontconfig/APKBUILD b/user/fontconfig/APKBUILD index aeae4256d..415f0c925 100644 --- a/user/fontconfig/APKBUILD +++ b/user/fontconfig/APKBUILD @@ -1,40 +1,41 @@ # Contributor: Mika Havela <mika.havela@gmail.com> -# Maintainer: +# Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=fontconfig -pkgver=2.13.1 +pkgver=2.15.0 pkgrel=0 pkgdesc="Library for configuring and customizing font access" url="https://www.freedesktop.org/wiki/Software/fontconfig/" arch="all" -options="!check" # Fails test with fixed fonts license="MIT" depends="" -makedepends="freetype-dev expat-dev python3-dev gperf util-linux-dev" +makedepends="expat-dev freetype-dev gperf meson python3-dev util-linux-dev" triggers="$pkgname.trigger=/usr/share/fonts/*" subpackages="$pkgname-dev $pkgname-lang" -source="https://www.freedesktop.org/software/fontconfig/release/${pkgname}-${pkgver}.tar.gz" +source="https://www.freedesktop.org/software/fontconfig/release/${pkgname}-${pkgver}.tar.xz + disable-crbug.patch + " build() { - # regenerate hash functions - rm -f src/fcobjshash.h - - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ + meson setup \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ - --enable-static \ - --disable-docs - make + --wrap-mode=nofallback \ + -Dnls=enabled \ + -Dtests=enabled \ + -Dtools=enabled \ + build + + meson compile -C build } check() { - make check + meson test -C build } package() { - make -j1 DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build } -sha512sums="830df32e944ee21ad02a9df04787b9902af36ffc13913524acef6e38799a38c5df7a6e407cc0ff9c24455520549d53b3d85d22642a229ac654dc9269926f130b fontconfig-2.13.1.tar.gz" +sha512sums="754cd5fffa198fc07a39cf7df683e9adfa7f54ab41fdff8c0eacc078fd35d3e01069ba343f2b045e0b40df88d9f1fc1ee0f7565799f9cb194a59cf95b64c4417 fontconfig-2.15.0.tar.xz +4295ce39520f0b24348ee0ad742de627a7f46084744022d8920da6a67a15e529fd89d31e7cfa33c2b7e613186bf9c20ad03a090f18dab63a66fbf9f50bbe6bfb disable-crbug.patch" diff --git a/user/fontconfig/disable-crbug.patch b/user/fontconfig/disable-crbug.patch new file mode 100644 index 000000000..2c2720ac6 --- /dev/null +++ b/user/fontconfig/disable-crbug.patch @@ -0,0 +1,13 @@ +i.e. the comment. + +--- fontconfig-2.15.0/test/meson.build.old 2020-12-16 23:27:27.000000000 -0600 ++++ fontconfig-2.15.0/test/meson.build 2025-05-09 20:36:03.552602973 -0500 +@@ -14,8 +14,6 @@ + # FIXME: ['test-migration.c'], + ['test-bz106632.c', {'c_args': ['-DFONTFILE="@0@"'.format(join_paths(meson.current_source_dir(), '4x6.pcf'))]}], + ['test-issue107.c'], # FIXME: fails on mingw +- # FIXME: this needs NotoSans-hinted.zip font downloaded and unpacked into test build directory! see run-test.sh +- ['test-crbug1004254.c', {'dependencies': dependency('threads')}], # for pthread + ] + + if get_option('default_library') == 'static' diff --git a/user/fonttosfnt/APKBUILD b/user/fonttosfnt/APKBUILD index 475301816..bdb4e1cfa 100644 --- a/user/fonttosfnt/APKBUILD +++ b/user/fonttosfnt/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=fonttosfnt -pkgver=1.2.2 +pkgver=1.2.3 pkgrel=0 pkgdesc="Wrap X11 bitmap fonts in TrueType containers" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="freetype-dev libfontenc-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ceac6ccb064043d46f9f16f31fb89c6cbf7f026d049f7b5325d6af97e809b4cd068e6149413bb328c0af601a98b5070e21d469888a6853f6cabecd5b46f60240 fonttosfnt-1.2.2.tar.bz2" +sha512sums="9464ef05f3ff7dddfd7a4f0d46a6cc5bb79cf8e019824c2d40164cd18025cd9ed33b31d7b808b4c289af58f09be0be7591f6dfab5624aab1931e4c6a7da68463 fonttosfnt-1.2.3.tar.xz" diff --git a/user/freeglut/APKBUILD b/user/freeglut/APKBUILD index fa130b8d1..084885517 100644 --- a/user/freeglut/APKBUILD +++ b/user/freeglut/APKBUILD @@ -2,16 +2,19 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=freeglut pkgver=3.2.2 -pkgrel=0 +pkgrel=1 pkgdesc="Free reimplementation of OpenGL Utility Toolkit (GLUT) library" url="https://freeglut.sourceforge.net/" arch="all" options="!check" # No test suite. license="X11" -depends_dev="mesa-dev libx11-dev libice-dev libxxf86vm-dev libxi-dev glu-dev" +depends_dev="glu-dev libglvnd-dev libice-dev libx11-dev libxi-dev + libxxf86vm-dev" makedepends="$depends_dev cmake" subpackages="$pkgname-dev" -source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz" +source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + glvnd.patch + " build() { cmake . \ @@ -19,6 +22,7 @@ build() { -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DFREEGLUT_BUILD_STATIC_LIBS=0 \ + -DOpenGL_GL_PREFERENCE=GLVND \ . make } @@ -27,4 +31,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="190231951d314f854c244bd27f7c20488403bd0eecffc342097a2e3d1621cec87f6c209a77b4c153aabcf44697b4070227930e295ab74fb88953cbbf94fc81d9 freeglut-3.2.2.tar.gz" +sha512sums="190231951d314f854c244bd27f7c20488403bd0eecffc342097a2e3d1621cec87f6c209a77b4c153aabcf44697b4070227930e295ab74fb88953cbbf94fc81d9 freeglut-3.2.2.tar.gz +ae99d5d749b0ed8a7c822651060cdf0d0d1d33610a16ddd6bd16dcf84c67ad475be6dd1278edf1ab4fdfbcb784217f0d05eab4503f1de63a3d6979edff12e8b9 glvnd.patch" diff --git a/user/freeglut/glvnd.patch b/user/freeglut/glvnd.patch new file mode 100644 index 000000000..123e943b7 --- /dev/null +++ b/user/freeglut/glvnd.patch @@ -0,0 +1,13 @@ +This allows us to link to the new GLVND libraries. Otherwise, there will be linker errors. + +--- freeglut-3.2.2/CMakeLists.txt.old 2022-02-06 10:50:52.000000000 +0000 ++++ freeglut-3.2.2/CMakeLists.txt 2024-11-26 12:50:25.436599428 +0000 +@@ -264,7 +264,7 @@ + LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) + ELSE() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) ++ LIST(APPEND LIBS ${OPENGL_opengl_LIBRARY} ${OPENGL_glx_LIBRARY}) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + ENDIF() + diff --git a/user/fts/APKBUILD b/user/fts/APKBUILD deleted file mode 100644 index 866f43eea..000000000 --- a/user/fts/APKBUILD +++ /dev/null @@ -1,43 +0,0 @@ -# Contributor: Ariadne Conill <ariadne@dereferenced.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=fts -pkgver=1.2.7 -pkgrel=1 -pkgdesc="Provides the fts(3) functions, which are missing in musl libc" -url="https://github.com/pullmoll/musl-fts/" -arch="all" -license="BSD-3-Clause" -depends="" -makedepends="automake autoconf libtool" -subpackages="$pkgname-dev" -source="$pkgname-$pkgver.zip::https://github.com/pullmoll/musl-fts/archive/v$pkgver.zip" -builddir="$srcdir/musl-$pkgname-$pkgver" - -prepare() { - default_prepare - ./bootstrap.sh -} - -build() { - CFLAGS=-fPIC ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var - make -} - -check() { - make check -} - -package() { - make DESTDIR="$pkgdir" install - - mkdir -p "$pkgdir"/usr/lib/pkgconfig - cp "$builddir"/musl-fts.pc "$pkgdir"/usr/lib/pkgconfig/libfts.pc -} - -sha512sums="69aceaa7a8dc7ab5845d3288e315357f92ac32fac55c3d670186f2c5756f665a11471fc81f67126755a707058a8d293ba926d906f542c1360a49ca3c9b357976 fts-1.2.7.zip" 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..cd1ac322d 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,11 +9,13 @@ 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" -source="https://download.gnome.org/sources/gdk-pixbuf/${pkgver%.*}/gdk-pixbuf-$pkgver.tar.xz" +source="https://download.gnome.org/sources/gdk-pixbuf/${pkgver%.*}/gdk-pixbuf-$pkgver.tar.xz + fix-pkgconfig.patch + " # secfixes: # 2.36.6-r1: @@ -22,19 +24,20 @@ 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 +24d461273c262e52299b9a70bc89e6fd4bd4425c1aef9575f5fcd6f3fb6d0ee0d05c4151f6bb9a28708f189ad26764b3c9b76a9d1e5094405a679abdf3905663 fix-pkgconfig.patch" diff --git a/user/gdk-pixbuf/fix-pkgconfig.patch b/user/gdk-pixbuf/fix-pkgconfig.patch new file mode 100644 index 000000000..a15c2c29c --- /dev/null +++ b/user/gdk-pixbuf/fix-pkgconfig.patch @@ -0,0 +1,11 @@ +diff '--color=auto' -Nurd gdk-pixbuf-2.42.12/gdk-pixbuf/meson.build gdk-pixbuf-2.42.12.new/gdk-pixbuf/meson.build +--- gdk-pixbuf-2.42.12/gdk-pixbuf/meson.build 2025-07-01 18:58:08.263906972 -0700 ++++ gdk-pixbuf-2.42.12.new/gdk-pixbuf/meson.build 2025-07-01 18:54:50.384849537 -0700 +@@ -383,6 +383,7 @@ + 'gdk_pixbuf_query_loaders=${bindir}/gdk-pixbuf-query-loaders', + ], + requires: 'gobject-2.0', ++ requires_private: 'libpng', + subdirs: gdk_pixbuf_api_name, + filebase: gdk_pixbuf_api_name, + ) diff --git a/user/glew/APKBUILD b/user/glew/APKBUILD index 9ff8e9090..ae313c711 100644 --- a/user/glew/APKBUILD +++ b/user/glew/APKBUILD @@ -2,15 +2,15 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=glew pkgver=2.2.0 -pkgrel=0 +pkgrel=1 pkgdesc="Cross-platform C/C++ extension loading library" url="http://glew.sourceforge.net" arch="all" options="!check" # No test suite. license="BSD-3-Clause AND MIT" depends="" -depends_dev="libxi-dev libxmu-dev mesa-dev" -makedepends="$depends_dev glu-dev" +depends_dev="libglvnd-dev libxi-dev libxmu-dev" +makedepends="$depends_dev glu-dev mesa-dev" subpackages="$pkgname-dev $pkgname-doc" source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tgz" diff --git a/user/glfw/APKBUILD b/user/glfw/APKBUILD index 7acd66438..3da47f557 100644 --- a/user/glfw/APKBUILD +++ b/user/glfw/APKBUILD @@ -2,14 +2,14 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=glfw pkgver=3.3.2 -pkgrel=0 +pkgrel=1 pkgdesc="OpenGL desktop development library" url="https://www.glfw.org/" arch="all" options="!check" # Tests require X11, GL, and manual intervention. license="Zlib" depends="" -depends_dev="mesa-dev" +depends_dev="libglvnd-dev" makedepends="$depends_dev cmake doxygen libx11-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev" subpackages="$pkgname-dev $pkgname-doc" diff --git a/user/glib/0001-gquark-fix-initialization-with-c-constructors.patch b/user/glib/0001-gquark-fix-initialization-with-c-constructors.patch index 50a9a8c28..ba4c03906 100644 --- a/user/glib/0001-gquark-fix-initialization-with-c-constructors.patch +++ b/user/glib/0001-gquark-fix-initialization-with-c-constructors.patch @@ -20,7 +20,7 @@ diff --git a/glib/gquark.c b/glib/gquark.c index 9e51a92..17ecd7f 100644 --- a/glib/gquark.c +++ b/glib/gquark.c -@@ -57,6 +57,11 @@ static gint quark_block_offset = 0; +@@ -60,6 +60,11 @@ static gint quark_block_offset = 0; void g_quark_init (void) { diff --git a/user/glib/APKBUILD b/user/glib/APKBUILD index 45d91ed79..1de391541 100644 --- a/user/glib/APKBUILD +++ b/user/glib/APKBUILD @@ -1,17 +1,16 @@ # Contributor: Valery Kartel <valery.kartel@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=glib -pkgver=2.72.4 +pkgver=2.84.0 pkgrel=0 pkgdesc="Common C routines used by Gtk+ and other libs" url="https://developer.gnome.org/glib/" arch="all" -options="!check" # Now requires D-Bus running. license="LGPL-2.1+" depends="dbus" depends_dev="perl python3 attr-dev bzip2-dev libffi-dev util-linux-dev" -checkdepends="tzdata shared-mime-info" -makedepends="$depends_dev dbus-dev meson ninja pcre-dev xmlto zlib-dev" +checkdepends="dbus-x11 tzdata shared-mime-info" +makedepends="$depends_dev dbus-dev meson pcre2-dev py3-docutils xmlto zlib-dev" triggers="$pkgname.trigger=/usr/share/glib-2.0/schemas:/usr/lib/gio/modules" subpackages="$pkgname-dbg $pkgname-doc $pkgname-static $pkgname-dev $pkgname-lang $pkgname-bash-completion:bashcomp:noarch" @@ -21,7 +20,7 @@ source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgve i386-fpu-test.patch musl-no-locale.patch ridiculous-strerror-nonconformance.patch - meson-sucks-and-i-hate-you-so-much-right-now.patch + sigstksz.patch " # secfixes: @@ -29,20 +28,23 @@ source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgve # - CVE-2019-12450 build() { - meson --default-library=both \ + meson setup \ + --default-library=both \ -Dprefix=/usr \ -Dselinux=disabled \ - -Dman=true build - ninja -C build + -Dman-pages=enabled \ + --wrap-mode=nofallback \ + build + meson compile -C build } check() { # workaround if a user builds it on a computer running X11 - DISPLAY= ninja -C build test + DISPLAY= dbus-run-session meson test -C build } package() { - DESTDIR="$pkgdir" ninja -C build install + DESTDIR="$pkgdir" meson install -C build rm -rf "$pkgdir"/usr/lib/charset.alias } @@ -75,10 +77,10 @@ bashcomp() { [ "$(ls -A "$pkgdir"/usr/share)" ] || rmdir "$pkgdir"/usr/share } -sha512sums="b4e2e0985e2184ee9656c4f1b4e15d8d1264f3d23d31349bc43d92e8432cffa48e1685c40517efb08dc5b57b8285acf65f2747deeb50e50d9cacec7160e7edf8 glib-2.72.4.tar.xz -32e5aca9a315fb985fafa0b4355e4498c1f877fc1f0b58ad4ac261fb9fbced9f026c7756a5f2af7d61ce756b55c8cd02811bb08df397040e93510056f073756b 0001-gquark-fix-initialization-with-c-constructors.patch -48d367d21a740161431c6ea2e062415e403d1a7af40515c71c60f11a8784d8725595386dc5a801c351540d67dee4186fb4af875f0165d21d13fe1a5167e02099 broken-gio-tests.patch -aa7444bbdf7b88798adc67c15cdb8b7459450c0b7357caea16b74462c5c9179ba80d4018b1e656e90a5e3be5b2e3c14e9b8c0ccbb2ee4d8c92dc8fa627518b84 i386-fpu-test.patch -db9de1fbf953afe76df9047d878c405ceeb6bd674c4382a8437612d788ff1c65c78012831888b2c4916f8125dab6bda50f1bba040744563dc8dcad30aeb1dd4d musl-no-locale.patch -56c10a0f64cbd8ce584d428f818e7e678fdeb40a32df792843208ddfa3135d362cc2077bc9fe3bfebe13ee6af0ecf6403a593ad727e0a92276074a17a9c7029c ridiculous-strerror-nonconformance.patch -dc1f0232433f6fb2cb2edebc8f5e15b4dcca557191af0a0ca45ff5cc5d109362e1dde4a532b08423e74c6b716801a516ad4ea105435e1332cd1a42f8131df46b meson-sucks-and-i-hate-you-so-much-right-now.patch" +sha512sums="72b85e30c535c5da7d8598d1cec02b1b481c467e612dbb396a0a64ad1d37cf2f1802c6fa576885c99cf8a22f4f0fc7dfdf42a3f32f7f40394f72db588fdbebb7 glib-2.84.0.tar.xz +ee128ea2f1b4d1b3179bbc4af56ebb671e1e6a1d0c4d9b279ecf77bc33dc6ab34d5dcbe35af7f5fd703c4eda3cc06cfabe1ee39ead059401ff7902500f2eefe6 0001-gquark-fix-initialization-with-c-constructors.patch +348fa10b38c8d7ea4181dbfd321c33d62475fc83461235e33ff5fb5170f2af44e587bd2f4805c49004ef6e33ed89252a493cf88687a246c4e34c1c09e14cb047 broken-gio-tests.patch +69e23d20b2682eb6adc013f78160902ad9a9703e06904b98725541b6d20f6bf5ce8958a5b43831485c87f6d8116768f591a5d5ee6c2c6ce6843581d6d05b8599 i386-fpu-test.patch +0b5515a9fd4bfe566d2d236374a8cdbec49191030aa74c56e0fe1b297daf65b172ce5e02477d3bc1e67a2c07bc979fd9de4ce2fb7a00a9754f88b5e76d2dddf2 musl-no-locale.patch +06af1c22004c34ae896bb5eaeb94599b42e46769408ac4c2575d809307922005d65d0053b9aeccb2049b85303cc1ba5d26cac733608aa2d407ad9ae39210beb0 ridiculous-strerror-nonconformance.patch +893a61dac6b4da6330bab9d5b9a9f7b3ae6643f4681895e24cc4a55518bdf16996af6175149299fbf782e633f7a37e308e7c3b52f9eb58d24f7fcf0c015e947b sigstksz.patch" diff --git a/user/glib/broken-gio-tests.patch b/user/glib/broken-gio-tests.patch index 75354ad8b..bb5b32418 100644 --- a/user/glib/broken-gio-tests.patch +++ b/user/glib/broken-gio-tests.patch @@ -1,7 +1,7 @@ Requires update-desktop-database --- glib-2.52.1/gio/tests/appinfo.c.old 2016-10-22 00:17:49.000000000 -0500 +++ glib-2.52.1/gio/tests/appinfo.c 2017-08-20 23:23:32.581229536 -0500 -@@ -486,7 +486,7 @@ +@@ -637,7 +637,7 @@ g_test_add_func ("/appinfo/launch-context", test_launch_context); g_test_add_func ("/appinfo/launch-context-signals", test_launch_context_signals); g_test_add_func ("/appinfo/tryexec", test_tryexec); @@ -15,7 +15,7 @@ Requires update-desktop-database Requires working iconv --- glib-2.52.1/gio/tests/converter-stream.c.old 2016-10-22 00:18:11.000000000 -0500 +++ glib-2.52.1/gio/tests/converter-stream.c 2017-08-20 23:21:31.711358101 -0500 -@@ -1203,7 +1203,7 @@ +@@ -1208,7 +1208,7 @@ }; CharsetTest charset_tests[] = { { "/converter-input-stream/charset/utf8->latin1", "UTF-8", "\303\205rr Sant\303\251", "ISO-8859-1", "\305rr Sant\351", 0 }, @@ -30,7 +30,7 @@ Requires working iconv Requires update-desktop-database --- glib-2.52.1/gio/tests/resources.c.old 2016-10-22 00:18:12.000000000 -0500 +++ glib-2.52.1/gio/tests/resources.c 2017-08-20 23:39:47.127025718 -0500 -@@ -426,6 +426,7 @@ +@@ -819,6 +819,7 @@ g_assert_cmpstr (g_bytes_get_data (data, NULL), ==, "test1\n"); g_bytes_unref (data); @@ -40,7 +40,7 @@ Requires update-desktop-database found = g_resources_get_info ("/resourceplugin/test1.txt", --- a/gio/tests/resources.c +++ b/gio/tests/resources.c -@@ -763,6 +763,7 @@ +@@ -828,6 +828,7 @@ g_assert_false (found); g_assert_error (error, G_RESOURCE_ERROR, G_RESOURCE_ERROR_NOT_FOUND); g_clear_error (&error); diff --git a/user/glib/i386-fpu-test.patch b/user/glib/i386-fpu-test.patch index 986c33164..f400a10d6 100644 --- a/user/glib/i386-fpu-test.patch +++ b/user/glib/i386-fpu-test.patch @@ -1,6 +1,6 @@ --- glib-2.54.2/glib/tests/timer.c.old 2016-10-22 00:21:30.000000000 -0500 +++ glib-2.54.2/glib/tests/timer.c 2018-03-03 18:39:40.424741042 -0600 -@@ -203,7 +203,10 @@ +@@ -386,7 +386,10 @@ { g_test_init (&argc, &argv, NULL); diff --git a/user/glib/meson-sucks-and-i-hate-you-so-much-right-now.patch b/user/glib/meson-sucks-and-i-hate-you-so-much-right-now.patch deleted file mode 100644 index 1e63ac0f4..000000000 --- a/user/glib/meson-sucks-and-i-hate-you-so-much-right-now.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- glib-2.58.0/glib/libcharset/meson.build.old 2018-08-30 17:12:09.000000000 +0000 -+++ glib-2.58.0/glib/libcharset/meson.build 2018-09-10 03:42:01.930000000 +0000 -@@ -1,4 +1,5 @@ - charset_lib = static_library('charset', 'localcharset.c', - include_directories : configinc, - pic : true, -+ install : true, - c_args : [ '-DGLIB_CHARSETALIAS_DIR="@0@"'.format(glib_charsetaliasdir) ] + glib_hidden_visibility_args) diff --git a/user/glib/musl-no-locale.patch b/user/glib/musl-no-locale.patch index 1624b0078..461454fc0 100644 --- a/user/glib/musl-no-locale.patch +++ b/user/glib/musl-no-locale.patch @@ -1,6 +1,6 @@ --- glib-2.52.1/glib/tests/option-context.c.old 2016-10-22 05:21:34.000000000 +0000 +++ glib-2.52.1/glib/tests/option-context.c 2017-08-20 23:14:46.364133517 +0000 -@@ -638,7 +638,7 @@ +@@ -641,7 +641,7 @@ old_locale = g_strdup (setlocale (LC_NUMERIC, locale)); current_locale = setlocale (LC_NUMERIC, NULL); @@ -11,7 +11,7 @@ goto cleanup; --- glib-2.52.1/glib/tests/convert.c.old 2016-10-22 00:21:34.000000000 -0500 +++ glib-2.52.1/glib/tests/convert.c 2017-08-20 22:51:48.363430954 -0500 -@@ -707,7 +707,7 @@ +@@ -995,7 +995,7 @@ g_test_add_func ("/conversion/no-conv", test_no_conv); g_test_add_func ("/conversion/iconv-state", test_iconv_state); @@ -23,7 +23,7 @@ g_test_add_func ("/conversion/filename-utf8", test_filename_utf8); --- glib-2.56.1/glib/tests/gdatetime.c.old 2018-07-02 21:11:49.890000000 -0500 +++ glib-2.56.1/glib/tests/gdatetime.c 2018-07-02 21:19:30.340000000 -0500 -@@ -2329,7 +2329,6 @@ +@@ -3547,7 +3547,6 @@ g_test_add_func ("/GDateTime/printf", test_GDateTime_printf); g_test_add_func ("/GDateTime/non_utf8_printf", test_non_utf8_printf); g_test_add_func ("/GDateTime/strftime", test_strftime); diff --git a/user/glib/ridiculous-strerror-nonconformance.patch b/user/glib/ridiculous-strerror-nonconformance.patch index 3ffc0aafa..b900672a8 100644 --- a/user/glib/ridiculous-strerror-nonconformance.patch +++ b/user/glib/ridiculous-strerror-nonconformance.patch @@ -1,6 +1,6 @@ --- glib-2.52.1/glib/tests/strfuncs.c.old 2016-10-22 00:21:44.000000000 -0500 +++ glib-2.52.1/glib/tests/strfuncs.c 2017-08-20 22:48:18.233702952 -0500 -@@ -1335,7 +1335,7 @@ +@@ -2067,7 +2067,7 @@ setlocale (LC_ALL, "C"); strs = g_hash_table_new (g_str_hash, g_str_equal); diff --git a/user/glib/sigstksz.patch b/user/glib/sigstksz.patch new file mode 100644 index 000000000..b0de031f1 --- /dev/null +++ b/user/glib/sigstksz.patch @@ -0,0 +1,20 @@ +See-also: https://inbox.vuxu.org/musl/D3S38EL8UO9V.U731IQFLR32X@ayaya.dev/ + +--- glib-2.84.0/glib/tests/unix.c.old 2025-03-06 07:09:13.000000000 -0600 ++++ glib-2.84.0/glib/tests/unix.c 2025-05-04 21:55:45.796547202 -0500 +@@ -588,13 +588,13 @@ + #ifndef SA_ONSTACK + g_test_skip ("alternate stack is not supported"); + #else +- size_t minsigstksz = MINSIGSTKSZ; ++ size_t minsigstksz = 32768; + guint8 *stack_memory = NULL; + guint8 *zero_mem = NULL; + stack_t stack = { 0 }; + stack_t old_stack = { 0 }; + +-#ifdef _SC_MINSIGSTKSZ ++#if 0 + /* Use the kernel-provided minimum stack size, if available. Otherwise default + * to MINSIGSTKSZ. Unfortunately that might not be big enough for huge + * register files for big CPU instruction set extensions. */ diff --git a/user/glslang/APKBUILD b/user/glslang/APKBUILD new file mode 100644 index 000000000..afe29113f --- /dev/null +++ b/user/glslang/APKBUILD @@ -0,0 +1,43 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=glslang +pkgver=14.3.0 +pkgrel=0 +pkgdesc="OpenGL and OpenGL ES reference compiler for shading languages" +url="https://github.com/KhronosGroup/glslang" +arch="all" +license="BSD-3-Clause AND MIT AND BSD-2-Clause AND GPL-3.0+ WITH Bison-2.2-exception" +depends="spirv-tools" +makedepends="cmake python3 spirv-tools-dev" +subpackages="$pkgname-dev" +source="glslang-$pkgver.tar.gz::https://github.com/KhronosGroup/glslang/archive/$pkgver.tar.gz + remap-endian.patch + " + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DALLOW_EXTERNAL_SPIRV_TOOLS=YES \ + ${CMAKE_CROSSOPTS} \ + . + make +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="ce6d09cc4d98b01d162ec5a196eec017c4a5f25eaf98c6612695d911f8d136c2f7193ff8f2c07931b2e94182d2c654833adc3b645f0c225e1d07c4e6e7abfd76 glslang-14.3.0.tar.gz +4745982dac709fc106f50e4f51800cefef07f11f609dfdaa234c3d61fab5f7bd2350720a294a686e88eb92916d1ccdfa203993419d697eb780ee741395bde8c2 remap-endian.patch" diff --git a/user/glslang/remap-endian.patch b/user/glslang/remap-endian.patch new file mode 100644 index 000000000..4c1fc78ff --- /dev/null +++ b/user/glslang/remap-endian.patch @@ -0,0 +1,46 @@ +Issue: https://github.com/KhronosGroup/glslang/issues/3799 + +--- glslang-14.3.0/StandAlone/spirv-remap.cpp.old 2024-06-25 17:42:43.000000000 -0500 ++++ glslang-14.3.0/StandAlone/spirv-remap.cpp 2024-11-22 15:27:02.655869572 -0600 +@@ -38,6 +38,7 @@ + #include <cstring> + #include <stdexcept> + #include <filesystem> ++#include <byteswap.h> + + // + // Include remapper +@@ -48,6 +49,8 @@ + + typedef unsigned int SpvWord; + ++ static const SpvWord MagicNumber = 0x07230203; ++ + // Poor man's basename: given a complete path, return file portion. + // E.g: + // Linux: /foo/bar/test -> test +@@ -82,6 +85,7 @@ + void read(std::vector<SpvWord>& spv, const std::string& inFilename, int verbosity) + { + std::ifstream fp; ++ bool isNativeEndian = true; + + if (verbosity > 0) + logHandler(std::string(" reading: ") + inFilename); +@@ -97,11 +101,16 @@ + spv.reserve(size_t(fp.tellg()) / sizeof(SpvWord)); + fp.seekg(0, fp.beg); + ++ char begin = fp.peek(); ++ char native_begin = reinterpret_cast<const char*>(&MagicNumber)[0]; ++ if (begin != native_begin) isNativeEndian = false; ++ + while (!fp.eof()) { + SpvWord inWord; + fp.read((char *)&inWord, sizeof(inWord)); + + if (!fp.eof()) { ++ if (!isNativeEndian) inWord = __bswap_32(inWord); + spv.push_back(inWord); + if (fp.fail()) + errHandler(std::string("error reading file: ") + inFilename); diff --git a/user/glu/APKBUILD b/user/glu/APKBUILD index 6e74574aa..1047e2666 100644 --- a/user/glu/APKBUILD +++ b/user/glu/APKBUILD @@ -1,14 +1,14 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=glu pkgver=9.0.1 -pkgrel=0 +pkgrel=1 pkgdesc="Mesa OpenGL Utility library" url="https://cgit.freedesktop.org/mesa/glu/" arch="all" options="!check" # No test suite. license="SGI-B-1.1 AND SGI-B-2.0" depends="" -depends_dev="mesa-dev" +depends_dev="libglvnd-dev" makedepends="$depends_dev" subpackages="$pkgname-dev" source="ftp://ftp.freedesktop.org/pub/mesa/glu/glu-$pkgver.tar.gz" diff --git a/user/gptfdisk/APKBUILD b/user/gptfdisk/APKBUILD index 65f372d39..1021cbd57 100644 --- a/user/gptfdisk/APKBUILD +++ b/user/gptfdisk/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gptfdisk pkgver=1.0.5 -pkgrel=0 +pkgrel=1 pkgdesc="Utility for manipulating GUID Partition Tables (GPT)" url="https://www.rodsbooks.com/gdisk/index.html" arch="all" diff --git a/user/grfcodec/APKBUILD b/user/grfcodec/APKBUILD index e571af644..5afe9c229 100644 --- a/user/grfcodec/APKBUILD +++ b/user/grfcodec/APKBUILD @@ -9,7 +9,7 @@ arch="all" options="!check" # No test suite. license="GPL-2.0-only" depends="" -makedepends="boost-dev cmake" +makedepends="boost-dev cmake libpng-dev" subpackages="$pkgname-doc" source="https://github.com/OpenTTD/$pkgname/releases/download/$pkgver/$pkgname-$pkgver-source.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/gst-plugins-bad/APKBUILD b/user/gst-plugins-bad/APKBUILD index badfd94c0..4a6cef267 100644 --- a/user/gst-plugins-bad/APKBUILD +++ b/user/gst-plugins-bad/APKBUILD @@ -1,11 +1,12 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gst-plugins-bad -pkgver=1.20.2 -pkgrel=2 +pkgver=1.26.1 +pkgrel=0 pkgdesc="GStreamer multimedia framework - Lower-quality plugins" url="https://gstreamer.freedesktop.org/modules/gst-plugins-good.html" arch="all" +options="!check" # nvidious license="LGPL-2.1+" # rtpmanagerbad depends on rtpmanager # symptom: tests 'rtpsrc' and 'rtpsink' will fail @@ -15,15 +16,11 @@ makedepends="gst-plugins-base-dev gstreamer-dev gobject-introspection-dev meson curl-dev fluidsynth-dev gtk+3.0-dev ladspa-dev libdrm-dev libgudev-dev libsndfile-dev libqrencode-dev librsvg-dev libsoup-dev libusb-dev mesa-dev neon-dev nettle-dev openal-soft-dev opus-dev pango-dev sbc-dev - wayland-dev wayland-protocols gsm-dev" + wayland-dev wayland-protocols gsm-dev vulkan-loader-dev libglvnd-dev" subpackages="$pkgname-dev $pkgname-lang" ldpath="/usr/lib/gstreamer-1.0" source="https://gstreamer.freedesktop.org/src/$pkgname/$pkgname-$pkgver.tar.xz - camerabin.patch curlhttpsrc.patch - mpegts.patch - fix-arm-test-alignment.patch - fix-arm-parser-alignment.patch " build() { @@ -44,9 +41,5 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="3f98973dc07ead745418e0a30f9f6b5c8d328e3d126f54d92c10ab5da04271768a5c5dffc36ea24ccf8fb516b1e3733be9fb18dc0db419dea4d37d17018f8a70 gst-plugins-bad-1.20.2.tar.xz -7f6023e766895ac8213f9dabd4d8acbeb03f18c2d98fa27865e7656c439e0ea97d02f9e9f0ea98205238ddb8f6473062af524b799d1da0cbe41a3055a11df250 camerabin.patch -d4bf36560db0e6391cfca84f928d7147bb6b170431c521e78253b29f6bccf122309e1f92e241808855dfa112b9a06e17c1b6ed4363e011a0693f82e1bfe7ea3e curlhttpsrc.patch -d70f409f86b072d689d51b87db6e9fb161c0914a381eccbf66f1ffcd61b9a793f9e4087cdd071e615aaa63687c6ee476f023239920dd1ebd0d3cde346031dc86 mpegts.patch -566fbdc37c9f9fb5b671ecffa2f596a95f6431668ff8dd8b91bc827a280b5fb18a8fac3122a38f060263cb3f2d2138805af1e1c324eb619188f982c8cc575221 fix-arm-test-alignment.patch -f394b1643a5d0943e8acd7e9ee11702ce3bbfb27242f3eac140b884ce7bb5dea725ab4bb0a28cbf9d435622dcc68ea0ee0bee1c51a520787c382167dd1e43583 fix-arm-parser-alignment.patch" +sha512sums="69c78970f0396c08fbddbd44e080142688fcd1ecdc0fa88709b934f6c546754904338469ceecd0f16c6a6b8585bf5faec3230426272b7eb2b63a21b9034d94db gst-plugins-bad-1.26.1.tar.xz +d4bf36560db0e6391cfca84f928d7147bb6b170431c521e78253b29f6bccf122309e1f92e241808855dfa112b9a06e17c1b6ed4363e011a0693f82e1bfe7ea3e curlhttpsrc.patch" diff --git a/user/gst-plugins-bad/fix-arm-parser-alignment.patch b/user/gst-plugins-bad/fix-arm-parser-alignment.patch deleted file mode 100644 index 63715380e..000000000 --- a/user/gst-plugins-bad/fix-arm-parser-alignment.patch +++ /dev/null @@ -1,32 +0,0 @@ -This patch differs from upstream in the following way(s): - - * Paths changed to accommodate 'builddir' - -From 10930661ee8ab2f43078ece482c33ca74c2440fb Mon Sep 17 00:00:00 2001 -From: Zach van Rijn <me@zv.io> -Date: Thu, 13 Jun 2024 09:11:30 -0500 -Subject: [PATCH] pcapparse: Avoid unaligned memory access - -Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3602 ---- - subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c b/subprojects/gst-plugins-bad/gst/pcapparse/gstpcapparse.c -index 53e7ef6fc25..0a9c9a6063b 100644 ---- a/gst/pcapparse/gstpcapparse.c -+++ b/gst/pcapparse/gstpcapparse.c -@@ -456,8 +456,8 @@ gst_pcap_parse_scan_frame (GstPcapParse * self, - return FALSE; - - /* ip info */ -- ip_src_addr = *((guint32 *) (buf_ip + 12)); -- ip_dst_addr = *((guint32 *) (buf_ip + 16)); -+ memcpy(&ip_src_addr, buf_ip + 12, sizeof(ip_src_addr)); -+ memcpy(&ip_dst_addr, buf_ip + 16, sizeof(ip_dst_addr)); - buf_proto = buf_ip + ip_header_size; - ip_packet_len = GUINT16_FROM_BE (*(guint16 *) (buf_ip + 2)); - --- -GitLab - diff --git a/user/gst-plugins-bad/fix-arm-test-alignment.patch b/user/gst-plugins-bad/fix-arm-test-alignment.patch deleted file mode 100644 index 1a03eafa7..000000000 --- a/user/gst-plugins-bad/fix-arm-test-alignment.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 57a1296d5913b222be87ccee1ae981b84931a7da Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Tue, 13 Jun 2023 01:29:14 +0100 -Subject: [PATCH 2/2] asfmux: fix potentially unaligned write on 32-bit ARM - -Fixes #2665 ---- - .../gst-plugins-bad/gst/asfmux/gstasfobjects.c | 12 ++++-------- - 1 file changed, 4 insertions(+), 8 deletions(-) - -diff --git a/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c b/subprojects/gst-plugins-bad/gst/asfmux/gstasfobjects.c -index d9739826384..fa0f2849d17 100644 ---- a/gst/asfmux/gstasfobjects.c -+++ b/gst/asfmux/gstasfobjects.c -@@ -311,14 +311,10 @@ gst_asf_put_time (guint8 * buf, guint64 time) - void - gst_asf_put_guid (guint8 * buf, Guid guid) - { -- guint32 *aux32 = (guint32 *) buf; -- guint16 *aux16 = (guint16 *) & (buf[4]); -- guint64 *aux64 = (guint64 *) & (buf[8]); -- *aux32 = GUINT32_TO_LE (guid.v1); -- *aux16 = GUINT16_TO_LE (guid.v2); -- aux16 = (guint16 *) & (buf[6]); -- *aux16 = GUINT16_TO_LE (guid.v3); -- *aux64 = GUINT64_TO_BE (guid.v4); -+ GST_WRITE_UINT32_LE (buf + 0, guid.v1); -+ GST_WRITE_UINT16_LE (buf + 4, guid.v2); -+ GST_WRITE_UINT16_LE (buf + 6, guid.v3); -+ GST_WRITE_UINT64_BE (buf + 8, guid.v4); - } - - /** --- -GitLab diff --git a/user/gst-plugins-bad/mpegts.patch b/user/gst-plugins-bad/mpegts.patch deleted file mode 100644 index 1579c4e32..000000000 --- a/user/gst-plugins-bad/mpegts.patch +++ /dev/null @@ -1,120 +0,0 @@ -https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1314 - ---- gst-plugins-bad-1.20.2/gst-libs/gst/mpegts/gstmpegtsdescriptor.c.old 2022-05-02 17:29:29.000000000 -0500 -+++ gst-plugins-bad-1.20.2/gst-libs/gst/mpegts/gstmpegtsdescriptor.c 2022-07-02 23:19:51.027302943 -0500 -@@ -296,7 +296,7 @@ - dvb_text_from_utf8 (const gchar * text, gsize * out_size) - { - GError *error = NULL; -- gchar *out_text; -+ gchar *out_text = NULL; - guint8 *out_buffer; - guint encoding; - GIConv giconv = (GIConv) - 1; -@@ -304,7 +304,8 @@ - /* We test character maps one-by-one. Start with the default */ - encoding = _ICONV_ISO6937; - giconv = _get_iconv (_ICONV_UTF8, encoding); -- out_text = g_convert_with_iconv (text, -1, giconv, NULL, out_size, &error); -+ if (giconv != (GIConv) - 1) -+ out_text = g_convert_with_iconv (text, -1, giconv, NULL, out_size, &error); - - if (out_text) { - GST_DEBUG ("Using default ISO6937 encoding"); ---- gst-plugins-bad-1.20.2/tests/check/libs/mpegts.c.old 2022-05-02 17:29:29.000000000 -0500 -+++ gst-plugins-bad-1.20.2/tests/check/libs/mpegts.c 2022-07-02 23:41:27.379013955 -0500 -@@ -71,6 +71,14 @@ - 0xc0, 0x00, 0xc4, 0x86, 0x56, 0xa5 - }; - -+static gboolean -+_has_iso6937_iconv (void) -+{ -+ GIConv test = (GIConv) - 1; -+ test = g_iconv_open("iso6937", "utf-8"); -+ return (test != (GIConv) - 1); -+} -+ - GST_START_TEST (test_scte_sit) - { - GstMpegtsSCTESIT *sit; -@@ -397,11 +405,12 @@ - - fail_if (data == NULL); - -- for (i = 0; i < data_size; i++) { -- if (data[i] != nit_data_check[i]) -- fail ("0x%X != 0x%X in byte %d of NIT section", data[i], -- nit_data_check[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < data_size; i++) { -+ if (data[i] != nit_data_check[i]) -+ fail ("0x%X != 0x%X in byte %d of NIT section", data[i], -+ nit_data_check[i], i); -+ } - - /* Check assertion on bad CRC. Reset parsed data, and make the CRC corrupt */ - nit_section->data[nit_section->section_length - 1]++; -@@ -486,11 +495,12 @@ - - fail_if (data == NULL); - -- for (i = 0; i < data_size; i++) { -- if (data[i] != sdt_data_check[i]) -- fail ("0x%X != 0x%X in byte %d of SDT section", data[i], -- sdt_data_check[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < data_size; i++) { -+ if (data[i] != sdt_data_check[i]) -+ fail ("0x%X != 0x%X in byte %d of SDT section", data[i], -+ sdt_data_check[i], i); -+ } - - /* Check assertion on bad CRC. Reset parsed data, and make the CRC corrupt */ - sdt_section->data[sdt_section->section_length - 1]++; -@@ -594,14 +604,15 @@ - /* Check creation of descriptor */ - desc = gst_mpegts_descriptor_from_dvb_network_name ("Name"); - fail_if (desc == NULL); -- fail_unless (desc->length == 4); -+ if (_has_iso6937_iconv()) fail_unless (desc->length == 4); - fail_unless (desc->tag == 0x40); - -- for (i = 0; i < 6; i++) { -- if (desc->data[i] != network_name_descriptor[i]) -- fail ("0x%X != 0x%X in byte %d of network name descriptor", -- desc->data[i], network_name_descriptor[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < 6; i++) { -+ if (desc->data[i] != network_name_descriptor[i]) -+ fail ("0x%X != 0x%X in byte %d of network name descriptor", -+ desc->data[i], network_name_descriptor[i], i); -+ } - - /* Check parsing of descriptor */ - ret = gst_mpegts_descriptor_parse_dvb_network_name (desc, &string); -@@ -623,14 +634,15 @@ - desc = gst_mpegts_descriptor_from_dvb_service - (GST_DVB_SERVICE_DIGITAL_TELEVISION, "Name", "Provider"); - fail_if (desc == NULL); -- fail_unless (desc->length == 15); -+ if (_has_iso6937_iconv()) fail_unless (desc->length == 15); - fail_unless (desc->tag == 0x48); - -- for (i = 0; i < 17; i++) { -- if (desc->data[i] != service_descriptor[i]) -- fail ("0x%X != 0x%X in byte %d of service descriptor", -- desc->data[i], service_descriptor[i], i); -- } -+ if (_has_iso6937_iconv()) -+ for (i = 0; i < 17; i++) { -+ if (desc->data[i] != service_descriptor[i]) -+ fail ("0x%X != 0x%X in byte %d of service descriptor", -+ desc->data[i], service_descriptor[i], i); -+ } - - /* Check parsing of descriptor with data */ - ret = gst_mpegts_descriptor_parse_dvb_service diff --git a/user/gst-plugins-base/APKBUILD b/user/gst-plugins-base/APKBUILD index bce787485..9aa2afd80 100644 --- a/user/gst-plugins-base/APKBUILD +++ b/user/gst-plugins-base/APKBUILD @@ -1,39 +1,43 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gst-plugins-base -pkgver=1.20.1 +pkgver=1.26.1 pkgrel=0 pkgdesc="GStreamer multimedia framework - Base plugins" url="https://gstreamer.freedesktop.org/" arch="all" -options="!check" # fails overlaycomposition on ppc64 license="GPL LGPL" depends="" makedepends="alsa-lib-dev cdparanoia-dev expat-dev glib-dev iso-codes-dev gobject-introspection-dev graphene-dev gstreamer-dev libdrm-dev - libjpeg-turbo-dev libogg-dev libpng-dev libtheora-dev libvorbis-dev - libx11-dev libxt-dev libxv-dev mesa-dev meson opus-dev orc-compiler - orc-dev pango-dev !gst-plugins-base" + libglvnd-dev libjpeg-turbo-dev libogg-dev libpng-dev libtheora-dev + libvorbis-dev libx11-dev libxt-dev libxv-dev mesa-dev meson opus-dev + orc-compiler orc-dev pango-dev wayland-dev wayland-protocols + !gst-plugins-base" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" -source="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.xz" +source="https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-$pkgver.tar.xz + endian.patch + " ldpath="/usr/lib/gstreamer-1.0" build() { - meson \ + meson setup \ + --wrap-mode=nofallback \ -Dprefix=/usr \ -Dintrospection=enabled \ -Dnls=enabled \ -Dpackage-name="GStreamer Base Plugins (${DISTRO_NAME:-Adélie Linux})" \ -Dpackage-origin="${DISTRO_URL:-https://www.adelielinux.org/}" \ - _build - ninja -C _build + 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="679a0eee1973fa9612e2e24978e2c2d9d8fdc5732e1699b4a87712881f1549d0811719a13ff4fe77b91322ca4425c39623b371703f6b3a36fb7238b977d3e541 gst-plugins-base-1.20.1.tar.xz" +sha512sums="b0c491755856af37fd8416af57b782ba04cfdf4298947a521ece90b4723fcf331199f428c74fafb37b3094a8172a0d409d20079544f7424fd6c089574313e296 gst-plugins-base-1.26.1.tar.xz +b44763d6b380bb51d246b64019078ee621a2d64a00f29f12039fd52aafd1c24e204350ea5c967c2fecb298075f6e45f62d16c3116d20aca8da557ace84ba0744 endian.patch" diff --git a/user/gst-plugins-base/endian.patch b/user/gst-plugins-base/endian.patch new file mode 100644 index 000000000..ed06e7c7f --- /dev/null +++ b/user/gst-plugins-base/endian.patch @@ -0,0 +1,40 @@ +--- gst-plugins-base-1.26.1/gst/videoconvertscale/gstvideoconvertscale.c.old 2025-04-24 14:20:14.000000000 -0500 ++++ gst-plugins-base-1.26.1/gst/videoconvertscale/gstvideoconvertscale.c 2025-05-11 14:05:05.042191384 -0500 +@@ -1407,8 +1407,13 @@ + g_return_val_if_fail (gst_value_is_fixed (from_par), othercaps); + + gst_video_convert_scale_get_fraction (from_par, &from_par_n, &from_par_d); +- gst_structure_get (ins, +- "width", G_TYPE_INT, &from_w, "height", G_TYPE_INT, &from_h, NULL); ++ { ++ gint wi = 0, hi = 0; ++ gst_structure_get (ins, ++ "width", G_TYPE_INT, &wi, "height", G_TYPE_INT, &hi, NULL); ++ from_w = wi; ++ from_h = hi; ++ } + + { + gint wi = 0, hi = 0; +--- gst-plugins-base-1.26.1/tests/check/elements/audiomixer.c.old 2025-04-24 14:20:14.000000000 -0500 ++++ gst-plugins-base-1.26.1/tests/check/elements/audiomixer.c 2025-05-11 14:06:12.944933423 -0500 +@@ -2125,12 +2125,18 @@ + gst_message_unref (msg); + } + ++#if G_BYTE_ORDER == G_LITTLE_ENDIAN ++#define AUDIO_FMT "S16LE" ++#else ++#define AUDIO_FMT "S16BE" ++#endif ++ + GST_START_TEST (test_qos_message_live) + { + GstBus *bus = gst_bus_new (); + GstHarness *h, *h2; + GstBuffer *b; +- static const char *caps_str = "audio/x-raw, format=(string)S16LE, " ++ static const char *caps_str = "audio/x-raw, format=(string)" AUDIO_FMT ", " + "rate=(int)1000, channels=(int)1, layout=(string)interleaved"; + GstMessage *msg; + GstPad *pad; diff --git a/user/gst-plugins-good/APKBUILD b/user/gst-plugins-good/APKBUILD index bc8624aa0..2570bf9df 100644 --- a/user/gst-plugins-good/APKBUILD +++ b/user/gst-plugins-good/APKBUILD @@ -1,8 +1,8 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gst-plugins-good -pkgver=1.20.2 -pkgrel=2 +pkgver=1.26.1 +pkgrel=0 pkgdesc="GStreamer multimedia framework - Free, well-written plugins" url="https://gstreamer.freedesktop.org/modules/gst-plugins-good.html" arch="all" @@ -18,27 +18,26 @@ makedepends="gst-plugins-base-dev gstreamer-dev gobject-introspection-dev subpackages="$pkgname-gtk $pkgname-lang" ldpath="/usr/lib/gstreamer-1.0" source="https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-$pkgver.tar.xz - drop-messages-interval-type.patch - fix-arm-test-alignment.patch + flvmux-disable-flaky-test.patch " build() { - meson \ + meson setup \ -Dprefix=/usr \ -Dnls=enabled \ -Dorc=disabled \ -Dpackage-name="GStreamer Good Plugins (${DISTRO_NAME:-Adélie Linux})" \ -Dpackage-origin="${DISTRO_URL:-https://www.adelielinux.org/}" \ - _build - ninja -C _build + 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 } gtk() { @@ -51,6 +50,5 @@ gtk() { "$subpkgdir"/usr/lib/gstreamer-1.0/ } -sha512sums="a10ea48fdfbe741e9bc63036b011748558f89968aaa525380ac99884c27463d190c0b49e2d98b4f554eee6ead8a5c5da3ba62e5b0b1fe54877598beccc68a933 gst-plugins-good-1.20.2.tar.xz -0f08a08d6f0e8303a9c899c5260f6ca2c0e0a41e1ca2a9c795c1cb1267a9003354cd0e5538022049a09784ba9000a4a60b7a0b07b38a18483ec30d9a86356e46 drop-messages-interval-type.patch -b08c5013100dff428125dca9075641a8c528ccdcdf005b66b286cfe3b8b6f80c4b04f41d768883e98112107b857e17af68e2864a331f379bd7ea5027adc641d8 fix-arm-test-alignment.patch" +sha512sums="ce096c912e6dfdec5c6e815b712e949296a18ea358cdb124997f256b1fbf8a68db9fc75c4e05a69a2cecd20de1a6bdb3fcfe4422f6d81b6f887ee484b5d1a556 gst-plugins-good-1.26.1.tar.xz +d31d0f70703efb13fbe919f008e1029a08649d3220f5689c7aa105cbbfe3c8cda4a2ae0b01bad32cb295ea202a965cb719776bd86f463a7b78d5b091b00e0348 flvmux-disable-flaky-test.patch" diff --git a/user/gst-plugins-good/drop-messages-interval-type.patch b/user/gst-plugins-good/drop-messages-interval-type.patch deleted file mode 100644 index ebf0c1e5a..000000000 --- a/user/gst-plugins-good/drop-messages-interval-type.patch +++ /dev/null @@ -1,29 +0,0 @@ -Upstream-URL: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3580 - -From e91ab24c5777986926bea5e9f0c832f606c9fb52 Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Fri, 16 Dec 2022 01:00:46 -0600 -Subject: [PATCH] tests: Cast drop-messages-interval type properly - -The rtpjitterbuffer test drop_messages_interval uses a GstClockTime for -the message drop interval. This property is defined as a guint. On -systems with 64-bit time_t but 32-bit uint, this can cause the -g_object_set function to fail to read the arguments properly. - -Fixes: #1656 ---- - .../gst-plugins-good/tests/check/elements/rtpjitterbuffer.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - - ---- gst-plugins-good-1.20.2/tests/check/elements/rtpjitterbuffer.c.old 2022-05-02 22:29:29.000000000 +0000 -+++ gst-plugins-good-1.20.2/tests/check/elements/rtpjitterbuffer.c 2022-12-16 07:04:53.663472650 +0000 -@@ -3097,7 +3097,7 @@ - guint num_sent_msg = 0; - - g_object_set (h->element, "post-drop-messages", TRUE, NULL); -- g_object_set (h->element, "drop-messages-interval", interval, NULL); -+ g_object_set (h->element, "drop-messages-interval", (guint)interval, NULL); - next_seqnum = construct_deterministic_initial_state (h, latency_ms); - - /* Create a bus to get the drop message on */ diff --git a/user/gst-plugins-good/fix-arm-test-alignment.patch b/user/gst-plugins-good/fix-arm-test-alignment.patch deleted file mode 100644 index 2b2a6a0c0..000000000 --- a/user/gst-plugins-good/fix-arm-test-alignment.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 57ced2fded938aa08d8727683a1823ae36170fc3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Mon, 12 Jun 2023 19:24:15 +0100 -Subject: [PATCH] tests: rtpbin_buffer_list: fix possible unaligned read on - 32-bit ARM - -Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/689 ---- - .../tests/check/elements/rtpbin_buffer_list.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/subprojects/gst-plugins-good/tests/check/elements/rtpbin_buffer_list.c b/subprojects/gst-plugins-good/tests/check/elements/rtpbin_buffer_list.c -index b804744352a..1c3d5cdd3a7 100644 ---- a/tests/check/elements/rtpbin_buffer_list.c -+++ b/tests/check/elements/rtpbin_buffer_list.c -@@ -25,6 +25,12 @@ - #include <gst/rtp/gstrtpbuffer.h> - #include <gst/rtp/gstrtcpbuffer.h> - -+#if G_BYTE_ORDER == G_BIG_ENDIAN -+#define READ_UINT64(mem) GST_READ_UINT64_BE(mem) -+#else -+#define READ_UINT64(mem) GST_READ_UINT64_LE(mem) -+#endif -+ - /* UDP/IP is assumed for bandwidth calculation */ - #define UDP_IP_HEADER_OVERHEAD 28 - -@@ -236,8 +242,8 @@ check_header (GstBuffer * buffer, guint index) - * most likely be changed in gstrtpbin. - */ - fail_unless (info.data != NULL); -- fail_unless_equals_uint64 (*(guint64 *) info.data, -- *(guint64 *) rtp_header[index]); -+ fail_unless_equals_uint64 (READ_UINT64 (info.data), -+ READ_UINT64 (rtp_header[index])); - fail_unless (*(guint16 *) (info.data + 12) == - *(guint16 *) (rtp_header[index] + 12)); - --- -GitLab - diff --git a/user/gst-plugins-good/flvmux-disable-flaky-test.patch b/user/gst-plugins-good/flvmux-disable-flaky-test.patch new file mode 100644 index 000000000..ef2d3feb3 --- /dev/null +++ b/user/gst-plugins-good/flvmux-disable-flaky-test.patch @@ -0,0 +1,15 @@ +This test is known flaky and causes a timeout every time on ppc64. + +Upstream-URL: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2803 + +--- gst-plugins-good-1.26.1/tests/check/elements/flvmux.c.old 2025-04-24 14:20:14.000000000 -0500 ++++ gst-plugins-good-1.26.1/tests/check/elements/flvmux.c 2025-05-17 17:53:27.568081593 -0500 +@@ -1162,7 +1162,7 @@ + + tcase_add_test (tc_chain, test_speex_streamable); + tcase_add_test (tc_chain, test_increasing_timestamp_when_pts_none); +- tcase_add_test (tc_chain, test_video_caps_late); ++ //tcase_add_test (tc_chain, test_video_caps_late); + tcase_add_test (tc_chain, test_audio_caps_change_streamable); + tcase_add_test (tc_chain, test_video_caps_change_streamable); + tcase_add_test (tc_chain, test_audio_caps_change_streamable_single); diff --git a/user/gstreamer/APKBUILD b/user/gstreamer/APKBUILD index 94c5af1c9..7ee893c50 100644 --- a/user/gstreamer/APKBUILD +++ b/user/gstreamer/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=gstreamer -pkgver=1.20.1 +pkgver=1.26.1 pkgrel=0 pkgdesc="GStreamer multimedia framework" url="https://gstreamer.freedesktop.org/" @@ -9,16 +9,12 @@ license="LGPL-2.0+" depends="" depends_dev="libxml2-dev" makedepends="$depends_dev bison flex gobject-introspection-dev glib-dev - meson ninja" + meson" subpackages="$pkgname-dev $pkgname-doc $pkgname-tools $pkgname-lang" -source="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.xz - disable-tests.patch - test-deadlock.patch - time64.patch - " +source="https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-$pkgver.tar.xz" build() { - meson \ + meson setup \ -Dprefix=/usr \ -Dintrospection=enabled \ -Dpackage-name="GStreamer (${DISTRO_NAME:-Adélie Linux})" \ @@ -26,16 +22,16 @@ build() { -Dglib-asserts=disabled \ -Dnls=enabled \ -Dptp-helper-permissions=none \ - _build - ninja -C _build + 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 } dev() { @@ -55,7 +51,4 @@ tools() { mv "$pkgdir"/usr/lib/libgstcheck-1.0.so.* "$subpkgdir"/usr/lib/ } -sha512sums="d6f67cce81ba15fba3fcf70850e3c84b25e8da3e53fd56e6f2c87c7ee1701071ea44deb754a0ea371b3cb17877f26aab94d9eccb6729cbb370d6d6d5c324aa1a gstreamer-1.20.1.tar.xz -39e6bfb52ebe85beefa2550eb404f83c5bbb3546cc1733b99e757401d2d182f95d829b90df99d5f43506d7c85d4f44ac797f35653cd42a935f1dc56d0b844c02 disable-tests.patch -d7e574e8715607d3103d46eb05388b781702a9e937d78f8cfab6d8d48d04baa7fbfe547bdeb816bbfddb5a333dd1862e460b057b12ea24704351ef5653f78491 test-deadlock.patch -977a9e689cce68b151a742ef67dbb60a10a55fcfae67f086909e1f0fc4a5998026acd03aeed32068fdb0485dd884c4313f39a63e3bab5baaafa878c439531bc3 time64.patch" +sha512sums="7a5da377fbfb25cacc2d9613a57210c00ca70ee00f3ef4d108a3c98bd6a2cb703b773ca6fd6d9ac7b59b60d0bf0573cff69bdea18e07159ac56ee992613d0a78 gstreamer-1.26.1.tar.xz" diff --git a/user/gstreamer/disable-tests.patch b/user/gstreamer/disable-tests.patch deleted file mode 100644 index 7fc78e9e4..000000000 --- a/user/gstreamer/disable-tests.patch +++ /dev/null @@ -1,24 +0,0 @@ -elements_leaks: - Fails due to heavy parallelisation on ppc64. - It always succeeds when run serially. - -elements_filesink: - Seems to be disabled on other musl distros as well. - Filed at: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1194 - ---- gstreamer-1.20.1/tests/check/meson.build.old 2022-03-14 06:33:40.000000000 -0500 -+++ gstreamer-1.20.1/tests/check/meson.build 2022-05-02 01:55:00.352168066 -0500 -@@ -84,11 +84,11 @@ - [ 'elements/fakesrc.c', not gst_registry ], - # FIXME: blocked forever on Windows due to missing fcntl (.. O_NONBLOCK) - [ 'elements/fdsrc.c', not gst_registry or host_system == 'windows' ], -- [ 'elements/filesink.c', not gst_registry ], -+ [ 'elements/filesink.c', true ], - [ 'elements/filesrc.c', not gst_registry ], - [ 'elements/funnel.c', not gst_registry ], - [ 'elements/identity.c', not gst_registry or not gst_parse ], -- [ 'elements/leaks.c', not tracer_hooks or not gst_debug ], -+ [ 'elements/leaks.c', true ], - [ 'elements/multiqueue.c', not gst_registry ], - [ 'elements/selector.c', not gst_registry ], - [ 'elements/streamiddemux.c', not gst_registry ], diff --git a/user/gstreamer/test-deadlock.patch b/user/gstreamer/test-deadlock.patch deleted file mode 100644 index b506ca19f..000000000 --- a/user/gstreamer/test-deadlock.patch +++ /dev/null @@ -1,140 +0,0 @@ -From f24595e9d7952e1e957c0973de62e6c3df031c08 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Sun, 20 Feb 2022 23:26:10 +0000 -Subject: [PATCH 1/3] gstreamer: tests: make the gstbin pop message more clear - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - tests/check/gst/gstbin.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c -index e366d5fe20f..06be4c75fbb 100644 ---- a/tests/check/gst/gstbin.c -+++ b/tests/check/gst/gstbin.c -@@ -38,7 +38,7 @@ pop_async_done (GstBus * bus) - == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE"); - - gst_message_unref (message); -- GST_DEBUG ("popped message"); -+ GST_DEBUG ("popped async-done message"); - } - - static void -@@ -46,14 +46,14 @@ pop_latency (GstBus * bus) - { - GstMessage *message; - -- GST_DEBUG ("popping async-done message"); -+ GST_DEBUG ("popping latency message"); - message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY"); - - gst_message_unref (message); -- GST_DEBUG ("popped message"); -+ GST_DEBUG ("popped latency message"); - } - - static void -@@ -63,7 +63,7 @@ pop_state_changed (GstBus * bus, int count) - - int i; - -- GST_DEBUG ("popping %d messages", count); -+ GST_DEBUG ("popping %d state-changed message", count); - for (i = 0; i < count; ++i) { - message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1); - -@@ -72,7 +72,7 @@ pop_state_changed (GstBus * bus, int count) - - gst_message_unref (message); - } -- GST_DEBUG ("popped %d messages", count); -+ GST_DEBUG ("popped %d state-changed messages", count); - } - - static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src", --- -GitLab - - -From 2c47f61c69702572bf666ad9ecaf59710f4a342c Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Sun, 20 Feb 2022 23:28:00 +0000 -Subject: [PATCH 2/3] gstreamer: tests: add a timeout in gstbin pop functions - instaed of wait forever - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - tests/check/gst/gstbin.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c -index 06be4c75fbb..c837d0e7e8a 100644 ---- a/tests/check/gst/gstbin.c -+++ b/tests/check/gst/gstbin.c -@@ -32,7 +32,7 @@ pop_async_done (GstBus * bus) - GstMessage *message; - - GST_DEBUG ("popping async-done message"); -- message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, -1); -+ message = gst_bus_poll (bus, GST_MESSAGE_ASYNC_DONE, GST_SECOND); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_ASYNC_DONE, "did not get GST_MESSAGE_ASYNC_DONE"); -@@ -47,7 +47,7 @@ pop_latency (GstBus * bus) - GstMessage *message; - - GST_DEBUG ("popping latency message"); -- message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, -1); -+ message = gst_bus_poll (bus, GST_MESSAGE_LATENCY, GST_SECOND); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_LATENCY, "did not get GST_MESSAGE_LATENCY"); -@@ -65,7 +65,7 @@ pop_state_changed (GstBus * bus, int count) - - GST_DEBUG ("popping %d state-changed message", count); - for (i = 0; i < count; ++i) { -- message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, -1); -+ message = gst_bus_poll (bus, GST_MESSAGE_STATE_CHANGED, GST_SECOND); - - fail_unless (message && GST_MESSAGE_TYPE (message) - == GST_MESSAGE_STATE_CHANGED, "did not get GST_MESSAGE_STATE_CHANGED"); --- -GitLab - - -From 686add28e21ae0031f9e3b07f9fb5cd4d5d19bc5 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Mon, 21 Feb 2022 23:06:07 +0000 -Subject: [PATCH 3/3] gstreamer: tests: fix gstbin deadlock - -this is a bit ugly but if the latency message is lost -the pop_latency will hang forever. - -Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/778 - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - tests/check/gst/gstbin.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c -index c837d0e7e8a..5d9a09171aa 100644 ---- a/tests/check/gst/gstbin.c -+++ b/tests/check/gst/gstbin.c -@@ -741,7 +741,8 @@ GST_START_TEST (test_watch_for_state_change) - pop_state_changed (bus, 3); - if (ret == GST_STATE_CHANGE_ASYNC) { - pop_async_done (bus); -- pop_latency (bus); -+ if (gst_bus_have_pending (bus)) -+ pop_latency (bus); - } - - fail_unless (gst_bus_have_pending (bus) == FALSE, --- -GitLab - diff --git a/user/gstreamer/time64.patch b/user/gstreamer/time64.patch deleted file mode 100644 index 89c88c380..000000000 --- a/user/gstreamer/time64.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 664fc63a246cba97e202f712aa48105f46a9ff69 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com> -Date: Mon, 12 Dec 2022 11:34:51 +0200 -Subject: [PATCH] systemclock: Use `futex_time64` syscall on x32 and other - platforms that always use a 32-bit `struct timespec` for the normal `futex` - syscall - -See also https://gitlab.gnome.org/GNOME/glib/-/issues/2634 ---- - gst/gstsystemclock.c | 26 +++++++++++++++++++++- - 1 file changed, 25 insertions(+), 1 deletion(-) - -diff --git a/gst/gstsystemclock.c b/gst/gstsystemclock.c -index 6d0b6ec47b6..8c396d2c7b4 100644 ---- a/gst/gstsystemclock.c -+++ b/gst/gstsystemclock.c -@@ -130,7 +130,31 @@ gst_futex_cond_broadcast (guint * cond_val) - static gboolean - gst_futex_cond_wait_until (guint * cond_val, GMutex * mutex, gint64 end_time) - { -+ /* On x32 (ILP32 ABI on x86_64) and potentially sparc64, the raw futex() -+ * syscall takes a 32-bit timespan argument *regardless* of whether userspace -+ * is using 32-bit or 64-bit `struct timespec`. This means that we can’t -+ * unconditionally pass a `struct timespec` pointer into the syscall. -+ * -+ * Assume that any such platform is new enough to define the -+ * `__NR_futex_time64` workaround syscall (which accepts 64-bit timespecs, -+ * introduced in kernel 5.1), and use that to pass a 64-bit timespec instead. -+ * -+ * `clock_gettime()` on such systems will either return a 32-bit `struct -+ * timespec`, in which case the values we will get passed in here are -+ * already not y2038-safe, or `struct timespec` is using 64-bit `time_t` and -+ * everything is fine. -+ */ -+#ifdef __NR_futex_time64 -+ struct -+ { -+ gint64 tv_sec; -+ gint64 tv_nsec; -+ } end; -+ const long int futex_syscall_id = __NR_futex_time64; -+#else - struct timespec end; -+ const long int futex_syscall_id = __NR_futex; -+#endif - guint sampled; - int res; - gboolean success; -@@ -146,7 +170,7 @@ gst_futex_cond_wait_until (guint * cond_val, GMutex * mutex, gint64 end_time) - /* we use FUTEX_WAIT_BITSET_PRIVATE rather than FUTEX_WAIT_PRIVATE to be - * able to use absolute time */ - res = -- syscall (__NR_futex, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE, -+ syscall (futex_syscall_id, cond_val, (gsize) FUTEX_WAIT_BITSET_PRIVATE, - (gsize) sampled, &end, NULL, FUTEX_BITSET_MATCH_ANY); - success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE; - g_mutex_lock (mutex); --- -GitLab - diff --git a/user/gtk-layer-shell/APKBUILD b/user/gtk-layer-shell/APKBUILD new file mode 100644 index 000000000..040c27cf4 --- /dev/null +++ b/user/gtk-layer-shell/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=gtk-layer-shell +pkgver=0.9.0 +pkgrel=0 +pkgdesc="A library to create panels and other desktop components for Wayland using the Layer Shell protocol" +url=" " +arch="all" +license="LGPL-3.0+ AND MIT" +depends="" +checkdepends="ttf-liberation" # gtk needs fonts or gtklabel goes insane. +makedepends="gobject-introspection-dev gtk+3.0-dev gtk-doc meson python3 + vala-dev wayland-dev wayland-protocols" +subpackages="$pkgname-dev $pkgname-doc" +source="gtk-layer-shell-$pkgver.tar.gz::https://github.com/wmww/gtk-layer-shell/archive/refs/tags/v$pkgver.tar.gz" + +build() { + meson setup \ + -Dprefix=/usr \ + -Ddocs=true \ + -Dtests=true \ + -Dvapi=true \ + build + meson compile -C build +} + +check() { + meson test -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build +} + +sha512sums="38179dd83a0828740ca8e2cc27fe3708f61107e88246644745da6c300da03ce04b17dd7117087946a68401a43176a599bdb98ed50936602d2b2540449c0e9066 gtk-layer-shell-0.9.0.tar.gz" diff --git a/user/gtk4/APKBUILD b/user/gtk4/APKBUILD index 71c6b0a42..1795d2107 100644 --- a/user/gtk4/APKBUILD +++ b/user/gtk4/APKBUILD @@ -1,27 +1,29 @@ # Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> # Maintainer: Sile Ekaterin Liszka <sheila@vulpine.house> pkgname=gtk4 -pkgver=4.8.3 +pkgver=4.18.5 pkgrel=0 pkgdesc="Version 4 of the GNOME graphics toolkit" url="https://www.gtk.org" arch="all" -options="!check" # Requires X11 +options="!check" # Requires Wayland environment running license="LGPL-2.0+ AND LGPL-2.1+ AND LGPL-2.0-only AND Expat" depends="" makedepends="cairo-dev cmake cups-dev ffmpeg-dev ffmpeg-libs gdk-pixbuf-dev gi-docgen glib-dev gobject-introspection-dev graphene-dev gstreamer-dev gst-plugins-bad-dev iso-codes-dev libepoxy-dev libexecinfo-dev - libxcursor-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev - meson ninja pango-dev>=1.50.0 py3-docutils py3-jinja2 py3-markdown - py3-pygments py3-pygobject py3-toml py3-typogrify tiff-dev + librsvg-dev libxcursor-dev libxdamage-dev libxi-dev libxinerama-dev + libxkbcommon-dev libxrandr-dev meson pango-dev py3-docutils py3-jinja2 + py3-markdown py3-pygments py3-pygobject py3-toml py3-typogrify tiff-dev wayland-dev wayland-protocols" subpackages="$pkgname-dev $pkgname-doc" -source="https://download.gnome.org/sources/gtk/${pkgver%.*}/gtk-$pkgver.tar.xz" +source="https://download.gnome.org/sources/gtk/${pkgver%.*}/gtk-$pkgver.tar.xz + vulkan-nullref.patch + " builddir="$srcdir/gtk-$pkgver" build() { - meson \ + meson setup \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ @@ -29,21 +31,21 @@ build() { --buildtype=release \ --wrap-mode=nofallback \ -Dc_link_args='-lexecinfo' \ - -Dgtk_doc=true \ -Dman-pages=true \ - -Ddemos=false \ -Dbuild-examples=false \ + -Dvulkan=disabled \ 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="56be0f5ce85a9cbbda4a5de53baeeb6b8cc527a5d34723ae5548759ec7c28f03d204b6b6758dffed02a9e226f3bfcd1f15971105c2f2f7be7cef22538be27754 gtk-4.8.3.tar.xz" +sha512sums="4a09188fdbeb532d8c2064199126eaf60d806118bb637d5182121f3d80d374acdf343568c3423effb9574c364279ded7d7cbd4e0331dc1fb647970f60c98bff0 gtk-4.18.5.tar.xz +1dca0747e2f572354c0d47e443270d64f5855d9fba592621d570be5eed49213ce8303e7d028bbe4d493cceebea9b3c90d6dc4f0671b1cae153a15384aa35d63e vulkan-nullref.patch" diff --git a/user/gtk4/vulkan-nullref.patch b/user/gtk4/vulkan-nullref.patch new file mode 100644 index 000000000..464415901 --- /dev/null +++ b/user/gtk4/vulkan-nullref.patch @@ -0,0 +1,69 @@ +From d4350c0fe535a759abd7898c7f251738242d1408 Mon Sep 17 00:00:00 2001 +From: Benjamin Otte <otte@redhat.com> +Date: Thu, 24 Apr 2025 03:36:15 +0200 +Subject: [PATCH] vulkan: Handle not being compiled against Vulkan + +The Vulkan renderer should work and just fail to realize. +Currently it SEGVs with a NULL function call. + +Part-of: <https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/8506> +--- + gsk/gpu/gskvulkanrenderer.c | 22 ++++++++++++++++++++-- + 1 file changed, 20 insertions(+), 2 deletions(-) + +diff --git a/gsk/gpu/gskvulkanrenderer.c b/gsk/gpu/gskvulkanrenderer.c +index a5f827df839..6282c0b51c1 100644 +--- a/gsk/gpu/gskvulkanrenderer.c ++++ b/gsk/gpu/gskvulkanrenderer.c +@@ -4,6 +4,8 @@ + + #include "gskgpurendererprivate.h" + ++#include <glib/gi18n-lib.h> ++ + #ifdef GDK_RENDERING_VULKAN + + #include "gskvulkandeviceprivate.h" +@@ -143,14 +145,28 @@ gsk_vulkan_renderer_unrealize (GskRenderer *renderer) + + GSK_RENDERER_CLASS (gsk_vulkan_renderer_parent_class)->unrealize (renderer); + } +-#endif ++ ++#else /* !GDK_RENDERING_VULKAN */ ++ ++static gboolean ++gsk_vulkan_renderer_realize (GskRenderer *renderer, ++ GdkDisplay *display, ++ GdkSurface *surface, ++ GError **error) ++{ ++ g_set_error_literal (error, GDK_VULKAN_ERROR, GDK_VULKAN_ERROR_NOT_AVAILABLE, ++ _("Vulkan support disabled during GTK build")); ++ ++ return FALSE; ++} ++#endif /* GDK_RENDERING_VULKAN */ + + static void + gsk_vulkan_renderer_class_init (GskVulkanRendererClass *klass) + { ++ GskRendererClass *renderer_class = GSK_RENDERER_CLASS (klass); + #ifdef GDK_RENDERING_VULKAN + GskGpuRendererClass *gpu_renderer_class = GSK_GPU_RENDERER_CLASS (klass); +- GskRendererClass *renderer_class = GSK_RENDERER_CLASS (klass); + + gpu_renderer_class->frame_type = GSK_TYPE_VULKAN_FRAME; + +@@ -162,6 +178,8 @@ gsk_vulkan_renderer_class_init (GskVulkanRendererClass *klass) + gpu_renderer_class->get_backbuffer = gsk_vulkan_renderer_get_backbuffer; + + renderer_class->unrealize = gsk_vulkan_renderer_unrealize; ++#else ++ renderer_class->realize = gsk_vulkan_renderer_realize; + #endif + } + +-- +GitLab + diff --git a/user/harfbuzz/APKBUILD b/user/harfbuzz/APKBUILD index 1172a14cd..be03db054 100644 --- a/user/harfbuzz/APKBUILD +++ b/user/harfbuzz/APKBUILD @@ -1,44 +1,44 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> -# Maintainer: +# Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=harfbuzz -pkgver=2.6.8 +pkgver=11.2.0 pkgrel=0 pkgdesc="Text shaping library" url="https://www.freedesktop.org/wiki/Software/HarfBuzz" arch="all" -options="!check" # tests depend on certain freetype behaviours license="MIT" depends="" makedepends="cairo-dev freetype-dev glib-dev gobject-introspection-dev icu-dev - graphite2-dev" + graphite2-dev gtk-doc meson" checkdepends="python3" -subpackages="$pkgname-dev $pkgname-icu" +subpackages="$pkgname-dev $pkgname-doc $pkgname-icu" source="https://github.com/$pkgname/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.xz" build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ + meson setup \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var \ - --disable-static \ - --with-glib \ - --with-gobject \ - --with-graphite2 \ - --with-icu \ - --with-truetype - make + -Dcairo=enabled \ + -Ddocs=enabled \ + -Dfreetype=enabled \ + -Dglib=enabled \ + -Dgobject=enabled \ + -Dgraphite2=enabled \ + -Dicu=enabled \ + build + + meson compile -C build } check() { - make check + meson test -C build } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build } dev() { @@ -49,8 +49,9 @@ dev() { icu() { pkgdesc="Harfbuzz ICU support library" replaces="harfbuzz" + install_if="harfbuzz=$pkgver-r$pkgrel icu-libs" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/lib*icu.so.* "$subpkgdir"/usr/lib/ } -sha512sums="651b23d7d4fab6fef472ee57db39bbaebc31c2f40ea3a482c1499ad1a7b549b86a2bccbe9da191c8e9ecdf464191dd3c9a7485546b51695ad8ab3c0329732d9d harfbuzz-2.6.8.tar.xz" +sha512sums="108a164e5277f76f535bbd1c3744b1f78897e714376c2f61c1171b95d5004a0ab99179efdd92063f7677b30d5c1ab4e0a40612bf60d672af9f03bdd24b1edefa harfbuzz-11.2.0.tar.xz" diff --git a/user/hfsutils/APKBUILD b/user/hfsutils/APKBUILD new file mode 100644 index 000000000..a459530da --- /dev/null +++ b/user/hfsutils/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Síle Ekaterin Liszka <sheila@adelielinux.org> +# Maintainer: Síle Ekaterin Liszka <sheila@adelielinux.org> +pkgname=hfsutils +pkgver=3.2.6 +pkgrel=0 +pkgdesc="Utilities for working with HFS(+) filesystems" +url="https://www.mars.org/home/rob/proj/hfs/" +arch="all" +license="GPL-2.0+" +depends="" +makedepends="" +subpackages="$pkgname-doc" +source="ftp://ftp.mars.org/pub/hfs/${pkgname}-${pkgver}.tar.gz + fix-missing-header.patch + " + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + make check +} + +package() { + for i in hattrib hcd hcopy hdel hdir hformat hfsutil hls hmkdir hmount hpwd hrename hrmdir humount hvol; do + install -Dm755 "$i" "$pkgdir/usr/bin/$i" + done + find doc/man -name '*.1' | while read i; do + install -Dm644 "$i" "$pkgdir/usr/share/man/1/$i" + done +} + +sha512sums="0db3050e5969c4e4e6c6ddb10cbc221a5837eb1e12f9331e7129511d31a4ec8d38420ed0b948dadc85ed990f3b1085e930eb7f0c37b3883866d963e47cbbb173 hfsutils-3.2.6.tar.gz +44e8304d469104c8400f88d392a4e7ffec82c41919a08514233dbe7c6509077a76920738deabd6bc2622c5c8b200a29d5ca4b4bc109dee01a63cb405674c8502 fix-missing-header.patch" diff --git a/user/hfsutils/fix-missing-header.patch b/user/hfsutils/fix-missing-header.patch new file mode 100644 index 000000000..eb71bd351 --- /dev/null +++ b/user/hfsutils/fix-missing-header.patch @@ -0,0 +1,11 @@ +diff -ur a/hpwd.c b/hpwd.c +--- a/hpwd.c 2024-12-08 04:40:31.343764325 +0000 ++++ b/hpwd.c 2024-12-08 04:40:45.768172918 +0000 +@@ -24,6 +24,7 @@ + # endif + + # include <stdio.h> ++# include <string.h> + + # include "hfs.h" + # include "hcwd.h" diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD index 260ddc9b6..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() { @@ -86,7 +86,7 @@ qt5() { chmod 4755 "$subpkgdir"/usr/bin/horizon-run-qt5 chmod 1777 "$subpkgdir"/etc/horizon - /usr/sbin/setcap cap_sys_time+ep "$subpkgdir"/usr/bin/horizon-qt5 + /sbin/setcap cap_sys_time+ep "$subpkgdir"/usr/bin/horizon-qt5 } tools() { @@ -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/hwdata/APKBUILD b/user/hwdata/APKBUILD new file mode 100644 index 000000000..3fe37795a --- /dev/null +++ b/user/hwdata/APKBUILD @@ -0,0 +1,38 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=hwdata +pkgver=0.385 +pkgrel=0 +pkgdesc="Databases of hardware identification and configuration data" +url="https://github.com/vcrhonek/hwdata" +arch="noarch" +options="!check" # running tests creates dependency loop +license="GPL-2.0-only" +depends="" +checkdepends="pciutils python3" +makedepends="" +subpackages="" +source="hwdata-$pkgver.tar.gz::https://github.com/vcrhonek/hwdata/archive/refs/tags/v$pkgver.tar.gz" +replaces="hwids hwids-net hwids-pci hwids-udev hwids-usb" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var + make +} + +check() { + ln -s /usr/bin/python3 python + PATH="$PATH:." make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="713274b6e938383bb27fa20dcc9f77a73b462366f6ae33eaa6f7d2e089a69f0d9c03b90a59c1302fdffa642da953435f1f13e3eb21b6521c2cf304c701aa83a6 hwdata-0.385.tar.gz" diff --git a/user/hwids/APKBUILD b/user/hwids/APKBUILD deleted file mode 100644 index 183bda57d..000000000 --- a/user/hwids/APKBUILD +++ /dev/null @@ -1,67 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=hwids -pkgver=20200306 -pkgrel=0 -pkgdesc="Hardware identification databases" -url="https://github.com/gentoo/hwids/" -arch="noarch" -options="!check" # No test suite, just databases. -license="BSD-3-Clause OR GPL-2.0+" -subpackages="$pkgname-net $pkgname-pci $pkgname-udev $pkgname-usb" -depends="$subpackages" -makedepends="eudev-dev" -subpackages="$subpackages $pkgname-doc" -source="https://github.com/gentoo/hwids/archive/hwids-$pkgver.tar.gz" -builddir="$srcdir/hwids-hwids-$pkgver" - -build() { - make UDEV=yes -} - -package() { - make DESTDIR="$pkgdir" DOCDIR="/usr/share/doc/$pkgname-$pkgver" \ - MISCDIR="/usr/share/hwdata" UDEV=yes install -} - -_mv() { - pkgdesc="$pkgdesc ($1)" - shift - depends="" - mkdir -p "$subpkgdir"/usr/share/hwdata - for _file in $*; do - mv "$pkgdir"/usr/share/hwdata/$_file "$subpkgdir"/usr/share/hwdata - done -} - -usb() { - replaces="hwdata-usb" - provides="hwdata-usb=$pkgver-r$pkgrel" - _mv "USB IDs" usb.ids -} - -pci() { - replaces="hwdata-pci" - provides="hwdata-pci=$pkgver-r$pkgrel" - _mv "PCI IDs" pci.ids -} - -net() { - replaces="hwdata-oui" - provides="hwdata-oui=$pkgver-r$pkgrel" - license="Public-Domain" - _mv "Networking OUIs" oui.txt iab.txt -} - -udev() { - install_if="hwids=$pkgver-r$pkgrel eudev" - install_if="hwids-pci=$pkgver-r$pkgrel eudev" - install_if="hwids-usb=$pkgver-r$pkgrel eudev" - pkgdesc="$pkgdesc (udev integration)" - - mkdir -p "$subpkgdir"/ - mv "$pkgdir"/lib "$subpkgdir"/ - mv "$pkgdir"/etc "$subpkgdir"/ -} - -sha512sums="eff1d2783925ca459b387fbaa5cf68a98aa4209ab8509ad92a902b4d02cc7f4a47e5506c2beed4c792d24a8ab636ad77b376a92b59ae4f605d1b5258350ff250 hwids-20200306.tar.gz" diff --git a/user/hyperfine/APKBUILD b/user/hyperfine/APKBUILD new file mode 100644 index 000000000..ee21cbd2a --- /dev/null +++ b/user/hyperfine/APKBUILD @@ -0,0 +1,376 @@ +# Contributor: Zach van Rijn <me@zv.io> +# Maintainer: Zach van Rijn <me@zv.io> +pkgname=hyperfine +pkgver=1.19.0 +pkgrel=0 +pkgdesc="A command-line benchmarking tool" +url="https://github.com/sharkdp/hyperfine" +arch="all" +license="Apache-2.0 OR MIT" +depends="" +makedepends="cargo" +subpackages="" +source="hyperfine-$pkgver.tar.gz::https://github.com/sharkdp/hyperfine/archive/refs/tags/v$pkgver.tar.gz" + +# dependencies taken from Cargo.lock +cargo_deps=" +ahash 0.7.8 +aho-corasick 1.1.3 +anstream 0.6.18 +anstyle 1.0.10 +anstyle-parse 0.2.6 +anstyle-query 1.1.2 +anstyle-wincon 3.0.6 +anyhow 1.0.93 +approx 0.5.1 +arrayvec 0.7.6 +assert_cmd 2.0.16 +autocfg 0.1.8 +autocfg 1.4.0 +bitflags 1.3.2 +bitflags 2.6.0 +bitvec 1.0.1 +borsh 1.5.2 +borsh-derive 1.5.2 +bstr 1.10.0 +bytecheck 0.6.12 +bytecheck_derive 0.6.12 +byteorder 1.5.0 +bytes 1.8.0 +cfg-if 1.0.0 +cfg_aliases 0.2.1 +clap 4.5.20 +clap_builder 4.5.20 +clap_complete 4.5.37 +clap_lex 0.7.2 +cloudabi 0.0.3 +colorchoice 1.0.3 +colored 2.1.0 +console 0.15.8 +csv 1.3.1 +csv-core 0.1.11 +difflib 0.4.0 +doc-comment 0.3.3 +encode_unicode 0.3.6 +equivalent 1.0.1 +errno 0.3.9 +fastrand 2.2.0 +float-cmp 0.9.0 +fuchsia-cprng 0.1.1 +funty 2.0.0 +getrandom 0.2.15 +hashbrown 0.12.3 +hashbrown 0.15.1 +indexmap 2.6.0 +indicatif 0.17.4 +instant 0.1.13 +is_terminal_polyfill 1.70.1 +itoa 1.0.11 +lazy_static 1.5.0 +libc 0.2.162 +linux-raw-sys 0.4.14 +memchr 2.7.4 +nix 0.29.0 +normalize-line-endings 0.3.0 +num 0.2.1 +num-bigint 0.2.6 +num-complex 0.2.4 +num-integer 0.1.46 +num-iter 0.1.45 +num-rational 0.2.4 +num-traits 0.2.19 +number_prefix 0.4.0 +once_cell 1.20.2 +portable-atomic 1.9.0 +ppv-lite86 0.2.20 +predicates 3.1.2 +predicates-core 1.0.8 +predicates-tree 1.0.11 +proc-macro-crate 3.2.0 +proc-macro2 1.0.89 +ptr_meta 0.1.4 +ptr_meta_derive 0.1.4 +quote 1.0.37 +radium 0.7.0 +rand 0.6.5 +rand 0.8.5 +rand_chacha 0.1.1 +rand_chacha 0.3.1 +rand_core 0.3.1 +rand_core 0.4.2 +rand_core 0.6.4 +rand_hc 0.1.0 +rand_isaac 0.1.1 +rand_jitter 0.1.4 +rand_os 0.1.3 +rand_pcg 0.1.2 +rand_xorshift 0.1.1 +rdrand 0.4.0 +regex 1.11.1 +regex-automata 0.4.8 +regex-syntax 0.8.5 +rend 0.4.2 +rkyv 0.7.45 +rkyv_derive 0.7.45 +rust_decimal 1.36.0 +rustix 0.38.40 +ryu 1.0.18 +seahash 4.1.0 +serde 1.0.214 +serde_derive 1.0.214 +serde_json 1.0.132 +shell-words 1.1.0 +simdutf8 0.1.5 +statistical 1.0.0 +strsim 0.11.1 +syn 1.0.109 +syn 2.0.87 +tap 1.0.1 +tempfile 3.14.0 +terminal_size 0.4.0 +termtree 0.4.1 +thiserror 2.0.3 +thiserror-impl 2.0.3 +tinyvec 1.8.0 +tinyvec_macros 0.1.1 +toml_datetime 0.6.8 +toml_edit 0.22.22 +unicode-ident 1.0.13 +unicode-width 0.1.14 +utf8parse 0.2.2 +uuid 1.11.0 +version_check 0.9.5 +wait-timeout 0.2.0 +wasi 0.11.0+wasi-snapshot-preview1 +winapi 0.3.9 +winapi-i686-pc-windows-gnu 0.4.0 +winapi-x86_64-pc-windows-gnu 0.4.0 +windows-sys 0.48.0 +windows-sys 0.52.0 +windows-sys 0.59.0 +windows-targets 0.48.5 +windows-targets 0.52.6 +windows_aarch64_gnullvm 0.48.5 +windows_aarch64_gnullvm 0.52.6 +windows_aarch64_msvc 0.48.5 +windows_aarch64_msvc 0.52.6 +windows_i686_gnu 0.48.5 +windows_i686_gnu 0.52.6 +windows_i686_gnullvm 0.52.6 +windows_i686_msvc 0.48.5 +windows_i686_msvc 0.52.6 +windows_x86_64_gnu 0.48.5 +windows_x86_64_gnu 0.52.6 +windows_x86_64_gnullvm 0.48.5 +windows_x86_64_gnullvm 0.52.6 +windows_x86_64_msvc 0.48.5 +windows_x86_64_msvc 0.52.6 +winnow 0.6.20 +wyz 0.5.1 +zerocopy 0.7.35 +zerocopy-derive 0.7.35 +" + +source="$source $(echo "$cargo_deps" | sed -E 's#^([^ ]+) ([^ ]+)$#\1-\2.tar.gz::https://crates.io/api/v1/crates/\1/\2/download#g')" + +prepare() { + export CARGO_HOME="$srcdir/cargo-home" + export CARGO_VENDOR="$CARGO_HOME/adelie" + + (builddir=$srcdir; default_prepare) + + mkdir -p "$CARGO_VENDOR" + cat <<- EOF > "$CARGO_HOME/config" + [source.adelie] + directory = "${CARGO_VENDOR}" + + [source.crates-io] + replace-with = "adelie" + local-registry = "/nonexistant" + EOF + + echo "$cargo_deps" | while read -r _dep _ver; do + [ -n "$_dep" ] || continue + _dep="$_dep-$_ver" + ln -s "$srcdir/$_dep" "$CARGO_VENDOR/$_dep" + _sum=$(sha256sum "$srcdir/$_dep.tar.gz" | cut -d' ' -f1) + cat <<- EOF > "$CARGO_VENDOR/$_dep/.cargo-checksum.json" + { + "package":"$_sum", + "files":{} + } + EOF + done +} + +build() { + export CARGO_HOME="$srcdir/cargo-home" + cargo build --release -j $JOBS +} + +check() { + export CARGO_HOME="$srcdir/cargo-home" + export PATH="$PATH:$srcdir/$pkgname-$pkgver/hyperfine/target/release" + cargo test -j $JOBS --release +} + +package() { + install -Dm755 target/release/hyperfine -t "$pkgdir"/usr/bin/ +} + +sha512sums="91e3b497844944bc11afaba07488dac9803b145d69259064c9a510cf76039baa2e025751743bf3230d114b31d7eb46e017c99d38506f0b6fcf2b9a3623352e8e hyperfine-1.19.0.tar.gz +63677b2001d633ecabb36c08bd92e00b5fa71f24aed1c4601d12d846ea06aeaf093c37cfe1f6642147800caa6c749e9a202aa21f9ab4799efa379ad0d952a2ee ahash-0.7.8.tar.gz +ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 aho-corasick-1.1.3.tar.gz +5149977d6f7b5e9cf6350f1ef130caa3ff46c7e78976358452a185ce196cdd77fee48a3a9838f434ae6ea9c15b19f6bfbab156edf819f81179d6774318f08963 anstream-0.6.18.tar.gz +621e7a89fad13db985f07375d316cf8efba57fd44ae18628a8049a65aefbaef27949f99317872e91e0922bb089a00234055199ea3167f80ae03d00ada4f75dea anstyle-1.0.10.tar.gz +e28c9818afcda0e9b84c205d9c6697ce64cb06c21df2c3666869c07d66893105d9c5e96a27fcf2410a09f6af00735252e22b5c7d8c6cb3f68c4a8f376c49d396 anstyle-parse-0.2.6.tar.gz +26069d936c4b1fb09bc65cda0253fe9be8fa4e96c0821f980c772602b4e9230035ec8c9d092ef95e0a0354ac559f8d25f57a14c34086d4d241b5fba688951837 anstyle-query-1.1.2.tar.gz +59ec6f5a53bd68b6344d82e923eb8c45ddac481dd0d270a7b452dc5b0540ee1656705697c1508942ecc131e7c075248c85d8f4159f27d97ea94f22469ce2eeb5 anstyle-wincon-3.0.6.tar.gz +237b36bdefeaf8dd2f7d4c5c92d8f7627a5206ded5fa3dafd5710f2fbd3dd7d7187d4a8ae917ae03d0cf06bc8d101a7663bb7bb022507ac1ec88577a37475efc anyhow-1.0.93.tar.gz +c6d768496c974b6ff4cf7ad8e65f3fc9faf29a1957da497968ee112c6a0b9d7a0ff9a2579206e864976c0f65ed2190bc9d2b63b31a09ced7b57879e207c46407 approx-0.5.1.tar.gz +b1f320746018a7f32340a833420089446ec5cefb7f299b4506eab7423d5db49f00b72d8aa8c6600f9159b9480d5eb3ce69407d93f5c9934147860c83e4d6eca8 arrayvec-0.7.6.tar.gz +0b9167282d75169b0b1fad0b1401b42884185976ae0dd690851671aedbc1a9af26dd33f3047400eb4a1b5070216acc293aade149aded7e4f86dd5c0ef0e9a6a9 assert_cmd-2.0.16.tar.gz +d6156e0a8701f38c20b693380ed1ac5b15f84bc87c5ae0541483b9b387e6118d8673d8e5da5f4eee4d736c777e923d3fba7f61589a49c353170a708a709d8db5 autocfg-0.1.8.tar.gz +3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c autocfg-1.4.0.tar.gz +3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 bitflags-1.3.2.tar.gz +f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf bitflags-2.6.0.tar.gz +83d643c5aca020ebbe9094b5aaba6a796e7c3c509228a4348444e57a06bc3a5dd042eed57a2254d91661e73bdab2bc0d1bd02be376906acc6b6d75b5354a8d8e bitvec-1.0.1.tar.gz +3500f00806cd26cd7431f9a3d097cb0f30fb4b0fe1bf0346978cfbdd07915e31cb8bc6721426bb365351a9e89ec8b7c6397c87c966852c8f4d00862fc7b4a7ce borsh-1.5.2.tar.gz +f3a9b1d588eb7e6147a63560d71557622f6b947728b926a25aa85bd56c26a4648dc96bf60875531fffee23c13235b6b412f3386f0ab9e454f4915af7ce66773a borsh-derive-1.5.2.tar.gz +823abdbda9b13802facc7d6b1ed9ad809ed3b0b827d26e418348ffb8481b5f5735f129c5a9a8c7b2ab010d7f32ca57cba69a1ee10a64225c54c6ceacd22c05d2 bstr-1.10.0.tar.gz +49a85f9bbfe8bccceffcd94e3eac1f4407d93159358428ea07652714e06e97fbcb41f22f72d9d10318bc9a019be8afc99727764162f18e8de01ea4069f44dda6 bytecheck-0.6.12.tar.gz +57f8480ddb76d8620095962acd203231fb7938c0caf9c216d89466f22464a6970f13adca5f4d5b10c9e1ec99d6e0b260ba7586c2bb895fad0380f8f9ac9a4fc8 bytecheck_derive-0.6.12.tar.gz +96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f byteorder-1.5.0.tar.gz +a721724e5cbfc73b79102a9c4a00fc9da520417819ca5c82b798c8cfb45af3d77b33f7035ad33d6187399c613cc2e83644236ac772aec934f521f87d4680059a bytes-1.8.0.tar.gz +0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff cfg-if-1.0.0.tar.gz +74969d12d5d24002a29e08d52e30fbce014dd481a7c35ee0162e69333c5f2d7755f3b02439b31522e12444cf1ac8e65880ce33fe6778dac03757e362cbf8a72c cfg_aliases-0.2.1.tar.gz +e432a118a2ec15b273a404c3cb75bbe579b11034ba55def1823d4670c6553e3d8611074a24f50a0f4adc8bda184213b06106c44c68a19d267342c53e345351d4 clap-4.5.20.tar.gz +e914c8b6592f9d230b4f4290cf4b4d73d0160c12a1fa3976c74bad21ff16da532d6af792f0a33fa472166f1cd551291b5d1d71fe8b359040040418694ec52000 clap_builder-4.5.20.tar.gz +5c864ea85f0823ec91a1c9693720853dd5bc5804daee9a0607bf14e9f5fe40b536bdb3b935d1e96e535d896a272d7fa1f99eba6983ec94bb630ab0c36cefbabb clap_complete-4.5.37.tar.gz +a8726397e5372fca3389748efdfdbd016b6baedad5b4bd95f33e4e820d4f40e0b94c88b1918ded3678aecf23911028e2261837e73d58ba7fd6f091eb47267380 clap_lex-0.7.2.tar.gz +691ed793e9b35ba382f03897f4c0efc31a528394862a27b814ba8993ad30bbe0ebc9808484baf580e8b69d9c13ad1612776a1efd0f6981545b420139ff83592c cloudabi-0.0.3.tar.gz +fc26696189d3935d5510a1237504339c1f354d03ffd3b4e830b7080335aa778bc72787ac5fa9a67a731b9bde2788da778d497f2ef97ec68bdec5145fedf4cd14 colorchoice-1.0.3.tar.gz +fa70f18fb29f6870a727d8243808c96e9497f8302f5f2b1748f9d9e396031e9c53a025b8edc9c8c9a0f8cfca12e5da73250a71e382b3074e9415b85bc004769e colored-2.1.0.tar.gz +b05e49ed145785e29631d481885788f0cc5574d4d7c4d90280dfedaee7f8c1515072c9c4cfe6bd2e017230cd228157222af7e7d41a9fce697cd1888095df4de9 console-0.15.8.tar.gz +6b0be5e017b2b2cb926d11d7a36cdae1bf0ddb56165127f25f6fd55956f95a572ed7e054f863610e91c9c2329f5af0eee9678f9020644800587d6daa5a94755b csv-1.3.1.tar.gz +0445c8a4d4d0f90f03e5d6507c26454aaeac0b355fb39d19e1676a7cb27b4372db3541367ce838d38151862b7bfbf19750cb550e24e74ab5e07ae9bb4edeedee csv-core-0.1.11.tar.gz +fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9 difflib-0.4.0.tar.gz +e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba doc-comment-0.3.3.tar.gz +64193d6ac75f66d58ed864169b5d6228ede36dcf100614395e086bc8e847a3ddd287734d88e8ed50f38c679a99c80ec68449175a67d8ee03b02ec1cfa9d55e77 encode_unicode-0.3.6.tar.gz +b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 equivalent-1.0.1.tar.gz +777fbac5730d420d58275ef63b7579997d8e6c72106d483ee1e3b1f1ce3977f1f66c56870a05acaa4cfacacb820eaf963e9c763748759cff3668fa2e6f89f04a errno-0.3.9.tar.gz +de2835aee8d5380a6e1c0f627a876594626e1379f2f7dbd3ad0f785d7c3f3f82162c9c20a68417324506f78264cb9dbcfb2d4d5dc9ca666996150979738822e4 fastrand-2.2.0.tar.gz +f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8 float-cmp-0.9.0.tar.gz +ea9f5beb0dfcb023c22cfc2b37ce52dfcf3a2cbbed0f79ffffc332878858386805c65dce8469a431002367562d857a6c064e075688540c27fcb4056a110059d2 fuchsia-cprng-0.1.1.tar.gz +691e1c275b648110ef42c4adece8178cf037bad40d469780280eb2ebe07aa4b0406737c5ba02c9f9f63ee57a99fec27e5e51712e2113655f7522c8678f689155 funty-2.0.0.tar.gz +04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb getrandom-0.2.15.tar.gz +b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 hashbrown-0.12.3.tar.gz +8bdd4966b336f5d5b184cf14d4a7e625d184d8f3f0782845c746f374f92425055def71e64087fb3a3770fd9b2d9ed40310fa45f60e56d298accaf9c500add841 hashbrown-0.15.1.tar.gz +c870348691f5acf97e7bff25c805e60f2e9db9e3ee7b3b939b7be45b6bcfaadee9880e6ad27adbbe2545865193655b5fa9de18487b7a1d030017b2fca48616ca indexmap-2.6.0.tar.gz +54c92f028dc5aded5e1a947afc09c33930f0439d7ee55e9dca66ccc2af6860e7b67cd8153bbdb33dff962ffd03dc0004eace2e69135c11a867331f0ef3e9bf6d indicatif-0.17.4.tar.gz +b7839431e8920c4c0841d0974eede75fc50f2bb7a9475664bd2c4ff6c558a10084e1c025e5be977c3364ae9112c365c0a6f480cb9b35ee4130ca2beebcf650a9 instant-0.1.13.tar.gz +4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 is_terminal_polyfill-1.70.1.tar.gz +7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311 itoa-1.0.11.tar.gz +6d2f9887cd7f34f019644e42f02f2bf0111accd73aeaa60973ba0b039b6774670debece1ea9a6978e923208ef5d3ab7326473ee3560c078817f0f7ab8ed0f65f lazy_static-1.5.0.tar.gz +f43e294d587e7cd9c2da9b67be83fc70801ea66c318342cf1e11556566ecc1c8a612925770d85c75af1e887b425f326fac59229b78877d2377092243ea8e6a99 libc-0.2.162.tar.gz +28149660bd975ede05624af3582d5c78f498239f5d89713c2c32f5372fc16f4ca024dec35f81ea973a2cf986098890395dbda06ac6cf4ee29df3f9a0e11eaea7 linux-raw-sys-0.4.14.tar.gz +8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 memchr-2.7.4.tar.gz +86c05084aa0e6238f8d48df0f5ce6e6d7661b589f4f3fbdad43387c59c0d6afafea4badf25d31db1611615de19a0b9ef18ce614846b79a47cad4e2c9367dbe7f nix-0.29.0.tar.gz +f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea normalize-line-endings-0.3.0.tar.gz +9d094e0a29b2bb42d382d5167150418bc2ed81e8deb3c6636c99c86ca14abf5f69b82a49f1678dd110119eeaec2f476fe7a5d57e60558473a6b7c710dec7f778 num-0.2.1.tar.gz +19c1ff0ae6fdfc690ccfe4fe6008c102e50ab9bf6b1f4e4f04a348d217d4d9d538585945466b72b70713053bcfd73685d1a907e41d135265d330bde996709eb8 num-bigint-0.2.6.tar.gz +53be64d6f67b1ff7d0a4e1723ae21035abfd300ab27bed0976e0c3903fe8e29f47ffe75040832ee2f81da5c2f4f671d3d845d308365b9a5a989ace99a7d463ea num-complex-0.2.4.tar.gz +e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae num-integer-0.1.46.tar.gz +6195c7bd5f904e9f0aeee3ce17b42c0383d053f9d37954a9ce3b4ff0a048afa121c9a37aa9c74b9ace7353d7fd9f57a7d04c7a18e1456fc2c4c298d8ecfd0172 num-iter-0.1.45.tar.gz +06e55f17a1ea58fd465a232ebd687686c922669f0b561f648717164f3fcc8fe2bb43213d1e6377158d2542f633ef2e1482a7c3cef8090328c34feacf7f9bdd93 num-rational-0.2.4.tar.gz +180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 num-traits-0.2.19.tar.gz +a43b668d7314218b86ca7451daa9dfef71f6c9f6616bc34c12d94ae6030f182bcca9da83905cb46f3d49d0aa81385a787e92e4f3ae239658067adc249f8174df number_prefix-0.4.0.tar.gz +bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 once_cell-1.20.2.tar.gz +1431a4c092f6a0cb50bcc78488d603c8ba8f4ee697f77fdcfcce7002fcb371f52a321089422c76564fbf3277c48e30f889565747951c60360d95a6917bb6adeb portable-atomic-1.9.0.tar.gz +6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 ppv-lite86-0.2.20.tar.gz +50896189f39842ef424aebc12c2633112fda83eba1bdeaa3e6f398db1e28dca0cc7838948f25e67f6fceede1a91a1b0ede5d4dc4edac6da752e48c7a07bbe3ae predicates-3.1.2.tar.gz +8cfd010b70aa694620d6c573bd8ddc50ea16ba08f6c737902ba6697307af4510b9298ffcc3068b45bdc6430103db6fb4499783c64044d87d023bea46d45d0f7c predicates-core-1.0.8.tar.gz +e1b08010f9cab65c75d82cc44cfdf64d92127acf6a72ee0ce1533e5d7d8027ccab912e1c499b7b78508b5e3cb20dc03df94de3dd520ae13736906a5f374b10cd predicates-tree-1.0.11.tar.gz +41479ec5e414a8b05dffaa0ece21122387d5165a54e60d8ee3502f8a3c0a2ac0247f56996f933d5d77f1efe41a56bffe16874e8c6a34b66100cf047e4b760863 proc-macro-crate-3.2.0.tar.gz +488ab38a04df1d0330309382a7e4f667238cbc9b4d513da6a8f5718f8a762f76cc122af67fefe8f4b021a286b3d23e3ec83d781fe6ac823042a6daf14d147e2f proc-macro2-1.0.89.tar.gz +9936264dd52ae40e6afc8cef8914dbdc5767f397b91ea965d65275fe547a2d9cde7ccdcf908f787e25f84fbc23a2e30df895793fca308e09f48f2adf2e30d2bf ptr_meta-0.1.4.tar.gz +15a72b2c36e9d1761c4dd42cee1623c2d85c52eadc3c3102c8334c14c9c5db9a43d74dbbab1d14a2600d789917fcb5bc2652877b172aaa02c37a6868462ff20e ptr_meta_derive-0.1.4.tar.gz +c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05 quote-1.0.37.tar.gz +51e23cf52997b46c0018a94b0259b29d7bf33ddba19f6db406ca57ee5b1417d7e5f27dda3bb487d0099886011a97f238e8b3dd4d6c86e8464c0b471c1a7622a0 radium-0.7.0.tar.gz +2eb84bed29708b8ba109f4329bf6f1cac6caed9d91b2aaf185d68dd2eda73d3fb7be2897d0596fb28352e799ccf92c161ee44599d5cb426ba9c3b8c747831904 rand-0.6.5.tar.gz +8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 rand-0.8.5.tar.gz +200d39362ffd6d91cfe80634e951c7323a5df8a382c91e3afcef1ecb143a16dc47a17db7f1a746b18e4ea8bfd36bc31ceaeff6d0116e166f8b34e4a8530b3c1b rand_chacha-0.1.1.tar.gz +8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 rand_chacha-0.3.1.tar.gz +5a7ae601124502bede760fd3179c2b28059ebc3b5983bfcb6b8fa62fb58df95cedc1aeb2734e792d894dfa4620801c13c29702f9cbee64243121575d4b6b9114 rand_core-0.3.1.tar.gz +f7ae3b690e2cc1fbf2707ee04b752bc5472433f737ab581f9872f7c5660966bc6be45f0c5d2cd8771105df6d4a9d206c55f5cc6ffc1693b46e1ae03a2883b028 rand_core-0.4.2.tar.gz +36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 rand_core-0.6.4.tar.gz +808d8c167daa66a2608884d5d3f1444cdb21f8ca1c61e59fc9bdfb506a634ebb22c0143cfc0574e15313f82559fd2d117a46910eba3b4eb7e0052ec280f5cd2f rand_hc-0.1.0.tar.gz +9e8f6c79abc53352c971f8182dcaa7979904d5649eec9008262bb0aaf0585b4c4817351cd80ffa8d07f172ff4c82d85a09ef2642a08f608fc6be3e246ed7f82e rand_isaac-0.1.1.tar.gz +fe3791612cf82bd0ad1a115c442b4a007141647eecd48f49dff9a5d326c374663d9bd2e511c8d292e1dba44665359b522cd5d57ccd3a18598e88e42ee1670e4a rand_jitter-0.1.4.tar.gz +01e81a692b78df3b2bd65bc285e5052ccaf208c7d0ace414f251db4fcff7f9ae1502ee60ca5745c95e778d3d5efe15fa84153c17c422b6b6bfee829376c14575 rand_os-0.1.3.tar.gz +6bc684778ba60c2e48793d4759b40cb0d35b0bc20ca0fc39fdff7c3f8fe9082dd7b5d5f26a7f17bafc6f3568924eac1bbe45820b1c2b09c91731ea5487d76d9c rand_pcg-0.1.2.tar.gz +3205499ed2584467dedb4641a48f3ca8fedc263b1d9431d36a251af0bc4701d99ce4b5219d515b9b24210dd3ef2faace6efa886aa50f361e07f53dd0fb0841e5 rand_xorshift-0.1.1.tar.gz +6476275d124bee28747191471e8d8f321a3b1c148c1f2a7ece4175f5244a7de90afe5f99d2eba5244d886b92e38232398864bf90e6d434b09494533942c8d894 rdrand-0.4.0.tar.gz +d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8 regex-1.11.1.tar.gz +278e3e2ab230ed5fa7d4837e8ea879fae68ebf35c2da5cc3a67f46b7d593abbcf71e6326a0cf34e38edc0f3f2166ff42a4fcc17a400d9604429aa5b4be075a3f regex-automata-0.4.8.tar.gz +549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 regex-syntax-0.8.5.tar.gz +2df17191ce710e09927f6d17fa5e3432a154d605cf3b58bdd6a3037d69cc0b017007e23c16526a8879a89cc49e3a47d38ae5f6aca8b42cd05624fd15c9dc3529 rend-0.4.2.tar.gz +bac10c6e7e7f797e505cc8103c55ae2fd4b04a76631e085fcf1c8f2b05e52c064cb14145479dadc292995b7ca5bbab5235d54d8e651bf47623a0228f936f73c9 rkyv-0.7.45.tar.gz +ec48c62251a8c2b97de67da56cf6abff15cff1a329d7f8dd3e45e1175616f0dd1b32c2a9c0998086fc57d0084e7908cfd6000fff3eaa30a1776f8abd9cb00564 rkyv_derive-0.7.45.tar.gz +9dc8dbca6249991e4b8b2179f41bb51f2513bcf6f29490351989f04aeb7f1d15b88a8f13f7cdb666761c585d5e86397150c660883a334b9d4fdd96a08fdb5526 rust_decimal-1.36.0.tar.gz +a7482682e2f0321318c08cf17f69815779515c197815a2a9f228c728af4cff3684101b4a13656a1ff98933ee492e4a847a03b7f46d697f9c71552931734b2449 rustix-0.38.40.tar.gz +a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84 ryu-1.0.18.tar.gz +4d9111dd2e491c7f6d49e0b79a3c23628c02d6603ac46e88ed137ca737830003b549ccb38087679de2cf0b02a53065b89f8d79e0ac9ddb66844d970cc6383f8b seahash-4.1.0.tar.gz +100eac65a39b9b9c32c1671d36fa9cf8aca84a2673e24c2521fdbdb3ed9f932c71548f3f1a26b1e73dd7c92a34ffa8ed1c76eb173fa20d6e85736cdf8dc9a8ee serde-1.0.214.tar.gz +70bc0a31d344cfec8d30f2034beab25097ef76ab8d89947b21753f737759e5d4e60e5596e0c7994a7cc35993bae01148120f6cdf5239be25fb243056effa27f0 serde_derive-1.0.214.tar.gz +9d157ce7d705fee8245569e7c577310782b69675a6e459f21904544b824a1ca5c9b445d17419fee438dfeb6fcc35343ba14e022043fffade0210b6d2c1b5795e serde_json-1.0.132.tar.gz +05c280a8e1f65b205746560a82e397689a3b5ec934219b558ece3a25efbfdefe903f9172319240e96039b38fb2c4be6e070805aedbdfd10344d9144b9c93de00 shell-words-1.1.0.tar.gz +139668c7232f533d3439986474da5036efa32d4e0d21fa72e1283e27dbd0670984283d91c238e445be61317426f67cdb8d3f13738b2fb657563f866c8b6d89d6 simdutf8-0.1.5.tar.gz +00f58a7e1b8c818336fdf55def5a46b1347c5961b4fc27d156fc03f5c197af6f53f23485eea80b2b3ca6ce2acfb304fa4846904d85c6290d1750ad4b5a635c22 statistical-1.0.0.tar.gz +0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c strsim-0.11.1.tar.gz +12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d syn-1.0.109.tar.gz +bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2 syn-2.0.87.tar.gz +d69ff11a46e2fbc276212511878f48eb93640c0b147df6578ea057b23625f9366a7fc3926693fc3809688537af5ca919c91605beed364decf83c35a032310995 tap-1.0.1.tar.gz +98c1ab70eb3efd2d8b16ed58c8c83f8599663af7ef269304e908a04c38334f659a4d0b1647a13dc0d1eb90a293f1b37ec8ff0b9b45ef5b7ff1b4452bbfcdcb15 tempfile-3.14.0.tar.gz +b1a66cdf4e94997b5291f3becfac1e2a838f6c3f6c068faa1ff1aa775b2a97d41be2aff5460d88928786cfd7dc8dac5e2d46a62b475d40343e1fd517c6299897 terminal_size-0.4.0.tar.gz +ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062 termtree-0.4.1.tar.gz +f6a8e8e1bb6d6e10edc07c35f3141b4b3ecb46b943b4879dd8f8bef0306feaa5446d8e47b24cffeb4cd6c57b4715b86b2bc0716b4ef7dfdaeb080ecd29646c9a thiserror-2.0.3.tar.gz +50bb722db6bff4f18975312be61fbf201b8edb29a2c6420d8a2a1f2817403aa09c6de1269e7f952c4d4583f0dd2ab1eec45b26e5391b6bd69c6450c8e42019c1 thiserror-impl-2.0.3.tar.gz +b7b32e38229645965900f80f298685f13e6d13e58cfd6945409a6643ca9c9adc2621456956d5998ab9dd91c2db4ae79638b156ca0d9c7c5505023fd9b28414df tinyvec-1.8.0.tar.gz +10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e tinyvec_macros-0.1.1.tar.gz +d38b98db3b2d4eebd3001d88e2135b6fdbae63b200f7e900c6bb9c121dd3f170e557332bd26f237312c1cbef61666716b0cf550c2d730f86fa7cd9eb5f64a16f toml_datetime-0.6.8.tar.gz +0f98b371f7e27ae7f435a207c0915f942af145cc5dfabfe6d57f2b797efa3e706025401e501fccc6df70c001ce27051381556b8e7824447edd23ea25d047da4d toml_edit-0.22.22.tar.gz +5ba884f39debe9c8eb0b1d251ca713f7e2bc191d211707ed10cd81465487dbdca53914c19e131edfa1da15af132dc2c346260c3969c61e3747b63399ccb1cc51 unicode-ident-1.0.13.tar.gz +3c58a18776aa82cc13c761789a47901616cd98a30356f93d7eb05ae457314209d0a66213e2bbfa5eb8b59be6beacf62438234ce8daafa31b128dbf7d5d6fcadb unicode-width-0.1.14.tar.gz +f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 utf8parse-0.2.2.tar.gz +0cd1b95fc2247bf4e627de6abb41e332ebaf39e5720640e52b9f235f7a0e2d451e7a486efdabb616ce00e47832d21919611683d0e6a71c86a86f290940cfda32 uuid-1.11.0.tar.gz +d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db version_check-0.9.5.tar.gz +db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066 wait-timeout-0.2.0.tar.gz +043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f wasi-0.11.0+wasi-snapshot-preview1.tar.gz +ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 winapi-0.3.9.tar.gz +a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 winapi-i686-pc-windows-gnu-0.4.0.tar.gz +4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz +bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed windows-sys-0.48.0.tar.gz +24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 windows-sys-0.52.0.tar.gz +d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 windows-sys-0.59.0.tar.gz +e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709 windows-targets-0.48.5.tar.gz +d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f windows-targets-0.52.6.tar.gz +20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996 windows_aarch64_gnullvm-0.48.5.tar.gz +f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 windows_aarch64_gnullvm-0.52.6.tar.gz +223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff windows_aarch64_msvc-0.48.5.tar.gz +a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b windows_aarch64_msvc-0.52.6.tar.gz +931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a windows_i686_gnu-0.48.5.tar.gz +a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 windows_i686_gnu-0.52.6.tar.gz +95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f windows_i686_gnullvm-0.52.6.tar.gz +70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e windows_i686_msvc-0.48.5.tar.gz +ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 windows_i686_msvc-0.52.6.tar.gz +1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74 windows_x86_64_gnu-0.48.5.tar.gz +c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb windows_x86_64_gnu-0.52.6.tar.gz +c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa windows_x86_64_gnullvm-0.48.5.tar.gz +67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd windows_x86_64_gnullvm-0.52.6.tar.gz +fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0 windows_x86_64_msvc-0.48.5.tar.gz +21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 windows_x86_64_msvc-0.52.6.tar.gz +3347fdfb5b15ec73a40614ecd0cce60f41d3f2d083f49aaafceeaf5db52d5c677dc3eb39fcc2595999fc9f864d1fde81e180e09dc86a6f6124878e16e86e8bc8 winnow-0.6.20.tar.gz +15d86c167145c90e3fbabcefd11754fb1cb835896e32d1bb7f4b027e5b2092f5fdbdca4062c129bc38e655cb87c6a3f4e181747ee25d89db5e01fb1fcac18fe9 wyz-0.5.1.tar.gz +17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c zerocopy-0.7.35.tar.gz +dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb zerocopy-derive-0.7.35.tar.gz" diff --git a/user/iceauth/APKBUILD b/user/iceauth/APKBUILD index d388784b0..b01bdbd92 100644 --- a/user/iceauth/APKBUILD +++ b/user/iceauth/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=iceauth -pkgver=1.0.9 +pkgver=1.0.10 pkgrel=0 pkgdesc="X.Org ICE authority file utility" url="https://www.X.org/" @@ -28,4 +28,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="16b2f58008587cf1544037ca8b1c76dbb75eb043b3048b3064e66ba6b147962233f1453c2cf18bfb136dd6dd21d3e27b5219e17e1ab7b81dbe93fb6aff801a72 iceauth-1.0.9.tar.xz" +sha512sums="cfadac03a3f72f3c0bb58f67984a033847c76e7e3fdd9ebce583c0554d7f9484faf5053d878f5a82a543cdcc8e2ef8acecadb8830bd3c53584d7ec950cb51cc3 iceauth-1.0.10.tar.xz" diff --git a/user/ikona/APKBUILD b/user/ikona/APKBUILD deleted file mode 100644 index c70ad2e59..000000000 --- a/user/ikona/APKBUILD +++ /dev/null @@ -1,71 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=ikona -pkgver=1.0 -pkgrel=0 -pkgdesc="Icon preview utility" -url="https://kde.org/applications/graphics/org.kde.Ikona" -arch="all" -license="GPL-2.0+" -depends="" -makedepends="qt5-qtbase-dev qt5-qtdeclarative-dev cmake extra-cmake-modules - kconfigwidgets-dev ki18n-dev kirigami2-dev rust cargo - cairo-dev gdk-pixbuf-dev pango-dev" -subpackages="$pkgname-lang $pkgname-bash-completion:bashcomp:noarch - $pkgname-fish-completion:fishcomp:noarch - $pkgname-zsh-completion:zshcomp:noarch" -source="https://download.kde.org/stable/ikona/$pkgver/ikona-$pkgver.tar.xz - https://download.kde.org/stable/ikona/1.0/ikona-1.0.cargo.vendor.tar.xz - " - -unpack() { - default_unpack - mv "$srcdir"/ikona-1.0.cargo.vendor.tar.xz \ - "$builddir"/ikona.cargo.vendor.tar.xz -} - -build() { - if [ "$CBUILD" != "$CHOST" ]; then - CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" - fi - cmake \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_INSTALL_SYSCONFDIR=/etc \ - -DBUILD_SHARED_LIBS=True \ - -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_C_FLAGS="$CFLAGS" \ - ${CMAKE_CROSSOPTS} \ - . - make -} - -check() { - CTEST_OUTPUT_ON_FAILURE=TRUE ctest -} - -package() { - make DESTDIR="$pkgdir" install -} - -bashcomp() { - pkgdesc="$pkgdesc (Bash completions)" - mkdir -p "$subpkgdir"/etc - mv "$pkgdir"/etc/bash_completion.d "$subpkgdir"/etc/ -} - -fishcomp() { - pkgdesc="$pkgdesc (Fish completions)" - mkdir -p "$subpkgdir"/usr/share - mv "$pkgdir"/usr/share/fish "$subpkgdir"/usr/share/ -} - -zshcomp() { - pkgdesc="$pkgdesc (Z shell completions)" - mkdir -p "$subpkgdir"/usr/share - mv "$pkgdir"/usr/share/zsh "$subpkgdir"/usr/share/ -} - -sha512sums="30bde3f3b062ccf661ee8950c762412a6b9eebff625216641607cbae7f7f8123702c231cbce82acfb666a8b69c863e4b22e8daf79d1541b7c70781189ffee144 ikona-1.0.tar.xz -3bca0c7b66e603e7e06e0ac30c0cdb3d8c3baa812e600f322ef56a0be1692e57cc39348f1c40fdcfe07da6d4b624604cec0003f0d7e1be419462fff5832cd301 ikona-1.0.cargo.vendor.tar.xz" diff --git a/user/inih/APKBUILD b/user/inih/APKBUILD new file mode 100644 index 000000000..9d701cd95 --- /dev/null +++ b/user/inih/APKBUILD @@ -0,0 +1,38 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=inih +pkgver=58 +pkgrel=0 +pkgdesc="Simple .INI file parser in C" +url=" " +arch="all" +license="BSD-3-Clause" +depends="" +makedepends="meson" +subpackages="$pkgname-dev" +source="https://github.com/benhoyt/inih/archive/r58/$pkgname-$pkgver.tar.gz + testrun.patch + " +builddir="$srcdir/inih-r58" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + --wrap-mode=nofallback \ + . output + meson compile -C output +} + +check() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="d69f488299c1896e87ddd3dd20cd9db5848da7afa4c6159b8a99ba9a5d33f35cadfdb9f65d6f2fe31decdbadb8b43bf610ff2699df475e1f9ff045e343ac26ae inih-58.tar.gz +88f38fa41efa91a3eeef065251a6424fdfbb6d4ed975dfcce4730374f61f328ca2b13f3db123eed2c5ade9e54c1f797481dbcb284b22554dd89068053ead1035 testrun.patch" diff --git a/user/inih/testrun.patch b/user/inih/testrun.patch new file mode 100644 index 000000000..987712773 --- /dev/null +++ b/user/inih/testrun.patch @@ -0,0 +1,185 @@ +From 59461b32ee99e1573ecee98c1122815187ef6e82 Mon Sep 17 00:00:00 2001 +From: matoro <matoro@users.noreply.github.com> +Date: Tue, 7 May 2024 15:41:36 -0400 +Subject: [PATCH] Add meson support for tests + +Allows tests to use "meson test" instead of a shell script. This also +means that they now fully respect user-specified toolchain (e.g. clang +compiler, custom CFLAGS, etc). Running C++ test is conditional on +enabling INIReader support in the build. + +``` + 1/16 test_multi OK 0.05s + 2/16 test_multi_max_line OK 0.04s + 3/16 test_single OK 0.04s + 4/16 test_disallow_inline_comments OK 0.03s + 5/16 test_stop_on_first_error OK 0.03s + 6/16 test_handler_lineno OK 0.02s + 7/16 test_heap OK 0.06s + 8/16 test_string OK 0.06s + 9/16 test_heap_max_line OK 0.05s +10/16 test_heap_realloc OK 0.05s +11/16 test_heap_realloc_max_line OK 0.05s +12/16 test_heap_string OK 0.04s +13/16 test_call_handler_on_new_section OK 0.04s +14/16 test_allow_no_value OK 0.03s +15/16 test_alloc OK 0.02s +16/16 test_INIReaderExample OK 0.02s + +Ok: 16 +Expected Fail: 0 +Fail: 0 +Unexpected Pass: 0 +Skipped: 0 +Timeout: 0 +``` +--- + .github/workflows/tests.yml | 13 ++++++++++++- + examples/meson.build | 10 ++++++++++ + meson.build | 15 ++++++++++++--- + tests/meson.build | 25 +++++++++++++++++++++++++ + tests/runtest.sh | 6 ++++++ + 5 files changed, 65 insertions(+), 4 deletions(-) + create mode 100644 examples/meson.build + create mode 100644 tests/meson.build + create mode 100755 tests/runtest.sh + +diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml +index 4971e43..b34ab59 100644 +--- a/.github/workflows/tests.yml ++++ b/.github/workflows/tests.yml +@@ -11,7 +11,7 @@ jobs: + runs-on: ubuntu-latest + + steps: +- - uses: actions/checkout@v2 ++ - uses: actions/checkout@v4 + + - name: Run Diff Tests + run: | +@@ -20,3 +20,14 @@ jobs: + cd ../examples + ./cpptest.sh + git diff --exit-code ++ ++ build-meson: ++ runs-on: ubuntu-latest ++ ++ steps: ++ - uses: actions/checkout@v4 ++ - uses: actions/setup-python@v5 ++ - uses: BSFishy/meson-build@v1.0.3 ++ with: ++ action: test ++ meson-version: 1.4.1 +diff --git a/examples/meson.build b/examples/meson.build +new file mode 100644 +index 0000000..bb1979e +--- /dev/null ++++ b/examples/meson.build +@@ -0,0 +1,10 @@ ++runtest = files(join_paths(meson.project_source_root(), 'tests', 'runtest.sh')) ++ ++tests = { ++ 'INIReaderExample': { 'args': [] }, ++} ++ ++foreach name, properties : tests ++ exe = executable('unittest_' + name, src_inih, src_INIReader, 'INIReaderExample.cpp', cpp_args : ['-Wall', properties['args']]) ++ test('test_' + name, runtest, depends : [exe], args : [files('cpptest.txt'), exe.full_path()]) ++endforeach +diff --git a/meson.build b/meson.build +index d440cbc..4e4fe4b 100644 +--- a/meson.build ++++ b/meson.build +@@ -2,7 +2,8 @@ project('inih', + ['c'], + license : 'BSD-3-Clause', + version : '58', +- default_options : ['cpp_std=c++11'] ++ default_options : ['cpp_std=c++11'], ++ meson_version: '>=0.56.0' + ) + + #### options #### +@@ -71,8 +72,10 @@ endif + #### inih #### + inc_inih = include_directories('.') + ++src_inih = files('ini.c') ++ + lib_inih = library('inih', +- ['ini.c'], ++ [src_inih], + include_directories : inc_inih, + c_args : [arg_static, extra_args], + install : distro_install, +@@ -96,13 +99,17 @@ inih_dep = declare_dependency( + include_directories : inc_inih + ) + ++subdir('tests') ++ + #### INIReader #### + if get_option('with_INIReader') + add_languages('cpp') + inc_INIReader = include_directories('cpp') + ++ src_INIReader = files(join_paths('cpp', 'INIReader.cpp')) ++ + lib_INIReader = library('INIReader', +- ['cpp/INIReader.cpp'], ++ src_INIReader, + cpp_args : extra_args, + include_directories : inc_INIReader, + dependencies : inih_dep, +@@ -126,4 +133,6 @@ if get_option('with_INIReader') + include_directories : inc_INIReader, + compile_args : extra_args + ) ++ ++ subdir('examples') + endif +diff --git a/tests/meson.build b/tests/meson.build +new file mode 100644 +index 0000000..d0a2c52 +--- /dev/null ++++ b/tests/meson.build +@@ -0,0 +1,25 @@ ++runtest = files(join_paths(meson.project_source_root(), 'tests', 'runtest.sh')) ++ ++tests = { ++ 'multi': { 'args': [] }, ++ 'multi_max_line': { 'args': ['-DINI_MAX_LINE=20'] }, ++ 'single': { 'args': ['-DINI_ALLOW_MULTILINE=0'] }, ++ 'disallow_inline_comments': { 'args': ['-DINI_ALLOW_INLINE_COMMENTS=0'] }, ++ 'stop_on_first_error': { 'args': ['-DINI_STOP_ON_FIRST_ERROR=1'] }, ++ 'handler_lineno': { 'args': ['-DINI_HANDLER_LINENO=1'] }, ++ 'string': { 'src': 'unittest_string.c', 'args': ['-DINI_MAX_LINE=20'] }, ++ 'heap': { 'args': ['-DINI_USE_STACK=0'] }, ++ 'heap_max_line': { 'args': ['-DINI_USE_STACK=0', '-DINI_MAX_LINE=20', '-DINI_INITIAL_ALLOC=20'] }, ++ 'heap_realloc': { 'args': ['-DINI_USE_STACK=0', '-DINI_ALLOW_REALLOC=1', '-DINI_INITIAL_ALLOC=5'] }, ++ 'heap_realloc_max_line': { 'args': ['-DINI_USE_STACK=0', '-DINI_MAX_LINE=20', '-DINI_ALLOW_REALLOC=1', '-DINI_INITIAL_ALLOC=5'] }, ++ 'heap_string': { 'src': 'unittest_string.c', 'args': ['-DINI_USE_STACK=0', '-DINI_MAX_LINE=20', '-DINI_INITIAL_ALLOC=20'] }, ++ 'call_handler_on_new_section': { 'args': ['-DINI_CALL_HANDLER_ON_NEW_SECTION=1'] }, ++ 'allow_no_value': { 'args': ['-DINI_ALLOW_NO_VALUE=1'] }, ++ 'alloc': { 'src': 'unittest_alloc.c', 'args': ['-DINI_CUSTOM_ALLOCATOR=1', '-DINI_USE_STACK=0', '-DINI_ALLOW_REALLOC=1', '-DINI_INITIAL_ALLOC=12'] } ++} ++ ++foreach name, properties : tests ++ test_src = 'src' in properties ? properties['src'] : 'unittest.c' ++ exe = executable('unittest_' + name, src_inih, test_src, c_args : ['-Wall', properties['args']]) ++ test('test_' + name, runtest, depends : [exe], args : [files('baseline_' + name + '.txt'), exe.full_path()]) ++endforeach +diff --git a/tests/runtest.sh b/tests/runtest.sh +new file mode 100755 +index 0000000..9db945b +--- /dev/null ++++ b/tests/runtest.sh +@@ -0,0 +1,6 @@ ++#!/usr/bin/env bash ++ ++set -euo pipefail ++ ++cd "$(dirname "${1}")" ++diff "${1}" <("${2}") diff --git a/user/jq/APKBUILD b/user/jq/APKBUILD new file mode 100644 index 000000000..1e1baef17 --- /dev/null +++ b/user/jq/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Zach van Rijn <me@zv.io> +# Maintainer: Zach van Rijn <me@zv.io> +pkgname=jq +pkgver=1.7.1 +pkgrel=0 +pkgdesc="A lightweight and flexible command-line JSON processor" +url="https://jqlang.github.io/jq/" +arch="all" +license="MIT" +makedepends="" +subpackages="$pkgname-doc $pkgname-dev" +source="jq-$pkgver.tar.gz::https://github.com/jqlang/${pkgname}/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz" + +build() { + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-docs + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" prefix=/usr install +} + +sha512sums="464861fb2e0d6934b616f1dc7f8002d7dae727c8c0c07b385b813e7522ba1ada8ead4165e1d99c892e3ea76e238c55a15b718c738805419721920f88f8d8478c jq-1.7.1.tar.gz" diff --git a/user/json/APKBUILD b/user/json/APKBUILD new file mode 100644 index 000000000..750f3fbd1 --- /dev/null +++ b/user/json/APKBUILD @@ -0,0 +1,36 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=json +pkgver=3.11.3 +pkgrel=0 +pkgdesc="JSON for Modern C++" +url="https://json.nlohmann.me/" +arch="noarch" +license="MIT" +depends="" +makedepends="cmake" +subpackages="" +source="json-$pkgver.tar.gz::https://github.com/nlohmann/json/archive/refs/tags/v$pkgver.tar.gz" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + ${CMAKE_CROSSOPTS} \ + -Bbuild + make DESTDIR="$pkgdir" -C build +} + +check() { + cd build + CTEST_OUTPUT_ON_FAILURE=true ctest -E '(cmake_fetch*|test-unicode*)' -j${JOBS} +} + +package() { + make DESTDIR="$pkgdir" -C build install +} + +sha512sums="7df19b621de34f08d5d5c0a25e8225975980841ef2e48536abcf22526ed7fb99f88ad954a2cb823115db59ccc88d1dbe74fe6c281b5644b976b33fb78db9d717 json-3.11.3.tar.gz" diff --git a/user/kde-graphics/APKBUILD b/user/kde-graphics/APKBUILD index 45c8beed9..655d7276a 100644 --- a/user/kde-graphics/APKBUILD +++ b/user/kde-graphics/APKBUILD @@ -2,14 +2,14 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kde-graphics pkgver=22.04.2 -pkgrel=0 +pkgrel=1 pkgdesc="Graphics software from the KDE Software Collection" url="https://www.kde.org/applications/graphics/" arch="noarch" options="!check" # Empty meta package, no point in testing. license="NCSA" ### FIXME: add karbon when calligra is packaged -depends="digikam gwenview ikona kcolorchooser kgraphviewer kolourpaint +depends="digikam gwenview kcolorchooser kgraphviewer kolourpaint kphotoalbum krita kruler kxstitch okular skanlite spectacle symboleditor" makedepends="" diff --git a/user/kdevelop/APKBUILD b/user/kdevelop/APKBUILD index 0f0cb3da3..92e0c29fd 100644 --- a/user/kdevelop/APKBUILD +++ b/user/kdevelop/APKBUILD @@ -2,7 +2,8 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kdevelop pkgver=5.6.2 -pkgrel=0 +_llvmver=18 +pkgrel=1 pkgdesc="KDE Integrated Development Environment (IDE)" url="https://www.kdevelop.org/" arch="all" @@ -18,9 +19,9 @@ makedepends="qt5-qtbase-dev qt5-qtdeclarative-dev cmake extra-cmake-modules knotifications-dev knotifyconfig-dev kparts-dev kservice-dev ktexteditor-dev kwindowsystem-dev kxmlgui-dev threadweaver-dev libksysguard-dev grantlee-dev qt5-qttools-dev boost-dev clang-dev - qt5-qtwebkit-dev purpose-dev llvm-dev plasma-framework-dev okteta-dev - apr-dev astyle-dev krunner-dev subversion-dev libkomparediff2-dev - kdevelop-pg-qt-dev" + qt5-qtwebkit-dev purpose-dev llvm$_llvmver-dev plasma-framework-dev + okteta-dev apr-dev astyle-dev krunner-dev subversion-dev + libkomparediff2-dev kdevelop-pg-qt-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" source="https://download.kde.org/stable/kdevelop/$pkgver/src/kdevelop-$pkgver.tar.xz libarchive-tar.patch diff --git a/user/kgamma5/APKBUILD b/user/kgamma5/APKBUILD index 524b56159..33f6087bd 100644 --- a/user/kgamma5/APKBUILD +++ b/user/kgamma5/APKBUILD @@ -9,7 +9,7 @@ arch="all" license="GPL-2.0+" depends="" makedepends="cmake extra-cmake-modules qt5-qtbase-dev kconfig-dev - kconfigwidgets-dev kdoctools-dev ki18n-dev" + kconfigwidgets-dev kdoctools-dev ki18n-dev libxxf86vm-dev" subpackages="$pkgname-doc $pkgname-lang" source="https://download.kde.org/stable/plasma/$pkgver/kgamma5-$pkgver.tar.xz" diff --git a/user/kjs/APKBUILD b/user/kjs/APKBUILD index 064573f8d..4a3fe271f 100644 --- a/user/kjs/APKBUILD +++ b/user/kjs/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kjs pkgver=5.94.0 -pkgrel=0 +pkgrel=1 pkgdesc="Independent, free JavaScript engine" url="https://www.kde.org/" arch="all" diff --git a/user/kstars/APKBUILD b/user/kstars/APKBUILD index 670ae15d4..be6c35cc7 100644 --- a/user/kstars/APKBUILD +++ b/user/kstars/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=kstars pkgver=3.5.9 -pkgrel=0 +pkgrel=1 pkgdesc="Desktop planetarium" url="https://www.kde.org/applications/education/kstars/" arch="all" @@ -12,7 +12,7 @@ depends="" makedepends="cmake extra-cmake-modules qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtsvg-dev knotifyconfig-dev kauth-dev kconfig-dev kcrash-dev kdoctools-dev kwidgetsaddons-dev knewstuff-dev ki18n-dev kio-dev - kxmlgui-dev kplotting-dev knotifications-dev eigen-dev mesa-dev + kxmlgui-dev kplotting-dev knotifications-dev eigen-dev libglvnd-dev qt5-qtwebsockets-dev libraw-dev qtkeychain-dev" subpackages="$pkgname-doc $pkgname-lang" source="https://download.kde.org/stable/kstars/kstars-$pkgver.tar.xz" diff --git a/user/kwayland-server/APKBUILD b/user/kwayland-server/APKBUILD index 981cc0fe0..79bdeab8c 100644 --- a/user/kwayland-server/APKBUILD +++ b/user/kwayland-server/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kwayland-server pkgver=5.24.5 -pkgrel=0 +pkgrel=1 pkgdesc="KDE Wayland server component" url="https://www.kde.org/" arch="all" @@ -9,7 +9,7 @@ options="!check" # Requires D-Bus. license="LGPL-2.1+ AND LGPL-2.1-only AND LGPL-3.0-only AND BSD-3-Clause AND MIT AND MIT-CMU" depends="plasma-wayland-protocols" docdepends="kwayland-doc" -makedepends="cmake extra-cmake-modules kwayland-dev mesa-dev qt5-qtbase-dev +makedepends="cmake extra-cmake-modules kwayland-dev libglvnd-dev qt5-qtbase-dev qt5-qtwayland-dev qt5-qtwayland-tools wayland-dev wayland-protocols qt5-qttools-dev doxygen $docdepends" subpackages="$pkgname-dev $pkgname-doc" diff --git a/user/kwin/APKBUILD b/user/kwin/APKBUILD index 5db783436..2be15a607 100644 --- a/user/kwin/APKBUILD +++ b/user/kwin/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox-kde@adelielinux.org> pkgname=kwin pkgver=5.24.5 -pkgrel=0 +pkgrel=1 pkgdesc="Modern, stylish window manager (requires OpenGL)" url="https://www.kde.org/" arch="all" @@ -16,7 +16,7 @@ makedepends="$depends_dev cmake extra-cmake-modules qt5-qttools-dev python3 qt5-qtmultimedia-dev qt5-qtx11extras-dev fontconfig-dev freetype-dev libdrm-dev libinput-dev libx11-dev libxi-dev libxkbcommon-dev mesa-dev wayland-dev xcb-util-cursor-dev xcb-util-image-dev xcb-util-wm-dev - lcms2-dev libcap-dev libqaccessibilityclient-dev xorg-server-xwayland + lcms2-dev libcap-dev libqaccessibilityclient-dev xwayland libglvnd-dev breeze breeze-dev kactivities-dev kcompletion-dev kconfigwidgets-dev kcmutils-dev kcrash-dev kdeclarative-dev kdecoration-dev kirigami2-dev @@ -55,7 +55,7 @@ package() { wayland() { pkgdesc="$pkgdesc (Wayland server)" - depends="$pkgname=$pkgver-r$pkgrel xorg-server-xwayland" + depends="$pkgname=$pkgver-r$pkgrel xwayland" mkdir -p "$subpkgdir"/usr/lib/qt5/plugins mv "$pkgdir"/usr/lib/qt5/plugins/org.kde.kwin.waylandbackends \ diff --git a/user/libavc1394/APKBUILD b/user/libavc1394/APKBUILD index a76d47301..100aa176d 100644 --- a/user/libavc1394/APKBUILD +++ b/user/libavc1394/APKBUILD @@ -2,13 +2,13 @@ # Maintainer: pkgname=libavc1394 pkgver=0.5.4 -pkgrel=3 +pkgrel=4 pkgdesc="Audio/Video control library for FireWire devices" url="https://sourceforge.net/projects/libavc1394/" arch="all" license="LGPL-2.1+" depends="" -makedepends="libraw1394-dev libtool automake autoconf argp-standalone" +makedepends="libraw1394-dev libtool automake autoconf argp-standalone-dev" subpackages="$pkgname-dev $pkgname-doc" source="https://downloads.sourceforge.net/libavc1394/libavc1394-$pkgver.tar.gz automake.patch @@ -43,4 +43,4 @@ package() { sha512sums="ef07631cd2de9b79dec9d81247d705be318101e8f8a1fe007b946ffab3dfe7b97f392144614d867ef6b2315b6c0e82d53e915f07855d4e21401645293e18842a libavc1394-0.5.4.tar.gz 8854bed6b9efa4b2bb56762614bcbceadb5cb1cdd393fd676476d40672cc3965962da764543f8628f51567a32ecf5035edb35b883b8963f94bce034ff4793c11 automake.patch -77bf60530b6b81f6bd3c69a11de7ac015f1182fcd8c2586d0fd9605818c3ccde310c386f30c00166853a405f60c13bf6b2d304327ec181de28609c58b215ab31 argp.patch" +f71c498aa1ad6889ce66db194ceb94d8559fe9a26739bcffa8d9cb1e910f40b9cb8613db8a71cf46f0bd61c77f2e48dddbdcafb5f7d9483b2200470a1c6cd2ea argp.patch" diff --git a/user/libavc1394/argp.patch b/user/libavc1394/argp.patch index 9c86a625e..ec1401976 100644 --- a/user/libavc1394/argp.patch +++ b/user/libavc1394/argp.patch @@ -4,7 +4,7 @@ AC_HEADER_STDC AC_CHECK_HEADERS(sys/time.h sys/types.h unistd.h string.h netinet/in.h stdio.h) -+AC_SEARCH_LIBS([argp_usage], [argp], [], ++AC_SEARCH_LIBS([argp_help], [argp], [], + [AC_MSG_ERROR([argp not found. Consider installing argp-standalone])]) PKG_CHECK_MODULES(LIBRAW1394, libraw1394 >= 1.0.0) diff --git a/user/libbsd/APKBUILD b/user/libbsd/APKBUILD deleted file mode 100644 index 66270a012..000000000 --- a/user/libbsd/APKBUILD +++ /dev/null @@ -1,45 +0,0 @@ -# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> -# Contributor: Ariadne Conill <ariadne@dereferenced.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=libbsd -pkgver=0.10.0 -pkgrel=0 -pkgdesc="Commonly used BSD functions not implemented by all libcs" -url="https://libbsd.freedesktop.org/" -arch="all" -license="BSD-2-Clause-NetBSD AND BSD-3-Clause AND BSD-4-Clause AND BSD-5-Clause AND Expat AND ISC AND Public-Domain AND Beerware" -depends="musl>=1.1.16-r22" -depends_dev="bsd-compat-headers linux-headers" -makedepends="$depends_dev autoconf automake libtool" -subpackages="$pkgname-dev $pkgname-doc" -source="https://libbsd.freedesktop.org/releases/$pkgname-$pkgver.tar.xz - disable-fpurge-test.patch - " - -prepare() { - default_prepare - autoreconf -fi -} - -build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --localstatedir=/var - make -} - -check() { - make check -} - -package() { - make DESTDIR="$pkgdir" install -} - -sha512sums="b75529785b16c93d31401187f8a58258fbebe565dac071c8311775c913af989f62cd29d5ce2651af3ea6221cffd31cf04826577d3e546ab9ca14340f297777b9 libbsd-0.10.0.tar.xz -424828e759420afbf2d4b97f5d402be9b3d51cb90241da1f047517bb75048255ea6cbbbc1e98bffa67449a7f48efe00d8f99b38bdaac9e8c461d1e989e9697b7 disable-fpurge-test.patch" diff --git a/user/libbsd/disable-fpurge-test.patch b/user/libbsd/disable-fpurge-test.patch deleted file mode 100644 index ef6241f62..000000000 --- a/user/libbsd/disable-fpurge-test.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- libbsd-0.8.3/test/Makefile.am.old 2017-08-17 02:42:30.045825258 +0000 -+++ libbsd-0.8.3/test/Makefile.am 2017-08-17 03:49:17.928202106 +0000 -@@ -38,7 +38,6 @@ - humanize \ - fgetln \ - fparseln \ -- fpurge \ - md5 \ - proctitle-init \ - strmode \ diff --git a/user/libcdr/APKBUILD b/user/libcdr/APKBUILD index 645930ea0..d1ce625fa 100644 --- a/user/libcdr/APKBUILD +++ b/user/libcdr/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=libcdr pkgver=0.1.7 -pkgrel=0 +pkgrel=1 pkgdesc="Import filter and tools for Corel DRAW files" url="https://wiki.documentfoundation.org/DLP/Libraries/libcdr" arch="all" diff --git a/user/libdbusmenu/APKBUILD b/user/libdbusmenu/APKBUILD new file mode 100644 index 000000000..0c1b9f693 --- /dev/null +++ b/user/libdbusmenu/APKBUILD @@ -0,0 +1,38 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=libdbusmenu +pkgver=16.04.0 +pkgrel=0 +pkgdesc="Library for passing menus over D-Bus" +url="https://launchpad.net/libdbusmenu" +arch="all" +options="!check" # Requires Python 2. +license="(LGPL-2.1-only OR LGPL-3.0-only) AND GPL-3.0-only" +depends="" +makedepends="atk-dev glib-dev gobject-introspection-dev gtk-doc gtk+3.0-dev + intltool json-glib-dev libx11-dev libxslt-dev vala-dev" +subpackages="$pkgname-doc $pkgname-dev" +source="https://launchpad.net/libdbusmenu/16.04/$pkgver/+download/libdbusmenu-$pkgver.tar.gz" + +build() { + export CFLAGS="$CFLAGS -Wno-error" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-static \ + --enable-introspection + make +} + +check() { + make check +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="ee9654ac4ed94bdebc94a6db83b126784273a417a645b2881b2ba676a5f67d7fc95dd2bb37bfb0890aa47299ed73cb21ed7de8b75f3fed6b69bfd39065062241 libdbusmenu-16.04.0.tar.gz" diff --git a/user/libdisplay-info/APKBUILD b/user/libdisplay-info/APKBUILD new file mode 100644 index 000000000..c2599774e --- /dev/null +++ b/user/libdisplay-info/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=libdisplay-info +pkgver=0.2.0 +pkgrel=0 +pkgdesc="Library for obtaining display information" +url="https://gitlab.freedesktop.org/emersion/libdisplay-info/" +arch="all" +license="MIT" +depends="hwdata" +checkdepends="edid-decode" +makedepends="meson" +subpackages="$pkgname-dev" +source="https://gitlab.freedesktop.org/emersion/libdisplay-info/-/releases/$pkgver/downloads/libdisplay-info-$pkgver.tar.xz" + +prepare() { + default_prepare + rm -r subprojects # attempts to checkout/build edid-decode itself +} + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + --wrap-mode=nofallback \ + . output + meson compile -C output +} + +check() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="6e910b832860d920a4be298a2b6925f701654bd7cdd8b3457e64663c25caa20a74b81b91f71878b9e7f5f70c5c067235f0c99293650231920c67d1241a61e1fb libdisplay-info-0.2.0.tar.xz" diff --git a/user/libdrm/APKBUILD b/user/libdrm/APKBUILD index e4b35ef51..78e867d8a 100644 --- a/user/libdrm/APKBUILD +++ b/user/libdrm/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libdrm -pkgver=2.4.114 +pkgver=2.4.123 pkgrel=0 pkgdesc="Userspace interface to kernel DRM services" url="https://dri.freedesktop.org/" @@ -44,4 +44,4 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="8dcd4be5674e3ea2ab4394fa8f461914e5aa7f4f57a2f448c5216d84ee6682e16b45eafabf97b7d9f5c062183d9a6bf3f0c97499d4cb01c19807a51209a0f644 libdrm-2.4.114.tar.xz" +sha512sums="d3e6ba26bbd609fd87ca131690547eeb6a903c0a8c28b7f5cd5d0947619da09f31daf7bf4b6c38bf5e5dc173e2ccba476338ef682d8cf06d6b71ba73fc9b948d libdrm-2.4.123.tar.xz" diff --git a/user/libe-book/APKBUILD b/user/libe-book/APKBUILD index 27e03700f..b9fbff257 100644 --- a/user/libe-book/APKBUILD +++ b/user/libe-book/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=libe-book pkgver=0.1.3 -pkgrel=3 +pkgrel=4 pkgdesc="Import filter and tools for various ebook formats" url="https://sourceforge.net/projects/libebook/" arch="all" diff --git a/user/libepoxy/APKBUILD b/user/libepoxy/APKBUILD index 99b1484b4..23d4bef2e 100644 --- a/user/libepoxy/APKBUILD +++ b/user/libepoxy/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Valery Kartel <valery.kartel@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libepoxy -pkgver=1.5.4 +pkgver=1.5.9 pkgrel=0 pkgdesc="Direct Rendering Manager runtime library" url="https://github.com/anholt/libepoxy" @@ -10,21 +10,23 @@ options="!check" # Requires X11 and appropriate mesa-dri-* package license="MIT" depends="" depends_dev="libx11-dev" -makedepends="$depends_dev mesa-dev meson ninja" +makedepends="$depends_dev libglvnd-dev meson" subpackages="$pkgname-dev" source="https://github.com/anholt/libepoxy/releases/download/$pkgver/libepoxy-$pkgver.tar.xz" build() { - meson -Dprefix=/usr build - ninja -C build + meson \ + -Dprefix=/usr \ + 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="7bde6fe7164aaa88b6e476dafb13391c551c530267936a1456e242d2bf648117f319788ba089100b3f773444098a894db6d27326b47dc4ae26db4766308d7510 libepoxy-1.5.4.tar.xz" +sha512sums="eebaae4b8ff5014a8c90bf63fd9626424f472f99a7dbb81273a45b06c854e57f7d1b2d0fb44847221173c4f92d659fcec8a848a3b32f07225cd0ba35a2fad135 libepoxy-1.5.9.tar.xz" diff --git a/user/libfontenc/APKBUILD b/user/libfontenc/APKBUILD index 288fe82ad..de282a9a5 100644 --- a/user/libfontenc/APKBUILD +++ b/user/libfontenc/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libfontenc -pkgver=1.1.6 +pkgver=1.1.8 pkgrel=0 pkgdesc="X11 font encoding library" url="https://www.X.Org/" @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="524247caf035e5d69280575c79ec5a3259c4cd0a4afa375b01985fedf800b42ecd75102e38f85cdce5591d020d361ffa9390adcb7906e939df289e5131088683 libfontenc-1.1.6.tar.xz" +sha512sums="c9ddea9c0c6c6f4933b5b8ed2044e3dc259a9edbb3070a32f0335a6ad4d47b1858cefc01fa2dff9f29808bee311e9c677b05861200d2f2c4552c92b33fe027e2 libfontenc-1.1.8.tar.xz" diff --git a/user/libfreehand/APKBUILD b/user/libfreehand/APKBUILD index fc9354ab4..aee38d8e0 100644 --- a/user/libfreehand/APKBUILD +++ b/user/libfreehand/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=libfreehand pkgver=0.1.2 -pkgrel=3 +pkgrel=4 pkgdesc="Import filter and tools for Adobe FreeHand documents" url="https://wiki.documentfoundation.org/DLP/Libraries/libfreehand" arch="all" diff --git a/user/libfs/APKBUILD b/user/libfs/APKBUILD index 61b162660..eaf750d95 100644 --- a/user/libfs/APKBUILD +++ b/user/libfs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libfs -pkgver=1.0.9 +pkgver=1.0.10 pkgrel=0 pkgdesc="X11 Font Server client library" url="https://www.X.Org/" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7d012e62736c6d567931bad982eec221199d296f0fe41e1e7fde5575b8b928e9a8c644aa8746242bdfe72393635320b58774d9a519285765bd26d633588092b8 libFS-1.0.9.tar.xz" +sha512sums="f4dc361b7e1dcc1f348ea86e96c5a60ff40c5168b6097f00d8a5db2b86d089cfca12ac13dbde5ce3b53279b7eb8773ed6dcd9c678c2e95363ffa5127ecaacee7 libFS-1.0.10.tar.xz" diff --git a/user/libglvnd/APKBUILD b/user/libglvnd/APKBUILD new file mode 100644 index 000000000..82323eed5 --- /dev/null +++ b/user/libglvnd/APKBUILD @@ -0,0 +1,42 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=libglvnd +pkgver=1.7.0 +pkgrel=0 +pkgdesc="The GL Vendor-Neutral Dispatch library" +url=" " +arch="all" +license="MIT AND BSD-1-Clause" +options="!check checkx11" +depends="" +makedepends="libx11-dev libxext-dev meson xorgproto-dev" +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" + +build() { + meson setup \ + --wrap-mode=nofallback \ + -Dprefix=/usr \ + -Dx11=enabled \ + -Dglx=enabled \ + -Dtls=false \ + build + + meson compile -C build +} + +check() { + meson test -C build +} + +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/libgsf/APKBUILD b/user/libgsf/APKBUILD index 5ad06e158..f44ee309a 100644 --- a/user/libgsf/APKBUILD +++ b/user/libgsf/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: pkgname=libgsf -pkgver=1.14.47 +pkgver=1.14.53 pkgrel=0 pkgdesc="Library for manipulating structured files" url="https://www.gnome.org/" @@ -42,4 +42,4 @@ package() { rm -f "$pkgdir"/usr/share/man/man1/gsf-office-thumbnailer.1 } -sha512sums="143d48eb02be8202b9eb97e29e5909061a0e1a562b86e4bb4b2eac3fb0a42b139ead131ed1ffa4dfe304b65527089777823122223a74ebbc9df94c17d013f97b libgsf-1.14.47.tar.xz" +sha512sums="f2f8fa0806bf2edae271b3503cc311bd7ba32c145530afce382305cacfaae624edbc8298bd8766364e94804e71b1b8d0aac8383ae514aad646f2a926727cf727 libgsf-1.14.53.tar.xz" diff --git a/user/libical/APKBUILD b/user/libical/APKBUILD index 6b51d3b78..68a0e7c77 100644 --- a/user/libical/APKBUILD +++ b/user/libical/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Zach van Rijn <me@zv.io> pkgname=libical -pkgver=3.0.14 +pkgver=3.0.18 pkgrel=0 pkgdesc="Reference implementation of the iCalendar format" url="https://libical.github.io/libical/" @@ -10,7 +10,9 @@ depends="" depends_dev="db-dev" makedepends="$depends_dev cmake glib-dev icu-dev libxml2-dev perl" subpackages="$pkgname-dev" -source="https://github.com/libical/libical/releases/download/v$pkgver/libical-$pkgver.tar.gz" +source="https://github.com/libical/libical/releases/download/v$pkgver/libical-$pkgver.tar.gz + icu75.patch + " build() { cmake \ @@ -29,4 +31,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="36da5516672976c71b049a12af36164d91f9b655f81f1884766558149f25e80c30e64d15da848842f8a629295d708f39ce6fa63a3b0da39b5cbeb91911a4e6d8 libical-3.0.14.tar.gz" +sha512sums="53ecf6c14a68d569dd11bfdeb1a072def847a14d189c6af16eab202e004350ee7d9488c6b63e9cb67889e8c2dec90643fef46aec143a915f28270d0752eaa9d5 libical-3.0.18.tar.gz +d6f4082a6b3a3ad6a2b2aae92696446be6260fa99152fe6e09dad2d7942f8495698cc218f2feee542da4021a03dca0006167d6bc46a7dd3d8103e1998092d3fb icu75.patch" diff --git a/user/libical/icu75.patch b/user/libical/icu75.patch new file mode 100644 index 000000000..321c02aba --- /dev/null +++ b/user/libical/icu75.patch @@ -0,0 +1,31 @@ +From ec62c552df8e1fcc187855bb342c082e22a08edc Mon Sep 17 00:00:00 2001 +From: Lukas Fleischer <lfleischer@lfos.de> +Date: Wed, 15 May 2024 12:28:38 +0700 +Subject: [PATCH] Fix build with ICU 75 + +--- + src/libical/icalrecur.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libical/icalrecur.c b/src/libical/icalrecur.c +index 3c1789480..1907a3636 100644 +--- a/src/libical/icalrecur.c ++++ b/src/libical/icalrecur.c +@@ -1125,7 +1125,7 @@ icalarray *icalrecurrencetype_rscale_supported_calendars(void) + + calendars = icalarray_new(sizeof(const char **), 20); + +- en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status); ++ en = ucal_getKeywordValuesForLocale("calendar", "", false, &status); + while ((cal = uenum_next(en, NULL, &status))) { + cal = icalmemory_tmp_copy(cal); + icalarray_append(calendars, &cal); +@@ -1526,7 +1526,7 @@ static int initialize_rscale(icalrecur_iterator *impl) + } + + /* Check if specified calendar is supported */ +- en = ucal_getKeywordValuesForLocale("calendar", NULL, false, &status); ++ en = ucal_getKeywordValuesForLocale("calendar", "", false, &status); + while ((cal = uenum_next(en, NULL, &status))) { + if (!strcmp(cal, rule.rscale)) { + is_hebrew = !strcmp(rule.rscale, "hebrew"); diff --git a/user/libice/APKBUILD b/user/libice/APKBUILD index 1cd3f5fe8..37509f984 100644 --- a/user/libice/APKBUILD +++ b/user/libice/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libice -pkgver=1.0.10 +pkgver=1.1.1 pkgrel=0 pkgdesc="X11 Inter-Client Exchange library" url="https://www.X.Org/" @@ -10,7 +10,7 @@ depends="" makedepends="libbsd-dev util-macros xmlto xorgproto-dev xtrans" checkdepends="check-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libICE-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libICE-$pkgver.tar.xz" builddir="$srcdir/libICE-$pkgver" # secfixes: @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2f1ef2c32c833c71894a08fa7e7ed53f301f6c7bd22485d71c12884d8e8b36b99f362ec886349dcc84d08edc81c8b2cea035320831d64974edeba021b433c468 libICE-1.0.10.tar.bz2" +sha512sums="2f7833a25f31cc743ca95cb88f9a8403b50e19ffb5bf43bfef87ba405857d359789daaa9ec2391351237d958f16d35dbf082adb76d301e46d3a54162a6b452d3 libICE-1.1.1.tar.xz" diff --git a/user/libinput/APKBUILD b/user/libinput/APKBUILD index 2c37a75b3..d1ea54a43 100644 --- a/user/libinput/APKBUILD +++ b/user/libinput/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libinput -pkgver=1.20.1 +pkgver=1.28.0 pkgrel=0 pkgdesc="Library for handling input devices" url="https://www.freedesktop.org/wiki/Software/libinput/" @@ -32,4 +32,4 @@ package() { DESTDIR="$pkgdir" ninja -C builddir/ install } -sha512sums="d981bf90980c2f609393da998926bc4018599dddbb86c272dfb77bab1b2d5f35c6070f96bcfe5ef0032bd6c957b13f64ed32025d9f04fb413268571b2ee79cd1 libinput-1.20.1.tar.bz2" +sha512sums="2665fbfbf47f8ef329e387841ff9542b6191925d2fb46a19be64ef0b2e274db3b9ce8b42652ccdeb18c66e3a3c748ff576b313ecb8f7f6b4a01102bfb3e999e3 libinput-1.28.0.tar.bz2" diff --git a/user/liblangtag/APKBUILD b/user/liblangtag/APKBUILD index 674f39560..a7628f9e6 100644 --- a/user/liblangtag/APKBUILD +++ b/user/liblangtag/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Francesco Colista <fcolista@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=liblangtag -pkgver=0.6.3 +pkgver=0.6.7 pkgrel=0 pkgdesc="Interface library to access tags for identifying languages" url="https://bitbucket.org/tagoh/liblangtag" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3dcfc20704dfaff05aeecdeef74fa81639fb70f930ebc0895fe4707ecd1d5b6221fe889449772811924d0c38329977c9d5fc751c3accbc272834b29c461f1fcf liblangtag-0.6.3.tar.bz2" +sha512sums="3628728f46865507d8794c1e7286c6ca04fc49f905594ab76db7bd2c8d8f9fac1e33693314d56bca6fdd8f99b8d207e6e6d2f751474832ceb60a4cdbf10fed68 liblangtag-0.6.7.tar.bz2" diff --git a/user/libliftoff/APKBUILD b/user/libliftoff/APKBUILD new file mode 100644 index 000000000..f20afd85f --- /dev/null +++ b/user/libliftoff/APKBUILD @@ -0,0 +1,34 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=libliftoff +pkgver=0.5.0 +pkgrel=0 +pkgdesc="A lightweight KMS plane library" +url="https://gitlab.freedesktop.org/emersion/libliftoff" +arch="all" +license="MIT" +depends="" +makedepends="meson libdrm-dev" +subpackages="$pkgname-dev" +source="https://gitlab.freedesktop.org/emersion/libliftoff/-/releases/v$pkgver/downloads/libliftoff-$pkgver.tar.gz" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + meson compile -C output +} + +check() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="ce808f6a087f1f629cfebef95bfc7e216a09fb409b96b3c9f6b84d9d986ce50c5d7bf5b45c68e8baa99566b3627d754c269855b6f4ec3be63ae7b9f5109d5f08 libliftoff-0.5.0.tar.gz" diff --git a/user/libmspub/APKBUILD b/user/libmspub/APKBUILD index 67095a16c..f7cfa3558 100644 --- a/user/libmspub/APKBUILD +++ b/user/libmspub/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=libmspub pkgver=0.1.4 -pkgrel=2 +pkgrel=3 pkgdesc="Import filter and tools for Microsoft Publisher files" url="https://wiki.documentfoundation.org/DLP/Libraries/libmspub" arch="all" diff --git a/user/libpciaccess/APKBUILD b/user/libpciaccess/APKBUILD index b6c8ef8ec..974b4b7df 100644 --- a/user/libpciaccess/APKBUILD +++ b/user/libpciaccess/APKBUILD @@ -1,32 +1,26 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libpciaccess -pkgver=0.17 +pkgver=0.18.1 pkgrel=0 pkgdesc="X11 PCI access library" url="https://www.X.Org/" arch="all" +options="!check" # no test suite license="MIT AND X11" -depends="" -makedepends="util-macros" +depends="hwdata" +makedepends="meson" subpackages="$pkgname-dev" source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.xz limits_h.patch" build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr - make -} - -check() { - make check + meson setup --prefix=/usr build + meson compile -C build } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build } -sha512sums="8484605c66ef18c8d8a3e029a6d33e26fcaa450c1263790d89ac8b0a160ffb2dfceaa6140ac9ad7d8087283ecbec8ac801f757e44890d547c3cbecd2c922ca47 libpciaccess-0.17.tar.xz +sha512sums="ef27999446e735df2331e94219ee3dafe9198a2472bb452f63ef9c9c446d5431f9e231e224cfabdeba1402974a5a0064546f9abced4d1770f994f5fc0c2b3310 libpciaccess-0.18.1.tar.xz 331a498059d8b2bfd0a7da0ced3616266ebc129b785090ef1dc19cd645b013428c60d5678fc080bd15ecaf7598ec8b1084509d6bea5d563101169a449b6fe75b limits_h.patch" diff --git a/user/libpthread-stubs/APKBUILD b/user/libpthread-stubs/APKBUILD index 13ce0a53a..eacd771e6 100644 --- a/user/libpthread-stubs/APKBUILD +++ b/user/libpthread-stubs/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libpthread-stubs -pkgver=0.4 +pkgver=0.5 pkgrel=0 pkgdesc="POSIX threading functions stubs for platforms missing them" url="https://cgit.freedesktop.org/xcb/pthread-stubs" @@ -9,7 +9,7 @@ options="!dbg" license="X11" depends="" makedepends="" -source="http://xcb.freedesktop.org/dist/$pkgname-$pkgver.tar.bz2" +source="http://xcb.freedesktop.org/dist/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -27,4 +27,4 @@ package() { make -j1 DESTDIR="$pkgdir" install } -sha512sums="0fec563f3833b84311b32cb13a4fd9832aeb0204c65b1541bf453d5d35693b2267c3cee656e00a4b8533b07a8f6320ca5c3672dcf8ab047cdac8628154c08954 libpthread-stubs-0.4.tar.bz2" +sha512sums="a24f7c40dcaf5f6ca0085972117fed5ad0851f6fc1972fdab799d27236afaaa4f7baa93e40532f93984d313d94456819aaf4ec8f8d1bbb2e5c4fc76c31891d82 libpthread-stubs-0.5.tar.xz" diff --git a/user/libqalculate/APKBUILD b/user/libqalculate/APKBUILD index 6ec80b85b..85c26c019 100644 --- a/user/libqalculate/APKBUILD +++ b/user/libqalculate/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libqalculate pkgver=3.6.0 -pkgrel=0 +pkgrel=1 pkgdesc="Library implementing a powerful, versatile desktop calculator" url="https://qalculate.github.io/" arch="all" diff --git a/user/libqxp/APKBUILD b/user/libqxp/APKBUILD index 7876ab2c9..940d74333 100644 --- a/user/libqxp/APKBUILD +++ b/user/libqxp/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=libqxp pkgver=0.0.2 -pkgrel=0 +pkgrel=1 pkgdesc="Import filter and tools for QuarkXPress documents" url="https://wiki.documentfoundation.org/DLP/Libraries/libqxp" arch="all" 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/libsm/APKBUILD b/user/libsm/APKBUILD index 04a84270e..58ef7d632 100644 --- a/user/libsm/APKBUILD +++ b/user/libsm/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libsm -pkgver=1.2.3 +pkgver=1.2.4 pkgrel=0 pkgdesc="X11 session management library" url="https://www.X.Org/" @@ -10,7 +10,7 @@ depends="" makedepends="libice-dev util-linux-dev util-macros xmlto xorgproto-dev xtrans" checkdepends="check-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libSM-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libSM-$pkgver.tar.xz" builddir="$srcdir"/libSM-$pkgver build() { @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="74c42e27029db78475e62025b4711dbac5e22d2f8e8a24be98a1c31b03c0fc4afe859928f851800ea0b76854f12147900dc4f27bbfd3d8ea45daaaf24b70a903 libSM-1.2.3.tar.bz2" +sha512sums="7f1d41b7b6c5dd456c49ccad7740c3ba9791a2793fa50fd94814a4164ce2e20c4a0a0ad42a87708e494ed5c23f611be6d3ccd9ef1e9add6d46ac545e2b0f6f86 libSM-1.2.4.tar.xz" diff --git a/user/libva/APKBUILD b/user/libva/APKBUILD index e3316c58e..c1bcd1705 100644 --- a/user/libva/APKBUILD +++ b/user/libva/APKBUILD @@ -2,15 +2,16 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libva pkgver=2.14.0 -pkgrel=0 +pkgrel=2 pkgdesc="Video Acceleration (VA) API for Linux" url="https://github.com/intel/libva" arch="all" options="!check" # No test suite. license="MIT" depends="" -makedepends="libdrm-dev libx11-dev libxext-dev libxfixes-dev cmd:which" -subpackages="$pkgname-dev" +makedepends="libdrm-dev libglvnd-dev libx11-dev libxext-dev libxfixes-dev + cmd:which wayland-dev wayland-protocols" +subpackages="$pkgname-dev $pkgname-wayland $pkgname-x11" source="https://github.com/intel/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.bz2" build() { @@ -23,7 +24,7 @@ build() { --infodir=/usr/share/info \ --localstatedir=/var \ --enable-x11 \ - --disable-wayland \ + --enable-wayland \ --disable-static \ --enable-shared make @@ -33,4 +34,19 @@ package() { make DESTDIR="$pkgdir" install } +wayland() { + pkgdesc="$pkgdesc (Wayland library)" + install_if="$pkgname=$pkgver-r$pkgrel wayland" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libva-wayland.so* "$subpkgdir"/usr/lib/ +} + +x11() { + pkgdesc="$pkgdesc (X11 library)" + install_if="$pkgname=$pkgver-r$pkgrel libx11" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libva-glx.so* "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/lib/libva-x11.so* "$subpkgdir"/usr/lib/ +} + sha512sums="7ee6f0711929d1c6f6436b69ad0fedcee7e8a450be907d90a7c9741d55de824de471efbc20a398a47af03f5bbacb927daa1f2f780fce6ddfe6bbee21729c95ca libva-2.14.0.tar.bz2" diff --git a/user/libvdpau/APKBUILD b/user/libvdpau/APKBUILD index b5239001a..8e5d96c78 100644 --- a/user/libvdpau/APKBUILD +++ b/user/libvdpau/APKBUILD @@ -1,29 +1,30 @@ # Contributor: Carlo Landmeter <clandmeter@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libvdpau -pkgver=1.4 +pkgver=1.5 pkgrel=0 pkgdesc="Hardware-accelerated video playback library" url="https://cgit.freedesktop.org/~aplattner/libvdpau" arch="all" license="MIT" depends="" -makedepends="libx11-dev libxext-dev meson ninja xorgproto-dev" +makedepends="libx11-dev libxext-dev meson xorgproto-dev" subpackages="$pkgname-dev" source="https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/$pkgver/libvdpau-$pkgver.tar.bz2" build() { - meson -Dprefix=/usr \ + meson \ + -Dprefix=/usr \ 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="68f502f53f4a95c9af571bd5a3f5048dd1afe30d7576f7e80751c7f29450ef8cb226c1281562b616079d6c177830ec67391d0fae33348a4627ca8c113990cd01 libvdpau-1.4.tar.bz2" +sha512sums="7affb14874431eba1be6e8634fcbb6247cbf6956fb88116e06e60de30a7852a407e8598176a369c2ba4bfaef4be58727e51d4bc390f705991ac83d660f611ff5 libvdpau-1.5.tar.bz2" diff --git a/user/libvisio/APKBUILD b/user/libvisio/APKBUILD index e9cf48128..e000d71ea 100644 --- a/user/libvisio/APKBUILD +++ b/user/libvisio/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=libvisio pkgver=0.1.7 -pkgrel=0 +pkgrel=1 pkgdesc="Import filter and tools for MS Visio diagrams" url="https://wiki.documentfoundation.org/DLP/Libraries/libvisio" arch="all" diff --git a/user/libx11/APKBUILD b/user/libx11/APKBUILD index eae22e047..21d3ae8d4 100644 --- a/user/libx11/APKBUILD +++ b/user/libx11/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libx11 -pkgver=1.8.2 +pkgver=1.8.10 pkgrel=0 pkgdesc="X11 client-side library" url="https://www.X.Org/" @@ -15,6 +15,10 @@ source="https://www.X.Org/releases/individual/lib/libX11-$pkgver.tar.xz" builddir="$srcdir"/libX11-$pkgver # secfixes: +# 1.8.10-r0: +# - CVE-2023-43785 +# - CVE-2023-43786 +# - CVE-2023-43787 # 1.8.2-r0: # - CVE-2021-31535 # 1.6.12-r0: @@ -39,4 +43,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="662ee8043d9ba27df82f647515b701d6f302a52715f21afdaba391f3b70691753e3649e7ff8322e07858be4297df9cbb19227958d676ed6dea198cce64330d1d libX11-1.8.2.tar.xz" +sha512sums="f801f5b77cbc55074f73dc95b29fff7b5e1b13b99641f6e397788ad9f31a29793ed4e8e5bd373122c790ef90627e8f9d6d5e271051c1767a479a85c55cd82bc1 libX11-1.8.10.tar.xz" diff --git a/user/libxau/APKBUILD b/user/libxau/APKBUILD index 0cce6002e..f1117ade4 100644 --- a/user/libxau/APKBUILD +++ b/user/libxau/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxau -pkgver=1.0.10 +pkgver=1.0.11 pkgrel=0 pkgdesc="X11 authorisation library" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { install -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING } -sha512sums="e56a862a7bbccb108c9683eeb8b643d2587a121dd96982e1e7edc5bd0b676302d244bfaa750afc7fb2ad31df8b825095d779b6e2ab2c76f94e47095d90071ebb libXau-1.0.10.tar.xz" +sha512sums="f56abba3bef3fdd4739dfa69367a4251b5fab7c89194c9aece9efa66b9ebbf0736690cc9bd654aab19d9db377e4b9a5268c9c020b3d293bb5351bff5fe75a4dd libXau-1.0.11.tar.xz" diff --git a/user/libxaw/APKBUILD b/user/libxaw/APKBUILD index 69e0f4ddc..420054604 100644 --- a/user/libxaw/APKBUILD +++ b/user/libxaw/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxaw -pkgver=1.0.14 +pkgver=1.0.16 pkgrel=0 pkgdesc="X11 Athena widget set" url="https://www.X.Org" @@ -10,7 +10,7 @@ depends="" makedepends="libx11-dev libxext-dev libxmu-dev libxpm-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXaw-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXaw-$pkgver.tar.xz" builddir="$srcdir"/libXaw-$pkgver build() { @@ -36,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="29d1c151369523ae6cb418e636b0b7b39ccccc35462a0b394dbeb46d5b6d780badd2eb872a55d9fbba1ee1af034e76c0463f40f8d8a7be2c336d08b3b1bf81d4 libXaw-1.0.14.tar.bz2" +sha512sums="1cabad1a9b06dec7de601b977e844536823ee1a0045244acc42ca6b6107da9b4953736d94898a96cab40845eab77dae21e20e1fa66a3dfc4dedf575dfbca04aa libXaw-1.0.16.tar.xz" diff --git a/user/libxaw3d/APKBUILD b/user/libxaw3d/APKBUILD index 922a6f670..a2b12e77d 100644 --- a/user/libxaw3d/APKBUILD +++ b/user/libxaw3d/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxaw3d -pkgver=1.6.4 +pkgver=1.6.6 pkgrel=0 pkgdesc="X11 Athena widget set, with 3D look and feel" url="https://www.X.Org" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="388e905871a823d0f87fbc29e9ea2de95ac13ccaf50e031a01602d8d388d61bcf1823b4ded8c1a06bdce382e8ddcbc1b0182ccef00cde8064b09176163283dba libXaw3d-1.6.4.tar.xz" +sha512sums="f324ddb1117ae6f8d50137390b2e82b638b53a6b170cce8f7bd8108fd98ce956badc7dede6b49065419f1565f9f4304571880842e799f7f48fb36bebe3dc3603 libXaw3d-1.6.6.tar.xz" diff --git a/user/libxcb/APKBUILD b/user/libxcb/APKBUILD index 68bcd89fa..32b9425ca 100644 --- a/user/libxcb/APKBUILD +++ b/user/libxcb/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxcb -pkgver=1.15 +pkgver=1.17.0 pkgrel=0 pkgdesc="X11 C language Binding" url="https://xcb.freedesktop.org/" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f6c7d766b7cf9cab6abe948ee424cbae6951dbfe2f76fa58a109cdc05b0f0919dcc4e38176a22ff4b95fc1e38596115317e32ba33b24cae0035a4e30dbcbdad9 libxcb-1.15.tar.xz" +sha512sums="945b1f28e8b407a4d0ebf88c99ef3cbef763fd75e6eaa8e971946e44ce8dbe9b478c56ae85aaaadab7fdb25987e88570d9d4fb9ad2febd6d6bf21d644a0e10d0 libxcb-1.17.0.tar.xz" diff --git a/user/libxcomposite/APKBUILD b/user/libxcomposite/APKBUILD index f390a1204..1e5294342 100644 --- a/user/libxcomposite/APKBUILD +++ b/user/libxcomposite/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxcomposite -pkgver=0.4.5 +pkgver=0.4.6 pkgrel=0 pkgdesc="X11 Composite extension library" url="https://www.X.Org/" @@ -10,7 +10,7 @@ depends="" depends_dev="libxext-dev" makedepends="libx11-dev libxext-dev libxfixes-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXcomposite-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXcomposite-$pkgver.tar.xz" builddir="$srcdir"/libXcomposite-$pkgver build() { @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="502fd51fd9097bb3ca72174ac5b25b9d3b1ff240d32c4765199df03d89337d94b4ddea49e90b177b370862430089d966ce9c38988337156352cfeae911c2d3d5 libXcomposite-0.4.5.tar.bz2" +sha512sums="f35a0da8f9f22fd788eee01209557fe3a1b1abdc9744f76330ba42b21b6e3af5464ca4451c33415856417c30da5aa5624e3707980c644327249bfeda5a62a59b libXcomposite-0.4.6.tar.xz" diff --git a/user/libxcursor/APKBUILD b/user/libxcursor/APKBUILD index 8b34f5a02..7f59ad38d 100644 --- a/user/libxcursor/APKBUILD +++ b/user/libxcursor/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxcursor -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=0 pkgdesc="X cursor management library" url="https://www.X.Org/" @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ebb42a39855aab86d0c11fe6ad33d011cf56a6dc5c309bef643460319c03df239b7e09fe88777bb25c0e9ff8aceac6bf66e51cc04a2d5ee463b3bc3bbf1674e3 libXcursor-1.2.1.tar.xz" +sha512sums="6550ce1e69b35ef3356f25e31aa2779503d9cea780eff307cb646364993dfaa971304085d32677e68996bd3b8e067436c8fc89aeb4db07a12ce5bc93b735b5b0 libXcursor-1.2.2.tar.xz" diff --git a/user/libxcvt/APKBUILD b/user/libxcvt/APKBUILD new file mode 100644 index 000000000..1888d3ccc --- /dev/null +++ b/user/libxcvt/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Milan P. Stanić <mps@arvanta.net> +# Maintainer: Ermine <mustela@erminea.space> +pkgname=libxcvt +pkgver=0.1.2 +pkgrel=0 +pkgdesc="VESA CVT standard timing modelines generator" +url="https://www.X.Org/" +arch="all" +license="MIT AND X11" +# older xorg-server versions included this package but it has since been split out +# make sure we can upgrade properly to xorg-server 21.1.1 and later +depends="" +makedepends="meson" +replaces="xorg-server<21.1.1" +subpackages="$pkgname-dev $pkgname-doc" +source="https://xorg.freedesktop.org/releases/individual/lib/libxcvt-$pkgver.tar.xz" + +build() { + meson setup --prefix=/usr output + meson compile -C output +} + +check() { + meson test --no-rebuild --print-errorlogs -C output +} + +package() { + DESTDIR="$pkgdir" meson install --no-rebuild -C output +} + +doc() { + default_doc + + replaces="xorg-server-doc<21.1.1" +} + +sha512sums=" +3f6b2baca712a4608780686932f8881255c07bb74b1a788f9b07d4e22975c038d75111cd6b452257882a0b2bad57eebb2002f80a3e435d2e2d16936597f039b0 libxcvt-0.1.2.tar.xz +" +sha512sums="3f6b2baca712a4608780686932f8881255c07bb74b1a788f9b07d4e22975c038d75111cd6b452257882a0b2bad57eebb2002f80a3e435d2e2d16936597f039b0 libxcvt-0.1.2.tar.xz" diff --git a/user/libxdamage/APKBUILD b/user/libxdamage/APKBUILD index 5519f04e6..e9ab5d7b3 100644 --- a/user/libxdamage/APKBUILD +++ b/user/libxdamage/APKBUILD @@ -1,15 +1,16 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxdamage -pkgver=1.1.5 +pkgver=1.1.6 pkgrel=0 pkgdesc="X11 damaged region extension library" url="https://www.X.Org/" arch="all" license="MIT" +options="!check" # No test suite. depends="" makedepends="libx11-dev libxfixes-dev util-macros xorgproto-dev" subpackages="$pkgname-dev" -source="https://www.X.Org/releases/individual/lib/libXdamage-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXdamage-$pkgver.tar.xz" builddir="$srcdir"/libXdamage-$pkgver build() { @@ -21,12 +22,8 @@ build() { make } -check() { - make check -} - package() { make DESTDIR="$pkgdir" install } -sha512sums="a3ca6cc33b1727f717a3e2aa5593f660508a81a47918a0aa949e9e8fba105e303fe5071983b48caac92feea0fe6e8e01620805e4d19b41f21f20d837b191c124 libXdamage-1.1.5.tar.bz2" +sha512sums="624dcefa1c79064569df952892f7f1351dc19ad338ce73d1a57041e406cb3e18abe531bab352b93d1f0f5c9b5c6b2652cc84a8f1fbfcbba648343812695a8acb libXdamage-1.1.6.tar.xz" diff --git a/user/libxdmcp/APKBUILD b/user/libxdmcp/APKBUILD index c94ccc3fe..5fd7db9fb 100644 --- a/user/libxdmcp/APKBUILD +++ b/user/libxdmcp/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxdmcp -pkgver=1.1.4 +pkgver=1.1.5 pkgrel=0 pkgdesc="X11 Display Manager Control Protocol library" url="https://www.X.Org/" @@ -33,4 +33,4 @@ package() { make -j1 DESTDIR="$pkgdir" install } -sha512sums="83b384d43bfb034c395f83f97d1c6e73aa3d5faa8f8756b08e697c0b9c3c87189651b51e8213fbd1f5f9cbc2d8136cbf143627481744345d78cfe0ff2ad074a9 libXdmcp-1.1.4.tar.xz" +sha512sums="d7a1d70a58b7d34ddd01a91d3ccbc086a36626b7081cfcbb150d24288c6adad612b042ba7ea63a218595afb2ee04384c0f8ba84ee3c6bd29913724b54e898d83 libXdmcp-1.1.5.tar.xz" diff --git a/user/libxext/APKBUILD b/user/libxext/APKBUILD index cd808007e..508f5544d 100644 --- a/user/libxext/APKBUILD +++ b/user/libxext/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxext -pkgver=1.3.5 +pkgver=1.3.6 pkgrel=0 pkgdesc="X11 miscellaneous extensions library" url="https://www.X.Org/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="fd9805982dabfb14b1526c0cb71f94508003fa3fcd60560d387465afd891c1dca61927ae86278436d53f4b840cacd1f412071fdc3dce1d6f730610a9c163d59b libXext-1.3.5.tar.xz" +sha512sums="fd7693b5698cc4f5e80002a2cd4bd88e5d52c755c19a0417ee73029bd65f9d77b0969e765a1febc4d8fce1ba5dfb7278717f47be742e33d8fc5eb941e769792e libXext-1.3.6.tar.xz" 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/libxfixes/APKBUILD b/user/libxfixes/APKBUILD index 91a7ac18c..62dde09a4 100644 --- a/user/libxfixes/APKBUILD +++ b/user/libxfixes/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxfixes -pkgver=6.0.0 +pkgver=6.0.1 pkgrel=0 pkgdesc="X11 fixes extension library" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="" makedepends="libx11-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="http://www.x.org/releases/individual/lib/libXfixes-$pkgver.tar.bz2" +source="http://www.x.org/releases/individual/lib/libXfixes-$pkgver.tar.xz" builddir="$srcdir"/libXfixes-$pkgver build() { @@ -28,4 +28,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1985ef156f382e9a7e1cc7e044e0f626de1e4c82557a511cbcf6431994c0ac25b1f8b3a0293bd3089331593db8ce01d3a71ddec68f19b5fe6029d5082fb6885d libXfixes-6.0.0.tar.bz2" +sha512sums="b46deffb30cd73ec8a127390d99f2ba2f3ab78f334fdba227f1f461441644a0c169b0d13ffa47576fa458780e7a6db664ff8b93e9195fb217262efd8128f1ffe libXfixes-6.0.1.tar.xz" diff --git a/user/libxfont2/APKBUILD b/user/libxfont2/APKBUILD index 54cf2e6ad..d6693c9f8 100644 --- a/user/libxfont2/APKBUILD +++ b/user/libxfont2/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxfont2 -pkgver=2.0.6 +pkgver=2.0.7 pkgrel=0 pkgdesc="X11 font library from X.Org" url="https://www.X.Org/" @@ -38,4 +38,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="24d6baeef8dc2ca2730925c6b790a97f4a3f46ea7b4d908555e7df29cee6e27b63d638b50c88dd30c853cecff7d9b079402cb617f4498f96410c5770b8815cbd libXfont2-2.0.6.tar.xz" +sha512sums="f703127df5d5b1093c9b73e019153ed7799523573d52e61d344209f0acfd4df42e11be12bdd1880479c47c2b70de581a4f2ef74e199e9b1ac438f426593d56b0 libXfont2-2.0.7.tar.xz" diff --git a/user/libxft/APKBUILD b/user/libxft/APKBUILD index 5cfeea49b..4201c0aae 100644 --- a/user/libxft/APKBUILD +++ b/user/libxft/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxft -pkgver=2.3.6 +pkgver=2.3.8 pkgrel=0 pkgdesc="FreeType-based font drawing library for X11" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="732f8c635fcac6010012ba8c10c23d2dd6ec79b0f096d6bcc9b7e36d2ca0817387faa7ee5bb6f43cff02adc68e4234c1b8f95021ebc548f61c492e0b76836d90 libXft-2.3.6.tar.xz" +sha512sums="fc385d73e1acb701942c154ffb5a283d17891f21d3ac598c4a3fb375a7d6082734593062368c15cad67c1a94177dd15deed878ec5ea852188393b52e92c372c8 libXft-2.3.8.tar.xz" diff --git a/user/libxi/APKBUILD b/user/libxi/APKBUILD index 2e7dcdcd2..7f31b1f1b 100644 --- a/user/libxi/APKBUILD +++ b/user/libxi/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxi -pkgver=1.8 +pkgver=1.8.1 pkgrel=0 pkgdesc="X11 input extension library" url="https://www.X.Org/" @@ -10,7 +10,7 @@ subpackages="$pkgname-dev $pkgname-doc" depends="" makedepends="libx11-dev libxext-dev libxfixes-dev util-macros xmlto xorgproto-dev" -source="https://www.X.Org/releases/individual/lib/libXi-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXi-$pkgver.tar.xz" builddir="$srcdir"/libXi-$pkgver build() { @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4b2c667a8466eb389f253d77285c3f506c4a2b6c75054c722974a864565d565cc0c5701f8ea773eb929ceb94adfeb737ecd7a0bfc2c240157416a5f343c07aba libXi-1.8.tar.bz2" +sha512sums="a30b1a07e6d710f5196e7477415d68074736f89d954e8f2d5ccc9b5f349e7d1d440c90fb512508176b5db5ecad55608cfb540872936b731963fd83343db3a0b9 libXi-1.8.1.tar.xz" diff --git a/user/libxkbcommon/APKBUILD b/user/libxkbcommon/APKBUILD index a4be5d572..a667c3ab7 100644 --- a/user/libxkbcommon/APKBUILD +++ b/user/libxkbcommon/APKBUILD @@ -1,33 +1,72 @@ # Contributor: Ariadne Conill <ariadne@dereferenced.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxkbcommon -pkgver=0.10.0 +pkgver=1.8.1 pkgrel=0 pkgdesc="Keyboard handling library" -url="https://www.xkbcommon.org/" +url="https://xkbcommon.org/" arch="all" license="MIT AND X11" +options="checkx11" depends="xkeyboard-config" -checkdepends="bash" -makedepends="bison doxygen flex libxcb-dev meson ninja util-macros - xorgproto-dev" -subpackages="$pkgname-dev $pkgname-doc" -source="https://www.xkbcommon.org/download/libxkbcommon-$pkgver.tar.xz" +checkdepends="bash xvfb" +makedepends="bison doxygen libxcb-dev meson libxml2-dev wayland-dev + graphviz wayland-protocols" +subpackages="$pkgname-dev $pkgname-doc $pkgname-tools + $pkgname-tools-doc:xkbcli_doc $pkgname-tools-bash-completion:bashcomp" +source="https://github.com/xkbcommon/libxkbcommon/archive/refs/tags/xkbcommon-$pkgver.tar.gz" +builddir="$srcdir/libxkbcommon-xkbcommon-$pkgver" build() { - meson \ + meson setup \ -Dprefix=/usr \ - -Denable-wayland=false \ + -Denable-docs=true \ 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="58c523b42a8ea0cae7322d453fbc5d4624374221246cb067074e2ff9820eef3ceea8686283136432cdf0842acfc0858c7b2d3954de234b6501092ae1d27c9e79 libxkbcommon-0.10.0.tar.xz" +doc() { + pkgdesc="Keyboard handling library (documentation)" + install_if="docs $pkgname=$pkgver-r$pkgrel" + # Library docs are in HTML in /usr/share/doc, while xkbcli + # docs are man pages. So we move doc directory to the subpackage... + mkdir -p "$subpkgdir"/usr/share + mv "$pkgdir"/usr/share/doc "$subpkgdir"/usr/share +} + +tools() { + pkgdesc="xkb command-line tool with interactive debugger" + + mkdir -p "$subpkgdir"/usr/bin + mkdir -p "$subpkgdir"/usr/libexec/xkbcommon + + mv "$pkgdir"/usr/bin/xkbcli "$subpkgdir"/usr/bin/ + mv "$pkgdir"/usr/libexec/xkbcommon "$subpkgdir"/usr/libexec/ +} + +xkbcli_doc() { + # ...and run default_doc here to let abuild process man pages properly + default_doc + pkgdesc="xkb command-line tool with interactive debugger (doc)" + install_if="docs $pkgname-tools=$pkgver-r$pkgrel" +} + +bashcomp() { + pkgdesc="xkb command-line tool with interactive debugger (bash completions)" + depends="" + install_if="$pkgname-tools=$pkgver-r$pkgrel bash-completion" + + mkdir -p "$subpkgdir"/usr/share/bash-completion/completions + mv "$pkgdir"/usr/share/bash-completion/completions/xkbcli \ + "$subpkgdir"/usr/share/bash-completion/completions/ +} + +sha512sums="a11b8563b11bd085b909753fa99e5b2129343363a05d4fac44a46b334b644dbdd57c356021926e9fdcc2bf6855b90283af93e74c471c3d5677c2ed1bf19427c2 xkbcommon-1.8.1.tar.gz" diff --git a/user/libxkbfile/APKBUILD b/user/libxkbfile/APKBUILD index 1cc6feb63..ea8d2e240 100644 --- a/user/libxkbfile/APKBUILD +++ b/user/libxkbfile/APKBUILD @@ -1,31 +1,27 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxkbfile -pkgver=1.1.1 +pkgver=1.1.3 pkgrel=0 pkgdesc="X11 keyboard file manipulation library" url="https://www.X.Org/" arch="all" +options="!check" # no test suite license="MIT AND X11" depends="" -makedepends="libx11-dev util-macros" +makedepends="libx11-dev meson" subpackages="$pkgname-dev" source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.xz" build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ + meson setup \ --prefix=/usr \ - --sysconfdir=/etc - make -} - -check() { - make check + --sysconfdir=/etc \ + build + meson compile -C build } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build } -sha512sums="2902d21860e27a27159123a19f7d4e0cf9cf8933685f1d2477e69ec647f0f8629b58bbfc391ed45e8b51a10033f18a9d0f16f7f519da9923cd7ed3bd497cf1a2 libxkbfile-1.1.1.tar.xz" +sha512sums="d80ac41f6fa3a1ffad77ea1f8f9d9542f0bd210d74b263802bc6e6c1594fe325b27f42b5454aeeb36352518963b1ed1fdbbad95d7db3690b2e36d54742b7c236 libxkbfile-1.1.3.tar.xz" diff --git a/user/libxmu/APKBUILD b/user/libxmu/APKBUILD index c025dd9c9..357321e28 100644 --- a/user/libxmu/APKBUILD +++ b/user/libxmu/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxmu -pkgver=1.1.4 +pkgver=1.2.1 pkgrel=0 pkgdesc="X11 miscellaneous micro-utility library" url="https://www.X.Org/" @@ -29,4 +29,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3cf90cb3ff380aafefbb39297bdd95b9e1e6d6618cecb53ff09faf38f9b9c54599d28367f07a9ec77a20214c6c3e661b8d0a12b38082556790a79a59942039c1 libXmu-1.1.4.tar.xz" +sha512sums="05a30e5961e00e940ad7ec4eb94ec482b5cbe808585972bf70c849333af3fddf4ae4bd87895d706507fb3a94ed0fb73ea161e0e27dc2840323a1a1af49c0e8a3 libXmu-1.2.1.tar.xz" diff --git a/user/libxp/APKBUILD b/user/libxp/APKBUILD index 25953833a..3280d3d6f 100644 --- a/user/libxp/APKBUILD +++ b/user/libxp/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxp -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="X11 print client library" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libx11-dev libxau-dev libxext-dev xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.x.org/releases/individual/lib/libXp-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/lib/libXp-$pkgver.tar.xz" builddir="$srcdir/libXp-$pkgver" build() { @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="502a2500ec0f519dae69ac035bf93c65c47e3bc301604aacb350e90043455f3485626194db45208e5521300b282843825e08b7f7c412a7497ffa02f5f1560c8d libXp-1.0.3.tar.bz2" +sha512sums="50e82e7ee7222db13a04f6223ae8653eb783593c3b28825d7fc233af188960bec53d2b11ced281e01140d283d840d0e3822d71f95f5045d594fb704485fd0f89 libXp-1.0.4.tar.xz" diff --git a/user/libxpm/APKBUILD b/user/libxpm/APKBUILD index f017ddb7a..1e01a37df 100644 --- a/user/libxpm/APKBUILD +++ b/user/libxpm/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxpm -pkgver=3.5.14 +pkgver=3.5.17 pkgrel=0 pkgdesc="X11 pixmap library" url="https://www.X.Org/" @@ -29,4 +29,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c3fe554453068a6b188d3cad2cb3648e84b7f1909aea8f213daadce3d444b34361c3b2edce14a4fd481f97e4dc45c3125e2483ff4f44b3390a75829ed2782e4b libXpm-3.5.14.tar.xz" +sha512sums="52f9d2664a47a26c1a6ad65d18867de870b66947b0b0d99cca3512756a0aaa6ce2a245c0b49f20b70c3ce48bf04c47c333e8119a147465c277bca727f6ab017e libXpm-3.5.17.tar.xz" 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/libxrandr/APKBUILD b/user/libxrandr/APKBUILD index 9316676d5..d77690639 100644 --- a/user/libxrandr/APKBUILD +++ b/user/libxrandr/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxrandr -pkgver=1.5.2 +pkgver=1.5.4 pkgrel=0 pkgdesc="X11 RandR extension library" url="https://www.X.Org/" @@ -10,7 +10,7 @@ depends="" depends_dev="libxext-dev" makedepends="$depends_dev libx11-dev libxrender-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXrandr-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXrandr-$pkgver.tar.xz" builddir="$srcdir"/libXrandr-$pkgver build() { @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="fcd005f9839e7ef980607128a5d76d7b671cc2f5755949e03c569c500d7e987cb3f6932750ab8bf6e2c1086ec69dde09d5831f0c2098b9f9ad46be4f56db0d87 libXrandr-1.5.2.tar.bz2" +sha512sums="f7c0b083943e11b4cc3c97e10e2cbbc3920fe0c9c5031ef86fca2eb5df413d767caf53dca266abf65395eb10e55354c8fe59ed6b3265402ffccb919a813bc781 libXrandr-1.5.4.tar.xz" diff --git a/user/libxres/APKBUILD b/user/libxres/APKBUILD index 294597fd0..df8b54d6b 100644 --- a/user/libxres/APKBUILD +++ b/user/libxres/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxres -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=0 pkgdesc="X11 X-Resource extension library" url="https://www.X.Org/" @@ -9,7 +9,7 @@ license="MIT AND X11" depends="" makedepends="libx11-dev libxext-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXres-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXres-$pkgver.tar.xz" builddir="$srcdir"/libXres-$pkgver build() { @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c17d28406e17e305dc4976f095e88059735f5bd8c600adf2e556523c9e0dd7fa01dcbf7a9d28a642e77e49a5b30f54bb9b2fc34bfbedce467ee2a020bba5cdf1 libXres-1.2.1.tar.bz2" +sha512sums="897f2d426ea6f41169a5a52c356d1a1cb2ffb9144ae41b9fedd06455c3d81042930fe55be269ce4b8545ee65fcfe168101192a599053d810e8810f627c94f810 libXres-1.2.2.tar.xz" diff --git a/user/libxscrnsaver/APKBUILD b/user/libxscrnsaver/APKBUILD index 2bdfb8a3d..35c9cb9bf 100644 --- a/user/libxscrnsaver/APKBUILD +++ b/user/libxscrnsaver/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxscrnsaver -pkgver=1.2.3 +pkgver=1.2.4 pkgrel=0 pkgdesc="X.Org screen saver extension" url="https://cgit.freedesktop.org/xorg/lib/libXScrnSaver/" @@ -10,7 +10,7 @@ depends="" depends_dev="libxext-dev" makedepends="$depends_dev libx11-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXScrnSaver-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXScrnSaver-$pkgver.tar.xz" builddir="$srcdir"/libXScrnSaver-$pkgver build() { @@ -34,4 +34,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7ea628324a11b25ee82c7b11c6bf98f37de219354de51c1e29467b5de422669ba1ab121f3b9dc674093c8f3960e93c5d5428122f5539092f79bc8451c768354a libXScrnSaver-1.2.3.tar.bz2" +sha512sums="e4395af85f8496618afb23ffdaca1a75f5e3d213478d8dc73249cbc9840d7b993ba7513dbf6015cb38b48fe3f2223496365158a148dd5e1ac7475c5ee569e28c libXScrnSaver-1.2.4.tar.xz" diff --git a/user/libxshmfence/APKBUILD b/user/libxshmfence/APKBUILD index f401d3849..239e8695e 100644 --- a/user/libxshmfence/APKBUILD +++ b/user/libxshmfence/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxshmfence -pkgver=1.3.1 +pkgver=1.3.2 pkgrel=0 pkgdesc="X11 shared memory fences" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f0c33b97204d62dc8352e2728ce12694bdb83ccbd1fd11c19db17246cd62bcd3e675f5b5b88a4e14bda59b4174003c758c24a3d93abc4bf574fdadc3bf07da71 libxshmfence-1.3.1.tar.xz" +sha512sums="e20a6827e370726cf50489a69f4a52b897f1c44e3eba8c72a4e626b08724e877d090770b8016765736d887d5d5eaba1fda9c29066e62d259b4d1e2064bc1626c libxshmfence-1.3.2.tar.xz" diff --git a/user/libxt/APKBUILD b/user/libxt/APKBUILD index 595ccf9a7..2540bf649 100644 --- a/user/libxt/APKBUILD +++ b/user/libxt/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxt -pkgver=1.2.1 +pkgver=1.3.0 pkgrel=0 pkgdesc="X11 toolkit intrinsics library" url="https://www.X.Org/" @@ -11,7 +11,7 @@ depends_dev="libsm-dev" checkdepends="glib-dev" makedepends="$depends_dev libice-dev libx11-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXt-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXt-$pkgver.tar.xz" builddir="$srcdir"/libXt-$pkgver build() { @@ -31,4 +31,4 @@ package() { make -j1 DESTDIR="$pkgdir" install } -sha512sums="6877af61ba91eeed6b6f80471b84f354ad0ec0827249c7ee0a00c13508063fe8d2696dd400a4bdbc6ca2ff67cbe1317ad5ac24522fd96099dc56535e33ca052c libXt-1.2.1.tar.bz2" +sha512sums="64c5978655135b925c3aaad86b1aa6a3f3b57ad8b3592bf142be616b8aa339a02c2fc7badfab9564ea8076ea8f37acfe31709ed528f5a1d251f2d116aa074118 libXt-1.3.0.tar.xz" diff --git a/user/libxtst/APKBUILD b/user/libxtst/APKBUILD index 5b1b63f8c..95c5d8a6f 100644 --- a/user/libxtst/APKBUILD +++ b/user/libxtst/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxtst -pkgver=1.2.4 +pkgver=1.2.5 pkgrel=0 pkgdesc="X11 Testing Resource extension library" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f2f4e01239b892b8e26284cede90feb4fe7738beb243bca0f6adb349029f8bf87b5a482911edcd2401733c92ef78eec07fcd455b92e5b8c4828374769e60098d libXtst-1.2.4.tar.xz" +sha512sums="848fa580d7abccd48c9ca3440f92e299839ada0912ed60d38d4d4f5bf37431cd02d7059265ab4e524c3e2cb9c368b9b90b863d1ed97d74979ef8811fc5e635a9 libXtst-1.2.5.tar.xz" diff --git a/user/libxv/APKBUILD b/user/libxv/APKBUILD index d17cb97ba..5312c357b 100644 --- a/user/libxv/APKBUILD +++ b/user/libxv/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxv -pkgver=1.0.11 -pkgrel=2 +pkgver=1.0.12 +pkgrel=0 pkgdesc="X11 Video extension library" url="https://www.X.Org/" arch="all" @@ -9,7 +9,7 @@ license="MIT" depends="" makedepends="libx11-dev libxext-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXv-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXv-$pkgver.tar.xz" builddir="$srcdir"/libXv-$pkgver build() { @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="97cb3ab06cedc87799d06e1affd5cee32ed0e551903fa5c915f79e7ed92eded867e3220b4a663822f7ebd86fdc71b09943b7077d98f1200019992e8d24144e58 libXv-1.0.11.tar.bz2" +sha512sums="bdd00de1ce6a8911056181ab4de32f9e319a68567389162d4bc2e3c9946d5f3c60f87eb6c53f74c9b6a342255e591d5fef4a445a4ac8ca3c1b6fe87d42c51c1e libXv-1.0.12.tar.xz" diff --git a/user/libxvmc/APKBUILD b/user/libxvmc/APKBUILD index fb2dd1e9b..daa1e6264 100644 --- a/user/libxvmc/APKBUILD +++ b/user/libxvmc/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxvmc -pkgver=1.0.13 +pkgver=1.0.14 pkgrel=0 pkgdesc="X11 Video Motion Compensation extension library" url="https://www.X.Org/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="c9d0f73884a586efb9ea4f77fc8555f60d940077d7dff8eaa765b86345c8b4e3d80b860f68191d2830c272b9e464c08450fbb51bb64819753a6f4228c71861ac libXvMC-1.0.13.tar.xz" +sha512sums="fc76c6d591780f3481f5032d1f956f2043f3dc7655a4b776dfda4bae55d4424a36d1a3c63dafe2a851908f33159297c0b038a41329d7a137ca7ea73d3db3eedf libXvMC-1.0.14.tar.xz" diff --git a/user/libxxf86dga/APKBUILD b/user/libxxf86dga/APKBUILD index 5de299edc..cd1e70a9e 100644 --- a/user/libxxf86dga/APKBUILD +++ b/user/libxxf86dga/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=libxxf86dga -pkgver=1.1.5 +pkgver=1.1.6 pkgrel=0 pkgdesc="X11 Direct Graphics Access extension library" url="https://www.X.Org/" @@ -9,7 +9,7 @@ license="X11" depends="" makedepends="libx11-dev libxext-dev util-macros xorgproto-dev" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/lib/libXxf86dga-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/libXxf86dga-$pkgver.tar.xz" builddir="$srcdir"/libXxf86dga-$pkgver build() { @@ -28,4 +28,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0e77c4003aeba737b10c17d55aeefa935fc57c4ba9e8f79a834f3f8c690d6a1d98f69ad707eded784346c1cf40c41829719d257283b5eae3207147fb4c79ed89 libXxf86dga-1.1.5.tar.bz2" +sha512sums="61f7954471df63840ffb5e82347018e285d30d64d4d0a97770ca031c8554a0f52d1b007ab8342a283cd2f0d534f564fb59f57ec92515714f20a7d145912c65d9 libXxf86dga-1.1.6.tar.xz" diff --git a/user/libzmf/APKBUILD b/user/libzmf/APKBUILD index c81460caa..3df4b8bad 100644 --- a/user/libzmf/APKBUILD +++ b/user/libzmf/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=libzmf pkgver=0.0.2 -pkgrel=1 +pkgrel=2 pkgdesc="Import filter and tools for Zoner Callisto/Draw documents" url="https://wiki.documentfoundation.org/DLP/Libraries/libzmf" arch="all" diff --git a/user/lighttpd/APKBUILD b/user/lighttpd/APKBUILD index 70692ad68..73e9cdb1b 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.79 pkgrel=0 pkgdesc="A secure, fast, compliant and very flexible web-server" url="https://www.lighttpd.net" @@ -36,7 +36,6 @@ source="https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-$pkgver.t $pkgname.confd $pkgname.logrotate lighttpd.conf - mime-types.conf mod_cgi.conf mod_fastcgi.conf mod_fastcgi_fpm.conf @@ -81,7 +80,7 @@ package() { "$pkgdir"/etc/logrotate.d/lighttpd # config files - local i; for i in lighttpd.conf mime-types.conf mod_cgi.conf \ + local i; for i in lighttpd.conf mod_cgi.conf \ mod_fastcgi.conf mod_fastcgi_fpm.conf do install -m644 "$srcdir"/$i "$pkgdir"/etc/lighttpd/$i @@ -108,12 +107,11 @@ mod_webdav() { } sha512sums=" -940f00f2d84e3424c389108d09756a0af41db3559474135b6c502deccd08ad051b5184f3f7907436384964d2b05045e27dca463af98c889cee69b0ae6e202782 lighttpd-1.4.76.tar.xz +e0f1bb2cfca5e81001ea30d13f088425dfc7acbec924ecddf438eb6326ab3158a61c6c4aaee0b68a90666d1cb987ce94b1f6a48afd92485cc995db5b58265f83 lighttpd-1.4.79.tar.xz a74fb8394fb77fca2a08bdcfc79d4e13de6aca7bc4ed842b7e05f7f3a9cc85dccaa4971ba8fd0edfaa19da8d3870a743b713d9e51f1cbfe5b8e2843bb7fe5346 lighttpd.initd 9d2ab5deb7353ebf290e90936b511941df440859c78589d0bcf130ef69a5e9c79e4d318548b6b118df002083c46f7476230a28954b7a10a9dbd05040e02b1291 lighttpd.confd 0536b4f21d2e8659f7831b45998c13d9f6051ae7ecde13be01f372f837d255bfc4e211de48a7686cc743d53aa9c08ab3f10ec19788896dcf8356b90053ca7a16 lighttpd.logrotate -f99f109178bc8e60859b01ae7ebaaa63090849fe27f203780bf1e860c2bce997a1b8e6cf4e2a40b5c2f998aac13888aa693dfbfcc8e1bd9be4442a31bcf124d0 lighttpd.conf -a3f2f5763885d7e4f510491b24164e34aaf62bb02daa12991575dc64335c12668355af5bb8d6ce191eb4e9cce95324b1f7c9ba61b323b4e7b50a1e03e021afcf mime-types.conf +ba622693023f38b7ecb6234e29494cbec9cc94786a4d9d544a293e08208aaebb038bf443e205f7c5b8780c6c723a800b7f4d6ec7aaad75ebc65ac9b4f1cf064f lighttpd.conf 27cc638d8068dcf47bd9db44943d1db6c6f4e8e6abd6b42af7cea004b1c093440068541d98c68f8bea70b956713adaf8ed59a4b642dea826ee8620a05f8cfde5 mod_cgi.conf 1d15b84c03fb648a0e67ab5c5411b85478b4454c44bc2959cc96d1700eeadd7ff429520a5f1550db6527267646622dccd3d47d3fd1258869fccaf5c22d4ad4b2 mod_fastcgi.conf f9efc4b70d825600f5356c30e57d0b6cac11c01739337f7192c09c2cfd96cb76c8328b11d818ea4c2addc1a6d253975b84700106ae75854d55d0df73e220bd2b mod_fastcgi_fpm.conf diff --git a/user/lighttpd/lighttpd.conf b/user/lighttpd/lighttpd.conf index 9c9b89c7b..e8807efaf 100644 --- a/user/lighttpd/lighttpd.conf +++ b/user/lighttpd/lighttpd.conf @@ -35,7 +35,6 @@ server.modules = ( ######## Inclusions ######## -include "mime-types.conf" # uncomment for cgi support # include "mod_cgi.conf" # uncomment for php/fastcgi support diff --git a/user/lighttpd/mime-types.conf b/user/lighttpd/mime-types.conf deleted file mode 100644 index f24d4d858..000000000 --- a/user/lighttpd/mime-types.conf +++ /dev/null @@ -1,79 +0,0 @@ -############################################################################### -# Default mime-types.conf for Gentoo. -# include'd from lighttpd.conf. -# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/files/conf/mime-types.conf,v 1.4 2010/03/14 21:45:18 bangert Exp $ -############################################################################### - -# {{{ mime types -mimetype.assign = ( - ".svg" => "image/svg+xml", - ".svgz" => "image/svg+xml", - ".pdf" => "application/pdf", - ".sig" => "application/pgp-signature", - ".spl" => "application/futuresplash", - ".class" => "application/octet-stream", - ".ps" => "application/postscript", - ".torrent" => "application/x-bittorrent", - ".dvi" => "application/x-dvi", - ".gz" => "application/x-gzip", - ".pac" => "application/x-ns-proxy-autoconfig", - ".swf" => "application/x-shockwave-flash", - ".tar.gz" => "application/x-tgz", - ".tgz" => "application/x-tgz", - ".tar" => "application/x-tar", - ".zip" => "application/zip", - ".dmg" => "application/x-apple-diskimage", - ".mp3" => "audio/mpeg", - ".m3u" => "audio/x-mpegurl", - ".wma" => "audio/x-ms-wma", - ".wax" => "audio/x-ms-wax", - ".ogg" => "application/ogg", - ".wav" => "audio/x-wav", - ".gif" => "image/gif", - ".jpg" => "image/jpeg", - ".jpeg" => "image/jpeg", - ".png" => "image/png", - ".xbm" => "image/x-xbitmap", - ".xpm" => "image/x-xpixmap", - ".xwd" => "image/x-xwindowdump", - ".css" => "text/css", - ".html" => "text/html", - ".htm" => "text/html", - ".js" => "text/javascript", - ".asc" => "text/plain", - ".c" => "text/plain", - ".h" => "text/plain", - ".cc" => "text/plain", - ".cpp" => "text/plain", - ".hh" => "text/plain", - ".hpp" => "text/plain", - ".conf" => "text/plain", - ".log" => "text/plain", - ".text" => "text/plain", - ".txt" => "text/plain", - ".diff" => "text/plain", - ".patch" => "text/plain", - ".ebuild" => "text/plain", - ".eclass" => "text/plain", - ".rtf" => "application/rtf", - ".bmp" => "image/bmp", - ".tif" => "image/tiff", - ".tiff" => "image/tiff", - ".ico" => "image/x-icon", - ".dtd" => "text/xml", - ".xml" => "text/xml", - ".mpeg" => "video/mpeg", - ".mpg" => "video/mpeg", - ".mov" => "video/quicktime", - ".qt" => "video/quicktime", - ".avi" => "video/x-msvideo", - ".asf" => "video/x-ms-asf", - ".asx" => "video/x-ms-asf", - ".wmv" => "video/x-ms-wmv", - ".bz2" => "application/x-bzip", - ".tbz" => "application/x-bzip-compressed-tar", - ".tar.bz2" => "application/x-bzip-compressed-tar" - ) -# }}} - -# vim: set ft=conf foldmethod=marker et : 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/listres/APKBUILD b/user/listres/APKBUILD index bea03f148..908115f1e 100644 --- a/user/listres/APKBUILD +++ b/user/listres/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=listres -pkgver=1.0.5 +pkgver=1.0.6 pkgrel=0 pkgdesc="Tool to list Xt resources" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="caa3626773031fbf6d8bcc1f697afe6add64fe4a8d1d766c42d5c2346050869dd23a26a1718411134ab05c75835facf0786cab5595721a16df423cdc54dd813d listres-1.0.5.tar.xz" +sha512sums="182919c8ba5569af3dbf59421de2dfd3e755b3bd2d6d548c6d2664c20b73f937e64dc73811821c19af93fffbc2d5c8d2db8d9cdd9bf1b93b0f29cb683e13ebe7 listres-1.0.6.tar.xz" diff --git a/user/llvm14/APKBUILD b/user/llvm14/APKBUILD deleted file mode 100644 index 77a39f78d..000000000 --- a/user/llvm14/APKBUILD +++ /dev/null @@ -1,284 +0,0 @@ -# Contributor: Travis Tilley <ttilley@gmail.com> -# Contributor: Mitch Tishmack <mitch.tishmack@gmail.com> -# Contributor: Jakub Jirutka <jakub@jirutka.cz> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -_pkgname=llvm -pkgver=14.0.6 -_majorver=${pkgver%%.*} -pkgname=$_pkgname$_majorver -pkgrel=1 -pkgdesc="Low Level Virtual Machine compiler system, version $_majorver" -url="https://llvm.org/" -arch="all" -options="!checkroot !dbg" -license="NCSA AND (Apache-2.0 WITH LLVM-exception)" -depends="" -depends_dev="$pkgname=$pkgver-r$pkgrel libexecinfo-dev libxml2-dev" -checkdepends="cmd:which" -makedepends="binutils-dev chelf chrpath cmake file libexecinfo-dev libffi-dev - libxml2-dev python3 zlib-dev" -subpackages="$pkgname-static $pkgname-libs $pkgname-dev - $pkgname-test-utils:_test_utils" -source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz - llvm-fix-build-with-musl-libc.patch - disable-FileSystemTest.CreateDir-perms-assert.patch - disable-dlclose-test.patch - dwarf-info.patch - dyld-elf-ppc32.patch - graph-diff-simple.txt - hexagon.patch - macho32.patch - musl-ppc64-elfv2.patch - ppc-gcc-bug.patch - ppc-test.patch - python3-test.patch - roundeven.patch - " -builddir="$srcdir/$_pkgname-$pkgver.src" - -# ARM has few failures in test suite that we don't care about currently and -# also it takes forever to run them on the builder. -case "$CARCH" in - arm*) options="$options !check";; -esac - -# Whether is this package the default (latest) LLVM version. -_default_llvm="no" - -if [ "$_default_llvm" = yes ]; then - provides="llvm=$pkgver-r$pkgrel" - replaces="llvm" -fi - -# NOTE: It seems that there's no (sane) way how to change includedir, sharedir -# etc. separately, just the CMAKE_INSTALL_PREFIX. Standard CMake variables and -# even LLVM-specific variables, that are related to these paths, actually -# don't work (in llvm 3.7). -# -# When building a software that depends on LLVM, utility llvm-config should be -# used to discover where is LLVM installed. It provides options to print -# path of bindir, includedir, and libdir separately, but in its source, all -# these paths are actually hard-coded against INSTALL_PREFIX. We can patch it -# and move paths manually, but I'm really not sure what it may break... -# -# Also note that we should *not* add version suffix to files in llvm bindir! -# It breaks build system of some software that depends on LLVM, because they -# don't expect these files to have a sufix. -# -# So, we install all the LLVM files into /usr/lib/llvm$_majorver. -# BTW, Fedora and Debian do the same thing. -# -_prefix="usr/lib/llvm$_majorver" - -prepare() { - default_prepare - - # https://bugs.llvm.org//show_bug.cgi?id=31870 - rm test/tools/llvm-symbolizer/print_context.c - - case $CARCH in - pmmx|x86|ppc|armhf|armv7) - # Appears to not work when building 32-bit code on 64-bit host. - rm test/tools/llvm-size/radix.test;; - esac - - # appears to be an issue on musl and glibc, but only fails on musl: - # https://github.com/NixOS/nixpkgs/blob/bb7e9e46/pkgs/development/compilers/llvm/8/llvm.nix#L74 - rm -f test/CodeGen/AArch64/wineh4.mir - - #1053 - rm -fr \ - test/tools/UpdateTestChecks \ - test/ExecutionEngine/MCJIT/load-object-a.ll \ - ; - #1202 - case $CARCH in - pmmx) - mv "$srcdir"/graph-diff-simple.txt \ - test/tools/llvm-xray/X86/graph-diff-simple.txt ;; - esac -} - -build() { - # Auto-detect it by guessing either. - ffi_include_dir="$(pkg-config --cflags-only-I libffi | sed 's|^-I||g')" - - case $CTARGET_ARCH in - pmmx) - # The standard precision breaks more than it fixes; there are - # 4 failures in standard mode and only (different) 1 in fast. - export CXXFLAGS="$CXXFLAGS -fexcess-precision=fast";; - esac - - case $CTARGET_ARCH in - pmmx|x86|ppc|armhf|armv7) - # 32-bit 2GB memory ceiling - # 'ld' chokes on 2GB .debug_info, 'scanelf' on binary size - # see also: #1251, #1253, abuild#20 - export CXXFLAGS="$CXXFLAGS -ggdb1";; - esac - - cmake -G "Unix Makefiles" -Wno-dev \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/$_prefix \ - -DCMAKE_VERBOSE_MAKEFILE=NO \ - -DFFI_INCLUDE_DIR="$ffi_include_dir" \ - -DLLVM_BINUTILS_INCDIR=/usr/include \ - -DLLVM_BUILD_DOCS=OFF \ - -DLLVM_BUILD_EXAMPLES=OFF \ - -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \ - -DLLVM_BUILD_LLVM_DYLIB=ON \ - -DLLVM_BUILD_TESTS=ON \ - -DLLVM_DEFAULT_TARGET_TRIPLE="$CBUILD" \ - -DLLVM_ENABLE_ASSERTIONS=OFF \ - -DLLVM_ENABLE_FFI=ON \ - -DLLVM_ENABLE_LIBCXX=OFF \ - -DLLVM_ENABLE_PIC=ON \ - -DLLVM_ENABLE_RTTI=ON \ - -DLLVM_ENABLE_SPHINX=OFF \ - -DLLVM_ENABLE_TERMINFO=ON \ - -DLLVM_ENABLE_ZLIB=ON \ - -DLLVM_HOST_TRIPLE="$CHOST" \ - -DLLVM_INCLUDE_BENCHMARKS=OFF \ - -DLLVM_INCLUDE_EXAMPLES=OFF \ - -DLLVM_INSTALL_UTILS=ON \ - -DLLVM_LINK_LLVM_DYLIB=ON \ - -DLLVM_TARGETS_TO_BUILD='AArch64;AMDGPU;ARM;BPF;Hexagon;Lanai;Mips;MSP430;PowerPC;RISCV;Sparc;SystemZ;WebAssembly;X86;XCore' \ - -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='M68k' \ - -Bbuild . - - make -C build llvm-tblgen - make -C build - - python3 utils/lit/setup.py build -} - -check() { - make -C build check-llvm -} - -package() { - make DESTDIR="$pkgdir" -C build install - - cd "$pkgdir"/$_prefix - - # Remove RPATHs. - file lib/*.so bin/* \ - | awk -F: '$2~/ELF/{print $1}' \ - | xargs -r chrpath -d - - # Thread 3 requires a lot of stack space to LTO when targeting ARM. - # Note that this occurs even when crossing (on a ppc64 host). - chelf -s 1048576 bin/llvm-lto2 - - # Symlink files from /usr/lib/llvm*/bin to /usr/bin. - mkdir -p "$pkgdir"/usr/bin - for full_name in bin/*; do - bin_name=${full_name##*/} - # If this package provides=llvm (i.e. it's the default/latest - # llvm package), omit version infix/suffix. - if [ "$_default_llvm" = yes ]; then - link_name=$bin_name - # ..otherwise, add version infix/suffix to the executable name. - else case "$bin_name" in - llvm-*) link_name="llvm$_majorver-${bin_name#llvm-}";; - *) link_name="$bin_name$_majorver";; - esac - fi - case "$name" in - FileCheck | obj2yaml | yaml2obj) continue;; - esac - ln -s ../lib/llvm$_majorver/bin/$bin_name "$pkgdir"/usr/bin/$link_name - done - - # Move /usr/lib/$pkgname/include/ into /usr/include/$pkgname/ - # and symlink it back. - mkdir -p "$pkgdir"/usr/include/$pkgname - mv include/* "$pkgdir"/usr/include/$pkgname/ - rmdir include - ln -s ../../include/$pkgname include - - ln -s "$pkgdir"/usr/lib/cmake/llvm ../$pkgname/lib/cmake/llvm -} - -static() { - pkgdesc="LLVM $_majorver static libraries" - _common_subpkg - - mkdir -p "$subpkgdir"/$_prefix/lib - mv "$pkgdir"/$_prefix/lib/*.a "$subpkgdir"/$_prefix/lib/ - strip -d "$subpkgdir"/$_prefix/lib/*.a -} - -libs() { - pkgdesc="LLVM $_majorver runtime library" - main_soname="libLLVM-$_majorver.so" - ver_soname="libLLVM-$pkgver.so" - _common_subpkg - - # libLLVM should be in /usr/lib. This is needed for binaries that are - # dynamically linked with libLLVM, so they can find it on default path. - mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/$_prefix/lib/$main_soname "$subpkgdir"/usr/lib/ - ln -s $main_soname "$subpkgdir"/usr/lib/$ver_soname - - # And also symlink it back to the LLVM prefix. - mkdir -p "$subpkgdir"/$_prefix/lib - ln -s ../../$main_soname "$subpkgdir"/$_prefix/lib/$main_soname - ln -s ../../$main_soname "$subpkgdir"/$_prefix/lib/$ver_soname -} - -dev() { - _common_subpkg - default_dev - - mkdir -p "$subpkgdir"/$_prefix/bin - - mv "$pkgdir"/$_prefix/lib "$subpkgdir"/$_prefix/ - mv "$pkgdir"/$_prefix/include "$subpkgdir"/$_prefix/ - - mv "$pkgdir"/$_prefix/bin/llvm-config "$subpkgdir"/$_prefix/bin/ -} - -_test_utils() { - pkgdesc="LLVM $_majorver utilities for executing LLVM and Clang style test suites" - depends="python3" - _common_subpkg - replaces="" - - litver="$(python3 "$builddir"/utils/lit/setup.py --version 2>/dev/null \ - | sed 's/\.dev.*$//')" - test -n "$litver" || return 1 - provides="$provides lit=$litver-r$pkgrel" - - cd "$builddir"/build - - install -D -m 755 bin/FileCheck "$subpkgdir"/$_prefix/bin/FileCheck - install -D -m 755 bin/count "$subpkgdir"/$_prefix/bin/count - install -D -m 755 bin/not "$subpkgdir"/$_prefix/bin/not - - python3 ../utils/lit/setup.py install --prefix=/usr --root="$subpkgdir" - ln -s ../../../bin/lit "$subpkgdir"/$_prefix/bin/lit -} - -_common_subpkg() { - if [ "$_default_llvm" = yes ]; then - replaces="llvm${subpkgname#$pkgname}" - provides="$replaces=$pkgver-r$pkgrel" - fi -} - -sha512sums="6461bdde27aac17fa44c3e99a85ec47ffb181d0d4e5c3ef1c4286a59583e3b0c51af3c8081a300f45b99524340773a3011380059e3b3a571c3b0a8733e96fc1d llvm-14.0.6.src.tar.xz -f84cd65d7042e89826ba6e8d48c4c302bf4980da369d7f19a55f217e51c00ca8ed178d453df3a3cee76598a7cecb94aed0775a6d24fe73266f82749913fc3e71 llvm-fix-build-with-musl-libc.patch -49c47f125014b60d0ea7870f981a2c1708ad705793f89287ed846ee881a837a4dc0170bf467e03f2ef56177473128945287749ac80dc2d13cfabcf8b929ba58a disable-FileSystemTest.CreateDir-perms-assert.patch -caeec8e4dbd92f5f74940780b69075f3879a267a8623822cbdc193fd14706eb089071e3a5a20d60cc2eca59e4c5b2a61d29827a2f3362ee7c5f74f11d9ace200 disable-dlclose-test.patch -2842bcef71fb962cb49717fa9ba3e7318400c4a9175284a39ae3ff13a00260556794d0d63341430b2c64a0bca1ac76186e02c92e444a737a5dec1b6de27bbc60 dwarf-info.patch -5fa36157f7a76ca70d22af7bd96850db454d6add3a19cc3272962633c453087015755ca9df0de29cc40359e89279e470e91ff1a69d1453596a73291b36f39b23 dyld-elf-ppc32.patch -a1533f4b9d35e1069fd065fbeb5fedce96fa49fdb007f994d8921d8a04cf2caadca276bbd9553ff86040b0f9dfce489c385fa2a7434e2dee3732942e6914db4e graph-diff-simple.txt -9abe376068801a09b2af01eef0cd319f48862b5ff7cce62af3cf4e7597a0898842125ae574577b545734ec1381f192b924b4f717a9c094f119e32ada81a2b9a2 hexagon.patch -de9791cc476817782b553c4edab696132da4ed2b9a3d80dbf1b85b7dc7a8c5e4caf14f2f26e33c27cd80a91b36709d3b24caea910c0a6315ffbb297cb748468d macho32.patch -189e0967c7c29c6315bd3e8da818b94fc3ed99c8cdce14c3d7ccc2fbd18007b3d97f74689dc3d498f624a10411067c41648b9b67d420d2344fa7e1bf7711c8dd musl-ppc64-elfv2.patch -02fd3e9869cf3da60b0da17b69dc592fdcd0442d50de940b578b7a9aa19554569324b44f6f84728c03b2897859f99076278741bdd0872fab70660eb844d05f26 ppc-gcc-bug.patch -62de403e4cfd58d9f33f8b35ff31f66c906fd39c667fbcfa394d03f636fb10977c2f53c3a780d0c8e099f9a081951402757e12842d82a7cbd1aef4158f51d5c2 ppc-test.patch -89ef5fbab039b017a5652656adf17b680525f1c5dd0b1afc8034fe0b34a2ca196d87640f54cc826356cfcd88c6e5f10754b7e38f04ca49ede4f3864080b787bd python3-test.patch -dca77af49ea181ab8d41630b8e7575b83aac22686a1119479abf8fe22d8f13032d69ef83a9635b9ad9b935cd3b51251d939e05967ad40db43abf69ac40e0eccd roundeven.patch" diff --git a/user/llvm14/disable-FileSystemTest.CreateDir-perms-assert.patch b/user/llvm14/disable-FileSystemTest.CreateDir-perms-assert.patch deleted file mode 100644 index e73ce9b6f..000000000 --- a/user/llvm14/disable-FileSystemTest.CreateDir-perms-assert.patch +++ /dev/null @@ -1,61 +0,0 @@ -Do not assert permissions of file created in /tmp directory. - -This assertion fails, probably due to some specific setup of /tmp -on build servers. - - FAIL: LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir (1293 of 17222) - ******************** TEST 'LLVM-Unit :: Support/SupportTests/FileSystemTest.CreateDir' FAILED ******************** - Note: Google Test filter = FileSystemTest.CreateDir - [==========] Running 1 test from 1 test case. - [----------] Global test environment set-up. - [----------] 1 test from FileSystemTest - [ RUN ] FileSystemTest.CreateDir - /home/buildozer/aports/testing/llvm3.9/src/llvm-3.9.1.src/unittests/Support/Path.cpp:591: Failure - Value of: fs::perms::owner_read | fs::perms::owner_exe - Actual: 320 - Expected: Status.permissions() & fs::perms::all_all - Which is: 448 - ---- a/unittests/Support/Path.cpp -+++ b/unittests/Support/Path.cpp -@@ -579,23 +579,23 @@ - ASSERT_NO_ERROR(fs::remove(Twine(TestDirectory) + "foo")); - - #ifdef LLVM_ON_UNIX -- // Set a 0000 umask so that we can test our directory permissions. -- mode_t OldUmask = ::umask(0000); -- -- fs::file_status Status; -- ASSERT_NO_ERROR( -- fs::create_directory(Twine(TestDirectory) + "baz500", false, -- fs::perms::owner_read | fs::perms::owner_exe)); -- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status)); -- ASSERT_EQ(Status.permissions() & fs::perms::all_all, -- fs::perms::owner_read | fs::perms::owner_exe); -- ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false, -- fs::perms::all_all)); -- ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status)); -- ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all); -- -- // Restore umask to be safe. -- ::umask(OldUmask); -+// // Set a 0000 umask so that we can test our directory permissions. -+// mode_t OldUmask = ::umask(0000); -+// -+// fs::file_status Status; -+// ASSERT_NO_ERROR( -+// fs::create_directory(Twine(TestDirectory) + "baz500", false, -+// fs::perms::owner_read | fs::perms::owner_exe)); -+// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz500", Status)); -+// ASSERT_EQ(Status.permissions() & fs::perms::all_all, -+// fs::perms::owner_read | fs::perms::owner_exe); -+// ASSERT_NO_ERROR(fs::create_directory(Twine(TestDirectory) + "baz777", false, -+// fs::perms::all_all)); -+// ASSERT_NO_ERROR(fs::status(Twine(TestDirectory) + "baz777", Status)); -+// ASSERT_EQ(Status.permissions() & fs::perms::all_all, fs::perms::all_all); -+// -+// // Restore umask to be safe. -+// ::umask(OldUmask); - #endif - - #ifdef LLVM_ON_WIN32 diff --git a/user/llvm14/disable-dlclose-test.patch b/user/llvm14/disable-dlclose-test.patch deleted file mode 100644 index b70cd4d4d..000000000 --- a/user/llvm14/disable-dlclose-test.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- llvm-6.0.1.src/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp.old 2017-07-12 21:22:45.000000000 +0000 -+++ llvm-6.0.1.src/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp 2018-09-13 04:43:37.240000000 +0000 -@@ -107,6 +107,7 @@ - EXPECT_TRUE(DynamicLibrary::SearchOrder == DynamicLibrary::SO_Linker); - } - -+#if 0 - TEST(DynamicLibrary, Shutdown) { - std::string A("PipSqueak"), B, C("SecondLib"); - std::vector<std::string> Order; -@@ -162,6 +163,7 @@ - EXPECT_EQ(Order.front(), "SecondLib"); - EXPECT_EQ(Order.back(), "PipSqueak"); - } -+#endif - - #else - diff --git a/user/llvm14/dwarf-info.patch b/user/llvm14/dwarf-info.patch deleted file mode 100644 index 9357c6519..000000000 --- a/user/llvm14/dwarf-info.patch +++ /dev/null @@ -1,28 +0,0 @@ -Author: A. Wilcox <awilfox@adelielinux.org> - -This isn't the proper fix, but debugging the LLVM formatter is a bit -above my paygrade at the moment. - -The issue shows up in the DWARF X86 test on ppc and armv7: - -error: Simplified template DW_AT_name could not be reconstituted: - original: f3<char, '\x00', '\x01', '\x06', '\a', '\r', '\x0e', '\x1f', ' ', '!', '\x7f', '\x80'> - reconstituted: f3<char, '\x00', '\x00', '\x00', '\a', '\r', '\x00', '\x00', ' ', '!', '\x00', '\x00'> - -With this patch, this error does not occur. Debugging shows that the -llvm::format overload called in the error case is <long long>, so I -think it is having an issue converting a 64-bit value on platforms -where char is default-unsigned. - -(pmmx does not show this issue, and has signed char.) ---- llvm-14.0.6.src/lib/DebugInfo/DWARF/DWARFDie.cpp.old 2022-06-22 16:46:24.000000000 +0000 -+++ llvm-14.0.6.src/lib/DebugInfo/DWARF/DWARFDie.cpp 2022-11-28 10:32:05.573627744 +0000 -@@ -506,7 +506,7 @@ - OS << (char)Val; - OS << "'"; - } else if (Val < 256) -- OS << to_string(llvm::format("'\\x%02x'", Val)); -+ OS << to_string(llvm::format("'\\x%02x'", (unsigned char)Val)); - else if (Val <= 0xFFFF) - OS << to_string(llvm::format("'\\u%04x'", Val)); - else diff --git a/user/llvm14/dyld-elf-ppc32.patch b/user/llvm14/dyld-elf-ppc32.patch deleted file mode 100644 index badea265f..000000000 --- a/user/llvm14/dyld-elf-ppc32.patch +++ /dev/null @@ -1,24 +0,0 @@ -Author: A. Wilcox <awilfox@adelielinux.org> -Upstream-Status: Pending - -This implements the R_PPC_REL32 relocation type, which is needed for the -OrcJIT to work properly on 32-bit PowerPC. - -Needs more tests before submitting upstream, but seems to DTRT. - ---- llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp.old 2022-06-22 16:46:24.000000000 +0000 -+++ llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp 2022-11-28 06:33:12.239921624 +0000 -@@ -818,6 +818,13 @@ - case ELF::R_PPC_ADDR16_HA: - writeInt16BE(LocalAddress, applyPPCha(Value + Addend)); - break; -+ case ELF::R_PPC_REL32: -+ uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset); -+ int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); -+ if (SignExtend64<32>(delta) != delta) -+ llvm_unreachable("Relocation R_PPC_REL32 overflow"); -+ writeInt32BE(LocalAddress, delta); -+ break; - } - } - diff --git a/user/llvm14/graph-diff-simple.txt b/user/llvm14/graph-diff-simple.txt deleted file mode 100644 index fa26daaf9..000000000 --- a/user/llvm14/graph-diff-simple.txt +++ /dev/null @@ -1,238 +0,0 @@ -#RUN: llvm-xray graph-diff -o - -c min -b min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=VCEC -#RUN: llvm-xray graph-diff -o - -c min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=EC -#RUN: llvm-xray graph-diff -o - -b min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=VC -#RUN: llvm-xray graph-diff -o - -e min -v min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=ELVL -#RUN: llvm-xray graph-diff -o - -e min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=EL -#RUN: llvm-xray graph-diff -o - -v min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=VL -#RUN: llvm-xray graph-diff -o - -v min -b min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=VLVC -#RUN: llvm-xray graph-diff -o - -e min -c min -m %S/Inputs/simple-instrmap.yaml \ -#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \ -#RUN: | FileCheck %s -check-prefix=ELEC - -#VCEC: digraph xrayDiff { -#VCEC-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#VCEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"] -#VCEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"] -#VCEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"] -#VCEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCE61"] -#VCEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"] -#VCEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"] -#VCEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"] -#VCEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"] -#VCEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"] -#VCEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#VCEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#VCEC-NEXT:} - - -#EC: digraph xrayDiff { -#EC-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#EC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"] -#EC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"] -#EC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"] -#EC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"] -#EC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"] -#EC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"] -#EC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"] -#EC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"] -#EC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"] -#EC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#EC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#EC-NEXT:} - -#VC: digraph xrayDiff { -#VC-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#VC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"] -#VC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"] -#VC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"] -#VC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCE61"] -#VC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"] -#VC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"] -#VC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"] -#VC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"] -#VC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"] -#VC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#VC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#VC-NEXT:} - -#ELVL: digraph xrayDiff { -#ELVL-NEXT: node [shape=record] -#ELVL-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#ELVL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"] -#ELVL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"] -#ELVL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"] -#ELVL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"] -#ELVL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"] -#ELVL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"] -#ELVL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"] -#ELVL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"] -#ELVL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"] -#ELVL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#ELVL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#ELVL-NEXT:} - -#EL: digraph xrayDiff { -#EL-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#EL-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"] -#EL-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"] -#EL-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"] -#EL-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"] -#EL-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"] -#EL-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"] -#EL-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"] -#EL-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"] -#EL-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"] -#EL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#EL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#EL-NEXT:} - -#VL: digraph xrayDiff { -#VL-NEXT: node [shape=record] -#VL-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#VL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"] -#VL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"] -#VL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"] -#VL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"] -#VL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"] -#VL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"] -#VL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"] -#VL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"] -#VL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"] -#VL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#VL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#VL-NEXT:} - -#VLVC: digraph xrayDiff { -#VLVC-NEXT: node [shape=record] -#VLVC-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#VLVC-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="#276419"] -#VLVC-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="#276419"] -#VLVC-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="#276419"] -#VLVC-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="#9BCE61"] -#VLVC-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="#F7F7F7"] -#VLVC-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="#F5C4E0"] -#VLVC-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="#E17FB4"] -#VLVC-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="#CB3088"] -#VLVC-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="#AD0E69"] -#VLVC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#VLVC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#VLVC-NEXT:} - -#ELEC: digraph xrayDiff { -#ELEC-DAG: F[[F0NO:[0-9]+]] [label="F0"] -#ELEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"] -#ELEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"] -#ELEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"] -#ELEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"] -#ELEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"] -#ELEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"] -#ELEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"] -#ELEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"] -#ELEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"] -#ELEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"] -#ELEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="#276419" labelfontcolor="#276419" penwidth=8.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="#276419" labelfontcolor="#276419" penwidth=3.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="#276419" labelfontcolor="#276419" penwidth=1.33] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="#9BCE61" labelfontcolor="#9BCE61" penwidth=1.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00] -#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00] -#ELEC-NEXT:} - - diff --git a/user/llvm14/hexagon.patch b/user/llvm14/hexagon.patch deleted file mode 100644 index a67fd0dff..000000000 --- a/user/llvm14/hexagon.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 37605662a99bd0815e2f2e452eb6ab1ce53ecffd Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Mon, 30 May 2022 02:51:34 -0500 -Subject: [PATCH] [Hexagon][Tests] Fix tests on Linux/musl - -When running on a host system using musl, the target triple is defined -as hexagon-unknown-linux-musl by default. The Linux ABI differs from -the non-Linux one with varargs, so this causes the tests to fail. - -Closes BZ49592, PR48936. - -Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> ---- - test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll | 2 +- - test/CodeGen/Hexagon/long-calls.ll | 2 +- - test/CodeGen/Hexagon/mlong-calls.ll | 2 +- - test/CodeGen/Hexagon/pic-regusage.ll | 2 +- - test/CodeGen/Hexagon/runtime-stkchk.ll | 2 +- - test/CodeGen/Hexagon/swp-memrefs-epilog.ll | 2 +- - test/CodeGen/Hexagon/vararg-formal.ll | 2 +- - 7 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll b/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll -index afbef217911a..d317d7eac800 100644 ---- a/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll -+++ b/test/CodeGen/Hexagon/csr-stubs-spill-threshold.ll -@@ -1,4 +1,4 @@ --; RUN: llc -march=hexagon -O2 -spill-func-threshold=2 < %s | FileCheck %s -+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -O2 -spill-func-threshold=2 < %s | FileCheck %s - - declare i32 @f0(i32, i32, i32, i32, i32, i32) - -diff --git a/test/CodeGen/Hexagon/long-calls.ll b/test/CodeGen/Hexagon/long-calls.ll -index 628362783c9c..886405a2d91a 100644 ---- a/test/CodeGen/Hexagon/long-calls.ll -+++ b/test/CodeGen/Hexagon/long-calls.ll -@@ -1,4 +1,4 @@ --; RUN: llc -march=hexagon -enable-save-restore-long -hexagon-initial-cfg-cleanup=0 < %s | FileCheck %s -+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -enable-save-restore-long -hexagon-initial-cfg-cleanup=0 < %s | FileCheck %s - - ; Check that the -long-calls feature is supported by the backend. - -diff --git a/test/CodeGen/Hexagon/mlong-calls.ll b/test/CodeGen/Hexagon/mlong-calls.ll -index d76b87f987fe..383486dfe63d 100644 ---- a/test/CodeGen/Hexagon/mlong-calls.ll -+++ b/test/CodeGen/Hexagon/mlong-calls.ll -@@ -1,4 +1,4 @@ --; RUN: llc -hexagon-long-calls -march=hexagon -enable-save-restore-long=true < %s | FileCheck %s -+; RUN: llc -hexagon-long-calls -march=hexagon -mtriple=hexagon-unknown-linux-gnu -enable-save-restore-long=true < %s | FileCheck %s - - ; CHECK: call ##f1 - ; CHECK: jump ##__restore -diff --git a/test/CodeGen/Hexagon/pic-regusage.ll b/test/CodeGen/Hexagon/pic-regusage.ll -index 9d3b6cec39e3..077063e36550 100644 ---- a/test/CodeGen/Hexagon/pic-regusage.ll -+++ b/test/CodeGen/Hexagon/pic-regusage.ll -@@ -1,4 +1,4 @@ --; RUN: llc -march=hexagon -relocation-model=pic < %s | FileCheck %s -+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -relocation-model=pic < %s | FileCheck %s - - ; Force the use of R14 (by clobbering everything else in the inline asm). - ; Make sure that R14 is not set before the __save call (which will clobber -diff --git a/test/CodeGen/Hexagon/runtime-stkchk.ll b/test/CodeGen/Hexagon/runtime-stkchk.ll -index 66e93d02ef51..2f3f2ad10f6a 100644 ---- a/test/CodeGen/Hexagon/runtime-stkchk.ll -+++ b/test/CodeGen/Hexagon/runtime-stkchk.ll -@@ -1,4 +1,4 @@ --; RUN: llc -march=hexagon -mcpu=hexagonv55 -enable-stackovf-sanitizer < %s | FileCheck %s -+; RUN: llc -march=hexagon -mcpu=hexagonv55 -mtriple=hexagon-unknown-linux-gnu -enable-stackovf-sanitizer < %s | FileCheck %s - - ; CHECK-LABEL: foo_1 - ; CHECK: __runtime_stack_check -diff --git a/test/CodeGen/Hexagon/swp-memrefs-epilog.ll b/test/CodeGen/Hexagon/swp-memrefs-epilog.ll -index 20e39dd08fd7..b34dfbc31e9d 100644 ---- a/test/CodeGen/Hexagon/swp-memrefs-epilog.ll -+++ b/test/CodeGen/Hexagon/swp-memrefs-epilog.ll -@@ -1,4 +1,4 @@ --; RUN: llc -march=hexagon -O2 -fp-contract=fast < %s -pipeliner-experimental-cg=true | FileCheck %s -+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu -O2 -fp-contract=fast < %s -pipeliner-experimental-cg=true | FileCheck %s - - ; Test that the memoperands for instructions in the epilog are updated - ; correctly. Previously, the pipeliner updated the offset for the memoperands -diff --git a/test/CodeGen/Hexagon/vararg-formal.ll b/test/CodeGen/Hexagon/vararg-formal.ll -index 6bba65fcab16..fb3132929bcf 100644 ---- a/test/CodeGen/Hexagon/vararg-formal.ll -+++ b/test/CodeGen/Hexagon/vararg-formal.ll -@@ -1,4 +1,4 @@ --; RUN: llc -march=hexagon < %s | FileCheck %s -+; RUN: llc -march=hexagon -mtriple=hexagon-unknown-linux-gnu < %s | FileCheck %s - - ; Make sure that the first formal argument is not loaded from memory. - ; CHECK-NOT: memw --- -2.36.0 - diff --git a/user/llvm14/llvm-fix-build-with-musl-libc.patch b/user/llvm14/llvm-fix-build-with-musl-libc.patch deleted file mode 100644 index 6ee91ea44..000000000 --- a/user/llvm14/llvm-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 5c571082fdaf61f6df19d9b7137dc26d71334058 Mon Sep 17 00:00:00 2001 -From: Natanael Copa <ncopa@alpinelinux.org> -Date: Thu, 18 Feb 2016 10:33:04 +0100 -Subject: [PATCH 2/3] Fix build with musl libc - -On musl libc the fopen64 and fopen are the same thing, but for -compatibility they have a `#define fopen64 fopen`. Same applies for -fseek64, fstat64, fstatvfs64, ftello64, lstat64, stat64 and tmpfile64. ---- - include/llvm/Analysis/TargetLibraryInfo.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/include/llvm/Analysis/TargetLibraryInfo.h b/include/llvm/Analysis/TargetLibraryInfo.h -index 7becdf0..7f14427 100644 ---- a/include/llvm/Analysis/TargetLibraryInfo.h -+++ b/include/llvm/Analysis/TargetLibraryInfo.h -@@ -18,6 +18,26 @@ - #include "llvm/IR/Module.h" - #include "llvm/Pass.h" - -+#undef fopen64 -+#undef fseeko64 -+#undef fstat64 -+#undef fstatvfs64 -+#undef ftello64 -+#undef lstat64 -+#undef stat64 -+#undef tmpfile64 -+#undef F_GETLK64 -+#undef F_SETLK64 -+#undef F_SETLKW64 -+#undef flock64 -+#undef open64 -+#undef openat64 -+#undef creat64 -+#undef lockf64 -+#undef posix_fadvise64 -+#undef posix_fallocate64 -+#undef off64_t -+ - namespace llvm { - /// VecDesc - Describes a possible vectorization of a function. - /// Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized --- -2.7.3 - diff --git a/user/llvm14/macho32.patch b/user/llvm14/macho32.patch deleted file mode 100644 index 31279d502..000000000 --- a/user/llvm14/macho32.patch +++ /dev/null @@ -1,17 +0,0 @@ -Use integer offset math instead of pointer math to determine load -command bounds. - -Upstream-URL: https://github.com/llvm/llvm-project/issues/56746 - ---- llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp.old 2022-06-22 16:46:24.000000000 +0000 -+++ llvm-14.0.6.src/lib/Object/MachOObjectFile.cpp 2022-11-28 04:21:02.730211841 +0000 -@@ -190,7 +190,8 @@ - getLoadCommandInfo(const MachOObjectFile &Obj, const char *Ptr, - uint32_t LoadCommandIndex) { - if (auto CmdOrErr = getStructOrErr<MachO::load_command>(Obj, Ptr)) { -- if (CmdOrErr->cmdsize + Ptr > Obj.getData().end()) -+ uint64_t Offset = Ptr - Obj.getData().begin(); -+ if (CmdOrErr->cmdsize + Offset > Obj.getData().size()) - return malformedError("load command " + Twine(LoadCommandIndex) + - " extends past end of file"); - if (CmdOrErr->cmdsize < 8) diff --git a/user/llvm14/musl-ppc64-elfv2.patch b/user/llvm14/musl-ppc64-elfv2.patch deleted file mode 100644 index 77bc4c780..000000000 --- a/user/llvm14/musl-ppc64-elfv2.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 750d323a6060ad92c3d247f85d6555041f55b4a5 Mon Sep 17 00:00:00 2001 -From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> -Date: Thu, 4 Oct 2018 15:26:59 -0500 -Subject: [PATCH] Add support for powerpc64-*-linux-musl targets - -This patch ensures that 64-bit PowerPC musl targets use ELFv2 ABI on both -endians. It additionally adds a test that big endian PPC64 uses ELFv2 on -musl. ---- - lib/Target/PowerPC/PPCTargetMachine.cpp | 4 ++++ - test/CodeGen/PowerPC/ppc64-elf-abi.ll | 1 + - 2 files changed, 5 insertions(+) - -diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp -index 34410393ef6..c583fba8cab 100644 ---- a/lib/Target/PowerPC/PPCTargetMachine.cpp -+++ b/lib/Target/PowerPC/PPCTargetMachine.cpp -@@ -228,6 +228,10 @@ static PPCTargetMachine::PPCABI computeTargetABI(const Triple &TT, - case Triple::ppc64le: - return PPCTargetMachine::PPC_ABI_ELFv2; - case Triple::ppc64: -+ // musl uses ELFv2 ABI on both endians. -+ if (TT.getEnvironment() == Triple::Musl) -+ return PPCTargetMachine::PPC_ABI_ELFv2; -+ - return PPCTargetMachine::PPC_ABI_ELFv1; - default: - return PPCTargetMachine::PPC_ABI_UNKNOWN; -diff --git a/test/CodeGen/PowerPC/ppc64-elf-abi.ll b/test/CodeGen/PowerPC/ppc64-elf-abi.ll -index 1e17930304b..aa594b37b47 100644 ---- a/test/CodeGen/PowerPC/ppc64-elf-abi.ll -+++ b/test/CodeGen/PowerPC/ppc64-elf-abi.ll -@@ -1,6 +1,7 @@ - ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv1 - ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1 - ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2 -+; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-musl < %s | FileCheck %s -check-prefix=CHECK-ELFv2 - ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-ELFv2 - ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < %s | FileCheck %s -check-prefix=CHECK-ELFv1 - ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < %s | FileCheck %s -check-prefix=CHECK-ELFv2 --- -2.18.0 - diff --git a/user/llvm14/ppc-gcc-bug.patch b/user/llvm14/ppc-gcc-bug.patch deleted file mode 100644 index 4fe2f34f4..000000000 --- a/user/llvm14/ppc-gcc-bug.patch +++ /dev/null @@ -1,22 +0,0 @@ -Upstream: https://github.com/llvm/llvm-project/issues/95594 -Ref: #1204 - ---- llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h.old 2024-06-15 12:21:32.000000000 -0500 -+++ llvm/include/llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h 2024-06-25 21:42:07.495284340 -0500 -@@ -378,6 +378,8 @@ - return Size; - } - -+#pragma GCC push_options -+#pragma GCC optimize("no-tree-ch") - static bool serialize(SPSOutputBuffer &OB, const SequenceT &S) { - if (!SPSArgList<uint64_t>::serialize(OB, static_cast<uint64_t>(S.size()))) - return false; -@@ -386,6 +388,7 @@ - return false; - return true; - } -+#pragma GCC pop_options - - static bool deserialize(SPSInputBuffer &IB, SequenceT &S) { - using TBSD = TrivialSPSSequenceDeserialization<SPSElementTagT, SequenceT>; diff --git a/user/llvm14/ppc-test.patch b/user/llvm14/ppc-test.patch deleted file mode 100644 index 46ed8fbf0..000000000 --- a/user/llvm14/ppc-test.patch +++ /dev/null @@ -1,13 +0,0 @@ -The ifdef tree uses __powerpc__ so 32-bit PPC is supported as well. - ---- llvm-14.0.6.src/unittests/Support/Host.cpp.old 2022-06-22 16:46:24.000000000 +0000 -+++ llvm-14.0.6.src/unittests/Support/Host.cpp 2022-11-28 02:15:41.512865406 +0000 -@@ -40,7 +40,7 @@ - // some systems. - return (Host.isOSWindows() && llvm_is_multithreaded()) || - Host.isOSDarwin() || (Host.isX86() && Host.isOSLinux()) || -- (Host.isPPC64() && Host.isOSLinux()) || -+ (Host.isPPC() && Host.isOSLinux()) || - (Host.isSystemZ() && (Host.isOSLinux() || Host.isOSzOS())); - } - diff --git a/user/llvm14/python3-test.patch b/user/llvm14/python3-test.patch deleted file mode 100644 index 76f13385d..000000000 --- a/user/llvm14/python3-test.patch +++ /dev/null @@ -1,8 +0,0 @@ ---- llvm-7.0.1.src/test/BugPoint/compile-custom.ll.py.old 2014-03-13 00:10:37.000000000 +0000 -+++ llvm-7.0.1.src/test/BugPoint/compile-custom.ll.py 2019-03-10 03:48:48.600000000 +0000 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - - from __future__ import print_function - diff --git a/user/llvm14/roundeven.patch b/user/llvm14/roundeven.patch deleted file mode 100644 index 04d741cdb..000000000 --- a/user/llvm14/roundeven.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- llvm-14.0.4.src/lib/Analysis/TargetLibraryInfo.cpp.old 2022-05-24 22:02:58.000000000 +0000 -+++ llvm-14.0.4.src/lib/Analysis/TargetLibraryInfo.cpp 2022-07-06 01:38:22.016862561 +0000 -@@ -588,6 +588,13 @@ - TLI.setUnavailable(LibFunc_statvfs64); - TLI.setUnavailable(LibFunc_tmpfile64); - -+ // These functions are unavailable on musl. -+ if (T.isMusl()) { -+ TLI.setUnavailable(LibFunc_roundeven); -+ TLI.setUnavailable(LibFunc_roundevenf); -+ TLI.setUnavailable(LibFunc_roundevenl); -+ } -+ - // Relaxed math functions are included in math-finite.h on Linux (GLIBC). - // Note that math-finite.h is no longer supported by top-of-tree GLIBC, - // so we keep these functions around just so that they're recognized by ---- llvm-14.0.4.src/test/Transforms/InstCombine/double-float-shrink-2.ll.old 2022-05-24 22:02:58.000000000 +0000 -+++ llvm-14.0.4.src/test/Transforms/InstCombine/double-float-shrink-2.ll 2022-07-06 02:03:20.657791057 +0000 -@@ -1,5 +1,5 @@ - ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py --; RUN: opt < %s -instcombine -S -mtriple "i386-pc-linux" | FileCheck %s -+; RUN: opt < %s -instcombine -S -mtriple "i386-pc-linux-gnu" | FileCheck %s - ; RUN: opt < %s -instcombine -S -mtriple "i386-pc-win32" | FileCheck %s - ; RUN: opt < %s -instcombine -S -mtriple "x86_64-pc-win32" | FileCheck %s - ; RUN: opt < %s -instcombine -S -mtriple "i386-pc-mingw32" | FileCheck %s ---- llvm-14.0.4.src/test/ExecutionEngine/Interpreter/intrinsics.ll.old 2022-05-24 22:02:58.000000000 +0000 -+++ llvm-14.0.4.src/test/ExecutionEngine/Interpreter/intrinsics.ll 2022-07-23 06:50:59.336665672 +0000 -@@ -13,8 +13,8 @@ - declare double @llvm.trunc.f64(double) - declare float @llvm.round.f32(float) - declare double @llvm.round.f64(double) --declare float @llvm.roundeven.f32(float) --declare double @llvm.roundeven.f64(double) -+;declare float @llvm.roundeven.f32(float) -+;declare double @llvm.roundeven.f64(double) - declare float @llvm.copysign.f32(float, float) - declare double @llvm.copysign.f64(double, double) - -@@ -31,8 +31,8 @@ - %trunc64 = call double @llvm.trunc.f64(double 0.000000e+00) - %round32 = call float @llvm.round.f32(float 0.000000e+00) - %round64 = call double @llvm.round.f64(double 0.000000e+00) -- %roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00) -- %roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00) -+ ;%roundeven32 = call float @llvm.roundeven.f32(float 0.000000e+00) -+ ;%roundeven64 = call double @llvm.roundeven.f64(double 0.000000e+00) - %copysign32 = call float @llvm.copysign.f32(float 0.000000e+00, float 0.000000e+00) - %copysign64 = call double @llvm.copysign.f64(double 0.000000e+00, double 0.000000e+00) - ret i32 0 diff --git a/user/llvm18/APKBUILD b/user/llvm18/APKBUILD index 02a61d738..bc5bb0c83 100644 --- a/user/llvm18/APKBUILD +++ b/user/llvm18/APKBUILD @@ -6,7 +6,7 @@ _pkgname=llvm pkgver=18.1.8 _majorver=${pkgver%%.*} pkgname=$_pkgname$_majorver -pkgrel=0 +pkgrel=1 pkgdesc="Low Level Virtual Machine compiler system, version $_majorver" url="https://llvm.org/" arch="all" @@ -23,6 +23,7 @@ source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/l llvm-fix-build-with-musl-libc.patch disable-FileSystemTest.CreateDir-perms-assert.patch dyld-elf-ppc32.patch + dyld-elf-ppc32-2.patch hexagon.patch i586-json-test.patch m68k-endianness.patch @@ -72,61 +73,48 @@ prepare() { default_prepare # https://bugs.llvm.org//show_bug.cgi?id=31870 - rm test/tools/llvm-symbolizer/print_context.c + rm -v test/tools/llvm-symbolizer/print_context.c case $CARCH in pmmx|x86|ppc|armhf|armv7) # Appears to not work when building 32-bit code on 64-bit host. - rm test/tools/llvm-size/radix.test;; + rm -v test/tools/llvm-size/radix.test;; esac case $CARCH in ppc64|ppc|mips64|mips) # Appears to be a endianness issue. for _broken in eh_frame linker-llvm-union-fwd-decl; do - rm test/tools/dsymutil/X86/$_broken.test; + rm -v test/tools/dsymutil/X86/$_broken.test; done esac case $CTARGET_ARCH in pmmx) # Broken by fast precision method. - rm test/tools/llvm-cov/mcdc-export-json.test; - rm test/tools/llvm-xray/X86/graph-diff-simple.txt; + rm -v test/tools/llvm-cov/mcdc-export-json.test; + rm -v test/tools/llvm-xray/X86/graph-diff-simple.txt; ;; ppc) # RISC-V issues are uninvestigated as of yet. #1233 - rm test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll - rm test/CodeGen/RISCV/xtheadmempair.ll - - # ExecutionEngine for PPC32 requires R_PPC_REL24 to be - # implemented in RuntimeDyld. - for _bad_orc in global-ctor-with-cast.ll \ - global-variable-alignment.ll \ - trivial-call-to-function.ll \ - trivial-call-to-internal-function.ll \ - trivial-reference-to-global-variable.ll \ - trivial-reference-to-internal-variable-nonzeroinit.ll \ - trivial-reference-to-internal-variable-zeroinit.ll \ - trivial-return-zero.ll \ - weak-comdat.ll; do - rm test/ExecutionEngine/Orc/$_bad_orc; - done - for _bad_ee in frem.ll mov64zext32.ll \ - test-interp-vec-arithm_float.ll \ - test-interp-vec-arithm_int.ll \ - test-interp-vec-logical.ll \ - test-interp-vec-setcond-fp.ll \ - test-interp-vec-setcond-int.ll; do - rm test/ExecutionEngine/$_bad_ee; - done + rm -v test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll + rm -v test/CodeGen/RISCV/xtheadmempair.ll esac #1053 - rm -fr \ + rm -vfr \ test/tools/UpdateTestChecks \ test/ExecutionEngine/MCJIT/load-object-a.ll \ ; + + #1250 + rm -v \ + test/tools/dsymutil/ARM/DWARFLinkerParallel/accel-imported-declarations.test \ + test/tools/dsymutil/X86/DWARFLinkerParallel/odr-member-functions.cpp \ + test/tools/dsymutil/X86/DWARFLinkerParallel/odr-parents.test \ + test/tools/dsymutil/X86/DWARFLinkerParallel/odr-predictable-output2.test \ + test/tools/dsymutil/X86/DWARFLinkerParallel/odr-string.test \ + test/tools/dsymutil/X86/DWARFLinkerParallel/odr-uniquing.cpp } build() { @@ -239,6 +227,13 @@ package() { ln -s ../../include/$pkgname include ln -s "$pkgdir"/usr/lib/cmake/llvm ../$pkgname/lib/cmake/llvm + + # Thread 3 requires a lot of stack space to LTO when targeting ARM. + # Note that this occurs even when crossing (on a ppc64 host). + chelf -s 1048576 bin/llvm-lto2 + # Needed for parallel-linker support (pthread stack size). + chelf -s 1048576 bin/dsymutil + chelf -s 1048576 bin/llvm-dwarfutil } static() { @@ -321,7 +316,8 @@ _common_subpkg() { sha512sums="25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db llvm-project-18.1.8.src.tar.xz f84cd65d7042e89826ba6e8d48c4c302bf4980da369d7f19a55f217e51c00ca8ed178d453df3a3cee76598a7cecb94aed0775a6d24fe73266f82749913fc3e71 llvm-fix-build-with-musl-libc.patch d56945bb0476561028616222846257f990d66e68b4458894f8791252411038b269831f9400ed9df3b99f571a82443caaac347a8b38a5516c77c3583469118309 disable-FileSystemTest.CreateDir-perms-assert.patch -9e919d7988b18c7184d9fccd14911d70bbe2acf82d38111bfd41f1ba2976fea07e74527a43c552dad158c982a2cbaaf03f6a1e98c7a1fc02b4e75382cfe6d0b2 dyld-elf-ppc32.patch +94099a2001d38d935ece69943971e7943691e8a5471b31ae2169e1f2f2e60de8a9fe8ba718dfa942c84d22fced7492bc9b87bce84a3e801a46e549c4657f9eb5 dyld-elf-ppc32.patch +23cd4c38899bf001f6e27db9a21dfb9fa1264a81993ef423535ff3132d2a258b4706d201ff15a96624db82540ee09c14810af0392f0786262699dfdbcb47b9ba dyld-elf-ppc32-2.patch 807587a0c897d47a01a846c5c4f7cbf1f2d16437a163b66ee2381a7147e9d04b0141b2c76d022db61903d0d2841ddb267ba98c66c9e41501ca41837659743df8 hexagon.patch 22dedbbdc99ab4df6c64921186803552fc61cfc00a5cd052295a5450809e7205ac21dd07df158b7e99b960084b2ec3d8832480a8cd073fe1c2d613cd21c90b60 i586-json-test.patch b186ce027dca389cfd23dc91b03e023e688c7610745cf62d0b277b6178972bcf55abf0df08453f2a6b85dc61dba929cb565cb30633a2fe0f193a443f54025bf7 m68k-endianness.patch diff --git a/user/llvm18/dyld-elf-ppc32-2.patch b/user/llvm18/dyld-elf-ppc32-2.patch new file mode 100644 index 000000000..d424554e2 --- /dev/null +++ b/user/llvm18/dyld-elf-ppc32-2.patch @@ -0,0 +1,176 @@ +Author: Ash Logan <ash@heyquark.com> + +adds a whole bunch of ppc32 relocation types - probably only REL32 and REL24 are actually needed, or +indeed tested. +mostly copypasted from the ppc64 code with ELFv2 ABI removed. No attempt is made to support GOT/PLT +relocations, since the JIT doesn't seem to generate these. + +makes clang-repl and the ExecutionEngine testsuites pass, and allows llvmpipe to run + +diff -rup llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +--- llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp 2024-06-16 03:21:32.000000000 +1000 ++++ llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp 2025-02-26 00:10:04.114888980 +1100 +@@ -1029,6 +1029,14 @@ uint8_t *RuntimeDyldImpl::createStubFunc + writeBytesUnaligned(JrT9Instr, Addr + 24, 4); + writeBytesUnaligned(NopInstr, Addr + 28, 4); + return Addr; ++ } else if (Arch == Triple::ppc || Arch == Triple::ppcle) { ++ // The ABI docs talk endlessly of PLTs and GOTs which have special relocation types. ++ // For the generic types, just do a generic jump. ++ writeInt32BE(Addr, 0x3D800000); // lis r12, h(addr) ++ writeInt32BE(Addr+4, 0x618C0000); // ori r12, l(addr) ++ writeInt32BE(Addr+8, 0x7D8903A6); // mtctr r12 ++ writeInt32BE(Addr+12, 0x4E800420); // bctr ++ return Addr; + } else if (Arch == Triple::ppc64 || Arch == Triple::ppc64le) { + // Depending on which version of the ELF ABI is in use, we need to + // generate one of two variants of the stub. They both start with +diff -rup llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +--- llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp 2024-06-16 03:21:32.000000000 +1000 ++++ llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp 2025-02-26 00:32:57.021079997 +1100 +@@ -819,7 +819,7 @@ void RuntimeDyldELF::resolvePPC32Relocat + uint8_t *LocalAddress = Section.getAddressWithOffset(Offset); + switch (Type) { + default: +- report_fatal_error("Relocation type not implemented yet!"); ++ report_fatal_error("Relocation type " + Twine(Type) + " not implemented yet!"); + break; + case ELF::R_PPC_ADDR16_LO: + writeInt16BE(LocalAddress, applyPPClo(Value + Addend)); +@@ -835,6 +835,37 @@ void RuntimeDyldELF::resolvePPC32Relocat + int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); + writeInt32BE(LocalAddress, delta); + } break; ++ case ELF::R_PPC_REL24: { ++ uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset); ++ int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); ++ if (SignExtend64<26>(delta) != delta) ++ llvm_unreachable("Relocation R_PPC_REL24 overflow"); ++ uint32_t Inst = readBytesUnaligned(LocalAddress, 4); ++ writeInt32BE(LocalAddress, (Inst & 0xFC000003) | (delta & 0x03FFFFFC)); ++ } break; ++ case ELF::R_PPC_ADDR32: { ++ int64_t delta = static_cast<int64_t>(Value + Addend); ++ writeInt32BE(LocalAddress, delta); ++ } break; ++ case ELF::R_PPC_ADDR30: { ++ uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset); ++ int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); ++ uint32_t Inst = readBytesUnaligned(LocalAddress, 4); ++ writeInt32BE(LocalAddress, (Inst & 0x00000003) | (delta & 0xFFFFFFFC)); ++ } break; ++ case ELF::R_PPC_ADDR24: { ++ int64_t delta = static_cast<int64_t>(Value + Addend); ++ if (SignExtend64<26>(delta) != delta) ++ llvm_unreachable("Relocation R_PPC_ADDR24 overflow"); ++ uint32_t Inst = readBytesUnaligned(LocalAddress, 4); ++ writeInt32BE(LocalAddress, (Inst & 0xFC000003) | (delta & 0x03FFFFFC)); ++ } break; ++ case ELF::R_PPC_ADDR16: { ++ int64_t delta = static_cast<int64_t>(Value + Addend); ++ if (SignExtend64<16>(delta) != delta) ++ llvm_unreachable("Relocation R_PPC_ADDR16 overflow"); ++ writeInt16BE(LocalAddress, delta); ++ } break; + } + } + +@@ -1551,6 +1587,76 @@ RuntimeDyldELF::processRelocationRef( + processSimpleRelocation(SectionID, Offset, RelType, Value); + } + ++ } else if (Arch == Triple::ppc || Arch == Triple::ppcle) { ++ if (RelType == ELF::R_PPC_REL24) { ++ // A PPC branch relocation will need a stub function if the target is ++ // an external symbol (either Value.SymbolName is set, or SymType is ++ // Symbol::ST_Unknown) or if the target address is not within the ++ // signed 24-bits branch address. ++ SectionEntry &Section = Sections[SectionID]; ++ uint8_t *Target = Section.getAddressWithOffset(Offset); ++ bool RangeOverflow = false; ++ bool IsExtern = Value.SymbolName || SymType == SymbolRef::ST_Unknown; ++ if (!IsExtern) { ++ uint8_t *RelocTarget = ++ Sections[Value.SectionID].getAddressWithOffset(Value.Addend); ++ int64_t delta = static_cast<int64_t>(Target - RelocTarget); ++ // If it is within 26-bits branch range, just set the branch target ++ if (SignExtend64<26>(delta) != delta) { ++ RangeOverflow = true; ++ } else { ++ RelocationEntry RE(SectionID, Offset, RelType, Value.Addend); ++ addRelocationForSection(RE, Value.SectionID); ++ } ++ } ++ if (IsExtern || RangeOverflow) { ++ // It is an external symbol (either Value.SymbolName is set, or ++ // SymType is SymbolRef::ST_Unknown) or out of range. ++ StubMap::const_iterator i = Stubs.find(Value); ++ if (i != Stubs.end()) { ++ // Symbol function stub already created, just relocate to it ++ resolveRelocation(Section, Offset, ++ reinterpret_cast<uint64_t>( ++ Section.getAddressWithOffset(i->second)), ++ RelType, 0); ++ LLVM_DEBUG(dbgs() << " Stub function found\n"); ++ } else { ++ // Create a new stub function. ++ LLVM_DEBUG(dbgs() << " Create a new stub function\n"); ++ Stubs[Value] = Section.getStubOffset(); ++ uint8_t *StubTargetAddr = createStubFunction( ++ Section.getAddressWithOffset(Section.getStubOffset())); ++ ++ // The PPC32 ELF ABI doesn't really provide any guidance on the no-PLT case so let's do ++ // our best ++ uint64_t StubRelocOffset = StubTargetAddr - Section.getAddress(); ++ if (!IsTargetLittleEndian) ++ StubRelocOffset += 2; ++ ++ RelocationEntry REh(SectionID, StubRelocOffset + 0, ++ ELF::R_PPC_ADDR16_HI, Value.Addend); ++ RelocationEntry REl(SectionID, StubRelocOffset + 4, ++ ELF::R_PPC_ADDR16_LO, Value.Addend); ++ ++ if (Value.SymbolName) { ++ addRelocationForSymbol(REh, Value.SymbolName); ++ addRelocationForSymbol(REl, Value.SymbolName); ++ } else { ++ addRelocationForSection(REh, Value.SectionID); ++ addRelocationForSection(REl, Value.SectionID); ++ } ++ ++ resolveRelocation(Section, Offset, reinterpret_cast<uint64_t>( ++ Section.getAddressWithOffset( ++ Section.getStubOffset())), ++ RelType, 0); ++ Section.advanceStubOffset(getMaxStubSize()); ++ } ++ } ++ } else { ++ // Normal relocations are fine as-is probs ++ processSimpleRelocation(SectionID, Offset, RelType, Value); ++ } + } else if (Arch == Triple::ppc64 || Arch == Triple::ppc64le) { + if (RelType == ELF::R_PPC64_REL24) { + // Determine ABI variant in use for this object. +@@ -2228,6 +2334,8 @@ size_t RuntimeDyldELF::getGOTEntrySize() + case Triple::x86: + case Triple::arm: + case Triple::thumb: ++ case Triple::ppc: ++ case Triple::ppcle: + Result = sizeof(uint32_t); + break; + case Triple::mips: +diff -rup llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h +--- llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h 2024-06-16 03:21:32.000000000 +1000 ++++ llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h 2025-02-25 23:51:24.830956991 +1100 +@@ -69,6 +69,8 @@ class RuntimeDyldELF : public RuntimeDyl + return 16; + else if (IsMipsN64ABI) + return 32; ++ else if (Arch == Triple::ppc || Arch == Triple::ppcle) ++ return 16; + else if (Arch == Triple::ppc64 || Arch == Triple::ppc64le) + return 44; + else if (Arch == Triple::x86_64) + diff --git a/user/llvm18/dyld-elf-ppc32.patch b/user/llvm18/dyld-elf-ppc32.patch index 7fb744169..77ff8c644 100644 --- a/user/llvm18/dyld-elf-ppc32.patch +++ b/user/llvm18/dyld-elf-ppc32.patch @@ -8,17 +8,15 @@ Needs more tests before submitting upstream, but seems to DTRT. --- llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp.old 2022-06-22 16:46:24.000000000 +0000 +++ llvm-14.0.6.src/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp 2022-11-28 06:33:12.239921624 +0000 -@@ -830,6 +830,13 @@ +@@ -830,6 +830,11 @@ case ELF::R_PPC_ADDR16_HA: writeInt16BE(LocalAddress, applyPPCha(Value + Addend)); break; -+ case ELF::R_PPC_REL32: ++ case ELF::R_PPC_REL32: { + uint32_t FinalAddress = Section.getLoadAddressWithOffset(Offset); + int64_t delta = static_cast<int64_t>(Value - FinalAddress + Addend); -+ if (SignExtend64<32>(delta) != delta) -+ llvm_unreachable("Relocation R_PPC_REL32 overflow"); + writeInt32BE(LocalAddress, delta); -+ break; ++ } break; } } 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/makedepend/APKBUILD b/user/makedepend/APKBUILD index 19200ffb7..2f6c712b1 100644 --- a/user/makedepend/APKBUILD +++ b/user/makedepend/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=makedepend -pkgver=1.0.7 +pkgver=1.0.9 pkgrel=0 pkgdesc="Utility for making makefile dependencies" url="https://www.freedesktop.org/" @@ -28,4 +28,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="fd575de737aa56ef8e475d1ddb7b2392e730ee1b23c0b853bbb21975b757c3fc56f94d57ecc5a784dceed2be653feb10909e86fd96fdc074b50fbbd0e27a19db makedepend-1.0.7.tar.xz" +sha512sums="68d289656314dc9f12c792d0e394cfbc95404a0d01155dbcb38313d451b506da48a3d44183f568a2cbb2b1d1da9e26703a0d92f2bb658f72fc968eeb03bf2fe8 makedepend-1.0.9.tar.xz" diff --git a/user/marco/APKBUILD b/user/marco/APKBUILD index 06968019c..4ccdec0ef 100644 --- a/user/marco/APKBUILD +++ b/user/marco/APKBUILD @@ -2,12 +2,12 @@ # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=marco pkgver=1.26.2 -pkgrel=0 +pkgrel=1 pkgdesc="Window manager for the MATE desktop environment" url="https://mate-desktop.org" arch="all" license="GPL-2.0+ AND MIT-advertising AND MIT-CMU" -depends="" +depends="mate-desktop mate-settings-daemon" makedepends="gtk+3.0-dev intltool itstool libcanberra-dev libice-dev libsm-dev libxml2-utils libxres-dev startup-notification-dev wayland-protocols zenity" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" diff --git a/user/mdbook/APKBUILD b/user/mdbook/APKBUILD new file mode 100644 index 000000000..a45e4024c --- /dev/null +++ b/user/mdbook/APKBUILD @@ -0,0 +1,623 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=mdbook +pkgver=0.4.47 +pkgrel=0 +pkgdesc="Create books from Markdown files" +url="https://rust-lang.github.io/mdBook/" +arch="all" +license="MPL-2.0" +depends="" +makedepends="cargo" +subpackages="" +source="$pkgname-$pkgver.tar.gz::https://github.com/rust-lang/mdBook/archive/v$pkgver.tar.gz" + +# dependencies taken from Cargo.lock +cargo_deps=" +addr2line 0.24.2 +adler2 2.0.0 +aho-corasick 1.1.3 +ammonia 4.0.0 +android-tzdata 0.1.1 +android_system_properties 0.1.5 +anstream 0.6.18 +anstyle 1.0.10 +anstyle-parse 0.2.6 +anstyle-query 1.1.2 +anstyle-wincon 3.0.7 +anyhow 1.0.95 +assert_cmd 2.0.16 +autocfg 1.4.0 +backtrace 0.3.74 +base64 0.21.7 +bit-set 0.5.3 +bit-vec 0.6.3 +bitflags 1.3.2 +bitflags 2.8.0 +block-buffer 0.10.4 +bstr 1.11.3 +bumpalo 3.16.0 +byteorder 1.5.0 +bytes 1.9.0 +cc 1.2.10 +cfg-if 1.0.0 +chrono 0.4.39 +clap 4.5.27 +clap_builder 4.5.27 +clap_complete 4.5.43 +clap_lex 0.7.4 +colorchoice 1.0.3 +core-foundation-sys 0.8.7 +cpufeatures 0.2.17 +crossbeam-deque 0.8.6 +crossbeam-epoch 0.9.18 +crossbeam-utils 0.8.21 +crypto-common 0.1.6 +darling 0.20.10 +darling_core 0.20.10 +darling_macro 0.20.10 +data-encoding 2.7.0 +dbus 0.9.7 +derive_builder 0.20.2 +derive_builder_core 0.20.2 +derive_builder_macro 0.20.2 +diff 0.1.13 +difflib 0.4.0 +digest 0.10.7 +displaydoc 0.2.5 +doc-comment 0.3.3 +elasticlunr-rs 3.0.2 +env_filter 0.1.3 +env_logger 0.11.6 +equivalent 1.0.1 +errno 0.3.10 +fastrand 2.3.0 +filetime 0.2.25 +float-cmp 0.10.0 +fnv 1.0.7 +form_urlencoded 1.2.1 +fsevent-sys 4.1.0 +futf 0.1.5 +futures-channel 0.3.31 +futures-core 0.3.31 +futures-macro 0.3.31 +futures-sink 0.3.31 +futures-task 0.3.31 +futures-util 0.3.31 +generic-array 0.14.7 +getrandom 0.2.15 +gimli 0.31.1 +globset 0.4.15 +h2 0.3.26 +handlebars 6.3.0 +hashbrown 0.15.2 +headers 0.3.9 +headers-core 0.2.0 +hex 0.4.3 +html5ever 0.26.0 +html5ever 0.27.0 +http 0.2.12 +http 1.2.0 +http-body 0.4.6 +httparse 1.10.0 +httpdate 1.0.3 +humantime 2.1.0 +hyper 0.14.32 +iana-time-zone 0.1.61 +iana-time-zone-haiku 0.1.2 +icu_collections 1.5.0 +icu_locid 1.5.0 +icu_locid_transform 1.5.0 +icu_locid_transform_data 1.5.0 +icu_normalizer 1.5.0 +icu_normalizer_data 1.5.0 +icu_properties 1.5.1 +icu_properties_data 1.5.0 +icu_provider 1.5.0 +icu_provider_macros 1.5.0 +ident_case 1.0.1 +idna 1.0.3 +idna_adapter 1.2.0 +ignore 0.4.23 +indexmap 2.7.1 +inotify 0.11.0 +inotify-sys 0.1.5 +is_terminal_polyfill 1.70.1 +itoa 1.0.14 +js-sys 0.3.77 +kqueue 1.0.8 +kqueue-sys 1.0.4 +libc 0.2.169 +libdbus-sys 0.2.5 +libredox 0.1.3 +linux-raw-sys 0.4.15 +litemap 0.7.4 +lock_api 0.4.12 +log 0.4.25 +mac 0.1.1 +maplit 1.0.2 +markup5ever 0.11.0 +markup5ever 0.12.1 +markup5ever_rcdom 0.2.0 +memchr 2.7.4 +mime 0.3.17 +mime_guess 2.0.5 +miniz_oxide 0.8.3 +mio 1.0.3 +new_debug_unreachable 1.0.6 +normalize-line-endings 0.3.0 +normpath 1.3.0 +notify 8.0.0 +notify-debouncer-mini 0.6.0 +notify-types 2.0.0 +num-modular 0.6.1 +num-order 1.2.0 +num-traits 0.2.19 +object 0.36.7 +once_cell 1.20.2 +opener 0.7.2 +parking_lot 0.12.3 +parking_lot_core 0.9.10 +pathdiff 0.2.3 +percent-encoding 2.3.1 +pest 2.7.15 +pest_derive 2.7.15 +pest_generator 2.7.15 +pest_meta 2.7.15 +phf 0.10.1 +phf 0.11.3 +phf_codegen 0.10.0 +phf_codegen 0.11.3 +phf_generator 0.10.0 +phf_generator 0.11.3 +phf_shared 0.10.0 +phf_shared 0.11.3 +pin-project 1.1.8 +pin-project-internal 1.1.8 +pin-project-lite 0.2.16 +pin-utils 0.1.0 +pkg-config 0.3.31 +ppv-lite86 0.2.20 +precomputed-hash 0.1.1 +predicates 3.1.3 +predicates-core 1.0.9 +predicates-tree 1.0.12 +pretty_assertions 1.4.1 +proc-macro2 1.0.93 +pulldown-cmark 0.10.3 +pulldown-cmark 0.12.2 +pulldown-cmark-escape 0.10.1 +pulldown-cmark-to-cmark 18.0.0 +quote 1.0.38 +rand 0.8.5 +rand_chacha 0.3.1 +rand_core 0.6.4 +redox_syscall 0.5.8 +regex 1.11.1 +regex-automata 0.4.9 +regex-syntax 0.8.5 +rustc-demangle 0.1.24 +rustix 0.38.44 +rustversion 1.0.19 +ryu 1.0.19 +same-file 1.0.6 +scoped-tls 1.0.1 +scopeguard 1.2.0 +select 0.6.0 +semver 1.0.25 +serde 1.0.217 +serde_derive 1.0.217 +serde_json 1.0.137 +serde_urlencoded 0.7.1 +sha1 0.10.6 +sha2 0.10.8 +shlex 1.3.0 +siphasher 0.3.11 +siphasher 1.0.1 +slab 0.4.9 +smallvec 1.13.2 +socket2 0.5.8 +stable_deref_trait 1.2.0 +string_cache 0.8.7 +string_cache_codegen 0.5.2 +strsim 0.11.1 +syn 1.0.109 +syn 2.0.96 +synstructure 0.13.1 +tempfile 3.15.0 +tendril 0.4.3 +terminal_size 0.4.1 +termtree 0.5.1 +thiserror 1.0.69 +thiserror 2.0.11 +thiserror-impl 1.0.69 +thiserror-impl 2.0.11 +tinystr 0.7.6 +tokio 1.43.0 +tokio-macros 2.5.0 +tokio-tungstenite 0.21.0 +tokio-util 0.7.13 +toml 0.5.11 +topological-sort 0.2.2 +tower-service 0.3.3 +tracing 0.1.41 +tracing-core 0.1.33 +try-lock 0.2.5 +tungstenite 0.21.0 +typenum 1.17.0 +ucd-trie 0.1.7 +unicase 2.8.1 +unicode-ident 1.0.16 +url 2.5.4 +utf-8 0.7.6 +utf16_iter 1.0.5 +utf8_iter 1.0.4 +utf8parse 0.2.2 +version_check 0.9.5 +wait-timeout 0.2.0 +walkdir 2.5.0 +want 0.3.1 +warp 0.3.7 +wasi 0.11.0+wasi-snapshot-preview1 +wasm-bindgen 0.2.100 +wasm-bindgen-backend 0.2.100 +wasm-bindgen-macro 0.2.100 +wasm-bindgen-macro-support 0.2.100 +wasm-bindgen-shared 0.2.100 +winapi 0.3.9 +winapi-i686-pc-windows-gnu 0.4.0 +winapi-util 0.1.9 +winapi-x86_64-pc-windows-gnu 0.4.0 +windows-core 0.52.0 +windows-sys 0.52.0 +windows-sys 0.59.0 +windows-targets 0.52.6 +windows_aarch64_gnullvm 0.52.6 +windows_aarch64_msvc 0.52.6 +windows_i686_gnu 0.52.6 +windows_i686_gnullvm 0.52.6 +windows_i686_msvc 0.52.6 +windows_x86_64_gnu 0.52.6 +windows_x86_64_gnullvm 0.52.6 +windows_x86_64_msvc 0.52.6 +write16 1.0.0 +writeable 0.5.5 +xml5ever 0.17.0 +yansi 1.0.1 +yoke 0.7.5 +yoke-derive 0.7.5 +zerocopy 0.7.35 +zerocopy-derive 0.7.35 +zerofrom 0.1.5 +zerofrom-derive 0.1.5 +zerovec 0.10.4 +zerovec-derive 0.10.3 +" + +source="$source $(echo $cargo_deps | sed -E 's#([[:graph:]]+) ([[:graph:]]+)#\1-\2.tar.gz::https://crates.io/api/v1/crates/\1/\2/download#g')" +builddir="$srcdir/mdBook-$pkgver" + +prepare() { + export CARGO_HOME="$srcdir/cargo-home" + export CARGO_VENDOR="$CARGO_HOME/adelie" + + (builddir=$srcdir; default_prepare) + + mkdir -p "$CARGO_VENDOR" + cat <<- EOF > "$CARGO_HOME/config.toml" + [source.adelie] + directory = "${CARGO_VENDOR}" + + [source.crates-io] + replace-with = "adelie" + local-registry = "/nonexistant" + EOF + + for _dep in $(echo $cargo_deps | sed -E 's#([[:graph:]]+) ([[:graph:]]+)#\1-\2#g'); do + ln -s "$srcdir/$_dep" "$CARGO_VENDOR/$_dep" + _sum=$(sha256sum "$srcdir/$_dep.tar.gz" | cut -d' ' -f1) + cat <<- EOF > "$CARGO_VENDOR/$_dep/.cargo-checksum.json" + { + "package":"$_sum", + "files":{} + } + EOF + done +} + +build() { + export CARGO_HOME="$srcdir/cargo-home" + export PKG_CONFIG_ALL_DYNAMIC=1 + export RUSTONIG_SYSTEM_LIBONIG=1 + cargo build -j $JOBS --release +} + +check() { + export CARGO_HOME="$srcdir/cargo-home" + cargo test -j $JOBS --release +} + +package() { + export CARGO_HOME="$srcdir/cargo-home" + cargo install --no-track --path . --root="$pkgdir"/usr +} + +sha512sums="76fbc342503baf4bb06b6411dbd086627743e55bcb83f1553cf055a4596a47dd6b5bbd08abd078a762a91a5b2e4c4ba84d13b5ddac1ac3135dd02c0765e64d42 mdbook-0.4.47.tar.gz +39cbec3c920ffc0f37584afb55e1cfe4f182e4415319a4e9bfe842360f102f7b9315f6171c0cf71ba0337123903e604096cd573fe98698a26c8eebc2376d965b addr2line-0.24.2.tar.gz +12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423 adler2-2.0.0.tar.gz +ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69 aho-corasick-1.1.3.tar.gz +84f523eaf7db9d98e44c7d1198fae40e59e838dcc9fc256ca7ef3f3d243a767755f318e516411b4feba4ecb26e30e77d501e9163f996b4d113804e5f2c41a65e ammonia-4.0.0.tar.gz +4294024c21ddd0090c42c8eedf708d40d917f55ad5a4cb7aa3e64cfb6551b6df60f2e36bc08620c1d2fc8c7ba7207411518ee5c8635f60ed8ad9efdd458a2077 android-tzdata-0.1.1.tar.gz +b09f51339f9772c0e2e4241b36cf51573c6b96b19ffc1fbbc94b1c1d1d2fdfe8eac3134af54174a675ab05d18ef4f6bcb2c7fcc20114bbeef6e17e3692202191 android_system_properties-0.1.5.tar.gz +5149977d6f7b5e9cf6350f1ef130caa3ff46c7e78976358452a185ce196cdd77fee48a3a9838f434ae6ea9c15b19f6bfbab156edf819f81179d6774318f08963 anstream-0.6.18.tar.gz +621e7a89fad13db985f07375d316cf8efba57fd44ae18628a8049a65aefbaef27949f99317872e91e0922bb089a00234055199ea3167f80ae03d00ada4f75dea anstyle-1.0.10.tar.gz +e28c9818afcda0e9b84c205d9c6697ce64cb06c21df2c3666869c07d66893105d9c5e96a27fcf2410a09f6af00735252e22b5c7d8c6cb3f68c4a8f376c49d396 anstyle-parse-0.2.6.tar.gz +26069d936c4b1fb09bc65cda0253fe9be8fa4e96c0821f980c772602b4e9230035ec8c9d092ef95e0a0354ac559f8d25f57a14c34086d4d241b5fba688951837 anstyle-query-1.1.2.tar.gz +782440c1093235ad481f0b854f5a3d3acb7908d2e5ddbd4143139b8bfd0faaf2f9816c1034e760d9261a233e6d645098cd5a594064f190662908eaf79972c903 anstyle-wincon-3.0.7.tar.gz +8c5c176381c3e861c3c4451f7cd3d9e2447c0a55735ececfd3199288d65d36dc5fdc4a19a0798f62a0b9d6ca2c155a616c7eab8bcd53e6ece743aed57ec3d0fa anyhow-1.0.95.tar.gz +0b9167282d75169b0b1fad0b1401b42884185976ae0dd690851671aedbc1a9af26dd33f3047400eb4a1b5070216acc293aade149aded7e4f86dd5c0ef0e9a6a9 assert_cmd-2.0.16.tar.gz +3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c autocfg-1.4.0.tar.gz +00cb2be0626f0bf6ec8b8f525bb129d3ac74c386c5e46ee0f343edb78c863222521f8132876057a5a1facacf40792dea51f2f20e986b35f3a85bca3dcf5c1520 backtrace-0.3.74.tar.gz +c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9 base64-0.21.7.tar.gz +c5ce7ef71559706d996505e138ce95d9f008ac3375928012a36339bfec48986ad935b384e2d21fa0d505d4cf98bd3e93be15955ecd9607d253b8a276351334c6 bit-set-0.5.3.tar.gz +b4b4a82c80d0ff13527ae4fff449ac9c1c7bc519c013af6ea3428348e0e5b9306b725c0a13a42d7d9dcf0f895a9eee0c63695a2503eb7fd2200083c9ea3a9aa8 bit-vec-0.6.3.tar.gz +3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62 bitflags-1.3.2.tar.gz +f1bc02c858432b0e1fc3b10f239c5886e51d620d55a75521bdf35c8e8f6b6cf8db97e90e08eb2e96715a2c5b28858af305eb266f1ce0c90f9d3945d6d9bdda8b bitflags-2.8.0.tar.gz +b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb block-buffer-0.10.4.tar.gz +f1082ac8f121c6f9eab4b41c5f60aafe4623696c9f800f9d59f6726efc74f86071910f7749fbcdc8f1c20c83416d58f3ff507978775f602e18ae3d1bb027944d bstr-1.11.3.tar.gz +a51b75c36f6794db444cab20eeb24f42a319080ecb486a56d254d6f873f3d188b5ccba11db30c068bd0c52c4322d4a3f5f5195c81c94b0bc04387030418835b1 bumpalo-3.16.0.tar.gz +96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f byteorder-1.5.0.tar.gz +e6c0681c535db6035c1fb1c0481725bb8ab341b6324acde07ac4b60cc4f490ec6ff01478bc00fae00ade2bc5420f9d14cc44438e5d156bcce91cc0f06118296b bytes-1.9.0.tar.gz +bbd8755d390ca8fd209fb22a6b998250bc4765bc8339281498f0170afac7b1112ac5843bc4c604785e734030e2681f58bc5233ebce85e1d1392e3bfc1e654e5f cc-1.2.10.tar.gz +0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff cfg-if-1.0.0.tar.gz +5b258f76bea58ab9baa0fe8fb32c41928b8b655c76bb2fbaae9300ef8380cbb881296cee6b9e9886dce62b0759c73e84f6409e374a86cf0c80e3383512f98571 chrono-0.4.39.tar.gz +e07ff5781679b1da62b0bdf25a674b3d48e1c2d2691ebb7c674562b83ec715b5fb0ece2df0867b0c0d833428d61ce1b3cca976fbeb4bb014273a007453391839 clap-4.5.27.tar.gz +77b0e968361bd348b95b5b2993d5d1a3a4f3dda5fa790598bcb5edd201e7ad487a9ed87f551d40c30343e3e0a30942273c07c7becc12b4b67ddf7395488d8265 clap_builder-4.5.27.tar.gz +0bca525e6be2a3dd95cc6587e057a724a9ac28e49183ffca13196b22ad293d80dbc52bb635cf4b90d882d94bf172479f90910a77601545bfeb701bb485ee9c48 clap_complete-4.5.43.tar.gz +a2566868f4619679d3b74b70592ffa6a04b13e38e3196c56bb1dae8bea0c711bddbccd778d2aba3cc0ee074c9b1cc0335222818f0d47fb3cc8109cbc35bb992e clap_lex-0.7.4.tar.gz +fc26696189d3935d5510a1237504339c1f354d03ffd3b4e830b7080335aa778bc72787ac5fa9a67a731b9bde2788da778d497f2ef97ec68bdec5145fedf4cd14 colorchoice-1.0.3.tar.gz +17492d5314db03abdb3b1998bf0c396ec8ed0f83bc978ae22d6026afdc86c50b58cbac073b3a0d97b92da7e98be11302faf1249d24313494bc058add4f4cb63a core-foundation-sys-0.8.7.tar.gz +9ae64656a21cfdd0528d87ba95f6213860bf72ccdf866019e65ed6662633e73490f92c42c80125559b3dbb7822090b5faa8ea564c562e04041232809ec2f58a2 cpufeatures-0.2.17.tar.gz +9368c0c224c4b84356f1d422d8869a5ab4bfb36b0ff69244a9e7a7304ed51f034001cd9b2bc35849df874d36ed34285c66574943573522ea32bbdc5a05df6989 crossbeam-deque-0.8.6.tar.gz +0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2 crossbeam-epoch-0.9.18.tar.gz +6f4aa7ca10c20da291c4714b56ceb1fab1c06b03b2f4e28e474e9aeb95ab6615a25462dc7819713652c3b5f6a06fa0f24ebc92c533fcf35dfcf2655857d975f8 crossbeam-utils-0.8.21.tar.gz +471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f crypto-common-0.1.6.tar.gz +7a14eebc20e48fd39ddf7b8376dc937a04f561d723aba864432cabd5ab46eb189706b43e5121a7f4fb0d68dbfd044353875bb479d4bd5cd96b76e3571733ce55 darling-0.20.10.tar.gz +2b971156b8c1433dd0ddb2213ee522e2fe9968a62889285d1457b5e733daa70a09c21bca9b8573d9c742026b4c06f4dd2025a6a196ec0b08b25a78d8737dff6d darling_core-0.20.10.tar.gz +565b8d535248d9d88b49a58e2a210ecc70f1cd39bfaf029ac6576a9b2eac70a6b18b4930aeca746d76d53b745c6aa82172bb341c4844b3757fc7978732fc2f52 darling_macro-0.20.10.tar.gz +4ea0901ba3b1b37006ff413b743ba56bbe73edcc0b8735ee14a7bb3e71b3f9bc42c473d17284d1efcd358264dd0518ad63926f6bf43a38e1a30ce1306ba80a8d data-encoding-2.7.0.tar.gz +c1557d8be0c5c5623ec6a3928de310c80eef2cdf976d9fcbcc00f08a532af5b8d530f8ee1eba4de12f2df0ff7cf4d21323dfad76be82eeee2f386173991681e5 dbus-0.9.7.tar.gz +75d08f4c106ee5df795ebc8be3dcf34dada037c7566b20bfb52243e16f288b440c723fd17343a654d2f170c056a4197704b9c6b69c8e0d1b250039bee43fd872 derive_builder-0.20.2.tar.gz +ab154b7f116a21984cf8c9cea538e8d33be1680663f4578af37f7d74696547431e9ded07bd8ab0265fd2c4aba5937b948f57d4f9b60b96c840f5150e8c10ce86 derive_builder_core-0.20.2.tar.gz +1a5cdd75bbd6326147f6ed726fdc21b2a4e44db9abe49576d4b1ed067b0e56871cae148ea982b647016240392194efa4eca157d615ab42248d798396612b3d9f derive_builder_macro-0.20.2.tar.gz +45e259c9fe7c23bd9e9454891b42d4aef6d681d35ee039d21fdb05ae9ed5856161a40f29889e7880ac2a2daf85f1b7d752d213b4a99a1a74ed2682c18a3ae7fb diff-0.1.13.tar.gz +fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9 difflib-0.4.0.tar.gz +0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c digest-0.10.7.tar.gz +5ca35fa59f263162389c1180331e9df607d9374bcb056cb04bc46c98e4d87277162ddb2335ffa8a8c5f69218abc3eabccdcaa71c21b8dd9081cc4146f266b948 displaydoc-0.2.5.tar.gz +e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba doc-comment-0.3.3.tar.gz +2f65cc09ac0a9a806fe36a617fe1fd8b6eddc2fa427012ed3fa2eee2f05743089820a801063d0fcd38bf5269b70b6b5f5ad0e6d706cfd461fcf4a62a9f956361 elasticlunr-rs-3.0.2.tar.gz +94db29f1639636655e05ab02611cf14d5c2c8778be6eddddf0b6b8c21f364a71909a2ecc3acf3f4062d5d3c79a6316e9ef30b2fe042f617108af8431e198d344 env_filter-0.1.3.tar.gz +1ec41e4c4eee4ea6bea38d40e739b1f324ef236fc786553fd77c6bacf6303f13d35c1626d3408a18346d42ebf5c896869deba133ef34b8cccf3729957c72de0e env_logger-0.11.6.tar.gz +b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140 equivalent-1.0.1.tar.gz +fa4b9a368f254cd90c6f69f6883af4c579829a6da6f31481a1b527ac9602c8ffcb5e9518cdc32c39b5589c151a20e75a7300c8a907d178346185ecc6e8749f3f errno-0.3.10.tar.gz +267fecbb7459c8840f03425733d278dd6c4e7637b85b99552877117ed5e8015e094d86aa95841f77064136b7f382276c3cb2c2bef7b2881d272f4aa57c5cf947 fastrand-2.3.0.tar.gz +90b4f3c4df29a3456c393f78f636d70f2615cba748a972dc9b937c2fcbbf4544f5b0d28c6c8fcfed5d5eda026ac670afffec18ab7d7127cee9afa2717146ccf2 filetime-0.2.25.tar.gz +024d6cce0c16f56e4f42381fecff1f3c6b9f960d62e81cdd78b1c77103dc4bbac11c5d656d44ec5fcb644edcd7b9c1a905533df3d758470137e48e3dde4633c7 float-cmp-0.10.0.tar.gz +2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334 fnv-1.0.7.tar.gz +c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1 form_urlencoded-1.2.1.tar.gz +e702686629557b879efaccd37b03a7ec515eeea29d8f8ba46f82b8b68ad157ef9d6b188be031f806d8fd27d4e9d2689cdd6bfa14e4ff77493a7d0be3ef1238a7 fsevent-sys-4.1.0.tar.gz +4cee071c067c879742839d3d32192ca94ee2f9241468656357c3aed116cb7c656bf81722f32b67d60214b7db66858dca6443f0d52f0ff2114fc70971bdddd2d3 futf-0.1.5.tar.gz +87e49e661cb12c1e03a07d3c94ca9bf5954344a51fa11639a118f5a49877c883387343af54639ad80e7196062a77fa7c9b9aff9804fb1e6ea3d0eb09efc53c69 futures-channel-0.3.31.tar.gz +d2f4c2476c4f480f724a880ee16566fcdd545579d3cacd2f16745812eed9ac4a7a88d59d4a38b163ef466c6f6b612b9cb06308a09d52256506a8a90e358db935 futures-core-0.3.31.tar.gz +26c45dd8c037831ce3c41a326ddfd581784c2e7aa2805ca4d93b91e439f4d8c078293cd328bcd66d0283cbd5a14724bc624ec607c343d15193b00bd644b86166 futures-macro-0.3.31.tar.gz +79a57dbee5cfe98f2c003bd463d252648743f70d13e2054af072978b758c7cb8e5fb652fd2f36c760df358ad23d2893cef24ca6ae3df44def28f1d39bcf348a9 futures-sink-0.3.31.tar.gz +4872fd2f24b07c626efc6fd76c01b44d56efecb9697f972d0877307b38d3ccb06277ff029df38981470ba1f8ac5f93086123ab3af44d3c49bd9c10b6c9158a81 futures-task-0.3.31.tar.gz +429b1de584546b931b17d475aacbdb0c14824a57d960c44e615aa808e8c0f9c126473e313a7150b3de87ea91b7eebebb1041509f61b3493fee8a9cd2c75c4df3 futures-util-0.3.31.tar.gz +363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d generic-array-0.14.7.tar.gz +04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb getrandom-0.2.15.tar.gz +b9c8c11547dc7420fe936b9f32a4f5ccf3bb68d1d9f39dedffd40d631360f6e032e719d858668826f1099b8a262e8096aa7ae1f6d7d3d7aaf47934d832715949 gimli-0.31.1.tar.gz +b9281b8bf48d2e297be533aa31c701c0115978b4e580b684b78a385eb2ecb4125187605368a6858311d6cdf5caae7d733cf1406c79241b7d19e7193f5a111dad globset-0.4.15.tar.gz +3e1fb02d42d86c9fbaee6f10fec78eebd9a31a70efbead1f4ca22664ee0e96809a52b06e23a9b6f5d0646422dc8054b5ff5d82644ef65cbc0ed2b3729d849163 h2-0.3.26.tar.gz +63c80950581c99db0ae8c420c89799a41dedaac7dcc6b4de21ef79ae86a8063e8f2b73be4b82723b03d2210fd530aa4724682db4144c9c5a8b4006ee05d5cc8e handlebars-6.3.0.tar.gz +d6fc0613623f9313533dfcab1240e97f652f78f05baa21419f7edb2eff030c4a2c5f426d3eaae747923cffdd8aa9cc2648340e5fc229395b5eacc6fae087c8cd hashbrown-0.15.2.tar.gz +d7b191ce9bfe0103bb4e6ea308f4f6943c1df12bace405bd8b733ade8f0a89b3d156ef7c77aa04233c51e6d34d832a837c12ea9c2f9693fa12f2cca49c1740e1 headers-0.3.9.tar.gz +1d502e6a3b2ad70a0d1e410c55864ddbf4118ea073ff7697e6b763cd18748d91f074b36451c015e3bbadad4400d099f4a2e350c609f44daee4ad40398633a8fd headers-core-0.2.0.tar.gz +fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6 hex-0.4.3.tar.gz +383a25421cddb0573e41ca93131d681cfbfaf551989337845a197e939a2580751ae90e96605bfc4e187dbd5189b6c014557cc69e3d7d2d2cdfb88eeca8896089 html5ever-0.26.0.tar.gz +8d736fc122da78e9ba8b546868d0770837ea0b4951ff027f1b5593dedeb9831c082dad1868659422fab5527711ffed18d4428d519a830a3434d4594a1af6c868 html5ever-0.27.0.tar.gz +e32dd4600aae7e26f1d530871815b30fa0b9bf95293005649bd9a7bc4df7f69a1d8de503d1b8873e67a5496e644d0a47db2a0680fa1e9058bee4dcecccebee58 http-0.2.12.tar.gz +2c8e7234ec3aa720c9dd762c0bb06367fbc39ea89446fc9d8d2e55052a4ac461559a20a8294c877879f3e94d5db06fe41e2cdbb9664ea7ab1bc8003abb038bb5 http-1.2.0.tar.gz +fd74fcbd25044aefa183e3caad6cde0967cbb00b6d80addec2589d037b752cdafcdfd02d29d38a12b5c7d87cf1cb5e5ed80488057735b9dd73e03904006a5462 http-body-0.4.6.tar.gz +0ed43a15585b49064ae6b745b7c17775db1d849911115448239fa70a0b6f1d5a1fb09e654c4c04af8d533d74865966bfb215135a133aefec89eac81f136709d6 httparse-1.10.0.tar.gz +0586888fe89f40b838d5ceb083084d0b8058feff1d2933faedb96896dc86eec68b541a0374a508fd11b86eeadab3c62f88568ffe2c53206fad438373a50b2e5a httpdate-1.0.3.tar.gz +3bf29ddd1391d82897c22baa0ff3ed58ef6d6959859f1f8ed54d324caba5b6fb4422e56790511ce82f902cd11467f93c8ab7fc7b0e0bdb719308a4d0a446ae0c humantime-2.1.0.tar.gz +d2b1d713a3ddc8a469ea344a5e7732da637bb644c2d999bed8e8b00b602742e193e553b9bc77eb58017ddccbc4217b20651e2b1698ac98568e780bfa3aa1a819 hyper-0.14.32.tar.gz +d16c67f435606334042c3a286350db46ff3409f142c0782509b136150b4069aafff0dc5c2ecfb7519dd8d105b9a2e6649df2a7bec33ee3966dc94034c9d5a1c4 iana-time-zone-0.1.61.tar.gz +448224ecafa935472ff6f0aab7cb71f9dabdbe71569c4b94fcc65baea925ef48841577687c9a31106a1826c2105e8dd73c748e9d27fd002648e5b0ce838af6b2 iana-time-zone-haiku-0.1.2.tar.gz +127f1c91101ba69405b10a2590579606df766166fcf1fe6aa9a74c4900296425cba5c47a391a53a01b02026af5581f068fce4a7a400179809f7ed9922b94c0db icu_collections-1.5.0.tar.gz +4b85f0e7cc73166a542b2e502b3ffae1f30d2a9609ab83acf98e90b0edb37fa8ae4592f61ecf48a0ae0779fdd376abeff59e1d5cb97475012eda99ce2a97da57 icu_locid-1.5.0.tar.gz +1779078e2ef9859bee2bfd5414ad7e4b0f0a40e6813f4ccf8de2bbe8c764fac7f99ef001cce22332a8b3840af22e9c7fb7cc0341cf8ba61303794ebe87071e63 icu_locid_transform-1.5.0.tar.gz +1c00fb962eb4b8c759b1120313bb890f4388d579890d7450b798d6266a7d6adcbbebc8a8dad2f267668ca6f1c059d0bd2209eafbe2a72f4558c85258eba57405 icu_locid_transform_data-1.5.0.tar.gz +22612b86a24e3ea222469392763ae9d40dcbb37191dd8b9fa1c64332463a4299a53275a1cd3deb7e0f057d137f4312d990762f9925d0ceafbc8839d67c425a13 icu_normalizer-1.5.0.tar.gz +222fbb819791fb4ec7889e45ed3032ac8d4753e2e9cdce9d0b3f79128baca5ce64157a8a58ecdf39cfddb6c2395001e3cc8828ed51803e85cae133c247cb338f icu_normalizer_data-1.5.0.tar.gz +7e347c0a02a41a3add950290bee90a339091a713546d4369c2995022e64f127f54204b0d46cbb88f396b3bccbd4cf12720a93d8551b73926f78fd5ec01829cac icu_properties-1.5.1.tar.gz +c651d0a50c229acafa648ce234a73bc1d0a85a8bf2369fdadaa62badc741c35e8a7d5392fb1bdb7b720fe2e0f883d1309c78de4ba913691969e5367a4e8bafac icu_properties_data-1.5.0.tar.gz +6c11d89c7d2b788a44757f02b0e298b558ebe174fe917664401d91109cdc7bd1aba5526b3cdcee1f066018de1b775bc9dfc294bdfb40476c53d552bd6f29d6a1 icu_provider-1.5.0.tar.gz +a0dd58d731556a010428fe4aebbc9dbcd626b46d380cf28ba5236ec8824045a20f6f2ec986e0c1e791bc8bc2b692a10306f448279f079b4c37237e4a3c3cef63 icu_provider_macros-1.5.0.tar.gz +81003a43f18da5997d644319274502e2066af9f9fd1400afda7cf2986b3ae0b7355b932302723cd3bda2d46b264340434d9279dea58425bad13785698d5808a9 ident_case-1.0.1.tar.gz +e75ab18297878df11d82bf3623b005a3dbf7a6fa38c8f78830c219adc7d6f4ac07dce24a5f1186de69035ec316421319e487396cfacb053674137342d72a4126 idna-1.0.3.tar.gz +1d8b54c19878645749a1bae768dacf353b07d266f2cb3bfa1071a7afb56ca68f534dc1d54cae277b777bc97e5986f297cbe2051a82e14f553ea73cd723d9da7e idna_adapter-1.2.0.tar.gz +ae354b00994ae8570751bc5c09167edd0e2891709d4c4878cf75b24619421d23a1b83e28886d54ed9d31aa427f49153e9a5fc42b5de7262abda20c1c0061b299 ignore-0.4.23.tar.gz +225703f74a734da1ad464895192f07c83068b36129f69a9e87608134f250d3a19b95fdb21dcda6c44cb0204bc4ad69bfbba24d94c83b439000ab4b9ffec74abe indexmap-2.7.1.tar.gz +bf1e133e0c3e9e4c31121b24163e5050a76408540235b9b0e9a9644871cc55aa922ccc48799f2f766a3c869ec7f9a1b2275cd8a19f33c47508dd7d061361158c inotify-0.11.0.tar.gz +dae749f32c533b0c9f99963d97a77dcbfcacf173ec8fd7a02f275804f9925e867b4dfdf6be52c3c3c3de136d64e6e7d6b30a3bf804a01608cf974b0cc2e346da inotify-sys-0.1.5.tar.gz +4730fa09401cb4e69c92b38b2b43afd74699c61f5bd7b37605efbc0c08ca7a1318d43e4a844e46e0f84f83f42432f01e33771be2b18eb5977702ab9f894837e1 is_terminal_polyfill-1.70.1.tar.gz +ea2d38df373652ddacccd11e610dfdad4e3ae7f0d476514e6ac58092733c817bd834e8cd88c3bc4178dd5a646ba628ae626195e0aa407e8534ae3c2a7b049987 itoa-1.0.14.tar.gz +d9370ed6ea892bd51ea181630ca661c348f82d575381aa4c8b529113dfcab6687f4d19bceecad7e1b28ebaca74d405862150a5b5ee2d5d55efdaf98eed1ab255 js-sys-0.3.77.tar.gz +c8734fa2cfbf8b8f173604acf5d13ad4cc2739c879387b548a1200f8383b81a1b72315449eb73844e4b82280a4c29901d20c12cdc746d48f9047db89849985f3 kqueue-1.0.8.tar.gz +6650aef7efd7fbf4f9b6c8c6e4c1a91b79636423d46a0173dcb99de74e6f277cb02ada01cb62aa71c3f174a2c28db62a708b0aada9480fc5bde613204acb30a5 kqueue-sys-1.0.4.tar.gz +c4566330a7967efc211edf31a23647d1a33aa51fc25aa4e9337716748c8fd4be0ae63679220ff2cf6e892f37d03bc5264c55e8f082eb82574a6ec1fa8e5e45ce libc-0.2.169.tar.gz +94ce1de7e1f1727e923b2042aed6652f9d0e68f27388c186c37f7aa2195fd71cb3c92a2bee7e8628c95f36ba2d2a38d25d9804900bf55eb13af31f790bca2847 libdbus-sys-0.2.5.tar.gz +c62142fdca92388664eef83fc89b8607e2df318cbadff6edf9e3d927837853d5cfeb54445299a82054a0ca81853b0a33536966ab26f1f2e0fa43b39aaaf67c49 libredox-0.1.3.tar.gz +b5c39181fb6b901abddd8b2e7b449142e2e5691cddadb8e6b74ddc3b53076b1d410522cfa45af68dd18befd24ff12313c2494cf2cb0cf142e2228bfe42014309 linux-raw-sys-0.4.15.tar.gz +5009c486a87b2f52237e15e2e772365424e4780c146776656d8e1551e52bc8e06e5c1cee8db1c59ef20d0463962fc07ba5221a46020a82df17a2f623a175f58f litemap-0.7.4.tar.gz +525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7 lock_api-0.4.12.tar.gz +b420404c82aeb04219e9f63505d60b8853cad44d1de0bec0750715baae21afae806bd4f741bb8964dd39bb5d1e0f5be41bc38d76773bdfd5e920d30533146231 log-0.4.25.tar.gz +dbc6def04c482911ace311f34be79992fa04042c7ce36b71459b5af5c1c43e9fa66b6b40f63f8c3647daba287bf1c1be9b1a8031ead1d855f99a988898c96f1a mac-0.1.1.tar.gz +917b5cf665e12b687035c895b60b2ae05622963f495f5693515fd24d56f49e95a06ffced68606d061bd20822c655100035930673fd4b0d4790168763b6961a9f maplit-1.0.2.tar.gz +c9e9452f5bd43a7e578434467ce324a857ad600965fe37a24650f0f3e968fe1dc603ac8c7b9c4ebe2f624511cbdbc592ca0072b04ae094738670e199df9ad05e markup5ever-0.11.0.tar.gz +5063b6591c63897017d79f64d11cc13edce2e8e21462df8a00166d582e83af3132ea7f4e50af4f248b56b75cbd12c6f89b7433da14147c76004fb2ffeda02b92 markup5ever-0.12.1.tar.gz +bf21aee14ec41ea9ac5a5645285173394a561c34311f4b4a7f3c2e8fb32a54a777e4913c985daa2f693bb7b1aaf799d45ab9a6f359b900d2bb916b1ff376fbe4 markup5ever_rcdom-0.2.0.tar.gz +8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2 memchr-2.7.4.tar.gz +e6d2ca92bb58fc747c1bb65a7f9023e5dbf4b94966003a72e4913bcaaeccdd6752725cdbd5081e0fd69d9e8f364d79664fcbe70061737d5c39e5b3e3a154a0d1 mime-0.3.17.tar.gz +433c876e28394282cfbe14bb9543616cd296879f253ed331c15ace8a7d9f3629f5b596c2d5a64823a97ca9b774acc711b65006c46d54d1e9ee0553cbf1f13b7c mime_guess-2.0.5.tar.gz +b79cd67a477851b18ed87c887bfd9f40f97059eb3fedbdc3a52eac66b5fcea42cae833eea39fd62becdb057b337f91d27f2087a407d02770feeaea934c0b1e1c miniz_oxide-0.8.3.tar.gz +2142edc7e9378fc3437110c85ba2cee9c9683e87034cd44275d2c389645979db53fbbc29fec304f1d8c8f0464ae17d2a5db1aa9215d696fa0282f5069700b1e2 mio-1.0.3.tar.gz +73a61acbc9b20b3595925360827ba8798f3338471b291fa37c72a1c9505b3ec9f688808fcaac9a2eb494e5f3ea5331d30545d5f21f89559111bec6126ac90b48 new_debug_unreachable-1.0.6.tar.gz +f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea normalize-line-endings-0.3.0.tar.gz +a3cd341d1b4ead252f25a77e42165cd5a6b1459946ef55a5319558b89301e01e445f7cdafa13231836d336284798e48cd4e17632cba53a17213badbad3ce7a6f normpath-1.3.0.tar.gz +0238ed072d632526ed6c464d69674f5f1d3744d878b59a9e1e6bc460000447c158a54a3c2504270807a68cd6a5f953deb56b05d80ae03486688d4a9153d14507 notify-8.0.0.tar.gz +f54f8e97bad11f2b278eb384dad75ac9c3dab3e7c8c9518a660e4c2b0ad12ccaf58895fda493b41862c75d14a2fca422d4036c04fc1bb657c4bba55ba7b98faf notify-debouncer-mini-0.6.0.tar.gz +2364311cb22104a661ee4f0b687777f5887c988a3760162a0b51cece66ce99838bc2224f346994687057fda1e19c01e6b1cf812eb1de8e3aad9667b229f9e5ec notify-types-2.0.0.tar.gz +33fd877231e2db400fef0367f7df3a5bfeeb74a9d801f22973501da0890590e929ae96c680dae7ad330e2fa87b80ef1844d87b5d7deec9d431be78120f9a2845 num-modular-0.6.1.tar.gz +befccdd1e2e6e7f969e8bb1274c80589ef4c41532791fc25d1c77f11c80b421406e22252cb2799547cffee7d876850cf6fe66d2f0dd32a4080982a887d3ea30d num-order-1.2.0.tar.gz +180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956 num-traits-0.2.19.tar.gz +dd69172349ecf51fd2351d32cc4453760ca1d15e854a1cf5ed99112032901a54b4645b24163b946deed11f81d3e3035e1a5afd8bff20f335dbd05eceab073478 object-0.36.7.tar.gz +bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8 once_cell-1.20.2.tar.gz +15e2c6262f887bc53e21f1ba1acf9d3a5c97f011e6b54084274f9f089e658fd747b2c16da0a55cd5f56e9b771306c8f56319939a9e503a6ab5c3b9475808191a opener-0.7.2.tar.gz +368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703 parking_lot-0.12.3.tar.gz +4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389 parking_lot_core-0.9.10.tar.gz +54938b311d4eeb49d1d7418d2ab7ffd19bd308c36419cf3ad3ae58785b971fbb2fd2d8f5907e0c47be7bf74ded98c62deeb90f509e6cb0edc6d3c1a69dce3bf7 pathdiff-0.2.3.tar.gz +5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44 percent-encoding-2.3.1.tar.gz +a044c8e92bf63dca6522da1aecf714329278def96b037ebb38dd485d6063bb7b15ecf762fdfdecd2026136c42b6edd89702f624cde14b437161c372d6c3d87c3 pest-2.7.15.tar.gz +22cd53c1c9062db988dcf8645a6320f96219777fe35f9d8fe05f69df445d58a39157c029a93d5fc26781c5c44961afffb9bd959b3d4ecba2d4e17b23cc422250 pest_derive-2.7.15.tar.gz +98e0101900cb4fd0e22af2a214f380269de10b590078a7a9f03154ead159912abfec664e1f89c57aae38ca8b54a163da4302d2954713711bb133a9c2ced32f48 pest_generator-2.7.15.tar.gz +dac3e599b280f2ad9d3d6c1362ca18e27929f15047ed9195a3cea1e1ecc03bab98355cb39de1c793764affe41b24f0efcb6660ad0c81f7a6c5201f402e4c6a64 pest_meta-2.7.15.tar.gz +84568d6d1baa7c4e6faf5f3ee09133e736977286d7cb7630a59a53fc8ea15d0d41b9242f8929184667ce576cc9946da55d1e8bc06e98824f163c91c6aa05e073 phf-0.10.1.tar.gz +20a834481bc43ac8c560b00e337294d3c14d1fe359e7f78ed08166b096305e40277f4cd3c179a740911b5c241aeb4e263afa1a50d37f383ef63da113bd6270a9 phf-0.11.3.tar.gz +dab91b53c72a5b9b6c4773b9f16d2cd58f65bdd9fb975257b8d107d4509b44f5ce8b92ab59a60171207e025688cde54ef97c9973c4226a8765f10f35c4f6f1b1 phf_codegen-0.10.0.tar.gz +e86c3b73de198aa0ac67beb6eeebb88865f77d075b9d7f290eb9b73bfdd6728d9479f796d56e4f3358226ee88b877d848017cd951a14804534e4cb656eed209e phf_codegen-0.11.3.tar.gz +b6542d816b2e963c169df695d332f92237ba380f49bf919021514a16aef71de8f4f70b9612356db9f345f3f0d3656b2b39a4f34f8ffa8515510b81f1b19cb9f7 phf_generator-0.10.0.tar.gz +52998e20648b6ecd1eaafa407f7da4667fa829d48fe0c9f8f718377cc86a232a6261fc2f831ffc7051b62dbdb880654b1207ac314e57b23d2b70f634d07c2115 phf_generator-0.11.3.tar.gz +f088a6836a28afca7a2ef5440d7aa953227785d52aa0b9fcb76c88d085fe7f0e68732f2354c9f8dfc0a90ab1b8ac214f28549780e6f32d857ff7e8963093d9e5 phf_shared-0.10.0.tar.gz +34bc3c0dff5568f0276777614d92d87882ca6be9e3d405c1e7de90ac16ec52a12acc30ea9ab2033074d0e988fa514247f37de1a21a3727de0ef43f42f477e27e phf_shared-0.11.3.tar.gz +c93706969cb1358d84a9eefea6de6ed732b87c0bd68cd5299f6874b8ec0ea16d65989f127b9ea06a766a5c0e299033a11dd9d83f361938c28e1658d546e3725c pin-project-1.1.8.tar.gz +9471d2c163bb6966203735f6815023a77c7b650adf6f0f03f439416af297e03ccab1772de040c0b2c7bf9f57b92ff6cb0dd50668f85d5a9fe766e24eab0cd1eb pin-project-internal-1.1.8.tar.gz +971adfe54cfed304647fd944c1c915e78b37eaf0de3a582fb984a5e91f1b7d4db2cf0f53a9a64b64427062d4b41c0a36baddef782411a76ae3be0f8ca45f0718 pin-project-lite-0.2.16.tar.gz +828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70 pin-utils-0.1.0.tar.gz +ac3e8062ee8831a4e4fc717b5247dc7f113da7bf6d64ec95cbca7875959a2afa1497bf81d9dfc27206b5fb10027a2509d51dd9ca1c10139d7b4c78128864fdf4 pkg-config-0.3.31.tar.gz +6d171f63b42296f7765732fce3af7ea05d0d81f1541ffb3ad86e81210715ef4afe5bc9e58926e97e757aea6ff96a8012c8411eac78be0fd080898318ed21d7d1 ppv-lite86-0.2.20.tar.gz +a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05 precomputed-hash-0.1.1.tar.gz +0da703faeb708e3f9eb9bb8803dd8cf6a493b02d38b9b617fd1eed7ccb870ae96c5be6cfe63b7ea8855cb2a019a7ea59799faf2bd78fb490d62e640d1a7de1e2 predicates-3.1.3.tar.gz +618db56d417f44f5575159265f245fbb62399951824730546df735dd9bc9dba2200f58c0a7c7830040bf27954bb48e01fddb5fe0f4d4890d5e172cb1c586735b predicates-core-1.0.9.tar.gz +f5f6d7d0cba4ca7176a26d9adea5ded46f1a3361f9b6ceaa7dcf468ce616912cf3b764b8250f39a42a24eac71fb94e0d4d822c89361aae02472cf761ba55dfaa predicates-tree-1.0.12.tar.gz +474f77c61cc17bbe9914c56b98a80e5918450205827cd059d693c2d603ff61a0897cad25dde645cb495200e61ddc14333d15eb8bf2de090a2eb68deeb9aec8b0 pretty_assertions-1.4.1.tar.gz +1ae650e390e4f1b18d05f42d2ffcd025cabf72568a326cd85496c722600108b0aa0ab0161b39fcc931b8b302427f678650e703f4db57aa1a60f1751db881dc6c proc-macro2-1.0.93.tar.gz +ffa5d116bce2b480f495a0aeac106961c9c79a2127aaca9f75b759e2f2823d253d2bca0dcd5c1f095c16c8e952bdf421fa04a26af53d80095923a5804a274cb2 pulldown-cmark-0.10.3.tar.gz +7514c4282d3c4ef0b0f7ae65374a549c1a027d7fdd5eddad8a2de93dde49aee2e3a2eec2c5c598967b128c2edc6981fa6dc55972c8194206abc9e7a673eb9482 pulldown-cmark-0.12.2.tar.gz +4c60b4abcc385ba7c27210354769e63d5f7f387ce234d3078e7525b88cd2aecd2d62a7dfdc8a4cdde8ef10723a216ea5fb5214e96b5bf8d2fd84e28786b2b3aa pulldown-cmark-escape-0.10.1.tar.gz +04188d57ced101cb52bfc46ef5f2e2cd3b271bdb1f9f4160f9755555bcc430d3ef4534cb91495ea114a69e80867b31b025d16271e69f444e144058c7f2df70bb pulldown-cmark-to-cmark-18.0.0.tar.gz +530c47c5e6372b508bf5b2b88a138408a7afa5ef52c47280ed20eccf39f8e97dfc1e0a18c1bd5472efcdc49a7a1e69566333a0a1b4c0b4f0e11e6a7a85bfe8af quote-1.0.38.tar.gz +8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2 rand-0.8.5.tar.gz +8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075 rand_chacha-0.3.1.tar.gz +36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79 rand_core-0.6.4.tar.gz +5f9632f1f89f4963c36ede4da9b955c3474b673c3414d81cdbb61f46c08eff67167f703a0b06b239beeb2d720f8fa592a5493c0f7e872728b5b95f561ff11348 redox_syscall-0.5.8.tar.gz +d065f6dc405771518260425f39a5eaaf8cab62e78c91ceed3b3994a9a121674d2484cadaaf816bdad89c87a40550d57b66a3d9de6618a7119a658301ce7e67d8 regex-1.11.1.tar.gz +40bde0ec91cc27bc0c3fa237a37ecee5a1f023dbe006a999c5888f8f578ee2c4c64d9edfe1827546cea8e92ca3c10f8b4d494d81f3d0422b40d90bca9cf598d2 regex-automata-0.4.9.tar.gz +549d8d130fea9ec0d5806126f57f31d433f50e9328c5532ad417c44bb5488ec0d20acb0983dbe54dabaa0b453cbea4533cf7baac7144df119e8f78dfe55c5ab8 regex-syntax-0.8.5.tar.gz +eb897c35300b87766e6105917a907fca1c5b1f7691fc03c6c1aaf38075ac883a73d1eb54a245d13ba59c7b0f0333d6543e23fc1b1c542fbbd5c750a84660b9e8 rustc-demangle-0.1.24.tar.gz +b7e66a27c9188eff307aa9912852706f686864852a97af0696ac5fc5dccdf2e4d22a69266fa74ac71aa123e2831f24b898b7ee9121850d65cfb56e12bd647d8f rustix-0.38.44.tar.gz +45b959aea8155ee47c51aa1d87c6c344b5f4b20199a2646ca30bdabe1c2458b014be91fe0c48c29c2261ad9e5de6df7eef7ddead1682e584d4a906c17984baab rustversion-1.0.19.tar.gz +b80d07d609237e13ce1f8cbef5b16738308c540800c7ec18387aec876fb2204029754f20f1f273a0ea07f54dfbaa4595fd0a90044d09f124c1c99e46f1005a99 ryu-1.0.19.tar.gz +3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c same-file-1.0.6.tar.gz +342f43d53edd33ea3e2197faf5dce37bfbeb0b20b6f0febad4dc6244c3185df127b2c10488e95561260a0ef968f32707460f2d0d23667cebece19b167c0a0c25 scoped-tls-1.0.1.tar.gz +6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb scopeguard-1.2.0.tar.gz +8e5b14ee8cd2d88eb908fdf750cfd724741019ad4bbafa1fdeafde10db0b7cc6a86883d8aad7c1267e772dec63e2f138e57d52ab425b8c5a10faed9329dccdfe select-0.6.0.tar.gz +82b66a040a155ea2714a7b014840d55bb4c01fd4862b58519e5adaa5651343048e1f1b86213470cfe919290664de46ee548680bad93e9969fc44ed227c545374 semver-1.0.25.tar.gz +f97b3b54b9e99c9a027390405cc054c3072f49c92803a4ed5f5f69e76a179deda9d77993b645b3581437085912d881da88d0451b9e0da423c64033a23fdd8054 serde-1.0.217.tar.gz +31020f4533d04b31ae125580a3c5093fad36438d324e2d9b063923aa8c125c654102ae7fbc3b3df892bb41db6b321962a23e0a37950e080055d715d15b18af76 serde_derive-1.0.217.tar.gz +25f2c1c31cf01212472f651625d9e4a1ea6bb31c79a74d85ab96dfb3ef4c052d3012a8ab8b6a261826afe90d891d35a2803b8459741d1e20ce8427807caec2a1 serde_json-1.0.137.tar.gz +b209ad01b6565e95c1d5b431a3f4f8a0df3d11c2a06a44123048bfa4b34ebb6807eec593f0c1c89de3a06ac3786a14747df9c70b4f4d5e4b72b4feb53084eb60 serde_urlencoded-0.7.1.tar.gz +fd37be7e3f1d4b6addd313a36b55215fb70abd21be7831b71de28bd3eb03b7352817d8a7b1a166df002c3a23eadc8224e49edd4a37556c0e5357565305d4128f sha1-0.10.6.tar.gz +3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785 sha2-0.10.8.tar.gz +5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a shlex-1.3.0.tar.gz +601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b siphasher-0.3.11.tar.gz +d230991add51a555af95b30ef104c0e5ed7011fafb92d6ac9ba0f238c8bf4d2fbd39f4b04dbbe960453f8fdd16d3768ba39f39e4877ad453562e689ec8f24a28 siphasher-1.0.1.tar.gz +b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40 slab-0.4.9.tar.gz +a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679 smallvec-1.13.2.tar.gz +b7d03608a3d4cf3e2d1539b5a375412effcc96279e8f57668fa8cf67b3f0a3a6b611ea5e2e72f282460582954acbb5364320611f7798a11ec9e4833e53830b60 socket2-0.5.8.tar.gz +a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03 stable_deref_trait-1.2.0.tar.gz +03f9cdd2c01c0f233284851f17eaefebd68a91ae2ed2b231fab2d6d6476bd19e0696d7d3a74fb6ecb2ec36b89e79ad966ab73051255c9e194bcf9c5029fb8479 string_cache-0.8.7.tar.gz +01b9b1a865878537f657adf908159fd04f3f2ba4e70f8c632b73d0ed5a8a09fe2bb9ac8ac4397dec1f50d771dec33fc5d3f9e68dbf80cc177118665b2c67e864 string_cache_codegen-0.5.2.tar.gz +0cebe0155a92640e56db9a599ae62078cbb32e1d2da8bfa67ed0e8f410a7558dfcf7b3c2720ff5913282e291ecf076aed9fe9bf84c8d44e814a642b1bed3335c strsim-0.11.1.tar.gz +12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d syn-1.0.109.tar.gz +ec2e352a5b0b2aa619774c01d7a7767674a44ffe91dea45d3379bf172d13039c3d37f264e98e26b20fe1d86db6d5190f220831c842f3316469d4ae73c2bfddec syn-2.0.96.tar.gz +09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa synstructure-0.13.1.tar.gz +82636d50a29e1ea8cc61e80dc1fa28ea4cfaeb6175e5bf0558d6cd6f8da823f50a808a555ec17fc8601acfd0f504e15688fe95f64e8792feeb216bf27678807d tempfile-3.15.0.tar.gz +53f074aec6e59717fca280b1764f6c2e0a1c073336f48d012ff268a7189697d42d24a91a6a549c7d9e1fe8b0006e34c219f4dba3cc95247d3905c6f8a6a8186f tendril-0.4.3.tar.gz +e07bdbdf695bf9a607ea7c7c4c5b22a8637b0871877114aa305717a04d31a6b7670e2a79435810aefefe25db8c9a655e4c4ba6075d4ec76322a30cdf71ff03be terminal_size-0.4.1.tar.gz +43d92132cef6d352c6c0190ce4a688d7cffb61ee86dbc6b49ba1f4c404661f9b329331198063d913ae52b2d4c69e6a2d9f5cd62886894c468093abd8604f0125 termtree-0.5.1.tar.gz +ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899 thiserror-1.0.69.tar.gz +ba0c3c2615bb9bfb07affa66ffeb2eeda43b16a974dc9a0482165a4a5a502a376e2fd6b569a228a08647de23d291e2c301dedf89d8caa79833b965a184dd5904 thiserror-2.0.11.tar.gz +579eb796c8885feb01d27638862823acd96c79440655bb444c3445ac00121852603396ce7439aed617c0a0ac69f62102167fde5845411c906997574a46d6d9e3 thiserror-impl-1.0.69.tar.gz +3fb76f16613064917d2b21f1bab06fd4dec9f40ad1f850aa78c5917854347cf9034a72d2091dc792ac06ce9ff9e29ed2bec3a4330b459abff379356e35c8f701 thiserror-impl-2.0.11.tar.gz +a33051848de248cac0a2d151760a78cb3aa62c787d84ff7aac38b11c0660e9188e4d43d43a77fb8676e49ac6102015e9c3db057848d809e71981851875d0fb25 tinystr-0.7.6.tar.gz +8a2681829afc3ffa6446eaff7463d52aa3351598639ef5d9af0633dc5425e7ff222a7e661f519c3383377cb46b40969ae8c38bedc77a9da92a871ba7d1c18a63 tokio-1.43.0.tar.gz +c1d24cbb8b3f500357e39f93cf139790e4bd3ad1657dd5d695f5e4f9a2a460cd63e8c1c32a36b64d3cadd7b6467e59ee34cd5b1548a99449d8e46c2db83e9ec4 tokio-macros-2.5.0.tar.gz +2ed4baa38ed5f3e19250af71c9142412dd96d59c971f9813e9a633c9764c580f7ea2141719a82251c60c9d2a5fdb22b311fc0f7a297f9363585be4d140c1747b tokio-tungstenite-0.21.0.tar.gz +2a1e8fbdd094f81e00ee87eb5ebc4c62825945048105970e52d6d0a872769d268a41ddf91c60158c02a303ecbaa1b19795948b5416f9bbfcb079c5b27d39d51f tokio-util-0.7.13.tar.gz +eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317 toml-0.5.11.tar.gz +1334300f1022126138355ce1c4b33f60297765f9dab6888242e78be76b0df9e83560be693eabaaf10f9aea2dfdb90e248b02b0cee89dca495a1e365d9b6e87dc topological-sort-0.2.2.tar.gz +770cbca46d8500ff36fe84a9a420beb84a0e893dbeaccdd93a3970e746c893b5d32580182ef3017662f421e4b2d71f079ed2cf1727dcd5fc3443a4484f9b43fd tower-service-0.3.3.tar.gz +dffb8d3a1375f1b9d5418550a46cb7b1d92b2cc8ffbccb430a38f7731547960775bb42798074186711847d256eee30fb3e74078b69cb36f28c07d9f231dbf96c tracing-0.1.41.tar.gz +1c6f0cf3b7bd6c8f6316ed9ea0b315a619308de6cbf7e50e665a193cf8c3399b5227d4f145d83b10c7e01a2f9fbc83d16e108cf09b7fd6cef413aa5c1acf89ef tracing-core-0.1.33.tar.gz +433db3c52f55d78220db414ef6a7367791dd66eac935f41dcda85ec9200f0eefeab6e8342e70aabe35c300069c0e7b7c4f8d63a2334b52a081cc98416371ef08 try-lock-0.2.5.tar.gz +44a9826d68b61ec4b65bf72a12800674edd1eff8e9fae3fcb272276f6f598edffc7e1b36f2564494520414b3b426a860a32c6543c07d9f1c1404490e1c0e431e tungstenite-0.21.0.tar.gz +99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508 typenum-1.17.0.tar.gz +382a832e38654a9159ebb40a8e8bf6e7f2f3108940e5b9c388f3a1441848a241201e7e5cfb125e098f04f0b2893da231b8a0e5124270e774215374bff3c5445f ucd-trie-0.1.7.tar.gz +99a3944a5c987376bdea5fe6c0797e881bc8e6f629c56120ce811c8ebbed0a3ba24617decb74d6939699c8fc994c662eb292869ab407c0ba0ec460a32ede0190 unicase-2.8.1.tar.gz +9484a34a4e283f94e971fa9ec42528a62f2c056e702040da37dd9d9b794e16e14a408302d1ac26a850d0eadf0d0266d8ef5b80761490f7029240244a39878ec9 unicode-ident-1.0.16.tar.gz +8f1d62bfdd45f52fa12ad657a521a3478d0ab54d187346a29dd59cc66a0f140ca96d850948e09f6316f08b44b3fc68526c58bd620fed5d065b7e8528df3cd46d url-2.5.4.tar.gz +6bf0787cc297a1ac4e47389464d05ef6850602f549621687e776618bec96c1f7bacbb1ac8faaa63e5d28d975b850db8d6c784eb66e2466128f0521b91c14015b utf-8-0.7.6.tar.gz +44dcbc5a7db149392fdaa31862be240f78fc5d7616f54be32cfc8f3adbee310e8681ae1bbe6edaad8a7fe6e7759dbac8ae4f69d0dbdbe5350c21dccdbbe975fa utf16_iter-1.0.5.tar.gz +a72671995b3eb295581c60dc632e4a25ba257227fb5d58a8bec322428b6d69529bba79a6f02b8e7ee6698b7779d9d6695f5badad73e07c254b00c9d6256c9090 utf8_iter-1.0.4.tar.gz +f3dbf78fe924f1dc3cf9498b6e43fb10174699463f31091a7a8136d8f31ec84fc00e80e3d8551b7e86257e8b3573cfddb56fc0de797fdb2cde0e962a8f239266 utf8parse-0.2.2.tar.gz +d11d5a2240ab0c67ea69db56561ce202201edeef9a8e5eda3d9ae7ab7bb5752d8f343fe7f6536d8383de8d55f9024efa84f66a0c21e69563b7a38c4a628014db version_check-0.9.5.tar.gz +db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066 wait-timeout-0.2.0.tar.gz +da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad walkdir-2.5.0.tar.gz +f93f765113f035e134b967e8eb3f4511b8e03e793a47899b614d826afac02348fc02865c298a10410ecec4eb64f35f66c22bcbdbe36ed0c4c1665dca1db4d526 want-0.3.1.tar.gz +8dc2dcb5a64555caa5cf74617cc5fc4fe3874d55f4df1b455e6b68c855fe8791f979c622d64b7e357085e322a047cce411c4dc751ecb608c9832abf7550db5a0 warp-0.3.7.tar.gz +043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f wasi-0.11.0+wasi-snapshot-preview1.tar.gz +2a8ea7ec669efe10f5701dc3b2bf496e33afa70c31dbc65fda5191c9c28ddde54fa38bb168a41b0319a4ff0bb5ccd897ce51ccd7e523e647b3544fb390f8a4e3 wasm-bindgen-0.2.100.tar.gz +a2ee30c1185644f989af6be34e93149a791c05125de24c0ff91c320f683f6f5d939fe42b8ca09d629096388a39256469f8b96a6e35722ccfdbe8d978c9a51770 wasm-bindgen-backend-0.2.100.tar.gz +a1942f838eff5fd54406b573d81fe18f262df48a19535245b1a46cb31db2a022746e861d72e5286c632969d15d416655460d3865309c4947cd3d7965dead5c42 wasm-bindgen-macro-0.2.100.tar.gz +0d03eaeda37c9c6ae06c0fa96e872b54780c4cf545b621c730dcc113dd59a8cb6333c5e3818f51365f71913b9669d8a870a06e70729722d03c07a49cff8a4fdf wasm-bindgen-macro-support-0.2.100.tar.gz +3fca8ddd1c6b2f66f70f6608c9b341822603f1c0dd71d47d27c6be8fe3f2c88598619946627720734b48cf999cafd0c63a08af5db28ea78a1538d2165a5fba61 wasm-bindgen-shared-0.2.100.tar.gz +ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 winapi-0.3.9.tar.gz +a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2 winapi-i686-pc-windows-gnu-0.4.0.tar.gz +c46b893f67ec6e36499b00736bb6b9421e0e2611e76784afa6da01d7ebd033df82f1be7cf8d871d541125d290983f98f26f759488ba9aface49efce8edd682e9 winapi-util-0.1.9.tar.gz +4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513 winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz +0c8f1c7e63c11bdcf1361150ecc83abbfba8da2c6d28523799bd286bf8aa1df61ffed19175e8cb3ef516a9afb6248b640c2101a2e0c09a99bfd7a18c6741bd36 windows-core-0.52.0.tar.gz +24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03 windows-sys-0.52.0.tar.gz +d35e009e979633a1f3c8468cd038bd5c8c0381405165ce03497decd7d9edaaac485d704487e4a61d9aaf4e4d011b4248408912df6a0044d50e8457259867e061 windows-sys-0.59.0.tar.gz +d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f windows-targets-0.52.6.tar.gz +f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5 windows_aarch64_gnullvm-0.52.6.tar.gz +a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b windows_aarch64_msvc-0.52.6.tar.gz +a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822 windows_i686_gnu-0.52.6.tar.gz +95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f windows_i686_gnullvm-0.52.6.tar.gz +ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96 windows_i686_msvc-0.52.6.tar.gz +c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb windows_x86_64_gnu-0.52.6.tar.gz +67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd windows_x86_64_gnullvm-0.52.6.tar.gz +21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7 windows_x86_64_msvc-0.52.6.tar.gz +655a207b8082bb88e462f992ecb4833cef9d590da06d6356b41d109df2862b49ee5705189c78a607b549e7343035119d158020d58fcad49608e51659357a83c1 write16-1.0.0.tar.gz +818b2546c8ec25816aeaf5e31a1ded927d197bf7256e7c5073738c2709bc58a95d382a0256eb38a99235ae83729b578701261866d42ea3357a26024906e196c1 writeable-0.5.5.tar.gz +0c67244411811a3e82fe58d341b371b938ce6e45ec1af2bd8615c0f0a9628fa662ec0eb130de2ae199d32c7778f0c2d2b80221812dc33831b93333dcde5a682e xml5ever-0.17.0.tar.gz +182c8c6c60a30a727d8f8b90bbf0527d91fa8ae9d8eb20e5414614b43ee6dc532f4b19241adbfb9299cb0004b39fe627036269b60b0c3860d9e1ea4413aca541 yansi-1.0.1.tar.gz +6bbd99671d1a5a5217890eaa267113d193b3636b265393afb6e72a313f01704d462fe017264f061405e8e84c188b590094c29e3fcf19a63c375ae165d1a0bbef yoke-0.7.5.tar.gz +e30b06b020aa283080905004295fb643c539b130d0d53bda51927b95e79ba562336aad30d8a6202d9a0c62d5b64559a01218c6f02f3faada6003d4b03c205cd6 yoke-derive-0.7.5.tar.gz +17fcb31c029ae89c01e5bae5fb2bb46bd434120199a3dc2c7fe0012dbbcfe2a0bb38934c4a7d3a4920e3fe47c097403beee554fefa54b66cb390f8b1de638d3c zerocopy-0.7.35.tar.gz +dbe23573b62a6267d7bc8c744320b75b2fbda03b908c1d175211f7394374fe182bce58021e25485c10671d726b2007f250565dfe53134d51c89293bb607e9feb zerocopy-derive-0.7.35.tar.gz +11f16a1003967b3f30d7b32ffc8541ec05fb335690b08cf4f7554c624ad4312ee0961c83390a997e2a73aee06d8bb09a0ff4e6a5e489f8fb925141e732006544 zerofrom-0.1.5.tar.gz +75098e0f1c690bd8476f819f4ea2a7645b88237042a8876259bf4e025b070a4b105caf16ca7a824c5dd6c4690b693fcc74bed9ac0b5e6fdab05a5bed1b5cb298 zerofrom-derive-0.1.5.tar.gz +db12bba1d7476ddead92e6dfcdcc30e2e0defff4f263a740244eabee265a2cab265473a663d3dc3210f48e113b66d951da496dfab7965ce1bc792e5f2db422a0 zerovec-0.10.4.tar.gz +caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09 zerovec-derive-0.10.3.tar.gz" diff --git a/user/mesa-amber/APKBUILD b/user/mesa-amber/APKBUILD new file mode 100644 index 000000000..94a85b521 --- /dev/null +++ b/user/mesa-amber/APKBUILD @@ -0,0 +1,78 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=mesa-amber +pkgver=21.3.9 +pkgrel=0 +pkgdesc="Mesa DRI OpenGL library" +url="https://www.mesa3d.org" +arch="all" +options="!check" # No test suite. +license="MIT AND X11 AND SGI-B-2.0 AND BSL-1.0 AND LGPL-2.1+" +depends="" +makedepends="bison expat-dev flex libdrm-dev libglvnd-dev libx11-dev libxcb-dev + libxdamage-dev libxext-dev libxfixes-dev libxrandr-dev libxshmfence-dev + libxxf86vm-dev meson python3 py3-libxml2 py3-mako py3-pygments + py3-markupsafe wayland-dev wayland-protocols xorgproto-dev zlib-dev + zstd-dev" +subpackages="" +source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz + big-endian-flipping.patch + mesa-amber-i915c.patch + no-tls.patch + nouveau-flush-fix.patch + " +builddir="$srcdir"/mesa-$pkgver + +_dri_driverdir=/usr/lib/xorg/modules/dri +_dri_drivers="r100,r200,nouveau" + +case "$CARCH" in +x86* | pmmx) + _dri_drivers="${_dri_drivers},i915,i965" + _arch_conf="-Dsse2=false" + ;; +armhf) + CFLAGS="$CFLAGS -mfpu=neon" + ;; +ppc64) + _arch_conf="-Dpower8=disabled" + ;; +esac + +build() { + meson \ + -Dprefix=/usr \ + -Damber=true \ + -Ddri-drivers=$_dri_drivers \ + -Ddri-drivers-path=$_dri_driverdir \ + -Ddri3=enabled \ + -Dgbm=disabled \ + -Dglvnd=true \ + -Dllvm=disabled \ + -Dosmesa=false \ + -Dplatforms=x11,wayland \ + -Dgallium-drivers='' \ + -Dvulkan-drivers='' \ + $_arch_conf \ + build + + meson compile -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build + if [ -f "$pkgdir"/usr/lib/xorg/modules/dri/i915_dri.so ]; then + # Prevent file conflict with mesa-dri. + mv "$pkgdir"/usr/lib/xorg/modules/dri/i915_dri.so \ + "$pkgdir"/usr/lib/xorg/modules/dri/i915c_dri.so + fi + rm -rf "$pkgdir"/usr/include + rm -rf "$pkgdir"/usr/lib/libglapi.so* + rm -rf "$pkgdir"/usr/lib/pkgconfig + rm -rf "$pkgdir"/usr/share/drirc.d +} + +sha512sums="4cec6f4f50f444fcd327f7c40f8899c2f265e348e121455262b540b1f890a1468bbea59965af0876c548fa97aa0a05a1b23fa6ca7d308bd60328cfdeab757684 mesa-21.3.9.tar.xz +3417e5c6d7ec564178e1d72431042b0a6ba659321f13a3dda81eda5fa0f2c8bc7c6972cb8266aea84ab05976ffb161659e9988c50ecc418e8bc1e1ce8f93a65f big-endian-flipping.patch +163e80342f6df7706d7db4defc0c5814db92e03fcec675e6729a05ba1b3907e3233a9bd6f40629bde5dcf7afbf397e40f774c2298ad2f9b3948a6db63f801893 mesa-amber-i915c.patch +076bb17d85235f3c833af8f1641f3556e406ad187b7ae1ebacced5f57b8832243a878678de4e50880c9a50b2aae3c42ad2342ed8c3e18d881edb7dd5018a710e no-tls.patch +7283dc0e86e1ddaf4590008db57dd591921f47928945782afaa283f3b87770c731bab19d3d8879b4bf8b785f8886b9b46c576ca735296123f8afff29655abaeb nouveau-flush-fix.patch" diff --git a/user/mesa/big-endian-flipping.patch b/user/mesa-amber/big-endian-flipping.patch index 154a83108..154a83108 100644 --- a/user/mesa/big-endian-flipping.patch +++ b/user/mesa-amber/big-endian-flipping.patch diff --git a/user/mesa-amber/mesa-amber-i915c.patch b/user/mesa-amber/mesa-amber-i915c.patch new file mode 100644 index 000000000..826f8cb3c --- /dev/null +++ b/user/mesa-amber/mesa-amber-i915c.patch @@ -0,0 +1,46 @@ + +This patch is fixed the issue created when /usr/lib/dri/i915_dri.so is renamed to /usr/lib/dri/i915c_dri.so +by mesa-amber/mesa-amber-21.3.9.ebuild + +Without this patch the driver cannot be loaded using the environment variable MESA_LOADER_DRIVER_OVERRIDE="i915c" +as that mechanism expects to find the __driDriverGetExtensions_i915c: + +MESA-LOADER: dlopen(/usr/lib/dri/i915c_dri.so) +MESA-LOADER: driver does not expose __driDriverGetExtensions_i915c(): /usr/lib/dri/i915c_dri.so: undefined symbol: __driDriverGetExtensions_i915c +MESA-LOADER: dlopen(/usr/lib/dri/swrast_dri.so) + +This patch adds the __driDriverGetExtensions_i915c symbol by simply cloning the code for the original +__driDriverGetExtensions_i915 symbol. + +Allan Mondor +bugs.gentoo@acmondor.ca + + +diff -w -ruN mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.c mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.c +--- mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.c 2022-06-08 12:13:35.000000000 -0600 ++++ mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.c 2022-08-23 11:32:19.151578025 -0600 +@@ -1290,6 +1290,13 @@ + return i915_driver_extensions; + } + ++PUBLIC const __DRIextension **__driDriverGetExtensions_i915c(void) ++{ ++ globalDriverAPI = &i915_driver_api; ++ ++ return i915_driver_extensions; ++} ++ + PUBLIC const __DRIextension **__driDriverGetExtensions_i830(void) + { + globalDriverAPI = &i915_driver_api; +diff -w -ruN mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.h mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.h +--- mesa-21.3.9.org/src/mesa/drivers/dri/i915/intel_screen.h 2022-06-08 12:13:35.000000000 -0600 ++++ mesa-21.3.9/src/mesa/drivers/dri/i915/intel_screen.h 2022-08-23 11:31:54.047576393 -0600 +@@ -160,6 +160,7 @@ + + const __DRIextension **__driDriverGetExtensions_i830(void); + const __DRIextension **__driDriverGetExtensions_i915(void); ++const __DRIextension **__driDriverGetExtensions_i915c(void); + extern const __DRI2fenceExtension intelFenceExtension; + + extern GLboolean diff --git a/user/mesa/no-tls.patch b/user/mesa-amber/no-tls.patch index 803fa3707..803fa3707 100644 --- a/user/mesa/no-tls.patch +++ b/user/mesa-amber/no-tls.patch diff --git a/user/mesa/nouveau-flush-fix.patch b/user/mesa-amber/nouveau-flush-fix.patch index 97512d01a..97512d01a 100644 --- a/user/mesa/nouveau-flush-fix.patch +++ b/user/mesa-amber/nouveau-flush-fix.patch diff --git a/user/mesa-be/APKBUILD b/user/mesa-be/APKBUILD new file mode 100644 index 000000000..edb7383f8 --- /dev/null +++ b/user/mesa-be/APKBUILD @@ -0,0 +1,136 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=mesa +pkgver=24.1.7 +_llvmver=18 +pkgrel=0 +pkgdesc="Mesa DRI OpenGL library" +url="https://www.mesa3d.org" +arch="ppc ppc64" +options="!check" # No test suite. +license="MIT AND X11 AND SGI-B-2.0 AND BSL-1.0 AND LGPL-2.1+" +depends="" +depends_dev="libdrm-dev libxcb-dev libxdamage-dev libxext-dev libxshmfence-dev + xorgproto-dev" +makedepends="$depends_dev bison eudev-dev expat-dev flex libelf-dev libglvnd-dev + libva-dev libvdpau-dev libx11-dev libxfixes-dev libxrandr-dev libxt-dev + libxv-dev libxvmc-dev libxxf86vm-dev llvm$_llvmver-dev makedepend meson + ninja python3 py3-libxml2 py3-mako py3-pygments py3-markupsafe + py3-pyyaml rust wayland-dev wayland-protocols glslang-dev + zlib-dev zstd-dev bindgen-cli cbindgen clang-dev" +replaces="mesa-egl mesa-gl mesa-glapi mesa-gles" +subpackages="$pkgname-dev $pkgname-dri $pkgname-vulkan-overlay $pkgname-gbm + $pkgname-d3d $pkgname-xatracker $pkgname-osmesa" +source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz" + +_dri_driverdir=/usr/lib/xorg/modules/dri +_gallium_drivers="kmsro,r300,r600,radeonsi,nouveau,swrast,virgl,zink" +_vulkan_drivers="amd,nouveau,swrast,virtio" + +case "$CARCH" in +ppc64) + _arch_conf="-Dpower8=disabled" + ;; +esac + +build() { + # This is to fix #796, and is derived from: + # https://gitlab.freedesktop.org/mesa/mesa/-/commit/cc2b3a99ccf035a084d768e5c5ffa81478d685c1 + cat > native.file <<EOF +[binaries] +llvm-config = '$(command -v llvm${_llvmver}-config)' +rust = ['rustc', '--target=${CHOST}'] +EOF + + meson \ + --native-file=native.file \ + -Dprefix=/usr \ + -Ddri-drivers-path=$_dri_driverdir \ + -Dgallium-drivers=$_gallium_drivers \ + -Dgallium-nine=true \ + -Dgallium-opencl=disabled \ + -Dgallium-rusticl=false \ + -Dgallium-va=enabled \ + -Dgallium-vdpau=enabled \ + -Dgallium-xa=enabled \ + -Dglvnd=enabled \ + -Dglx=dri \ + -Dmicrosoft-clc=disabled \ + -Dopencl-spirv=false \ + -Dosmesa=true \ + -Dplatforms=x11,wayland \ + -Dvideo-codecs=all_free \ + -Dvulkan-drivers=$_vulkan_drivers \ + -Dvulkan-layers=device-select,overlay \ + $_arch_conf \ + build + + ninja -C build +} + +package() { + DESTDIR="$pkgdir" ninja -C build install +} + +d3d() { + replaces="mesa" + pkgdesc="Mesa Direct3D adaptor libraries" + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/d3d \ + "$subpkgdir"/usr/lib/ +} + +xatracker() { + pkgdesc="Mesa XA state tracker for VMware" + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libxatracker*.so.* \ + "$subpkgdir"/usr/lib/ +} + +osmesa() { + pkgdesc="Mesa offscreen rendering libraries" + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libOSMesa.so.* \ + "$subpkgdir"/usr/lib/ +} + +gbm() { + pkgdesc="Mesa GBM library" + replaces="mesa" + install -d "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libgbm.so.* \ + "$subpkgdir"/usr/lib/ +} + +overlay() { + pkgdesc="Vulkan overlays to display information" + install -d "$subpkgdir"/usr/bin + install -d "$subpkgdir"/usr/lib + install -d "$subpkgdir"/usr/share + mv "$pkgdir"/usr/lib/libVkLayer_MESA_*.so \ + "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/share/vulkan \ + "$subpkgdir"/usr/share/vulkan + mv "$pkgdir"/usr/bin/mesa-overlay-control.py "$subpkgdir"/usr/bin +} + +dri() { + pkgdesc="Mesa DRI drivers" + replaces="mesa-dri-ati mesa-dri-freedreno mesa-dri-intel + mesa-dri-nouveau mesa-dri-swrast mesa-dri-tegra mesa-dri-vc4 + mesa-dri-virtio mesa-dri-vmwgfx" + depends="mesa=$pkgver-r$pkgrel" + provides="$replaces" + install -d "$subpkgdir"/usr/lib/xorg/modules + install -d "$subpkgdir"/usr/share/vulkan + mv "$pkgdir"/usr/lib/dri "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/lib/xorg/modules/dri "$subpkgdir"/usr/lib/xorg/modules/ + mv "$pkgdir"/usr/share/drirc.d "$subpkgdir"/usr/share/ + mv "$pkgdir"/usr/share/glvnd "$subpkgdir"/usr/share/ + mv "$pkgdir"/usr/lib/libgallium*.so* "$subpkgdir"/usr/lib/ || true + # support non-Vulkan arches + mv "$pkgdir"/usr/lib/libvulkan*.so* "$subpkgdir"/usr/lib/ || true + mv "$pkgdir"/usr/lib/vdpau "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/vulkan/icd.d "$subpkgdir"/usr/share/vulkan/ +} + +sha512sums="890f6387963bbb86a85305ea963cca326a3b3f8f8758ae2082fd62c52df77c2883a359341e91f36614fea59219394ef78f799a334080699a0bb71d984a68cb01 mesa-24.1.7.tar.xz" diff --git a/user/mesa-demos/APKBUILD b/user/mesa-demos/APKBUILD index 31c298de0..9b2b5e93d 100644 --- a/user/mesa-demos/APKBUILD +++ b/user/mesa-demos/APKBUILD @@ -3,14 +3,15 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=mesa-demos pkgver=8.4.0 -pkgrel=2 +pkgrel=3 pkgdesc="Mesa demos and utils" url="https://mesa3d.org" arch="all" options="!check" # No test suite. license="X11" depends="" -makedepends="mesa-dev glew-dev glu-dev freeglut-dev freetype-dev libtool" +makedepends="mesa-dev glew-dev glu-dev freeglut-dev freetype-dev libtool + libglvnd-dev" source="https://mesa.freedesktop.org/archive/demos/$pkgname-$pkgver.tar.bz2" build() { diff --git a/user/mesa/APKBUILD b/user/mesa/APKBUILD index 84c658c58..2bc34d02d 100644 --- a/user/mesa/APKBUILD +++ b/user/mesa/APKBUILD @@ -1,8 +1,8 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=mesa -pkgver=21.3.9 -_llvmver=14 -pkgrel=2 +pkgver=24.3.0 +_llvmver=18 +pkgrel=0 pkgdesc="Mesa DRI OpenGL library" url="https://www.mesa3d.org" arch="all" @@ -11,37 +11,34 @@ license="MIT AND X11 AND SGI-B-2.0 AND BSL-1.0 AND LGPL-2.1+" depends="" depends_dev="libdrm-dev libxcb-dev libxdamage-dev libxext-dev libxshmfence-dev xorgproto-dev" -makedepends="$depends_dev bison eudev-dev expat-dev flex libelf-dev +makedepends="$depends_dev bison eudev-dev expat-dev flex libelf-dev libglvnd-dev libva-dev libvdpau-dev libx11-dev libxfixes-dev libxrandr-dev libxt-dev libxv-dev libxvmc-dev libxxf86vm-dev llvm$_llvmver-dev makedepend meson ninja python3 py3-libxml2 py3-mako py3-pygments py3-markupsafe - wayland-dev wayland-protocols - zlib-dev zstd-dev" -subpackages="$pkgname-dev $pkgname-dri - $pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles - $pkgname-xatracker $pkgname-osmesa $pkgname-gbm" -# requires glslang: $pkgname-vulkan-overlay -source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz - big-endian-flipping.patch - musl-fixes.patch - no-tls.patch - nouveau-flush-fix.patch - " + py3-cparser py3-pyyaml rust wayland-dev wayland-protocols glslang-dev + zlib-dev zstd-dev bindgen-cli cbindgen clang-dev libarchive-dev" +replaces="mesa-egl mesa-gl mesa-glapi mesa-gles" +subpackages="$pkgname-dev $pkgname-dri $pkgname-vulkan-overlay $pkgname-gbm + $pkgname-d3d $pkgname-xatracker $pkgname-osmesa" +source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz" _dri_driverdir=/usr/lib/xorg/modules/dri -_dri_drivers="r200,nouveau" -_gallium_drivers="r300,r600,radeonsi,nouveau,swrast,virgl" -_vulkan_drivers="amd" +_gallium_drivers="r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,zink,svga" +_vulkan_drivers="amd,nouveau,swrast,virtio" case "$CARCH" in +x86_64) + _gallium_drivers="${_gallium_drivers},i915,svga,crocus" + _vulkan_drivers="${_vulkan_drivers},microsoft-experimental" + _arch_conf="-Dintel-rt=enabled" + ;; x86* | pmmx) - _dri_drivers="${_dri_drivers},i965" - _gallium_drivers="${_gallium_drivers},i915,svga,iris" - _vulkan_drivers="${_vulkan_drivers},intel" + _gallium_drivers="${_gallium_drivers},i915,svga,crocus" _arch_conf="-Dsse2=false" ;; aarch64 | arm*) - _gallium_drivers="${_gallium_drivers},vc4,freedreno,tegra,kmsro,v3d,lima,panfrost,etnaviv" + _gallium_drivers="${_gallium_drivers},vc4,freedreno,tegra,v3d,lima,panfrost,etnaviv" + _vulkan_drivers="${_vulkan_drivers},freedreno,panfrost,broadcom" case "$CARCH" in armhf) CFLAGS="$CFLAGS -mfpu=neon";; esac @@ -57,17 +54,29 @@ build() { cat > native.file <<EOF [binaries] llvm-config = '$(command -v llvm${_llvmver}-config)' +rust = ['rustc', '--target=${CHOST}'] EOF meson \ --native-file=native.file \ -Dprefix=/usr \ -Ddri-drivers-path=$_dri_driverdir \ - -Dplatforms=x11,wayland \ - -Ddri-drivers=$_dri_drivers \ -Dgallium-drivers=$_gallium_drivers \ - -Dvulkan-drivers=$_vulkan_drivers \ + -Dgallium-nine=true \ + -Dgallium-opencl=disabled \ + -Dgallium-rusticl=false \ + -Dgallium-va=enabled \ + -Dgallium-vdpau=enabled \ + -Dgallium-xa=enabled \ + -Dglvnd=enabled \ + -Dglx=dri \ + -Dmicrosoft-clc=disabled \ + -Dopencl-spirv=false \ -Dosmesa=true \ + -Dplatforms=x11,wayland \ + -Dvideo-codecs=all_free \ + -Dvulkan-drivers=$_vulkan_drivers \ + -Dvulkan-layers=device-select,overlay \ $_arch_conf \ build @@ -78,35 +87,11 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -egl() { - replaces="mesa" - pkgdesc="Mesa libEGL runtime libraries" - install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libEGL.so* \ - "$subpkgdir"/usr/lib/ -} - -gl() { - replaces="mesa" - pkgdesc="Mesa libGL runtime libraries" - install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libGL.so* \ - "$subpkgdir"/usr/lib/ -} - -glapi() { - replaces="$pkgname-gles" - pkgdesc="Mesa OpenGL API" - install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libglapi.so.* \ - "$subpkgdir"/usr/lib/ -} - -gles() { +d3d() { replaces="mesa" - pkgdesc="Mesa libGLESv2 runtime libraries" + pkgdesc="Mesa Direct3D adaptor libraries" install -d "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/libGLES*.so* \ + mv "$pkgdir"/usr/lib/d3d \ "$subpkgdir"/usr/lib/ } @@ -132,14 +117,16 @@ gbm() { "$subpkgdir"/usr/lib/ } -vulkan_overlay() { - pkgdesc="Vulkan layer to display information about the current window" +overlay() { + pkgdesc="Vulkan overlays to display information" + install -d "$subpkgdir"/usr/bin install -d "$subpkgdir"/usr/lib - install -d "$subpkgdir"/usr/share/vulkan/explicit_layer.d - mv "$pkgdir"/usr/lib/libVkLayer_MESA_overlay.so \ + install -d "$subpkgdir"/usr/share + mv "$pkgdir"/usr/lib/libVkLayer_MESA_*.so \ "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json \ - "$subpkgdir"/usr/share/vulkan/explicit_layer.d/ + mv "$pkgdir"/usr/share/vulkan \ + "$subpkgdir"/usr/share/vulkan + mv "$pkgdir"/usr/bin/mesa-overlay-control.py "$subpkgdir"/usr/bin } dri() { @@ -147,22 +134,19 @@ dri() { replaces="mesa-dri-ati mesa-dri-freedreno mesa-dri-intel mesa-dri-nouveau mesa-dri-swrast mesa-dri-tegra mesa-dri-vc4 mesa-dri-virtio mesa-dri-vmwgfx" + depends="mesa=$pkgver-r$pkgrel" provides="$replaces" install -d "$subpkgdir"/usr/lib/xorg/modules install -d "$subpkgdir"/usr/share/vulkan mv "$pkgdir"/usr/lib/dri "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/lib/xorg/modules/dri "$subpkgdir"/usr/lib/xorg/modules/ mv "$pkgdir"/usr/share/drirc.d "$subpkgdir"/usr/share/ - # XvMC drivers - mv "$pkgdir"/usr/lib/libXvMC*.so* "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/glvnd "$subpkgdir"/usr/share/ + mv "$pkgdir"/usr/lib/libgallium*.so* "$subpkgdir"/usr/lib/ || true # support non-Vulkan arches mv "$pkgdir"/usr/lib/libvulkan*.so* "$subpkgdir"/usr/lib/ || true mv "$pkgdir"/usr/lib/vdpau "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/share/vulkan/icd.d "$subpkgdir"/usr/share/vulkan/ } -sha512sums="4cec6f4f50f444fcd327f7c40f8899c2f265e348e121455262b540b1f890a1468bbea59965af0876c548fa97aa0a05a1b23fa6ca7d308bd60328cfdeab757684 mesa-21.3.9.tar.xz -3417e5c6d7ec564178e1d72431042b0a6ba659321f13a3dda81eda5fa0f2c8bc7c6972cb8266aea84ab05976ffb161659e9988c50ecc418e8bc1e1ce8f93a65f big-endian-flipping.patch -9f7a050f09571a2b17098d495b82e2e85b293fb7285e7d6d7c3c48cd4220a1bdcc61a7321ba78dd14860939ecabe7e89b32d6110f3728f793273e1e26b78a553 musl-fixes.patch -076bb17d85235f3c833af8f1641f3556e406ad187b7ae1ebacced5f57b8832243a878678de4e50880c9a50b2aae3c42ad2342ed8c3e18d881edb7dd5018a710e no-tls.patch -7283dc0e86e1ddaf4590008db57dd591921f47928945782afaa283f3b87770c731bab19d3d8879b4bf8b785f8886b9b46c576ca735296123f8afff29655abaeb nouveau-flush-fix.patch" +sha512sums="20168ae4c278776a60d5febf53b3367cf08bffffb40ef2054821e68d7a8c37a07871d097ab17555f41a4fe716f0de7df95ad7d452b1ed57db6527838eb839ba4 mesa-24.3.0.tar.xz" diff --git a/user/mesa/llvm-opaque.patch b/user/mesa/llvm-opaque.patch deleted file mode 100644 index 80bd18967..000000000 --- a/user/mesa/llvm-opaque.patch +++ /dev/null @@ -1,8467 +0,0 @@ -From af20d46a39e4431b85d593f56912a185a157554e Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:14:48 +0300 -Subject: [PATCH 01/22] gallium: add opaque pointers shim for LLVM < 8.0 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -LLVM is transitioning to "opaque pointers", and as such deprecates -LLVMBuildGEP, LLVMBuildCall, LLVMBuildLoad, replacing them with -LLVMBuildGEP2, LLVMBuildCall2, LLVMBuildLoad2 respectivelly. -These new functions were added in LLVM 8.0; so for LLVM before 8.0 we -simply forward to the non-opaque-pointer variants. - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld.h | 42 ++++++++++++++++++++++++++ - 1 file changed, 42 insertions(+) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld.h b/src/gallium/auxiliary/gallivm/lp_bld.h -index 9144428c8e162..5846afa3ce065 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld.h -@@ -87,4 +87,46 @@ - #define GALLIVM_HAVE_CORO 0 - #endif - -+/* LLVM is transitioning to "opaque pointers", and as such deprecates -+ * LLVMBuildGEP, LLVMBuildCall, LLVMBuildLoad, replacing them with -+ * LLVMBuildGEP2, LLVMBuildCall2, LLVMBuildLoad2 respectivelly. -+ * These new functions were added in LLVM 8.0; so for LLVM before 8.0 we -+ * simply forward to the non-opaque-pointer variants. -+ */ -+#if LLVM_VERSION_MAJOR < 8 -+ -+static inline LLVMValueRef -+LLVMBuildGEP2(LLVMBuilderRef B, LLVMTypeRef Ty, -+ LLVMValueRef Pointer, LLVMValueRef *Indices, -+ unsigned NumIndices, const char *Name) -+{ -+ return LLVMBuildGEP(B, Pointer, Indices, NumIndices, Name); -+} -+ -+static inline LLVMValueRef -+LLVMBuildInBoundsGEP2(LLVMBuilderRef B, LLVMTypeRef Ty, -+ LLVMValueRef Pointer, LLVMValueRef *Indices, -+ unsigned NumIndices, const char *Name) -+{ -+ return LLVMBuildInBoundsGEP(B, Pointer, Indices, NumIndices, Name); -+} -+ -+static inline LLVMValueRef -+LLVMBuildLoad2(LLVMBuilderRef B, LLVMTypeRef Ty, -+ LLVMValueRef PointerVal, const char *Name) -+{ -+ LLVMValueRef val = LLVMBuildLoad(B, PointerVal, Name); -+ return LLVMTypeOf(val) == Ty ? val : LLVMBuildBitCast(B, val, Ty, Name); -+} -+ -+static inline LLVMValueRef -+LLVMBuildCall2(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, -+ LLVMValueRef *Args, unsigned NumArgs, -+ const char *Name) -+{ -+ return LLVMBuildCall(B, Fn, Args, NumArgs, Name); -+} -+ -+#endif /* LLVM_VERSION_MAJOR < 8 */ -+ - #endif /* LP_BLD_H */ --- -GitLab - - -From eb9a65c91422eb765df80693b2220f625404468c Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:20:01 +0300 -Subject: [PATCH 02/22] gallium: use LLVM opaque pointers in draw_llvm.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/draw/draw_llvm.c | 150 ++++++++++++------------- - src/gallium/auxiliary/draw/draw_llvm.h | 7 ++ - 2 files changed, 81 insertions(+), 76 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c -index 5e5ce53a3ab79..1f68170d99e03 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.c -+++ b/src/gallium/auxiliary/draw/draw_llvm.c -@@ -639,14 +639,13 @@ create_tcs_jit_output_type(struct gallivm_state *gallivm) - } - - static LLVMTypeRef --create_tes_jit_input_type(struct gallivm_state *gallivm) -+create_tes_jit_input_deref_type(struct gallivm_state *gallivm) - { - LLVMTypeRef float_type = LLVMFloatTypeInContext(gallivm->context); - LLVMTypeRef input_array; - - input_array = LLVMArrayType(float_type, TGSI_NUM_CHANNELS); /* num channels */ - input_array = LLVMArrayType(input_array, PIPE_MAX_SHADER_INPUTS); /* num attrs per vertex */ -- input_array = LLVMPointerType(input_array, 0); /* num vertices per prim */ - - return input_array; - } -@@ -721,8 +720,7 @@ static void - create_jit_types(struct draw_llvm_variant *variant) - { - struct gallivm_state *gallivm = variant->gallivm; -- LLVMTypeRef texture_type, sampler_type, context_type, buffer_type, -- vb_type, image_type; -+ LLVMTypeRef texture_type, sampler_type, context_type, image_type; - - texture_type = create_jit_texture_type(gallivm, "texture"); - sampler_type = create_jit_sampler_type(gallivm, "sampler"); -@@ -733,11 +731,11 @@ create_jit_types(struct draw_llvm_variant *variant) - "draw_jit_context"); - variant->context_ptr_type = LLVMPointerType(context_type, 0); - -- buffer_type = create_jit_dvbuffer_type(gallivm, "draw_vertex_buffer"); -- variant->buffer_ptr_type = LLVMPointerType(buffer_type, 0); -+ variant->buffer_type = create_jit_dvbuffer_type(gallivm, "draw_vertex_buffer"); -+ variant->buffer_ptr_type = LLVMPointerType(variant->buffer_type, 0); - -- vb_type = create_jit_vertex_buffer_type(gallivm, "pipe_vertex_buffer"); -- variant->vb_ptr_type = LLVMPointerType(vb_type, 0); -+ variant->vb_type = create_jit_vertex_buffer_type(gallivm, "pipe_vertex_buffer"); -+ variant->vb_ptr_type = LLVMPointerType(variant->vb_type, 0); - } - - -@@ -770,8 +768,7 @@ get_vb_ptr_type(struct draw_llvm_variant *variant) - static LLVMTypeRef - get_vertex_header_ptr_type(struct draw_llvm_variant *variant) - { -- if (!variant->vertex_header_ptr_type) -- create_jit_types(variant); -+ assert(variant->vertex_header_ptr_type); - return variant->vertex_header_ptr_type; - } - -@@ -871,7 +868,6 @@ draw_llvm_create_variant(struct draw_llvm *llvm, - struct draw_llvm_variant *variant; - struct llvm_vertex_shader *shader = - llvm_vertex_shader(llvm->draw->vs.vertex_shader); -- LLVMTypeRef vertex_header; - char module_name[64]; - unsigned char ir_sha1_cache_key[20]; - struct lp_cached_code cached = { 0 }; -@@ -914,9 +910,8 @@ draw_llvm_create_variant(struct draw_llvm *llvm, - draw_llvm_dump_variant_key(&variant->key); - } - -- vertex_header = create_jit_vertex_header(variant->gallivm, num_inputs); -- -- variant->vertex_header_ptr_type = LLVMPointerType(vertex_header, 0); -+ variant->vertex_header_type = create_jit_vertex_header(variant->gallivm, num_inputs); -+ variant->vertex_header_ptr_type = LLVMPointerType(variant->vertex_header_type, 0); - - draw_llvm_generate(llvm, variant); - -@@ -957,7 +952,7 @@ do_clamp_vertex_color(struct gallivm_state *gallivm, - switch (info->output_semantic_name[attrib]) { - case TGSI_SEMANTIC_COLOR: - case TGSI_SEMANTIC_BCOLOR: -- out = LLVMBuildLoad(builder, outputs[attrib][chan], ""); -+ out = LLVMBuildLoad2(builder, LLVMTypeOf(bld.zero), outputs[attrib][chan], ""); - out = lp_build_clamp(&bld, out, bld.zero, bld.one); - LLVMBuildStore(builder, out, outputs[attrib][chan]); - break; -@@ -1393,7 +1388,6 @@ store_clip(struct gallivm_state *gallivm, - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef soa[4]; - LLVMValueRef aos[LP_MAX_VECTOR_LENGTH]; -- LLVMValueRef indices[2]; - LLVMValueRef io_ptrs[LP_MAX_VECTOR_WIDTH / 32]; - LLVMValueRef inds[LP_MAX_VECTOR_WIDTH / 32]; - LLVMValueRef clip_ptrs[LP_MAX_VECTOR_WIDTH / 32]; -@@ -1402,9 +1396,6 @@ store_clip(struct gallivm_state *gallivm, - 4), 0); - int i, j; - -- indices[0] = -- indices[1] = lp_build_const_int32(gallivm, 0); -- - for (i = 0; i < vs_type.length; i++) { - inds[i] = lp_build_const_int32(gallivm, i); - io_ptrs[i] = LLVMBuildGEP(builder, io_ptr, &inds[i], 1, ""); -@@ -1430,8 +1421,7 @@ store_clip(struct gallivm_state *gallivm, - for (j = 0; j < vs_type.length; j++) { - LLVMValueRef clip_ptr; - -- clip_ptr = LLVMBuildGEP(builder, clip_ptrs[j], indices, 2, "clipo"); -- clip_ptr = LLVMBuildPointerCast(builder, clip_ptr, clip_ptr_type, ""); -+ clip_ptr = LLVMBuildPointerCast(builder, clip_ptrs[j], clip_ptr_type, ""); - - /* Unaligned store */ - LLVMSetAlignment(LLVMBuildStore(builder, aos[j], clip_ptr), sizeof(float)); -@@ -1454,7 +1444,7 @@ generate_viewport(struct draw_llvm_variant *variant, - struct lp_type f32_type = vs_type; - const unsigned pos = variant->llvm->draw->vs.position_output; - LLVMTypeRef vs_type_llvm = lp_build_vec_type(gallivm, vs_type); -- LLVMValueRef out3 = LLVMBuildLoad(builder, outputs[pos][3], ""); /*w0 w1 .. wn*/ -+ LLVMValueRef out3 = LLVMBuildLoad2(builder, vs_type_llvm, outputs[pos][3], ""); /*w0 w1 .. wn*/ - LLVMValueRef const1 = lp_build_const_vec(gallivm, f32_type, 1.0); /*1.0 1.0 1.0 1.0*/ - LLVMValueRef vp_ptr = draw_jit_context_viewports(gallivm, context_ptr); - -@@ -1466,9 +1456,11 @@ generate_viewport(struct draw_llvm_variant *variant, - out3 = LLVMBuildFDiv(builder, const1, out3, ""); - LLVMBuildStore(builder, out3, outputs[pos][3]); - -+ LLVMTypeRef elem_type = lp_build_elem_type(gallivm, vs_type); -+ - /* Viewport Mapping */ - for (i=0; i<3; i++) { -- LLVMValueRef out = LLVMBuildLoad(builder, outputs[pos][i], ""); /*x0 x1 .. xn*/ -+ LLVMValueRef out = LLVMBuildLoad2(builder, vs_type_llvm, outputs[pos][i], ""); /*x0 x1 .. xn*/ - LLVMValueRef scale; - LLVMValueRef trans; - LLVMValueRef scale_i; -@@ -1476,15 +1468,15 @@ generate_viewport(struct draw_llvm_variant *variant, - LLVMValueRef index; - - index = lp_build_const_int32(gallivm, i + scale_index_offset); -- scale_i = LLVMBuildGEP(builder, vp_ptr, &index, 1, ""); -+ scale_i = LLVMBuildGEP2(builder, elem_type, vp_ptr, &index, 1, ""); - - index = lp_build_const_int32(gallivm, i + trans_index_offset); -- trans_i = LLVMBuildGEP(builder, vp_ptr, &index, 1, ""); -+ trans_i = LLVMBuildGEP2(builder, elem_type, vp_ptr, &index, 1, ""); - - scale = lp_build_broadcast(gallivm, vs_type_llvm, -- LLVMBuildLoad(builder, scale_i, "scale")); -+ LLVMBuildLoad2(builder, elem_type, scale_i, "scale")); - trans = lp_build_broadcast(gallivm, vs_type_llvm, -- LLVMBuildLoad(builder, trans_i, "trans")); -+ LLVMBuildLoad2(builder, elem_type, trans_i, "trans")); - - /* divide by w */ - out = LLVMBuildFMul(builder, out, out3, ""); -@@ -1543,20 +1535,22 @@ generate_clipmask(struct draw_llvm *llvm, - zero = lp_build_const_vec(gallivm, f32_type, 0); /* 0.0f 0.0f 0.0f 0.0f */ - shift = lp_build_const_int_vec(gallivm, i32_type, 1); /* 1 1 1 1 */ - -+ LLVMTypeRef vec_type = LLVMTypeOf(zero); -+ - /* - * load clipvertex and position from correct locations. - * if they are the same just load them once. - */ -- pos_x = LLVMBuildLoad(builder, outputs[pos][0], ""); /*x0 x1 .. xn */ -- pos_y = LLVMBuildLoad(builder, outputs[pos][1], ""); /*y0 y1 .. yn */ -- pos_z = LLVMBuildLoad(builder, outputs[pos][2], ""); /*z0 z1 .. zn */ -- pos_w = LLVMBuildLoad(builder, outputs[pos][3], ""); /*w0 w1 .. wn */ -+ pos_x = LLVMBuildLoad2(builder, vec_type, outputs[pos][0], ""); /*x0 x1 .. xn */ -+ pos_y = LLVMBuildLoad2(builder, vec_type, outputs[pos][1], ""); /*y0 y1 .. yn */ -+ pos_z = LLVMBuildLoad2(builder, vec_type, outputs[pos][2], ""); /*z0 z1 .. zn */ -+ pos_w = LLVMBuildLoad2(builder, vec_type, outputs[pos][3], ""); /*w0 w1 .. wn */ - - if (clip_user && cv != pos) { -- cv_x = LLVMBuildLoad(builder, outputs[cv][0], ""); /*x0 x1 .. xn */ -- cv_y = LLVMBuildLoad(builder, outputs[cv][1], ""); /*y0 y1 .. yn */ -- cv_z = LLVMBuildLoad(builder, outputs[cv][2], ""); /*z0 z1 .. zn */ -- cv_w = LLVMBuildLoad(builder, outputs[cv][3], ""); /*w0 w1 .. wn */ -+ cv_x = LLVMBuildLoad2(builder, vec_type, outputs[cv][0], ""); /*x0 x1 .. xn */ -+ cv_y = LLVMBuildLoad2(builder, vec_type, outputs[cv][1], ""); /*y0 y1 .. yn */ -+ cv_z = LLVMBuildLoad2(builder, vec_type, outputs[cv][2], ""); /*z0 z1 .. zn */ -+ cv_w = LLVMBuildLoad2(builder, vec_type, outputs[cv][3], ""); /*w0 w1 .. wn */ - } else { - cv_x = pos_x; - cv_y = pos_y; -@@ -1641,9 +1635,9 @@ generate_clipmask(struct draw_llvm *llvm, - - *have_clipdist = TRUE; - if (i < 4) { -- clipdist = LLVMBuildLoad(builder, outputs[cd[0]][i], ""); -+ clipdist = LLVMBuildLoad2(builder, vec_type, outputs[cd[0]][i], ""); - } else { -- clipdist = LLVMBuildLoad(builder, outputs[cd[1]][i-4], ""); -+ clipdist = LLVMBuildLoad2(builder, vec_type, outputs[cd[1]][i-4], ""); - } - test = lp_build_compare(gallivm, f32_type, PIPE_FUNC_GREATER, zero, clipdist); - is_nan_or_inf = lp_build_is_inf_or_nan(gallivm, vs_type, clipdist); -@@ -1652,31 +1646,32 @@ generate_clipmask(struct draw_llvm *llvm, - test = LLVMBuildAnd(builder, test, temp, ""); - mask = LLVMBuildOr(builder, mask, test, ""); - } else { -+ LLVMTypeRef vs_elem_type = lp_build_elem_type(gallivm, vs_type); - LLVMTypeRef vs_type_llvm = lp_build_vec_type(gallivm, vs_type); - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, plane_idx); - - indices[2] = lp_build_const_int32(gallivm, 0); - plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad(builder, plane_ptr, "plane_x"); -+ plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_x"); - planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); - sum = LLVMBuildFMul(builder, planes, cv_x, ""); - - indices[2] = lp_build_const_int32(gallivm, 1); - plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad(builder, plane_ptr, "plane_y"); -+ plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_y"); - planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); - sum = lp_build_fmuladd(builder, planes, cv_y, sum); - - indices[2] = lp_build_const_int32(gallivm, 2); - plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad(builder, plane_ptr, "plane_z"); -+ plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_z"); - planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); - sum = lp_build_fmuladd(builder, planes, cv_z, sum); - - indices[2] = lp_build_const_int32(gallivm, 3); - plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad(builder, plane_ptr, "plane_w"); -+ plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_w"); - planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); - sum = lp_build_fmuladd(builder, planes, cv_w, sum); - -@@ -1694,7 +1689,7 @@ generate_clipmask(struct draw_llvm *llvm, - */ - unsigned edge_attr = llvm->draw->vs.edgeflag_output; - LLVMValueRef one = lp_build_const_vec(gallivm, f32_type, 1.0); -- LLVMValueRef edgeflag = LLVMBuildLoad(builder, outputs[edge_attr][0], ""); -+ LLVMValueRef edgeflag = LLVMBuildLoad2(builder, vec_type, outputs[edge_attr][0], ""); - test = lp_build_compare(gallivm, f32_type, PIPE_FUNC_EQUAL, one, edgeflag); - temp = lp_build_const_int_vec(gallivm, i32_type, - 1LL << DRAW_TOTAL_CLIP_PLANES); -@@ -2062,7 +2057,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - LLVMVectorType(LLVMInt64TypeInContext(context), 4), ""); - fake_buf = LLVMBuildBitCast(builder, fake_buf, - LLVMPointerType(LLVMInt8TypeInContext(context), 0), ""); -- fake_buf_ptr = LLVMBuildGEP(builder, fake_buf, &bld.zero, 1, ""); -+ fake_buf_ptr = LLVMBuildGEP2(builder, LLVMInt8TypeInContext(context), fake_buf, &bld.zero, 1, ""); - - /* code generated texture sampling */ - sampler = draw_llvm_sampler_soa_create(draw_llvm_variant_key_samplers(key), key->nr_samplers); -@@ -2104,8 +2099,8 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - struct lp_build_if_state if_ctx; - - if (velem->src_format != PIPE_FORMAT_NONE) { -- vbuffer_ptr = LLVMBuildGEP(builder, vbuffers_ptr, &vb_index, 1, ""); -- vb_info = LLVMBuildGEP(builder, vb_ptr, &vb_index, 1, ""); -+ vbuffer_ptr = LLVMBuildGEP2(builder, variant->buffer_type, vbuffers_ptr, &vb_index, 1, ""); -+ vb_info = LLVMBuildGEP2(builder, variant->vb_type, vb_ptr, &vb_index, 1, ""); - vb_stride[j] = draw_jit_vbuffer_stride(gallivm, vb_info); - vb_stride[j] = LLVMBuildZExt(gallivm->builder, vb_stride[j], - LLVMInt32TypeInContext(context), ""); -@@ -2157,8 +2152,9 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - buffer_size_adj[j] = LLVMBuildSelect(builder, ofbit, bld.zero, - buffer_size_adj[j], ""); - -- temp_ptr = lp_build_alloca_undef(gallivm, -- LLVMPointerType(LLVMInt8TypeInContext(context), 0), ""); -+ LLVMTypeRef byte_type = LLVMInt8TypeInContext(context); -+ LLVMTypeRef byte_ptr_type = LLVMPointerType(byte_type, 0); -+ temp_ptr = lp_build_alloca_undef(gallivm, byte_ptr_type, ""); - - lp_build_if(&if_ctx, gallivm, ofbit); - { -@@ -2166,11 +2162,11 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - } - lp_build_else(&if_ctx); - { -- map_ptr[j] = LLVMBuildGEP(builder, map_ptr[j], &buf_offset, 1, ""); -+ map_ptr[j] = LLVMBuildGEP2(builder, byte_type, map_ptr[j], &buf_offset, 1, ""); - LLVMBuildStore(builder, map_ptr[j], temp_ptr); - } - lp_build_endif(&if_ctx); -- map_ptr[j] = LLVMBuildLoad(builder, temp_ptr, "map_ptr"); -+ map_ptr[j] = LLVMBuildLoad2(builder, byte_ptr_type, temp_ptr, "map_ptr"); - - if (0) { - lp_build_printf(gallivm, "velem %d, vbuf index = %u, vb_stride = %u\n", -@@ -2196,7 +2192,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - - io_itr = lp_loop.counter; - -- io = LLVMBuildGEP(builder, io_ptr, &io_itr, 1, ""); -+ io = LLVMBuildGEP2(builder, variant->vertex_header_type, io_ptr, &io_itr, 1, ""); - #if DEBUG_STORE - lp_build_printf(gallivm, " --- io %d = %p, loop counter %d\n", - io_itr, io, lp_loop.counter); -@@ -2259,7 +2255,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - } - lp_build_endif(&if_ctx); - -- true_index_array = LLVMBuildLoad(builder, index_store, ""); -+ true_index_array = LLVMBuildLoad2(builder, blduivec.vec_type, index_store, ""); - - for (j = 0; j < key->nr_vertex_elements; ++j) { - struct pipe_vertex_element *velem = &key->vertex_element[j]; -@@ -2329,7 +2325,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - - /* do cliptest */ - if (enable_cliptest) { -- LLVMValueRef temp = LLVMBuildLoad(builder, clipmask_bool_ptr, ""); -+ LLVMValueRef temp = LLVMBuildLoad2(builder, blduivec.vec_type, clipmask_bool_ptr, ""); - /* allocate clipmask, assign it integer type */ - clipmask = generate_clipmask(llvm, - gallivm, -@@ -2788,13 +2784,13 @@ draw_gs_llvm_generate(struct draw_llvm *llvm, - - assert(variant->vertex_header_ptr_type); - -+ LLVMTypeRef prim_id_type = LLVMVectorType(int32_type, vector_length); - arg_types[0] = get_gs_context_ptr_type(variant); /* context */ - arg_types[1] = variant->input_array_type; /* input */ - arg_types[2] = LLVMPointerType(variant->vertex_header_ptr_type, 0); /* vertex_header */ - arg_types[3] = int32_type; /* num_prims */ - arg_types[4] = int32_type; /* instance_id */ -- arg_types[5] = LLVMPointerType( -- LLVMVectorType(int32_type, vector_length), 0); /* prim_id_ptr */ -+ arg_types[5] = LLVMPointerType(prim_id_type, 0); /* prim_id_ptr */ - arg_types[6] = int32_type; - arg_types[7] = int32_type; - -@@ -2874,7 +2870,7 @@ draw_gs_llvm_generate(struct draw_llvm *llvm, - lp_build_mask_begin(&mask, gallivm, gs_type, mask_val); - - if (gs_info->uses_primid) { -- system_values.prim_id = LLVMBuildLoad(builder, prim_id_ptr, "prim_id"); -+ system_values.prim_id = LLVMBuildLoad2(builder, prim_id_type, prim_id_ptr, "prim_id"); - } - - if (gallivm_debug & (GALLIVM_DEBUG_TGSI | GALLIVM_DEBUG_IR)) { -@@ -3459,15 +3455,15 @@ draw_tcs_llvm_generate(struct draw_llvm *llvm, - args[4] = patch_vertices_in; - args[5] = view_index; - args[6] = loop_state[0].counter; -- LLVMValueRef coro_entry = LLVMBuildGEP(builder, coro_hdls, &loop_state[0].counter, 1, ""); -- LLVMValueRef coro_hdl = LLVMBuildLoad(builder, coro_entry, "coro_hdl"); -+ LLVMValueRef coro_entry = LLVMBuildGEP2(builder, hdl_ptr_type, coro_hdls, &loop_state[0].counter, 1, ""); -+ LLVMValueRef coro_hdl = LLVMBuildLoad2(builder, hdl_ptr_type, coro_entry, "coro_hdl"); - - struct lp_build_if_state ifstate; - LLVMValueRef cmp = LLVMBuildICmp(builder, LLVMIntEQ, loop_state[1].counter, - lp_build_const_int32(gallivm, 0), ""); - /* first time here - call the coroutine function entry point */ - lp_build_if(&ifstate, gallivm, cmp); -- LLVMValueRef coro_ret = LLVMBuildCall(builder, variant_coro, args, 7, ""); -+ LLVMValueRef coro_ret = LLVMBuildCall2(builder, coro_func_type, variant_coro, args, 7, ""); - LLVMBuildStore(builder, coro_ret, coro_entry); - lp_build_else(&ifstate); - /* subsequent calls for this invocation - check if done. */ -@@ -3762,7 +3758,8 @@ create_tes_jit_types(struct draw_tes_llvm_variant *var) - "draw_tes_jit_context"); - var->context_ptr_type = LLVMPointerType(context_type, 0); - -- var->input_array_type = create_tes_jit_input_type(gallivm); -+ var->input_array_deref_type = create_tes_jit_input_deref_type(gallivm); -+ var->input_array_type = LLVMPointerType(var->input_array_deref_type, 0); /* num vertices per prim */ - } - - static LLVMTypeRef -@@ -3841,8 +3838,8 @@ draw_tes_llvm_fetch_vertex_input(const struct lp_build_tes_iface *tes_iface, - indices[1] = attr_chan_index; - indices[2] = swiz_chan_index; - -- channel_vec = LLVMBuildGEP(builder, tes->input, indices, 3, ""); -- channel_vec = LLVMBuildLoad(builder, channel_vec, ""); -+ channel_vec = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, ""); -+ channel_vec = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), channel_vec, ""); - - res = LLVMBuildInsertElement(builder, res, channel_vec, idx, ""); - } -@@ -3851,8 +3848,8 @@ draw_tes_llvm_fetch_vertex_input(const struct lp_build_tes_iface *tes_iface, - indices[1] = attrib_index; - indices[2] = swizzle_index; - -- res = LLVMBuildGEP(builder, tes->input, indices, 3, ""); -- res = LLVMBuildLoad(builder, res, ""); -+ res = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, ""); -+ res = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), res, ""); - res = lp_build_broadcast_scalar(bld, res); - } - return res; -@@ -3891,8 +3888,8 @@ draw_tes_llvm_fetch_patch_input(const struct lp_build_tes_iface *tes_iface, - indices[1] = attr_chan_index; - indices[2] = swizzle_index; - -- channel_vec = LLVMBuildGEP(builder, tes->input, indices, 3, ""); -- channel_vec = LLVMBuildLoad(builder, channel_vec, ""); -+ channel_vec = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, ""); -+ channel_vec = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), channel_vec, ""); - - res = LLVMBuildInsertElement(builder, res, channel_vec, idx, ""); - } -@@ -3901,8 +3898,8 @@ draw_tes_llvm_fetch_patch_input(const struct lp_build_tes_iface *tes_iface, - indices[1] = attrib_index; - indices[2] = swizzle_index; - -- res = LLVMBuildGEP(builder, tes->input, indices, 3, ""); -- res = LLVMBuildLoad(builder, res, ""); -+ res = LLVMBuildGEP2(builder, tes->variant->input_array_deref_type, tes->input, indices, 3, ""); -+ res = LLVMBuildLoad2(builder, LLVMFloatTypeInContext(gallivm->context), res, ""); - res = lp_build_broadcast_scalar(bld, res); - } - return res; -@@ -3946,6 +3943,9 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - - snprintf(func_name, sizeof(func_name), "draw_llvm_tes_variant"); - -+ LLVMTypeRef tess_outer_deref_type = LLVMArrayType(flt_type, 4); -+ LLVMTypeRef tess_inner_deref_type = LLVMArrayType(flt_type, 2); -+ - arg_types[0] = get_tes_context_ptr_type(variant); /* context */ - arg_types[1] = variant->input_array_type; /* input */ - arg_types[2] = variant->vertex_header_ptr_type; -@@ -3953,8 +3953,8 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - arg_types[4] = int32_type; - arg_types[5] = LLVMPointerType(flt_type, 0); - arg_types[6] = LLVMPointerType(flt_type, 0); -- arg_types[7] = LLVMPointerType(LLVMArrayType(flt_type, 4), 0); -- arg_types[8] = LLVMPointerType(LLVMArrayType(flt_type, 2), 0); -+ arg_types[7] = LLVMPointerType(tess_outer_deref_type, 0); -+ arg_types[8] = LLVMPointerType(tess_inner_deref_type, 0); - arg_types[9] = int32_type; - arg_types[10] = int32_type; - -@@ -4025,8 +4025,8 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - variant->key.nr_images); - step = lp_build_const_int32(gallivm, vector_length); - -- system_values.tess_outer = LLVMBuildLoad(builder, tess_outer, ""); -- system_values.tess_inner = LLVMBuildLoad(builder, tess_inner, ""); -+ system_values.tess_outer = LLVMBuildLoad2(builder, tess_outer_deref_type, tess_outer, ""); -+ system_values.tess_inner = LLVMBuildLoad2(builder, tess_inner_deref_type, tess_inner, ""); - - system_values.prim_id = lp_build_broadcast_scalar(&bldvec, prim_id); - -@@ -4046,7 +4046,7 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - { - LLVMValueRef io; - -- io = LLVMBuildGEP(builder, io_ptr, &lp_loop.counter, 1, ""); -+ io = LLVMBuildGEP2(builder, variant->vertex_header_type, io_ptr, &lp_loop.counter, 1, ""); - mask_val = generate_tes_mask_value(variant, tes_type, num_tess_coord, lp_loop.counter); - lp_build_mask_begin(&mask, gallivm, tes_type, mask_val); - -@@ -4122,7 +4122,6 @@ draw_tes_llvm_create_variant(struct draw_llvm *llvm, - { - struct draw_tes_llvm_variant *variant; - struct llvm_tess_eval_shader *shader = llvm_tess_eval_shader(llvm->draw->tes.tess_eval_shader); -- LLVMTypeRef vertex_header; - char module_name[64]; - unsigned char ir_sha1_cache_key[20]; - struct lp_cached_code cached = { 0 }; -@@ -4157,9 +4156,8 @@ draw_tes_llvm_create_variant(struct draw_llvm *llvm, - - create_tes_jit_types(variant); - -- vertex_header = create_jit_vertex_header(variant->gallivm, num_outputs); -- -- variant->vertex_header_ptr_type = LLVMPointerType(vertex_header, 0); -+ variant->vertex_header_type = create_jit_vertex_header(variant->gallivm, num_outputs); -+ variant->vertex_header_ptr_type = LLVMPointerType(variant->vertex_header_type, 0); - - if (gallivm_debug & (GALLIVM_DEBUG_TGSI | GALLIVM_DEBUG_IR)) { - nir_print_shader(llvm->draw->tes.tess_eval_shader->state.ir.nir, stderr); -diff --git a/src/gallium/auxiliary/draw/draw_llvm.h b/src/gallium/auxiliary/draw/draw_llvm.h -index 7506a87161ee8..4e118bef091b9 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.h -+++ b/src/gallium/auxiliary/draw/draw_llvm.h -@@ -681,6 +681,10 @@ struct draw_llvm_variant - LLVMTypeRef vb_ptr_type; - LLVMTypeRef vertex_header_ptr_type; - -+ LLVMTypeRef buffer_type; -+ LLVMTypeRef vb_type; -+ LLVMTypeRef vertex_header_type; -+ - LLVMValueRef function; - draw_jit_vert_func jit_func; - -@@ -755,6 +759,9 @@ struct draw_tes_llvm_variant - LLVMTypeRef input_array_type; - LLVMTypeRef patch_input_array_type; - -+ LLVMTypeRef input_array_deref_type; -+ LLVMTypeRef vertex_header_type; -+ - LLVMValueRef context_ptr; - LLVMValueRef io_ptr; - LLVMValueRef num_prims; --- -GitLab - - -From f90d71f51831cc04e09466553afa56f5f62aed5d Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:26:25 +0300 -Subject: [PATCH 03/22] gallium/llvmpipe: use LLVM opaque pointers in - lp_bld_interp.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/drivers/llvmpipe/lp_bld_interp.c | 60 +++++++++++--------- - src/gallium/drivers/llvmpipe/lp_bld_interp.h | 1 + - 2 files changed, 34 insertions(+), 27 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.c b/src/gallium/drivers/llvmpipe/lp_bld_interp.c -index a93879c9382f9..e0a57116c5d9d 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_interp.c -+++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.c -@@ -191,6 +191,20 @@ calc_centroid_offsets(struct lp_build_interp_soa_context *bld, - *centroid_y = lp_build_select(coeff_bld, s_mask_and, pix_center_offset, centroid_y_offset); - } - -+/* Note: this assumes the pointer to elem_type is in address space 0 */ -+static LLVMValueRef -+load_casted(LLVMBuilderRef builder, LLVMTypeRef elem_type, LLVMValueRef ptr, const char *name) { -+ ptr = LLVMBuildBitCast(builder, ptr, LLVMPointerType(elem_type, 0), name); -+ return LLVMBuildLoad2(builder, elem_type, ptr, name); -+} -+ -+static LLVMValueRef -+indexed_load(LLVMBuilderRef builder, LLVMTypeRef gep_type, -+ LLVMTypeRef elem_type, LLVMValueRef ptr, LLVMValueRef index, const char *name) { -+ ptr = LLVMBuildGEP2(builder, gep_type, ptr, &index, 1, name); -+ return load_casted(builder, elem_type, ptr, name); -+} -+ - /* Much easier, and significantly less instructions in the per-stamp - * part (less than half) but overall more instructions so a loss if - * most quads are active. Might be a win though with larger vectors. -@@ -224,36 +238,27 @@ coeffs_init_simple(struct lp_build_interp_soa_context *bld, - const unsigned interp = bld->interp[attrib]; - LLVMValueRef index = lp_build_const_int32(gallivm, - attrib * TGSI_NUM_CHANNELS); -- LLVMValueRef ptr; - LLVMValueRef dadxaos = setup_bld->zero; - LLVMValueRef dadyaos = setup_bld->zero; - LLVMValueRef a0aos = setup_bld->zero; - -+ /* See: lp_state_fs.c / generate_fragment() / fs_elem_type */ -+ LLVMTypeRef fs_elem_type = LLVMFloatTypeInContext(gallivm->context); -+ - switch (interp) { - case LP_INTERP_PERSPECTIVE: - FALLTHROUGH; - - case LP_INTERP_LINEAR: -- ptr = LLVMBuildGEP(builder, dadx_ptr, &index, 1, ""); -- ptr = LLVMBuildBitCast(builder, ptr, -- LLVMPointerType(setup_bld->vec_type, 0), ""); -- dadxaos = LLVMBuildLoad(builder, ptr, ""); -- -- ptr = LLVMBuildGEP(builder, dady_ptr, &index, 1, ""); -- ptr = LLVMBuildBitCast(builder, ptr, -- LLVMPointerType(setup_bld->vec_type, 0), ""); -- dadyaos = LLVMBuildLoad(builder, ptr, ""); -- -+ dadxaos = indexed_load(builder, fs_elem_type, setup_bld->vec_type, dadx_ptr, index, ""); -+ dadyaos = indexed_load(builder, fs_elem_type, setup_bld->vec_type, dady_ptr, index, ""); - attrib_name(dadxaos, attrib, 0, ".dadxaos"); - attrib_name(dadyaos, attrib, 0, ".dadyaos"); - FALLTHROUGH; - - case LP_INTERP_CONSTANT: - case LP_INTERP_FACING: -- ptr = LLVMBuildGEP(builder, a0_ptr, &index, 1, ""); -- ptr = LLVMBuildBitCast(builder, ptr, -- LLVMPointerType(setup_bld->vec_type, 0), ""); -- a0aos = LLVMBuildLoad(builder, ptr, ""); -+ a0aos = indexed_load(builder, fs_elem_type, setup_bld->vec_type, a0_ptr, index, ""); - attrib_name(a0aos, attrib, 0, ".a0aos"); - break; - -@@ -297,10 +302,10 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld, - /* could do this with code-generated passed in pixel offsets too */ - - assert(loop_iter); -- ptr = LLVMBuildGEP(builder, bld->xoffset_store, &loop_iter, 1, ""); -- pixoffx = LLVMBuildLoad(builder, ptr, ""); -- ptr = LLVMBuildGEP(builder, bld->yoffset_store, &loop_iter, 1, ""); -- pixoffy = LLVMBuildLoad(builder, ptr, ""); -+ ptr = LLVMBuildGEP2(builder, bld->store_elem_type, bld->xoffset_store, &loop_iter, 1, ""); -+ pixoffx = LLVMBuildLoad2(builder, bld->store_elem_type, ptr, ""); -+ ptr = LLVMBuildGEP2(builder, bld->store_elem_type, bld->yoffset_store, &loop_iter, 1, ""); -+ pixoffy = LLVMBuildLoad2(builder, bld->store_elem_type, ptr, ""); - - pixoffx = LLVMBuildFAdd(builder, pixoffx, - lp_build_broadcast_scalar(coeff_bld, bld->x), ""); -@@ -529,10 +534,10 @@ lp_build_interp_soa(struct lp_build_interp_soa_context *bld, - /* could do this with code-generated passed in pixel offsets too */ - - assert(loop_iter); -- ptr = LLVMBuildGEP(builder, bld->xoffset_store, &loop_iter, 1, ""); -- pixoffx = LLVMBuildLoad(builder, ptr, ""); -- ptr = LLVMBuildGEP(builder, bld->yoffset_store, &loop_iter, 1, ""); -- pixoffy = LLVMBuildLoad(builder, ptr, ""); -+ ptr = LLVMBuildGEP2(builder, bld->store_elem_type, bld->xoffset_store, &loop_iter, 1, ""); -+ pixoffx = LLVMBuildLoad2(builder, bld->store_elem_type, ptr, ""); -+ ptr = LLVMBuildGEP2(builder, bld->store_elem_type, bld->yoffset_store, &loop_iter, 1, ""); -+ pixoffy = LLVMBuildLoad2(builder, bld->store_elem_type, ptr, ""); - - pixoffx = LLVMBuildFAdd(builder, pixoffx, - lp_build_broadcast_scalar(coeff_bld, bld->x), ""); -@@ -769,20 +774,21 @@ lp_build_interp_soa_init(struct lp_build_interp_soa_context *bld, - LLVMValueRef pixoffx, pixoffy, index; - LLVMValueRef ptr; - -+ bld->store_elem_type = lp_build_vec_type(gallivm, type); - bld->xoffset_store = lp_build_array_alloca(gallivm, -- lp_build_vec_type(gallivm, type), -+ bld->store_elem_type, - lp_build_const_int32(gallivm, num_loops), - ""); - bld->yoffset_store = lp_build_array_alloca(gallivm, -- lp_build_vec_type(gallivm, type), -+ bld->store_elem_type, - lp_build_const_int32(gallivm, num_loops), - ""); - for (i = 0; i < num_loops; i++) { - index = lp_build_const_int32(gallivm, i); - calc_offsets(&bld->coeff_bld, i*type.length/4, &pixoffx, &pixoffy); -- ptr = LLVMBuildGEP(builder, bld->xoffset_store, &index, 1, ""); -+ ptr = LLVMBuildGEP2(builder, bld->store_elem_type, bld->xoffset_store, &index, 1, ""); - LLVMBuildStore(builder, pixoffx, ptr); -- ptr = LLVMBuildGEP(builder, bld->yoffset_store, &index, 1, ""); -+ ptr = LLVMBuildGEP2(builder, bld->store_elem_type, bld->yoffset_store, &index, 1, ""); - LLVMBuildStore(builder, pixoffy, ptr); - } - } -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.h b/src/gallium/drivers/llvmpipe/lp_bld_interp.h -index f77d2192258a6..6525ffb0bf038 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_interp.h -+++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.h -@@ -107,6 +107,7 @@ struct lp_build_interp_soa_context - - LLVMValueRef xoffset_store; - LLVMValueRef yoffset_store; -+ LLVMTypeRef store_elem_type; - - /* - * Convenience pointers. Callers may access this one. --- -GitLab - - -From d53fe793c38344382a71a89e3790249a31e3d4f3 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:28:22 +0300 -Subject: [PATCH 04/22] gallium/llvmpipe: use LLVM opaque pointers in - lp_bld_depth.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/drivers/llvmpipe/lp_bld_depth.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c -index dc559bc3ffb10..cb4a727fa3cf8 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c -+++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c -@@ -510,7 +510,7 @@ lp_build_occlusion_count(struct gallivm_state *gallivm, - count = LLVMBuildZExt(builder, count, LLVMIntTypeInContext(context, 64), ""); - } - } -- newcount = LLVMBuildLoad(builder, counter, "origcount"); -+ newcount = LLVMBuildLoad2(builder, LLVMTypeOf(count), counter, "origcount"); - newcount = LLVMBuildAdd(builder, newcount, count, "newcount"); - LLVMBuildStore(builder, newcount, counter); - } -@@ -551,7 +551,8 @@ lp_build_depth_stencil_load_swizzled(struct gallivm_state *gallivm, - struct lp_type zs_load_type = zs_type; - - zs_load_type.length = zs_load_type.length / 2; -- load_ptr_type = LLVMPointerType(lp_build_vec_type(gallivm, zs_load_type), 0); -+ LLVMTypeRef zs_dst_type = lp_build_vec_type(gallivm, zs_load_type); -+ load_ptr_type = LLVMPointerType(zs_dst_type, 0); - - if (z_src_type.length == 4) { - unsigned i; -@@ -590,14 +591,14 @@ lp_build_depth_stencil_load_swizzled(struct gallivm_state *gallivm, - /* Load current z/stencil values from z/stencil buffer */ - zs_dst_ptr = LLVMBuildGEP(builder, depth_ptr, &depth_offset1, 1, ""); - zs_dst_ptr = LLVMBuildBitCast(builder, zs_dst_ptr, load_ptr_type, ""); -- zs_dst1 = LLVMBuildLoad(builder, zs_dst_ptr, ""); -+ zs_dst1 = LLVMBuildLoad2(builder, zs_dst_type, zs_dst_ptr, ""); - if (is_1d) { - zs_dst2 = lp_build_undef(gallivm, zs_load_type); - } - else { - zs_dst_ptr = LLVMBuildGEP(builder, depth_ptr, &depth_offset2, 1, ""); - zs_dst_ptr = LLVMBuildBitCast(builder, zs_dst_ptr, load_ptr_type, ""); -- zs_dst2 = LLVMBuildLoad(builder, zs_dst_ptr, ""); -+ zs_dst2 = LLVMBuildLoad2(builder, zs_dst_type, zs_dst_ptr, ""); - } - - *z_fb = LLVMBuildShuffleVector(builder, zs_dst1, zs_dst2, --- -GitLab - - -From 1e1ebbe6df456a4677d64a535bbb553ba4f702ea Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:31:29 +0300 -Subject: [PATCH 05/22] gallivm: use LLVM opaque pointers in lp_bld_arit.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_arit.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c -index 9cff0162b2334..2061902a215a3 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c -@@ -3757,7 +3757,7 @@ lp_build_fpstate_set_denorms_zero(struct gallivm_state *gallivm, - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef mxcsr_ptr = lp_build_fpstate_get(gallivm); - LLVMValueRef mxcsr = -- LLVMBuildLoad(builder, mxcsr_ptr, "mxcsr"); -+ LLVMBuildLoad2(builder, LLVMInt32TypeInContext(gallivm->context), mxcsr_ptr, "mxcsr"); - - if (util_get_cpu_caps()->has_daz) { - /* Enable denormals are zero mode */ --- -GitLab - - -From 70e9db951d5134546d0115cf773593ec33d5b5d2 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:32:25 +0300 -Subject: [PATCH 06/22] gallivm: use LLVM opaque pointers in lp_bld_assert.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_assert.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_assert.c b/src/gallium/auxiliary/gallivm/lp_bld_assert.c -index 02755765c0eac..f50da3c127e61 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_assert.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_assert.c -@@ -75,9 +75,11 @@ lp_build_assert(struct gallivm_state *gallivm, - arg_types[0] = LLVMInt32TypeInContext(context); - arg_types[1] = LLVMPointerType(LLVMInt8TypeInContext(context), 0); - -- function = lp_build_const_func_pointer(gallivm, -+ LLVMTypeRef function_type = LLVMFunctionType(ret_type, arg_types, 2, 0); -+ -+ function = lp_build_const_func_pointer_from_type(gallivm, - func_to_pointer((func_pointer)lp_assert), -- ret_type, arg_types, ARRAY_SIZE(arg_types), -+ function_type, - "assert"); - - /* build function call param list */ -@@ -87,6 +89,5 @@ lp_build_assert(struct gallivm_state *gallivm, - /* check arg types */ - assert(LLVMTypeOf(args[0]) == arg_types[0]); - assert(LLVMTypeOf(args[1]) == arg_types[1]); -- -- LLVMBuildCall(builder, function, args, ARRAY_SIZE(args), ""); -+ LLVMBuildCall2(builder, function_type, function, args, ARRAY_SIZE(args), ""); - } --- -GitLab - - -From 6867b184cac892e3f6aaf3fab3e0453bd784aaf7 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:41:12 +0300 -Subject: [PATCH 07/22] gallivm: use LLVM opaque pointers in - lp_bld_format_aos.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Also extract lp_build_const_func_pointer_from_type() in lp_bld_const.h -taking explicit function type. - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_const.c | 25 ++++++----- - src/gallium/auxiliary/gallivm/lp_bld_const.h | 6 +++ - .../auxiliary/gallivm/lp_bld_format_aos.c | 45 +++++++++---------- - 3 files changed, 40 insertions(+), 36 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_const.c b/src/gallium/auxiliary/gallivm/lp_bld_const.c -index 4f4bddf44b813..7d9f3176ec1bd 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_const.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_const.c -@@ -455,6 +455,17 @@ lp_build_const_string(struct gallivm_state *gallivm, - return string; - } - -+LLVMValueRef -+lp_build_const_func_pointer_from_type(struct gallivm_state *gallivm, -+ const void *ptr, -+ LLVMTypeRef function_type, -+ const char *name) -+{ -+ return LLVMBuildBitCast(gallivm->builder, -+ lp_build_const_int_pointer(gallivm, ptr), -+ LLVMPointerType(function_type, 0), -+ name); -+} - - /** - * Build a callable function pointer. -@@ -470,16 +481,6 @@ lp_build_const_func_pointer(struct gallivm_state *gallivm, - unsigned num_args, - const char *name) - { -- LLVMTypeRef function_type; -- LLVMValueRef function; -- -- function_type = LLVMFunctionType(ret_type, arg_types, num_args, 0); -- -- function = lp_build_const_int_pointer(gallivm, ptr); -- -- function = LLVMBuildBitCast(gallivm->builder, function, -- LLVMPointerType(function_type, 0), -- name); -- -- return function; -+ LLVMTypeRef function_type = LLVMFunctionType(ret_type, arg_types, num_args, 0); -+ return lp_build_const_func_pointer_from_type(gallivm, ptr, function_type, name); - } -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_const.h b/src/gallium/auxiliary/gallivm/lp_bld_const.h -index 385b5b02d038e..d4098765f5e7a 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_const.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_const.h -@@ -176,4 +176,10 @@ lp_build_const_func_pointer(struct gallivm_state *gallivm, - const char *name); - - -+LLVMValueRef -+lp_build_const_func_pointer_from_type(struct gallivm_state *gallivm, -+ const void *ptr, -+ LLVMTypeRef function_type, -+ const char *name); -+ - #endif /* !LP_BLD_CONST_H */ -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c -index 74fe1672b27f8..86cca0bb0e8f1 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_aos.c -@@ -820,6 +820,7 @@ lp_build_fetch_rgba_aos(struct gallivm_state *gallivm, - * Declare and bind format_desc->fetch_rgba_8unorm(). - */ - -+ LLVMTypeRef function_type; - { - /* - * Function to call looks like: -@@ -827,7 +828,6 @@ lp_build_fetch_rgba_aos(struct gallivm_state *gallivm, - */ - LLVMTypeRef ret_type; - LLVMTypeRef arg_types[4]; -- LLVMTypeRef function_type; - - ret_type = LLVMVoidTypeInContext(gallivm->context); - arg_types[0] = pi8t; -@@ -836,19 +836,16 @@ lp_build_fetch_rgba_aos(struct gallivm_state *gallivm, - arg_types[3] = i32t; - function_type = LLVMFunctionType(ret_type, arg_types, - ARRAY_SIZE(arg_types), 0); -- -- if (gallivm->cache) -- gallivm->cache->dont_cache = true; -- /* make const pointer for the C fetch_rgba_8unorm function */ -- function = lp_build_const_int_pointer(gallivm, -- func_to_pointer((func_pointer) unpack->fetch_rgba_8unorm)); -- -- /* cast the callee pointer to the function's type */ -- function = LLVMBuildBitCast(builder, function, -- LLVMPointerType(function_type, 0), -- "cast callee"); - } - -+ if (gallivm->cache) -+ gallivm->cache->dont_cache = true; -+ /* make const pointer for the C fetch_rgba_8unorm function */ -+ function = lp_build_const_int_pointer(gallivm, -+ func_to_pointer((func_pointer) unpack->fetch_rgba_8unorm)); -+ /* cast the callee pointer to the function's type */ -+ function = LLVMBuildBitCast(builder, function, LLVMPointerType(function_type, 0), "cast callee"); -+ - tmp_ptr = lp_build_alloca(gallivm, i32t, ""); - - res = LLVMGetUndef(LLVMVectorType(i32t, num_pixels)); -@@ -875,9 +872,9 @@ lp_build_fetch_rgba_aos(struct gallivm_state *gallivm, - args[3] = LLVMBuildExtractElement(builder, j, index, ""); - } - -- LLVMBuildCall(builder, function, args, ARRAY_SIZE(args), ""); -+ LLVMBuildCall2(builder, function_type, function, args, ARRAY_SIZE(args), ""); - -- tmp = LLVMBuildLoad(builder, tmp_ptr, ""); -+ tmp = LLVMBuildLoad2(builder, i32t, tmp_ptr, ""); - - if (num_pixels == 1) { - res = tmp; -@@ -929,6 +926,7 @@ lp_build_fetch_rgba_aos(struct gallivm_state *gallivm, - * Declare and bind unpack->fetch_rgba_float(). - */ - -+ LLVMTypeRef function_type = NULL; - { - /* - * Function to call looks like: -@@ -942,15 +940,14 @@ lp_build_fetch_rgba_aos(struct gallivm_state *gallivm, - arg_types[1] = pi8t; - arg_types[2] = i32t; - arg_types[3] = i32t; -- -- if (gallivm->cache) -- gallivm->cache->dont_cache = true; -- function = lp_build_const_func_pointer(gallivm, -- func_to_pointer((func_pointer) fetch_rgba), -- ret_type, -- arg_types, ARRAY_SIZE(arg_types), -- format_desc->short_name); -+ function_type = LLVMFunctionType(ret_type, arg_types, ARRAY_SIZE(arg_types), 0); - } -+ if (gallivm->cache) -+ gallivm->cache->dont_cache = true; -+ function = lp_build_const_func_pointer_from_type(gallivm, -+ func_to_pointer((func_pointer) fetch_rgba), -+ function_type, -+ format_desc->short_name); - - tmp_ptr = lp_build_alloca(gallivm, f32x4t, ""); - -@@ -976,9 +973,9 @@ lp_build_fetch_rgba_aos(struct gallivm_state *gallivm, - args[3] = LLVMBuildExtractElement(builder, j, index, ""); - } - -- LLVMBuildCall(builder, function, args, ARRAY_SIZE(args), ""); -+ LLVMBuildCall2(builder, function_type, function, args, ARRAY_SIZE(args), ""); - -- tmps[k] = LLVMBuildLoad(builder, tmp_ptr, ""); -+ tmps[k] = LLVMBuildLoad2(builder, f32x4t, tmp_ptr, ""); - } - - lp_build_conv(gallivm, --- -GitLab - - -From f1fc0bb567e5fdc92abd121a43fe2a632150c91c Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:44:19 +0300 -Subject: [PATCH 08/22] gallivm: use LLVM opaque pointers in lp_bld_conv.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_conv.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_conv.c b/src/gallium/auxiliary/gallivm/lp_bld_conv.c -index 1073ff4fa66c3..69494ed22aaed 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_conv.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_conv.c -@@ -229,7 +229,7 @@ lp_build_float_to_half(struct gallivm_state *gallivm, - */ - LLVMValueRef f16 = lp_build_intrinsic_unary(builder, "llvm.convert.to.fp16", i16t, f32); - #else -- LLVMValueRef f16 = LLVMBuildCall(builder, func, &f32, 1, ""); -+ LLVMValueRef f16 = LLVMBuildCall2(builder, func_type, func, &f32, 1, ""); - #endif - ref_result = LLVMBuildInsertElement(builder, ref_result, f16, index, ""); - } --- -GitLab - - -From 2a6e9d13fb9e02e88cb9bfc3a89864f72156a91e Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:51:30 +0300 -Subject: [PATCH 09/22] gallivm: use LLVM opaque pointers in lp_bld_coro.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_coro.c | 15 +++++++++++---- - src/gallium/auxiliary/gallivm/lp_bld_init.h | 3 +++ - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_coro.c b/src/gallium/auxiliary/gallivm/lp_bld_coro.c -index d3d5e6dc9693c..a423f60d939a6 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_coro.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_coro.c -@@ -169,8 +169,10 @@ void lp_build_coro_declare_malloc_hooks(struct gallivm_state *gallivm) - LLVMTypeRef int32_type = LLVMInt32TypeInContext(gallivm->context); - LLVMTypeRef mem_ptr_type = LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0); - LLVMTypeRef malloc_type = LLVMFunctionType(mem_ptr_type, &int32_type, 1, 0); -+ gallivm->coro_malloc_hook_type = malloc_type; - gallivm->coro_malloc_hook = LLVMAddFunction(gallivm->module, "coro_malloc", malloc_type); - LLVMTypeRef free_type = LLVMFunctionType(LLVMVoidTypeInContext(gallivm->context), &mem_ptr_type, 1, 0); -+ gallivm->coro_free_hook_type = free_type; - gallivm->coro_free_hook = LLVMAddFunction(gallivm->module, "coro_free", free_type); - } - -@@ -184,7 +186,10 @@ LLVMValueRef lp_build_coro_begin_alloc_mem(struct gallivm_state *gallivm, LLVMVa - LLVMValueRef alloc_mem; - - assert(gallivm->coro_malloc_hook); -- alloc_mem = LLVMBuildCall(gallivm->builder, gallivm->coro_malloc_hook, &coro_size, 1, ""); -+ LLVMTypeRef malloc_type = -+ LLVMFunctionType(mem_ptr_type, -+ (LLVMTypeRef[]){LLVMInt32TypeInContext(gallivm->context)}, 1, 0); -+ alloc_mem = LLVMBuildCall2(gallivm->builder, malloc_type, gallivm->coro_malloc_hook, &coro_size, 1, ""); - lp_build_endif(&if_state_coro); - - LLVMValueRef phi = LLVMBuildPhi(gallivm->builder, mem_ptr_type, ""); -@@ -212,7 +217,8 @@ LLVMValueRef lp_build_coro_alloc_mem_array(struct gallivm_state *gallivm, - LLVMValueRef alloc_mem; - LLVMValueRef alloc_size = LLVMBuildMul(gallivm->builder, coro_num_hdls, coro_size, ""); - assert(gallivm->coro_malloc_hook); -- alloc_mem = LLVMBuildCall(gallivm->builder, gallivm->coro_malloc_hook, &alloc_size, 1, ""); -+ assert(gallivm->coro_malloc_hook_type); -+ alloc_mem = LLVMBuildCall2(gallivm->builder, gallivm->coro_malloc_hook_type, gallivm->coro_malloc_hook, &alloc_size, 1, ""); - LLVMBuildStore(gallivm->builder, alloc_mem, coro_hdl_ptr); - lp_build_endif(&if_state_coro); - -@@ -223,8 +229,9 @@ void lp_build_coro_free_mem(struct gallivm_state *gallivm, LLVMValueRef coro_id, - { - LLVMValueRef alloc_mem = lp_build_coro_free(gallivm, coro_id, coro_hdl); - -- assert(gallivm->coro_malloc_hook); -- alloc_mem = LLVMBuildCall(gallivm->builder, gallivm->coro_free_hook, &alloc_mem, 1, ""); -+ assert(gallivm->coro_free_hook); -+ assert(gallivm->coro_free_hook_type); -+ alloc_mem = LLVMBuildCall2(gallivm->builder, gallivm->coro_free_hook_type, gallivm->coro_free_hook, &alloc_mem, 1, ""); - } - - void lp_build_coro_suspend_switch(struct gallivm_state *gallivm, const struct lp_build_coro_suspend_info *sus_info, -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.h b/src/gallium/auxiliary/gallivm/lp_bld_init.h -index 7c516b2b266d6..7eaaa31745b8f 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_init.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.h -@@ -57,6 +57,9 @@ struct gallivm_state - LLVMValueRef coro_malloc_hook; - LLVMValueRef coro_free_hook; - LLVMValueRef debug_printf_hook; -+ -+ LLVMTypeRef coro_malloc_hook_type; -+ LLVMTypeRef coro_free_hook_type; - }; - - --- -GitLab - - -From 1e0ddda79679955f2a3ad9487ce4eab84b0ec7b1 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:53:10 +0300 -Subject: [PATCH 10/22] gallivm: use LLVM opaque pointers in lp_bld_printf.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_printf.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_printf.c b/src/gallium/auxiliary/gallivm/lp_bld_printf.c -index 4db2c09423114..5e08a0c2fe6dc 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_printf.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_printf.c -@@ -63,11 +63,11 @@ lp_build_print_args(struct gallivm_state* gallivm, - args[i] = LLVMBuildFPExt(builder, args[i], LLVMDoubleTypeInContext(context), ""); - } - -+ LLVMTypeRef printf_type = LLVMFunctionType(LLVMInt32TypeInContext(context), NULL, 0, 1); - if (!gallivm->debug_printf_hook) { -- LLVMTypeRef printf_type = LLVMFunctionType(LLVMInt32TypeInContext(context), NULL, 0, 1); - gallivm->debug_printf_hook = LLVMAddFunction(gallivm->module, "debug_printf", printf_type); - } -- return LLVMBuildCall(builder, gallivm->debug_printf_hook, args, argcount, ""); -+ return LLVMBuildCall2(builder, printf_type, gallivm->debug_printf_hook, args, argcount, ""); - } - - --- -GitLab - - -From 3143f871ac948cda9608579f08ca059e063882fa Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:54:57 +0300 -Subject: [PATCH 11/22] gallivm: use LLVM opaque pointers in lp_bld_flow.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_flow.c | 19 +++++++++++-------- - src/gallium/auxiliary/gallivm/lp_bld_flow.h | 7 +++++-- - 2 files changed, 16 insertions(+), 10 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_flow.c b/src/gallium/auxiliary/gallivm/lp_bld_flow.c -index d5d903f66f237..8858aac9cb4ff 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_flow.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_flow.c -@@ -168,8 +168,9 @@ lp_build_mask_begin(struct lp_build_mask_context *mask, - memset(mask, 0, sizeof *mask); - - mask->reg_type = LLVMIntTypeInContext(gallivm->context, type.width * type.length); -+ mask->var_type = lp_build_int_vec_type(gallivm, type); - mask->var = lp_build_alloca(gallivm, -- lp_build_int_vec_type(gallivm, type), -+ mask->var_type, - "execution_mask"); - - LLVMBuildStore(gallivm->builder, value, mask->var); -@@ -181,7 +182,7 @@ lp_build_mask_begin(struct lp_build_mask_context *mask, - LLVMValueRef - lp_build_mask_value(struct lp_build_mask_context *mask) - { -- return LLVMBuildLoad(mask->skip.gallivm->builder, mask->var, ""); -+ return LLVMBuildLoad2(mask->skip.gallivm->builder, mask->var_type, mask->var, ""); - } - - -@@ -233,7 +234,8 @@ lp_build_loop_begin(struct lp_build_loop_state *state, - - state->block = lp_build_insert_new_block(gallivm, "loop_begin"); - -- state->counter_var = lp_build_alloca(gallivm, LLVMTypeOf(start), "loop_counter"); -+ state->counter_type = LLVMTypeOf(start); -+ state->counter_var = lp_build_alloca(gallivm, state->counter_type, "loop_counter"); - state->gallivm = gallivm; - - LLVMBuildStore(builder, start, state->counter_var); -@@ -242,7 +244,7 @@ lp_build_loop_begin(struct lp_build_loop_state *state, - - LLVMPositionBuilderAtEnd(builder, state->block); - -- state->counter = LLVMBuildLoad(builder, state->counter_var, ""); -+ state->counter = LLVMBuildLoad2(builder, state->counter_type, state->counter_var, ""); - } - - -@@ -272,7 +274,7 @@ lp_build_loop_end_cond(struct lp_build_loop_state *state, - - LLVMPositionBuilderAtEnd(builder, after_block); - -- state->counter = LLVMBuildLoad(builder, state->counter_var, ""); -+ state->counter = LLVMBuildLoad2(builder, state->counter_type, state->counter_var, ""); - } - - void -@@ -287,7 +289,7 @@ void - lp_build_loop_force_reload_counter(struct lp_build_loop_state *state) - { - LLVMBuilderRef builder = state->gallivm->builder; -- state->counter = LLVMBuildLoad(builder, state->counter_var, ""); -+ state->counter = LLVMBuildLoad2(builder, state->counter_type, state->counter_var, ""); - } - - void -@@ -324,7 +326,8 @@ lp_build_for_loop_begin(struct lp_build_for_loop_state *state, - - state->begin = lp_build_insert_new_block(gallivm, "loop_begin"); - state->step = step; -- state->counter_var = lp_build_alloca(gallivm, LLVMTypeOf(start), "loop_counter"); -+ state->counter_type = LLVMTypeOf(start); -+ state->counter_var = lp_build_alloca(gallivm, state->counter_type, "loop_counter"); - state->gallivm = gallivm; - state->cond = cmp_op; - state->end = end; -@@ -333,7 +336,7 @@ lp_build_for_loop_begin(struct lp_build_for_loop_state *state, - LLVMBuildBr(builder, state->begin); - - LLVMPositionBuilderAtEnd(builder, state->begin); -- state->counter = LLVMBuildLoad(builder, state->counter_var, ""); -+ state->counter = LLVMBuildLoad2(builder, state->counter_type, state->counter_var, ""); - - state->body = lp_build_insert_new_block(gallivm, "loop_body"); - LLVMPositionBuilderAtEnd(builder, state->body); -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_flow.h b/src/gallium/auxiliary/gallivm/lp_bld_flow.h -index c4ffa833e2add..c79502af5c4de 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_flow.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_flow.h -@@ -73,7 +73,8 @@ struct lp_build_mask_context - struct lp_build_skip_context skip; - - LLVMTypeRef reg_type; -- -+ LLVMTypeRef var_type; -+ /* 'var' is a pointer (alloca) pointing to 'var_type' */ - LLVMValueRef var; - }; - -@@ -107,7 +108,7 @@ lp_build_mask_end(struct lp_build_mask_context *mask); - - /** - * LLVM's IR doesn't represent for-loops directly. Furthermore it -- * it requires creating code blocks, branches, phi variables, so it -+ * requires creating code blocks, branches, phi variables, so it - * requires a fair amount of code. - * - * @sa http://www.llvm.org/docs/tutorial/LangImpl5.html#for -@@ -117,6 +118,7 @@ struct lp_build_loop_state - LLVMBasicBlockRef block; - LLVMValueRef counter_var; - LLVMValueRef counter; -+ LLVMTypeRef counter_type; - struct gallivm_state *gallivm; - }; - -@@ -154,6 +156,7 @@ struct lp_build_for_loop_state - LLVMBasicBlockRef exit; - LLVMValueRef counter_var; - LLVMValueRef counter; -+ LLVMTypeRef counter_type; - LLVMValueRef step; - LLVMIntPredicate cond; - LLVMValueRef end; --- -GitLab - - -From 84ba15ac06285b5851e4363837ba57380c12d07a Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:56:33 +0300 -Subject: [PATCH 12/22] gallivm: use LLVM opaque pointers in lp_bld_intr.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_intr.c | 50 ++++++++++++--------- - src/gallium/auxiliary/gallivm/lp_bld_intr.h | 5 +++ - 2 files changed, 34 insertions(+), 21 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_intr.c b/src/gallium/auxiliary/gallivm/lp_bld_intr.c -index 2ce723c7e5ddc..99f5c77c4f03a 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_intr.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_intr.c -@@ -103,19 +103,13 @@ lp_format_intrinsic(char *name, - - - LLVMValueRef --lp_declare_intrinsic(LLVMModuleRef module, -- const char *name, -- LLVMTypeRef ret_type, -- LLVMTypeRef *arg_types, -- unsigned num_args) -+lp_declare_intrinsic_with_type(LLVMModuleRef module, -+ const char *name, -+ LLVMTypeRef function_type) - { -- LLVMTypeRef function_type; -- LLVMValueRef function; -- - assert(!LLVMGetNamedFunction(module, name)); - -- function_type = LLVMFunctionType(ret_type, arg_types, num_args, 0); -- function = LLVMAddFunction(module, name, function_type); -+ LLVMValueRef function = LLVMAddFunction(module, name, function_type); - - LLVMSetFunctionCallConv(function, LLVMCCallConv); - LLVMSetLinkage(function, LLVMExternalLinkage); -@@ -126,6 +120,18 @@ lp_declare_intrinsic(LLVMModuleRef module, - } - - -+LLVMValueRef -+lp_declare_intrinsic(LLVMModuleRef module, -+ const char *name, -+ LLVMTypeRef ret_type, -+ LLVMTypeRef *arg_types, -+ unsigned num_args) -+{ -+ LLVMTypeRef function_type = LLVMFunctionType(ret_type, arg_types, num_args, 0); -+ return lp_declare_intrinsic_with_type(module, name, function_type); -+} -+ -+ - #if LLVM_VERSION_MAJOR < 4 - static LLVMAttribute lp_attr_to_llvm_attr(enum lp_func_attr attr) - { -@@ -232,19 +238,21 @@ lp_build_intrinsic(LLVMBuilderRef builder, - bool set_callsite_attrs = LLVM_VERSION_MAJOR >= 4 && - !(attr_mask & LP_FUNC_ATTR_LEGACY); - -- function = LLVMGetNamedFunction(module, name); -- if(!function) { -- LLVMTypeRef arg_types[LP_MAX_FUNC_ARGS]; -- unsigned i; -+ LLVMTypeRef arg_types[LP_MAX_FUNC_ARGS]; -+ -+ assert(num_args <= LP_MAX_FUNC_ARGS); - -- assert(num_args <= LP_MAX_FUNC_ARGS); -+ for(unsigned i = 0; i < num_args; ++i) { -+ assert(args[i]); -+ arg_types[i] = LLVMTypeOf(args[i]); -+ } - -- for(i = 0; i < num_args; ++i) { -- assert(args[i]); -- arg_types[i] = LLVMTypeOf(args[i]); -- } -+ LLVMTypeRef function_type = LLVMFunctionType(ret_type, arg_types, num_args, 0); - -- function = lp_declare_intrinsic(module, name, ret_type, arg_types, num_args); -+ function = LLVMGetNamedFunction(module, name); -+ -+ if(!function) { -+ function = lp_declare_intrinsic_with_type(module, name, function_type); - - /* - * If llvm removes an intrinsic we use, we'll hit this abort (rather -@@ -265,7 +273,7 @@ lp_build_intrinsic(LLVMBuilderRef builder, - } - } - -- call = LLVMBuildCall(builder, function, args, num_args, ""); -+ call = LLVMBuildCall2(builder, function_type, function, args, num_args, ""); - if (set_callsite_attrs) - lp_add_func_attributes(call, attr_mask); - return call; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_intr.h b/src/gallium/auxiliary/gallivm/lp_bld_intr.h -index ed90979f16fbb..98dfb0d0cb31d 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_intr.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_intr.h -@@ -78,6 +78,11 @@ lp_declare_intrinsic(LLVMModuleRef module, - LLVMTypeRef *arg_types, - unsigned num_args); - -+LLVMValueRef -+lp_declare_intrinsic_with_type(LLVMModuleRef module, -+ const char *name, -+ LLVMTypeRef function_type); -+ - void - lp_add_function_attr(LLVMValueRef function_or_call, - int attr_idx, enum lp_func_attr attr); --- -GitLab - - -From 61da78c31109a44b503c9350794d471a3acc7c7f Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 15:59:55 +0300 -Subject: [PATCH 13/22] gallivm: use LLVM opaque pointers in - lp_bld_format_s3tc.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - .../auxiliary/gallivm/lp_bld_format_s3tc.c | 39 +++++++------------ - 1 file changed, 15 insertions(+), 24 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -index 497d403fad372..8f972b840fa66 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -@@ -1097,13 +1097,12 @@ lp_build_gather_s3tc_simple_scalar(struct gallivm_state *gallivm, - LLVMValueRef elem, shuf; - LLVMTypeRef type32 = LLVMIntTypeInContext(gallivm->context, 32); - LLVMTypeRef src_type = LLVMIntTypeInContext(gallivm->context, block_bits); -- LLVMTypeRef src_ptr_type = LLVMPointerType(src_type, 0); - LLVMTypeRef type32_4 = LLVMVectorType(type32, 4); - - assert(block_bits == 64 || block_bits == 128); - -- ptr = LLVMBuildBitCast(builder, ptr, src_ptr_type, ""); -- elem = LLVMBuildLoad(builder, ptr, ""); -+ ptr = LLVMBuildBitCast(builder, ptr, LLVMPointerType(src_type, 0), ""); -+ elem = LLVMBuildLoad2(builder, src_type, ptr, ""); - - if (block_bits == 128) { - /* just return block as is */ -@@ -1139,15 +1138,13 @@ s3tc_store_cached_block(struct gallivm_state *gallivm, - LLVMBuildStore(builder, tag_value, ptr); - - indices[1] = lp_build_const_int32(gallivm, LP_BUILD_FORMAT_CACHE_MEMBER_DATA); -- hash_index = LLVMBuildMul(builder, hash_index, -- lp_build_const_int32(gallivm, 16), ""); -+ hash_index = LLVMBuildMul(builder, hash_index, lp_build_const_int32(gallivm, 16), ""); - for (count = 0; count < 4; count++) { - indices[2] = hash_index; - ptr = LLVMBuildGEP(builder, cache, indices, ARRAY_SIZE(indices), ""); - ptr = LLVMBuildBitCast(builder, ptr, type_ptr4x32, ""); - LLVMBuildStore(builder, col[count], ptr); -- hash_index = LLVMBuildAdd(builder, hash_index, -- lp_build_const_int32(gallivm, 4), ""); -+ hash_index = LLVMBuildAdd(builder, hash_index, lp_build_const_int32(gallivm, 4), ""); - } - } - -@@ -1177,8 +1174,9 @@ s3tc_lookup_tag_data(struct gallivm_state *gallivm, - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, LP_BUILD_FORMAT_CACHE_MEMBER_TAGS); - indices[2] = index; -+ LLVMTypeRef tag_type = LLVMInt64TypeInContext(gallivm->context); - member_ptr = LLVMBuildGEP(builder, ptr, indices, ARRAY_SIZE(indices), ""); -- return LLVMBuildLoad(builder, member_ptr, "tag_data"); -+ return LLVMBuildLoad2(builder, tag_type, member_ptr, "tag_data"); - } - - #if LP_BUILD_FORMAT_CACHE_DEBUG -@@ -1996,24 +1994,17 @@ update_cached_block(struct gallivm_state *gallivm, - format_desc->short_name); - function = LLVMGetNamedFunction(module, name); - -- if (!function) { -- LLVMTypeRef ret_type; -- LLVMTypeRef arg_types[3]; -- LLVMTypeRef function_type; -- unsigned arg; -+ LLVMTypeRef ret_type = LLVMVoidTypeInContext(gallivm->context); -+ LLVMTypeRef arg_types[3]; -+ arg_types[0] = pi8t; -+ arg_types[1] = LLVMInt32TypeInContext(gallivm->context); -+ arg_types[2] = LLVMTypeOf(cache); // XXX: put right type here -+ LLVMTypeRef function_type = LLVMFunctionType(ret_type, arg_types, ARRAY_SIZE(arg_types), 0); - -- /* -- * Generate the function prototype. -- */ -- -- ret_type = LLVMVoidTypeInContext(gallivm->context); -- arg_types[0] = pi8t; -- arg_types[1] = LLVMInt32TypeInContext(gallivm->context); -- arg_types[2] = LLVMTypeOf(cache); // XXX: put right type here -- function_type = LLVMFunctionType(ret_type, arg_types, ARRAY_SIZE(arg_types), 0); -+ if (!function) { - function = LLVMAddFunction(module, name, function_type); - -- for (arg = 0; arg < ARRAY_SIZE(arg_types); ++arg) -+ for (unsigned arg = 0; arg < ARRAY_SIZE(arg_types); ++arg) - if (LLVMGetTypeKind(arg_types[arg]) == LLVMPointerTypeKind) - lp_add_function_attr(function, arg + 1, LP_FUNC_ATTR_NOALIAS); - -@@ -2026,7 +2017,7 @@ update_cached_block(struct gallivm_state *gallivm, - args[1] = hash_index; - args[2] = cache; - -- LLVMBuildCall(builder, function, args, ARRAY_SIZE(args), ""); -+ LLVMBuildCall2(builder, function_type, function, args, ARRAY_SIZE(args), ""); - bb = LLVMGetInsertBlock(builder); - inst = LLVMGetLastInstruction(bb); - LLVMSetInstructionCallConv(inst, LLVMFastCallConv); --- -GitLab - - -From 36c45736ce03c7e66c8fe5422d0df49b5954a213 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:01:52 +0300 -Subject: [PATCH 14/22] gallivm: use LLVM opaque pointers in lp_bld_gather.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_gather.c | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_gather.c b/src/gallium/auxiliary/gallivm/lp_bld_gather.c -index 42cc17371a0db..2f2506803cf9a 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_gather.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.c -@@ -55,7 +55,8 @@ lp_build_gather_elem_ptr(struct gallivm_state *gallivm, - LLVMValueRef offset; - LLVMValueRef ptr; - -- assert(LLVMTypeOf(base_ptr) == LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0)); -+ ASSERTED LLVMTypeRef element_type = LLVMInt8TypeInContext(gallivm->context); -+ assert(LLVMTypeOf(base_ptr) == LLVMPointerType(element_type, 0)); - - if (length == 1) { - assert(i == 0); -@@ -65,7 +66,7 @@ lp_build_gather_elem_ptr(struct gallivm_state *gallivm, - offset = LLVMBuildExtractElement(gallivm->builder, offsets, index, ""); - } - -- ptr = LLVMBuildGEP(gallivm->builder, base_ptr, &offset, 1, ""); -+ ptr = LLVMBuildGEP2(gallivm->builder, element_type, base_ptr, &offset, 1, ""); - - return ptr; - } -@@ -88,7 +89,6 @@ lp_build_gather_elem(struct gallivm_state *gallivm, - boolean vector_justify) - { - LLVMTypeRef src_type = LLVMIntTypeInContext(gallivm->context, src_width); -- LLVMTypeRef src_ptr_type = LLVMPointerType(src_type, 0); - LLVMTypeRef dst_elem_type = LLVMIntTypeInContext(gallivm->context, dst_width); - LLVMValueRef ptr; - LLVMValueRef res; -@@ -96,8 +96,8 @@ lp_build_gather_elem(struct gallivm_state *gallivm, - assert(LLVMTypeOf(base_ptr) == LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0)); - - ptr = lp_build_gather_elem_ptr(gallivm, length, base_ptr, offsets, i); -- ptr = LLVMBuildBitCast(gallivm->builder, ptr, src_ptr_type, ""); -- res = LLVMBuildLoad(gallivm->builder, ptr, ""); -+ ptr = LLVMBuildBitCast(gallivm->builder, ptr, LLVMPointerType(src_type, 0), ""); -+ res = LLVMBuildLoad2(gallivm->builder, src_type, ptr, ""); - - /* XXX - * On some archs we probably really want to avoid having to deal -@@ -173,12 +173,11 @@ lp_build_gather_elem_vec(struct gallivm_state *gallivm, - boolean vector_justify) - { - LLVMValueRef ptr, res; -- LLVMTypeRef src_ptr_type = LLVMPointerType(src_type, 0); - assert(LLVMTypeOf(base_ptr) == LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0)); - - ptr = lp_build_gather_elem_ptr(gallivm, length, base_ptr, offsets, i); -- ptr = LLVMBuildBitCast(gallivm->builder, ptr, src_ptr_type, ""); -- res = LLVMBuildLoad(gallivm->builder, ptr, ""); -+ ptr = LLVMBuildBitCast(gallivm->builder, ptr, LLVMPointerType(src_type, 0), ""); -+ res = LLVMBuildLoad2(gallivm->builder, src_type, ptr, ""); - - /* XXX - * On some archs we probably really want to avoid having to deal -@@ -324,7 +323,7 @@ lp_build_gather_avx2(struct gallivm_state *gallivm, - assert(LLVMTypeOf(offsets) == i32_vec_type); - offsets = LLVMBuildSDiv(builder, offsets, scale, ""); - -- src_ptr = LLVMBuildGEP(builder, base_ptr, &offsets, 1, "vector-gep"); -+ src_ptr = LLVMBuildGEP2(builder, src_type, base_ptr, &offsets, 1, "vector-gep"); - - char intrinsic[64]; - snprintf(intrinsic, sizeof intrinsic, "llvm.masked.gather.v%u%s%u", --- -GitLab - - -From 2a59fdb96d5a7bfe8c10b6ce7eec621480abd092 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:03:36 +0300 -Subject: [PATCH 15/22] gallivm: use LLVM opaque pointers in lp_bld_nir_soa.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - .../auxiliary/gallivm/lp_bld_nir_soa.c | 89 ++++++++++--------- - 1 file changed, 45 insertions(+), 44 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -index 5a8fd02561bfb..e31faf577077b 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -@@ -282,8 +282,8 @@ build_gather(struct lp_build_nir_context *bld_base, - index = LLVMBuildExtractElement(builder, - indexes, si, ""); - } -- scalar_ptr = LLVMBuildGEP(builder, base_ptr, -- &index, 1, "gather_ptr"); -+ -+ scalar_ptr = LLVMBuildGEP(builder, base_ptr, &index, 1, "gather_ptr"); - scalar = LLVMBuildLoad(builder, scalar_ptr, ""); - - res = LLVMBuildInsertElement(builder, res, scalar, di, ""); -@@ -324,8 +324,8 @@ emit_mask_scatter(struct lp_build_nir_soa_context *bld, - for (i = 0; i < bld->bld_base.base.type.length; i++) { - LLVMValueRef ii = lp_build_const_int32(gallivm, i); - LLVMValueRef index = LLVMBuildExtractElement(builder, indexes, ii, ""); -- LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, base_ptr, &index, 1, "scatter_ptr"); - LLVMValueRef val = LLVMBuildExtractElement(builder, values, ii, "scatter_val"); -+ LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, base_ptr, &index, 1, "scatter_ptr"); - LLVMValueRef scalar_pred = pred ? - LLVMBuildExtractElement(builder, pred, ii, "scatter_pred") : NULL; - -@@ -335,7 +335,7 @@ emit_mask_scatter(struct lp_build_nir_soa_context *bld, - - if (scalar_pred) { - LLVMValueRef real_val, dst_val; -- dst_val = LLVMBuildLoad(builder, scalar_ptr, ""); -+ dst_val = LLVMBuildLoad2(builder, LLVMTypeOf(val), scalar_ptr, ""); - scalar_pred = LLVMBuildTrunc(builder, scalar_pred, LLVMInt1TypeInContext(gallivm->context), ""); - real_val = LLVMBuildSelect(builder, scalar_pred, val, dst_val, ""); - LLVMBuildStore(builder, real_val, scalar_ptr); -@@ -862,13 +862,13 @@ static void emit_load_global(struct lp_build_nir_context *bld_base, - LLVMValueRef value_ptr = lp_build_pointer_get(builder, addr_ptr, lp_build_const_int32(gallivm, c)); - - LLVMValueRef temp_res; -- temp_res = LLVMBuildLoad(builder, result, ""); -+ temp_res = LLVMBuildLoad2(builder, res_bld->vec_type, result, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, value_ptr, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, result); - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, uint_bld->type.length), - NULL, LLVMIntUGE); -- outval[c] = LLVMBuildLoad(builder, result, ""); -+ outval[c] = LLVMBuildLoad2(builder, res_bld->vec_type, result, ""); - } - } - -@@ -1007,11 +1007,11 @@ static void emit_atomic_global(struct lp_build_nir_context *bld_base, - LLVMAtomicOrderingSequentiallyConsistent, - false); - } -- temp_res = LLVMBuildLoad(builder, atom_res, ""); -+ temp_res = LLVMBuildLoad2(builder, LLVMTypeOf(val), atom_res, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, scalar, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, atom_res); - lp_build_else(&ifthen); -- temp_res = LLVMBuildLoad(builder, atom_res, ""); -+ temp_res = LLVMBuildLoad2(builder, LLVMTypeOf(val), atom_res, ""); - bool is_float = LLVMTypeOf(val) == bld_base->base.vec_type; - LLVMValueRef zero_val; - if (is_float) { -@@ -1031,7 +1031,7 @@ static void emit_atomic_global(struct lp_build_nir_context *bld_base, - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, uint_bld->type.length), - NULL, LLVMIntUGE); -- *result = LLVMBuildLoad(builder, atom_res, ""); -+ *result = LLVMBuildLoad2(builder, LLVMTypeOf(val), atom_res, ""); - } - - static void emit_load_ubo(struct lp_build_nir_context *bld_base, -@@ -1135,7 +1135,7 @@ mem_access_base_pointer(struct lp_build_nir_context *bld_base, - *bounds = NULL; - } - -- /* Cast it to the pointer type of the access this instruciton is doing. */ -+ /* Cast it to the pointer type of the access this instruction is doing. */ - if (bit_size == 32) - return ptr; - else -@@ -1187,7 +1187,7 @@ static void emit_load_mem(struct lp_build_nir_context *bld_base, - LLVMBuildStore(builder, lp_build_pointer_get(builder, mem_ptr, chan_offset), res_store); - lp_build_endif(&ifthen); - -- scalar = LLVMBuildLoad(builder, res_store, ""); -+ scalar = LLVMBuildLoad2(builder, LLVMTypeOf(zero), res_store, ""); - } else { - scalar = lp_build_pointer_get(builder, mem_ptr, chan_offset); - } -@@ -1233,11 +1233,11 @@ static void emit_load_mem(struct lp_build_nir_context *bld_base, - lp_build_if(&ifthen, gallivm, fetch_cond); - LLVMValueRef scalar = lp_build_pointer_get(builder, mem_ptr, loop_index); - -- temp_res = LLVMBuildLoad(builder, result[c], ""); -+ temp_res = LLVMBuildLoad2(builder, load_bld->vec_type, result[c], ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, scalar, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, result[c]); - lp_build_else(&ifthen); -- temp_res = LLVMBuildLoad(builder, result[c], ""); -+ temp_res = LLVMBuildLoad2(builder, load_bld->vec_type, result[c], ""); - LLVMValueRef zero = lp_build_zero_bits(gallivm, bit_size); - temp_res = LLVMBuildInsertElement(builder, temp_res, zero, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, result[c]); -@@ -1248,7 +1248,7 @@ static void emit_load_mem(struct lp_build_nir_context *bld_base, - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, uint_bld->type.length), - NULL, LLVMIntUGE); - for (unsigned c = 0; c < nc; c++) -- outval[c] = LLVMBuildLoad(gallivm->builder, result[c], ""); -+ outval[c] = LLVMBuildLoad2(gallivm->builder, load_bld->vec_type, result[c], ""); - - } - -@@ -1356,7 +1356,7 @@ static void emit_atomic_mem(struct lp_build_nir_context *bld_base, - loop_state.counter, ""); - value_ptr = LLVMBuildBitCast(gallivm->builder, value_ptr, atomic_bld->elem_type, ""); - -- LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, mem_ptr, &loop_offset, 1, ""); -+ LLVMValueRef scalar_ptr = LLVMBuildGEP2(builder, atomic_bld->elem_type, mem_ptr, &loop_offset, 1, ""); - - struct lp_build_if_state ifthen; - LLVMValueRef inner_cond, temp_res; -@@ -1423,11 +1423,11 @@ static void emit_atomic_mem(struct lp_build_nir_context *bld_base, - LLVMAtomicOrderingSequentiallyConsistent, - false); - } -- temp_res = LLVMBuildLoad(builder, atom_res, ""); -+ temp_res = LLVMBuildLoad2(builder, atomic_bld->vec_type, atom_res, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, scalar, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, atom_res); - lp_build_else(&ifthen); -- temp_res = LLVMBuildLoad(builder, atom_res, ""); -+ temp_res = LLVMBuildLoad2(builder, atomic_bld->vec_type, atom_res, ""); - LLVMValueRef zero = lp_build_zero_bits(gallivm, bit_size); - temp_res = LLVMBuildInsertElement(builder, temp_res, zero, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, atom_res); -@@ -1436,7 +1436,7 @@ static void emit_atomic_mem(struct lp_build_nir_context *bld_base, - lp_build_endif(&exec_ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, uint_bld->type.length), - NULL, LLVMIntUGE); -- *result = LLVMBuildLoad(builder, atom_res, ""); -+ *result = LLVMBuildLoad2(builder, atomic_bld->vec_type, atom_res, ""); - } - - static void emit_barrier(struct lp_build_nir_context *bld_base) -@@ -1614,7 +1614,7 @@ static void emit_tex(struct lp_build_nir_context *bld_base, - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, bld_base->uint_bld.type.length), - NULL, LLVMIntUGE); -- LLVMValueRef idx_val = LLVMBuildLoad(builder, res_store, ""); -+ LLVMValueRef idx_val = LLVMBuildLoad2(builder, bld_base->uint_bld.elem_type, res_store, ""); - params->texture_index_offset = idx_val; - } - -@@ -1856,7 +1856,7 @@ increment_vec_ptr_by_mask(struct lp_build_nir_context * bld_base, - LLVMValueRef mask) - { - LLVMBuilderRef builder = bld_base->base.gallivm->builder; -- LLVMValueRef current_vec = LLVMBuildLoad(builder, ptr, ""); -+ LLVMValueRef current_vec = LLVMBuildLoad2(builder, LLVMTypeOf(mask), ptr, ""); - - current_vec = LLVMBuildSub(builder, current_vec, mask, ""); - -@@ -1869,7 +1869,7 @@ clear_uint_vec_ptr_from_mask(struct lp_build_nir_context * bld_base, - LLVMValueRef mask) - { - LLVMBuilderRef builder = bld_base->base.gallivm->builder; -- LLVMValueRef current_vec = LLVMBuildLoad(builder, ptr, ""); -+ LLVMValueRef current_vec = LLVMBuildLoad2(builder, bld_base->uint_bld.vec_type, ptr, ""); - - current_vec = lp_build_select(&bld_base->uint_bld, - mask, -@@ -1902,7 +1902,7 @@ static void emit_vertex(struct lp_build_nir_context *bld_base, uint32_t stream_i - return; - assert(bld->gs_iface->emit_vertex); - LLVMValueRef total_emitted_vertices_vec = -- LLVMBuildLoad(builder, bld->total_emitted_vertices_vec_ptr[stream_id], ""); -+ LLVMBuildLoad2(builder, bld->bld_base.uint_bld.vec_type, bld->total_emitted_vertices_vec_ptr[stream_id], ""); - LLVMValueRef mask = mask_vec(bld_base); - mask = clamp_mask_to_max_output_vertices(bld, mask, - total_emitted_vertices_vec); -@@ -1929,11 +1929,11 @@ end_primitive_masked(struct lp_build_nir_context * bld_base, - return; - struct lp_build_context *uint_bld = &bld_base->uint_bld; - LLVMValueRef emitted_vertices_vec = -- LLVMBuildLoad(builder, bld->emitted_vertices_vec_ptr[stream_id], ""); -+ LLVMBuildLoad2(builder, bld->bld_base.uint_bld.vec_type, bld->emitted_vertices_vec_ptr[stream_id], ""); - LLVMValueRef emitted_prims_vec = -- LLVMBuildLoad(builder, bld->emitted_prims_vec_ptr[stream_id], ""); -+ LLVMBuildLoad2(builder, bld->bld_base.uint_bld.vec_type, bld->emitted_prims_vec_ptr[stream_id], ""); - LLVMValueRef total_emitted_vertices_vec = -- LLVMBuildLoad(builder, bld->total_emitted_vertices_vec_ptr[stream_id], ""); -+ LLVMBuildLoad2(builder, bld->bld_base.uint_bld.vec_type, bld->total_emitted_vertices_vec_ptr[stream_id], ""); - - LLVMValueRef emitted_mask = lp_build_cmp(uint_bld, - PIPE_FUNC_NOTEQUAL, -@@ -1977,8 +1977,7 @@ emit_prologue(struct lp_build_nir_soa_context *bld) - LLVMValueRef lindex = - lp_build_const_int32(gallivm, index * 4 + chan); - LLVMValueRef input_ptr = -- LLVMBuildGEP(gallivm->builder, bld->inputs_array, -- &lindex, 1, ""); -+ LLVMBuildGEP2(gallivm->builder, vec_type, bld->inputs_array, &lindex, 1, ""); - LLVMValueRef value = bld->inputs[index][chan]; - if (value) - LLVMBuildStore(gallivm->builder, value, input_ptr); -@@ -2015,7 +2014,7 @@ static void emit_vote(struct lp_build_nir_context *bld_base, LLVMValueRef src, - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, bld_base->uint_bld.type.length), - NULL, LLVMIntUGE); -- init_val = LLVMBuildLoad(builder, eq_store, ""); -+ init_val = LLVMBuildLoad2(builder, get_int_bld(bld_base, true, bit_size)->elem_type, eq_store, ""); - } else { - LLVMBuildStore(builder, lp_build_const_int32(gallivm, instr->intrinsic == nir_intrinsic_vote_any ? 0 : -1), res_store); - } -@@ -2029,7 +2028,7 @@ static void emit_vote(struct lp_build_nir_context *bld_base, LLVMValueRef src, - if_cond = LLVMBuildExtractElement(gallivm->builder, outer_cond, loop_state.counter, ""); - - lp_build_if(&ifthen, gallivm, if_cond); -- res = LLVMBuildLoad(builder, res_store, ""); -+ res = LLVMBuildLoad2(builder, bld_base->uint_bld.elem_type, res_store, ""); - - if (instr->intrinsic == nir_intrinsic_vote_feq) { - struct lp_build_context *flt_bld = get_flt_bld(bld_base, bit_size); -@@ -2050,7 +2049,8 @@ static void emit_vote(struct lp_build_nir_context *bld_base, LLVMValueRef src, - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, bld_base->uint_bld.type.length), - NULL, LLVMIntUGE); -- result[0] = lp_build_broadcast_scalar(&bld_base->uint_bld, LLVMBuildLoad(builder, res_store, "")); -+ result[0] = lp_build_broadcast_scalar(&bld_base->uint_bld, -+ LLVMBuildLoad2(builder, bld_base->uint_bld.elem_type, res_store, "")); - } - - static void emit_ballot(struct lp_build_nir_context *bld_base, LLVMValueRef src, nir_intrinsic_instr *instr, LLVMValueRef result[4]) -@@ -2065,7 +2065,7 @@ static void emit_ballot(struct lp_build_nir_context *bld_base, LLVMValueRef src, - lp_build_loop_begin(&loop_state, gallivm, lp_build_const_int32(gallivm, 0)); - LLVMValueRef value_ptr = LLVMBuildExtractElement(gallivm->builder, src, - loop_state.counter, ""); -- res = LLVMBuildLoad(builder, res_store, ""); -+ res = LLVMBuildLoad2(builder, bld_base->int_bld.elem_type, res_store, ""); - res = LLVMBuildOr(builder, - res, - LLVMBuildAnd(builder, value_ptr, LLVMBuildShl(builder, lp_build_const_int32(gallivm, 1), loop_state.counter, ""), ""), ""); -@@ -2073,7 +2073,8 @@ static void emit_ballot(struct lp_build_nir_context *bld_base, LLVMValueRef src, - - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, bld_base->uint_bld.type.length), - NULL, LLVMIntUGE); -- result[0] = lp_build_broadcast_scalar(&bld_base->uint_bld, LLVMBuildLoad(builder, res_store, "")); -+ result[0] = lp_build_broadcast_scalar(&bld_base->uint_bld, -+ LLVMBuildLoad2(builder, bld_base->int_bld.elem_type, res_store, "")); - } - - static void emit_elect(struct lp_build_nir_context *bld_base, LLVMValueRef result[4]) -@@ -2094,7 +2095,7 @@ static void emit_elect(struct lp_build_nir_context *bld_base, LLVMValueRef resul - lp_build_const_int32(gallivm, -1), ""); - LLVMValueRef cond2 = LLVMBuildICmp(gallivm->builder, - LLVMIntEQ, -- LLVMBuildLoad(builder, found_store, ""), -+ LLVMBuildLoad2(builder, bld_base->int_bld.elem_type, found_store, ""), - lp_build_const_int32(gallivm, 0), ""); - - cond = LLVMBuildAnd(builder, cond, cond2, ""); -@@ -2108,7 +2109,7 @@ static void emit_elect(struct lp_build_nir_context *bld_base, LLVMValueRef resul - - result[0] = LLVMBuildInsertElement(builder, bld_base->uint_bld.zero, - lp_build_const_int32(gallivm, -1), -- LLVMBuildLoad(builder, idx_store, ""), -+ LLVMBuildLoad2(builder, bld_base->int_bld.elem_type, idx_store, ""), - ""); - } - -@@ -2316,9 +2317,9 @@ static void emit_reduce(struct lp_build_nir_context *bld_base, LLVMValueRef src, - LLVMValueRef value = LLVMBuildExtractElement(gallivm->builder, src, loop_state.counter, ""); - - LLVMValueRef res = NULL; -- LLVMValueRef scan_val = LLVMBuildLoad(gallivm->builder, scan_store, ""); -+ LLVMValueRef scan_val = LLVMBuildLoad2(gallivm->builder, int_bld->elem_type, scan_store, ""); - if (instr->intrinsic != nir_intrinsic_reduce) -- res = LLVMBuildLoad(gallivm->builder, res_store, ""); -+ res = LLVMBuildLoad2(gallivm->builder, int_bld->vec_type, res_store, ""); - - if (instr->intrinsic == nir_intrinsic_exclusive_scan) - res = LLVMBuildInsertElement(builder, res, scan_val, loop_state.counter, ""); -@@ -2374,9 +2375,9 @@ static void emit_reduce(struct lp_build_nir_context *bld_base, LLVMValueRef src, - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, bld_base->uint_bld.type.length), - NULL, LLVMIntUGE); - if (instr->intrinsic == nir_intrinsic_reduce) -- result[0] = lp_build_broadcast_scalar(int_bld, LLVMBuildLoad(builder, scan_store, "")); -+ result[0] = lp_build_broadcast_scalar(int_bld, LLVMBuildLoad2(builder, int_bld->elem_type, scan_store, "")); - else -- result[0] = LLVMBuildLoad(builder, res_store, ""); -+ result[0] = LLVMBuildLoad2(builder, int_bld->vec_type, res_store, ""); - } - - static void emit_read_invocation(struct lp_build_nir_context *bld_base, -@@ -2409,7 +2410,7 @@ static void emit_read_invocation(struct lp_build_nir_context *bld_base, - - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, -1), - lp_build_const_int32(gallivm, -1), LLVMIntEQ); -- idx = LLVMBuildLoad(builder, res_store, ""); -+ idx = LLVMBuildLoad2(builder, bld_base->int_bld.elem_type, res_store, ""); - - LLVMValueRef value = LLVMBuildExtractElement(gallivm->builder, - src, idx, ""); -@@ -2492,18 +2493,18 @@ emit_load_scratch(struct lp_build_nir_context *bld_base, - LLVMValueRef ptr2 = LLVMBuildBitCast(builder, bld->scratch_ptr, LLVMPointerType(load_bld->elem_type, 0), ""); - scalar = lp_build_pointer_get(builder, ptr2, loop_index); - -- temp_res = LLVMBuildLoad(builder, result, ""); -+ temp_res = LLVMBuildLoad2(builder, load_bld->vec_type, result, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, scalar, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, result); - lp_build_else(&ifthen); -- temp_res = LLVMBuildLoad(builder, result, ""); -+ temp_res = LLVMBuildLoad2(builder, load_bld->vec_type, result, ""); - LLVMValueRef zero = lp_build_zero_bits(gallivm, bit_size); - temp_res = LLVMBuildInsertElement(builder, temp_res, zero, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, result); - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, uint_bld->type.length), - NULL, LLVMIntUGE); -- outval[c] = LLVMBuildLoad(gallivm->builder, result, ""); -+ outval[c] = LLVMBuildLoad2(gallivm->builder, load_bld->vec_type, result, ""); - } - } - -@@ -2737,10 +2738,10 @@ void lp_build_nir_soa(struct gallivm_state *gallivm, - end_primitive_masked(&bld.bld_base, lp_build_mask_value(bld.mask), i); - - total_emitted_vertices_vec = -- LLVMBuildLoad(builder, bld.total_emitted_vertices_vec_ptr[i], ""); -+ LLVMBuildLoad2(builder, bld.bld_base.uint_bld.vec_type, bld.total_emitted_vertices_vec_ptr[i], ""); - - emitted_prims_vec = -- LLVMBuildLoad(builder, bld.emitted_prims_vec_ptr[i], ""); -+ LLVMBuildLoad2(builder, bld.bld_base.uint_bld.vec_type, bld.emitted_prims_vec_ptr[i], ""); - bld.gs_iface->gs_epilogue(bld.gs_iface, - total_emitted_vertices_vec, - emitted_prims_vec, i); --- -GitLab - - -From 12cac07fe6e02d4557f0b4843e7eb526dc2f2292 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:04:44 +0300 -Subject: [PATCH 16/22] gallivm: use LLVM opaque pointers in lp_bld_sample.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_sample.c | 49 ++++++++----------- - 1 file changed, 20 insertions(+), 29 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -index f04b692204fc7..97f9766798856 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -@@ -1163,6 +1163,16 @@ lp_build_linear_mip_levels(struct lp_build_sample_context *bld, - lp_build_name(*lod_fpart_inout, "texture%u_mipweight", texture_unit); - } - -+/** -+ * A helper function that factorizes this common pattern. -+ */ -+static LLVMValueRef -+load_mip(struct gallivm_state *gallivm, LLVMValueRef offsets, LLVMValueRef index1) { -+ LLVMValueRef zero = lp_build_const_int32(gallivm, 0); -+ LLVMValueRef indexes[2] = {zero, index1}; -+ LLVMValueRef ptr = LLVMBuildGEP(gallivm->builder, offsets, indexes, ARRAY_SIZE(indexes), ""); -+ return LLVMBuildLoad(gallivm->builder, ptr, ""); -+} - - /** - * Return pointer to a single mipmap level. -@@ -1172,14 +1182,9 @@ LLVMValueRef - lp_build_get_mipmap_level(struct lp_build_sample_context *bld, - LLVMValueRef level) - { -+ LLVMValueRef mip_offset = load_mip(bld->gallivm, bld->mip_offsets, level); - LLVMBuilderRef builder = bld->gallivm->builder; -- LLVMValueRef indexes[2], data_ptr, mip_offset; -- -- indexes[0] = lp_build_const_int32(bld->gallivm, 0); -- indexes[1] = level; -- mip_offset = LLVMBuildGEP(builder, bld->mip_offsets, indexes, 2, ""); -- mip_offset = LLVMBuildLoad(builder, mip_offset, ""); -- data_ptr = LLVMBuildGEP(builder, bld->base_ptr, &mip_offset, 1, ""); -+ LLVMValueRef data_ptr = LLVMBuildGEP(builder, bld->base_ptr, &mip_offset, 1, ""); - return data_ptr; - } - -@@ -1192,13 +1197,10 @@ lp_build_get_mip_offsets(struct lp_build_sample_context *bld, - LLVMValueRef level) - { - LLVMBuilderRef builder = bld->gallivm->builder; -- LLVMValueRef indexes[2], offsets, offset1; -+ LLVMValueRef offsets, offset1; - -- indexes[0] = lp_build_const_int32(bld->gallivm, 0); - if (bld->num_mips == 1) { -- indexes[1] = level; -- offset1 = LLVMBuildGEP(builder, bld->mip_offsets, indexes, 2, ""); -- offset1 = LLVMBuildLoad(builder, offset1, ""); -+ offset1 = load_mip(bld->gallivm, bld->mip_offsets, level); - offsets = lp_build_broadcast_scalar(&bld->int_coord_bld, offset1); - } - else if (bld->num_mips == bld->coord_bld.type.length / 4) { -@@ -1207,10 +1209,8 @@ lp_build_get_mip_offsets(struct lp_build_sample_context *bld, - offsets = bld->int_coord_bld.undef; - for (i = 0; i < bld->num_mips; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -+ offset1 = load_mip(bld->gallivm, bld->mip_offsets, LLVMBuildExtractElement(builder, level, indexi, "")); - LLVMValueRef indexo = lp_build_const_int32(bld->gallivm, 4 * i); -- indexes[1] = LLVMBuildExtractElement(builder, level, indexi, ""); -- offset1 = LLVMBuildGEP(builder, bld->mip_offsets, indexes, 2, ""); -- offset1 = LLVMBuildLoad(builder, offset1, ""); - offsets = LLVMBuildInsertElement(builder, offsets, offset1, indexo, ""); - } - offsets = lp_build_swizzle_scalar_aos(&bld->int_coord_bld, offsets, 0, 4); -@@ -1223,9 +1223,7 @@ lp_build_get_mip_offsets(struct lp_build_sample_context *bld, - offsets = bld->int_coord_bld.undef; - for (i = 0; i < bld->num_mips; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -- indexes[1] = LLVMBuildExtractElement(builder, level, indexi, ""); -- offset1 = LLVMBuildGEP(builder, bld->mip_offsets, indexes, 2, ""); -- offset1 = LLVMBuildLoad(builder, offset1, ""); -+ offset1 = load_mip(bld->gallivm, bld->mip_offsets, LLVMBuildExtractElement(builder, level, indexi, "")); - offsets = LLVMBuildInsertElement(builder, offsets, offset1, indexi, ""); - } - } -@@ -1310,12 +1308,9 @@ lp_build_get_level_stride_vec(struct lp_build_sample_context *bld, - LLVMValueRef stride_array, LLVMValueRef level) - { - LLVMBuilderRef builder = bld->gallivm->builder; -- LLVMValueRef indexes[2], stride, stride1; -- indexes[0] = lp_build_const_int32(bld->gallivm, 0); -+ LLVMValueRef stride, stride1; - if (bld->num_mips == 1) { -- indexes[1] = level; -- stride1 = LLVMBuildGEP(builder, stride_array, indexes, 2, ""); -- stride1 = LLVMBuildLoad(builder, stride1, ""); -+ stride1 = load_mip(bld->gallivm, stride_array, level); - stride = lp_build_broadcast_scalar(&bld->int_coord_bld, stride1); - } - else if (bld->num_mips == bld->coord_bld.type.length / 4) { -@@ -1325,10 +1320,8 @@ lp_build_get_level_stride_vec(struct lp_build_sample_context *bld, - stride = bld->int_coord_bld.undef; - for (i = 0; i < bld->num_mips; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -+ stride1 = load_mip(bld->gallivm, stride_array, LLVMBuildExtractElement(builder, level, indexi, "")); - LLVMValueRef indexo = lp_build_const_int32(bld->gallivm, 4 * i); -- indexes[1] = LLVMBuildExtractElement(builder, level, indexi, ""); -- stride1 = LLVMBuildGEP(builder, stride_array, indexes, 2, ""); -- stride1 = LLVMBuildLoad(builder, stride1, ""); - stride = LLVMBuildInsertElement(builder, stride, stride1, indexo, ""); - } - stride = lp_build_swizzle_scalar_aos(&bld->int_coord_bld, stride, 0, 4); -@@ -1342,9 +1335,7 @@ lp_build_get_level_stride_vec(struct lp_build_sample_context *bld, - stride = bld->int_coord_bld.undef; - for (i = 0; i < bld->coord_bld.type.length; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -- indexes[1] = LLVMBuildExtractElement(builder, level, indexi, ""); -- stride1 = LLVMBuildGEP(builder, stride_array, indexes, 2, ""); -- stride1 = LLVMBuildLoad(builder, stride1, ""); -+ stride1 = load_mip(bld->gallivm, stride_array, LLVMBuildExtractElement(builder, level, indexi, "")); - stride = LLVMBuildInsertElement(builder, stride, stride1, indexi, ""); - } - } --- -GitLab - - -From 1f636e7fb20292a1d377ea89404b8c10f5cf061e Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:06:06 +0300 -Subject: [PATCH 17/22] gallivm: use LLVM opaque pointers in - lp_bld_sample_soa.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - .../auxiliary/gallivm/lp_bld_sample_soa.c | 171 +++++++++--------- - 1 file changed, 86 insertions(+), 85 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -index 8417cdd79fc9d..09f6080fca223 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -@@ -1078,6 +1078,8 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld, - flt_size, - &flt_width_vec, &flt_height_vec, &flt_depth_vec); - -+ LLVMTypeRef int1t = LLVMInt1TypeInContext(bld->gallivm->context); -+ - /* - * Compute integer texcoords. - */ -@@ -1130,7 +1132,6 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld, - } - else { - struct lp_build_if_state edge_if; -- LLVMTypeRef int1t; - LLVMValueRef new_faces[4], new_xcoords[4][2], new_ycoords[4][2]; - LLVMValueRef coord0, coord1, have_edge, have_corner; - LLVMValueRef fall_off_ym_notxm, fall_off_ym_notxp, fall_off_x, fall_off_y; -@@ -1183,7 +1184,6 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld, - have_edge = lp_build_any_true_range(ivec_bld, ivec_bld->type.length, have_edge); - - /* needed for accurate corner filtering branch later, rely on 0 init */ -- int1t = LLVMInt1TypeInContext(bld->gallivm->context); - have_corners = lp_build_alloca(bld->gallivm, int1t, "have_corner"); - - for (texel_index = 0; texel_index < 4; texel_index++) { -@@ -1302,18 +1302,19 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld, - - lp_build_endif(&edge_if); - -- x00 = LLVMBuildLoad(builder, xs[0], ""); -- x01 = LLVMBuildLoad(builder, xs[1], ""); -- x10 = LLVMBuildLoad(builder, xs[2], ""); -- x11 = LLVMBuildLoad(builder, xs[3], ""); -- y00 = LLVMBuildLoad(builder, ys[0], ""); -- y01 = LLVMBuildLoad(builder, ys[1], ""); -- y10 = LLVMBuildLoad(builder, ys[2], ""); -- y11 = LLVMBuildLoad(builder, ys[3], ""); -- z00 = LLVMBuildLoad(builder, zs[0], ""); -- z01 = LLVMBuildLoad(builder, zs[1], ""); -- z10 = LLVMBuildLoad(builder, zs[2], ""); -- z11 = LLVMBuildLoad(builder, zs[3], ""); -+ LLVMTypeRef type = ivec_bld->vec_type; -+ x00 = LLVMBuildLoad2(builder, type, xs[0], ""); -+ x01 = LLVMBuildLoad2(builder, type, xs[1], ""); -+ x10 = LLVMBuildLoad2(builder, type, xs[2], ""); -+ x11 = LLVMBuildLoad2(builder, type, xs[3], ""); -+ y00 = LLVMBuildLoad2(builder, type, ys[0], ""); -+ y01 = LLVMBuildLoad2(builder, type, ys[1], ""); -+ y10 = LLVMBuildLoad2(builder, type, ys[2], ""); -+ y11 = LLVMBuildLoad2(builder, type, ys[3], ""); -+ z00 = LLVMBuildLoad2(builder, type, zs[0], ""); -+ z01 = LLVMBuildLoad2(builder, type, zs[1], ""); -+ z10 = LLVMBuildLoad2(builder, type, zs[2], ""); -+ z11 = LLVMBuildLoad2(builder, type, zs[3], ""); - } - - if (linear_mask) { -@@ -1411,7 +1412,7 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld, - colorss[2] = lp_build_alloca(bld->gallivm, coord_bld->vec_type, "cs2"); - colorss[3] = lp_build_alloca(bld->gallivm, coord_bld->vec_type, "cs3"); - -- have_corner = LLVMBuildLoad(builder, have_corners, ""); -+ have_corner = LLVMBuildLoad2(builder, int1t, have_corners, ""); - - lp_build_if(&corner_if, bld->gallivm, have_corner); - -@@ -1668,10 +1669,10 @@ lp_build_sample_image_linear(struct lp_build_sample_context *bld, - - lp_build_endif(&corner_if); - -- colors0[0] = LLVMBuildLoad(builder, colorss[0], ""); -- colors0[1] = LLVMBuildLoad(builder, colorss[1], ""); -- colors0[2] = LLVMBuildLoad(builder, colorss[2], ""); -- colors0[3] = LLVMBuildLoad(builder, colorss[3], ""); -+ colors0[0] = LLVMBuildLoad2(builder, coord_bld->vec_type, colorss[0], ""); -+ colors0[1] = LLVMBuildLoad2(builder, coord_bld->vec_type, colorss[1], ""); -+ colors0[2] = LLVMBuildLoad2(builder, coord_bld->vec_type, colorss[2], ""); -+ colors0[3] = LLVMBuildLoad2(builder, coord_bld->vec_type, colorss[3], ""); - } - - if (dims == 3) { -@@ -2306,7 +2307,7 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, - LLVMBuildBr(builder, v_loop_block); - LLVMPositionBuilderAtEnd(builder, v_loop_block); - -- LLVMValueRef v_val = LLVMBuildLoad(builder, v_limiter, ""); -+ LLVMValueRef v_val = LLVMBuildLoad2(builder, bld->int_coord_bld.vec_type, v_limiter, ""); - LLVMValueRef v_mask = LLVMBuildICmp(builder, - LLVMIntSLE, - v_val, -@@ -2338,7 +2339,7 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, - LLVMBuildBr(builder, u_loop_block); - LLVMPositionBuilderAtEnd(builder, u_loop_block); - -- LLVMValueRef u_val = LLVMBuildLoad(builder, u_limiter, ""); -+ LLVMValueRef u_val = LLVMBuildLoad2(builder, bld->int_coord_bld.vec_type, u_limiter, ""); - LLVMValueRef u_mask = LLVMBuildICmp(builder, - LLVMIntSLE, - u_val, -@@ -2347,7 +2348,7 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, - /* loop over U values */ - { - /* q = (int)q */ -- q = lp_build_itrunc(coord_bld, LLVMBuildLoad(builder, q_store, "")); -+ q = lp_build_itrunc(coord_bld, LLVMBuildLoad2(builder, bld->coord_bld.vec_type, q_store, "")); - - /* - * avoid OOB access to filter table, generate a mask for q > 1024, -@@ -2403,7 +2404,7 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, - temp_colors); - - for (chan = 0; chan < 4; chan++) { -- LLVMValueRef tcolor = LLVMBuildLoad(builder, colors0[chan], ""); -+ LLVMValueRef tcolor = LLVMBuildLoad2(builder, bld->texel_bld.vec_type, colors0[chan], ""); - - tcolor = lp_build_add(&bld->texel_bld, tcolor, lp_build_mul(&bld->texel_bld, temp_colors[chan], weights)); - LLVMBuildStore(builder, tcolor, colors0[chan]); -@@ -2411,22 +2412,22 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, - - /* multiple colors by weight and add in. */ - /* den += weight; */ -- LLVMValueRef den = LLVMBuildLoad(builder, den_store, ""); -+ LLVMValueRef den = LLVMBuildLoad2(builder, bld->texel_bld.vec_type, den_store, ""); - den = lp_build_add(&bld->texel_bld, den, weights); - LLVMBuildStore(builder, den, den_store); - - lp_build_endif(&noloadw0); - /* q += dq; */ - /* dq += ddq; */ -- q = LLVMBuildLoad(builder, q_store, ""); -- dq = LLVMBuildLoad(builder, dq_store, ""); -+ q = LLVMBuildLoad2(builder, bld->texel_bld.vec_type, q_store, ""); -+ dq = LLVMBuildLoad2(builder, bld->texel_bld.vec_type, dq_store, ""); - q = lp_build_add(coord_bld, q, dq); - dq = lp_build_add(coord_bld, dq, ddq); - LLVMBuildStore(builder, q, q_store); - LLVMBuildStore(builder, dq, dq_store); - } - /* u += 1 */ -- u_val = LLVMBuildLoad(builder, u_limiter, ""); -+ u_val = LLVMBuildLoad2(builder, bld->int_coord_bld.vec_type, u_limiter, ""); - u_val = lp_build_add(&bld->int_coord_bld, u_val, bld->int_coord_bld.one); - LLVMBuildStore(builder, u_val, u_limiter); - -@@ -2447,7 +2448,7 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, - } - - /* v += 1 */ -- v_val = LLVMBuildLoad(builder, v_limiter, ""); -+ v_val = LLVMBuildLoad2(builder, bld->int_coord_bld.vec_type, v_limiter, ""); - v_val = lp_build_add(&bld->int_coord_bld, v_val, bld->int_coord_bld.one); - LLVMBuildStore(builder, v_val, v_limiter); - -@@ -2465,10 +2466,10 @@ lp_build_sample_aniso(struct lp_build_sample_context *bld, - - LLVMPositionBuilderAtEnd(builder, v_end_loop); - -- LLVMValueRef den = LLVMBuildLoad(builder, den_store, ""); -+ LLVMValueRef den = LLVMBuildLoad2(builder, bld->texel_bld.vec_type, den_store, ""); - - for (chan = 0; chan < 4; chan++) -- colors0[chan] = lp_build_div(&bld->texel_bld, LLVMBuildLoad(builder, colors0[chan], ""), den); -+ colors0[chan] = lp_build_div(&bld->texel_bld, LLVMBuildLoad2(builder, bld->texel_bld.vec_type, colors0[chan], ""), den); - LLVMValueRef den0 = lp_build_cmp(&bld->coord_bld, PIPE_FUNC_EQUAL, den, bld->coord_bld.zero); - - LLVMValueRef den0_any = lp_build_any_true_range(&bld->coord_bld, bld->coord_bld.type.length, den0); -@@ -2710,7 +2711,7 @@ lp_build_clamp_border_color(struct lp_build_sample_context *bld, - lp_build_const_int32(gallivm, 0)); - border_color_ptr = LLVMBuildBitCast(builder, border_color_ptr, - LLVMPointerType(vec4_bld.vec_type, 0), ""); -- border_color = LLVMBuildLoad(builder, border_color_ptr, ""); -+ border_color = LLVMBuildLoad2(builder, vec4_bld.vec_type, border_color_ptr, ""); - /* we don't have aligned type in the dynamic state unfortunately */ - LLVMSetAlignment(border_color, 4); - -@@ -3055,7 +3056,7 @@ lp_build_sample_general(struct lp_build_sample_context *bld, - } - - for (chan = 0; chan < 4; ++chan) { -- colors_out[chan] = LLVMBuildLoad(builder, texels[chan], ""); -+ colors_out[chan] = LLVMBuildLoad2(builder, bld->texel_bld.vec_type, texels[chan], ""); - lp_build_name(colors_out[chan], "sampler%u_texel_%c", sampler_unit, "xyzw"[chan]); - } - } -@@ -4116,60 +4117,60 @@ lp_build_sample_soa_func(struct gallivm_state *gallivm, - - function = LLVMGetNamedFunction(module, func_name); - -- if(!function) { -- LLVMTypeRef arg_types[LP_MAX_TEX_FUNC_ARGS]; -- LLVMTypeRef ret_type; -- LLVMTypeRef function_type; -- LLVMTypeRef val_type[4]; -- unsigned num_param = 0; -+ LLVMTypeRef arg_types[LP_MAX_TEX_FUNC_ARGS]; -+ LLVMTypeRef ret_type; -+ LLVMTypeRef val_type[4]; -+ unsigned num_param = 0; - -- /* -- * Generate the function prototype. -- */ -+ /* -+ * Generate the function prototype. -+ */ - -- arg_types[num_param++] = LLVMTypeOf(params->context_ptr); -- if (params->aniso_filter_table) -- arg_types[num_param++] = LLVMTypeOf(params->aniso_filter_table); -- if (need_cache) { -- arg_types[num_param++] = LLVMTypeOf(params->thread_data_ptr); -- } -- for (i = 0; i < num_coords; i++) { -- arg_types[num_param++] = LLVMTypeOf(coords[0]); -- assert(LLVMTypeOf(coords[0]) == LLVMTypeOf(coords[i])); -- } -- if (layer) { -- arg_types[num_param++] = LLVMTypeOf(coords[layer]); -- assert(LLVMTypeOf(coords[0]) == LLVMTypeOf(coords[layer])); -- } -- if (sample_key & LP_SAMPLER_SHADOW) { -- arg_types[num_param++] = LLVMTypeOf(coords[0]); -- } -- if (sample_key & LP_SAMPLER_FETCH_MS) { -- arg_types[num_param++] = LLVMTypeOf(params->ms_index); -- } -- if (sample_key & LP_SAMPLER_OFFSETS) { -- for (i = 0; i < num_offsets; i++) { -- arg_types[num_param++] = LLVMTypeOf(offsets[0]); -- assert(LLVMTypeOf(offsets[0]) == LLVMTypeOf(offsets[i])); -- } -- } -- if (lod_control == LP_SAMPLER_LOD_BIAS || -- lod_control == LP_SAMPLER_LOD_EXPLICIT) { -- arg_types[num_param++] = LLVMTypeOf(params->lod); -+ arg_types[num_param++] = LLVMTypeOf(params->context_ptr); -+ if (params->aniso_filter_table) -+ arg_types[num_param++] = LLVMTypeOf(params->aniso_filter_table); -+ if (need_cache) { -+ arg_types[num_param++] = LLVMTypeOf(params->thread_data_ptr); -+ } -+ for (i = 0; i < num_coords; i++) { -+ arg_types[num_param++] = LLVMTypeOf(coords[0]); -+ assert(LLVMTypeOf(coords[0]) == LLVMTypeOf(coords[i])); -+ } -+ if (layer) { -+ arg_types[num_param++] = LLVMTypeOf(coords[layer]); -+ assert(LLVMTypeOf(coords[0]) == LLVMTypeOf(coords[layer])); -+ } -+ if (sample_key & LP_SAMPLER_SHADOW) { -+ arg_types[num_param++] = LLVMTypeOf(coords[0]); -+ } -+ if (sample_key & LP_SAMPLER_FETCH_MS) { -+ arg_types[num_param++] = LLVMTypeOf(params->ms_index); -+ } -+ if (sample_key & LP_SAMPLER_OFFSETS) { -+ for (i = 0; i < num_offsets; i++) { -+ arg_types[num_param++] = LLVMTypeOf(offsets[0]); -+ assert(LLVMTypeOf(offsets[0]) == LLVMTypeOf(offsets[i])); - } -- else if (lod_control == LP_SAMPLER_LOD_DERIVATIVES) { -- for (i = 0; i < num_derivs; i++) { -- arg_types[num_param++] = LLVMTypeOf(derivs->ddx[i]); -- arg_types[num_param++] = LLVMTypeOf(derivs->ddy[i]); -- assert(LLVMTypeOf(derivs->ddx[0]) == LLVMTypeOf(derivs->ddx[i])); -- assert(LLVMTypeOf(derivs->ddy[0]) == LLVMTypeOf(derivs->ddy[i])); -- } -+ } -+ if (lod_control == LP_SAMPLER_LOD_BIAS || -+ lod_control == LP_SAMPLER_LOD_EXPLICIT) { -+ arg_types[num_param++] = LLVMTypeOf(params->lod); -+ } -+ else if (lod_control == LP_SAMPLER_LOD_DERIVATIVES) { -+ for (i = 0; i < num_derivs; i++) { -+ arg_types[num_param++] = LLVMTypeOf(derivs->ddx[i]); -+ arg_types[num_param++] = LLVMTypeOf(derivs->ddy[i]); -+ assert(LLVMTypeOf(derivs->ddx[0]) == LLVMTypeOf(derivs->ddx[i])); -+ assert(LLVMTypeOf(derivs->ddy[0]) == LLVMTypeOf(derivs->ddy[i])); - } -+ } - -- val_type[0] = val_type[1] = val_type[2] = val_type[3] = -+ val_type[0] = val_type[1] = val_type[2] = val_type[3] = - lp_build_vec_type(gallivm, params->type); -- ret_type = LLVMStructTypeInContext(gallivm->context, val_type, 4, 0); -- function_type = LLVMFunctionType(ret_type, arg_types, num_param, 0); -+ ret_type = LLVMStructTypeInContext(gallivm->context, val_type, 4, 0); -+ LLVMTypeRef function_type = LLVMFunctionType(ret_type, arg_types, num_param, 0); -+ -+ if(!function) { - function = LLVMAddFunction(module, func_name, function_type); - - for (i = 0; i < num_param; ++i) { -@@ -4232,7 +4233,7 @@ lp_build_sample_soa_func(struct gallivm_state *gallivm, - - assert(num_args <= LP_MAX_TEX_FUNC_ARGS); - -- *tex_ret = LLVMBuildCall(builder, function, args, num_args, ""); -+ *tex_ret = LLVMBuildCall2(builder, function_type, function, args, num_args, ""); - bb = LLVMGetInsertBlock(builder); - inst = LLVMGetLastInstruction(bb); - LLVMSetInstructionCallConv(inst, LLVMFastCallConv); -@@ -4529,8 +4530,8 @@ lp_build_do_atomic_soa(struct gallivm_state *gallivm, - return; - } - -- LLVMValueRef atom_res = lp_build_alloca(gallivm, -- LLVMVectorType(LLVMInt32TypeInContext(gallivm->context), type.length), ""); -+ LLVMTypeRef atom_res_elem_type = LLVMVectorType(LLVMInt32TypeInContext(gallivm->context), type.length); -+ LLVMValueRef atom_res = lp_build_alloca(gallivm, atom_res_elem_type, ""); - - offset = LLVMBuildGEP(gallivm->builder, base_ptr, &offset, 1, ""); - struct lp_build_loop_state loop_state; -@@ -4567,14 +4568,14 @@ lp_build_do_atomic_soa(struct gallivm_state *gallivm, - false); - } - -- LLVMValueRef temp_res = LLVMBuildLoad(gallivm->builder, atom_res, ""); -+ LLVMValueRef temp_res = LLVMBuildLoad2(gallivm->builder, atom_res_elem_type, atom_res, ""); - temp_res = LLVMBuildInsertElement(gallivm->builder, temp_res, data, loop_state.counter, ""); - LLVMBuildStore(gallivm->builder, temp_res, atom_res); - - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, type.length), - NULL, LLVMIntUGE); -- atomic_result[0] = LLVMBuildLoad(gallivm->builder, atom_res, ""); -+ atomic_result[0] = LLVMBuildLoad2(gallivm->builder, atom_res_elem_type, atom_res, ""); - } - - static void --- -GitLab - - -From c8520c2a8fed749e6c280895748effb589bff79d Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:08:16 +0300 -Subject: [PATCH 18/22] gallivm: use LLVM opaque pointers in lp_bld_struct.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 17 +++++------------ - 1 file changed, 5 insertions(+), 12 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index 067740b5c8853..bd969d4681ae6 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -134,15 +134,7 @@ lp_build_pointer_get(LLVMBuilderRef builder, - LLVMValueRef ptr, - LLVMValueRef index) - { -- LLVMValueRef element_ptr; -- LLVMValueRef res; -- assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, ""); -- res = LLVMBuildLoad(builder, element_ptr, ""); --#ifdef DEBUG -- lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index)); --#endif -- return res; -+ return lp_build_pointer_get_unaligned(builder, ptr, index, 0); - } - - -@@ -157,7 +149,8 @@ lp_build_pointer_get_unaligned(LLVMBuilderRef builder, - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); - element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, ""); - res = LLVMBuildLoad(builder, element_ptr, ""); -- LLVMSetAlignment(res, alignment); -+ if (alignment) -+ LLVMSetAlignment(res, alignment); - #ifdef DEBUG - lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index)); - #endif -@@ -172,7 +165,7 @@ lp_build_pointer_set(LLVMBuilderRef builder, - LLVMValueRef value) - { - LLVMValueRef element_ptr; -- element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, ""); -+ element_ptr = LLVMBuildGEP2(builder, LLVMTypeOf(value), ptr, &index, 1, ""); - LLVMBuildStore(builder, value, element_ptr); - } - -@@ -186,7 +179,7 @@ lp_build_pointer_set_unaligned(LLVMBuilderRef builder, - { - LLVMValueRef element_ptr; - LLVMValueRef instr; -- element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, ""); -+ element_ptr = LLVMBuildGEP2(builder, LLVMTypeOf(value), ptr, &index, 1, ""); - instr = LLVMBuildStore(builder, value, element_ptr); - LLVMSetAlignment(instr, alignment); - } --- -GitLab - - -From 32a55651cf4ecb830801acafe6410df3f66afca9 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:09:40 +0300 -Subject: [PATCH 19/22] gallivm: use LLVM opaque pointers in lp_bld_tgsi_soa.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - .../auxiliary/gallivm/lp_bld_tgsi_soa.c | 82 ++++++++++--------- - 1 file changed, 42 insertions(+), 40 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c -index afaf35e5b11b7..262fa533b3a29 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c -@@ -597,9 +597,10 @@ build_gather(struct lp_build_tgsi_context *bld_base, - index = LLVMBuildExtractElement(builder, - indexes, si, ""); - } -- scalar_ptr = LLVMBuildGEP(builder, base_ptr, -+ LLVMTypeRef scalar_type = LLVMGetElementType(LLVMTypeOf(res)); -+ scalar_ptr = LLVMBuildGEP2(builder, scalar_type, base_ptr, - &index, 1, "gather_ptr"); -- scalar = LLVMBuildLoad(builder, scalar_ptr, ""); -+ scalar = LLVMBuildLoad2(builder, scalar_type, scalar_ptr, ""); - - res = LLVMBuildInsertElement(builder, res, scalar, di, ""); - } -@@ -640,8 +641,8 @@ emit_mask_scatter(struct lp_build_tgsi_soa_context *bld, - for (i = 0; i < bld->bld_base.base.type.length; i++) { - LLVMValueRef ii = lp_build_const_int32(gallivm, i); - LLVMValueRef index = LLVMBuildExtractElement(builder, indexes, ii, ""); -- LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, base_ptr, &index, 1, "scatter_ptr"); - LLVMValueRef val = LLVMBuildExtractElement(builder, values, ii, "scatter_val"); -+ LLVMValueRef scalar_ptr = LLVMBuildGEP2(builder, LLVMTypeOf(val), base_ptr, &index, 1, "scatter_ptr"); - LLVMValueRef scalar_pred = pred ? - LLVMBuildExtractElement(builder, pred, ii, "scatter_pred") : NULL; - -@@ -651,7 +652,7 @@ emit_mask_scatter(struct lp_build_tgsi_soa_context *bld, - - if (scalar_pred) { - LLVMValueRef real_val, dst_val; -- dst_val = LLVMBuildLoad(builder, scalar_ptr, ""); -+ dst_val = LLVMBuildLoad2(builder, LLVMTypeOf(val), scalar_ptr, ""); - real_val = lp_build_select(&bld->elem_bld, scalar_pred, val, dst_val); - LLVMBuildStore(builder, real_val, scalar_ptr); - } -@@ -690,7 +691,7 @@ get_indirect_index(struct lp_build_tgsi_soa_context *bld, - assert(swizzle < 4); - switch (indirect_reg->File) { - case TGSI_FILE_ADDRESS: -- rel = LLVMBuildLoad(builder, -+ rel = LLVMBuildLoad2(builder, bld->bld_base.base.int_elem_type, - bld->addr[indirect_reg->Index][swizzle], - "load addr reg"); - /* ADDR LLVM values already have LLVM integer type. */ -@@ -890,23 +891,23 @@ emit_fetch_constant( - res = LLVMBuildInsertElement(builder, res, scalar, shuffles[0], ""); - res = LLVMBuildInsertElement(builder, res, scalar2, shuffles[1], ""); - } else { -+ LLVMTypeRef scalar_type = NULL; - if (stype == TGSI_TYPE_DOUBLE) { -- LLVMTypeRef dptr_type = LLVMPointerType(LLVMDoubleTypeInContext(gallivm->context), 0); -- scalar_ptr = LLVMBuildBitCast(builder, scalar_ptr, dptr_type, ""); -+ scalar_type = LLVMPointerType(LLVMDoubleTypeInContext(gallivm->context), 0); -+ scalar_ptr = LLVMBuildBitCast(builder, scalar_ptr, scalar_type, ""); - bld_broad = &bld_base->dbl_bld; - } else if (stype == TGSI_TYPE_UNSIGNED64) { -- LLVMTypeRef u64ptr_type = LLVMPointerType(LLVMInt64TypeInContext(gallivm->context), 0); -- scalar_ptr = LLVMBuildBitCast(builder, scalar_ptr, u64ptr_type, ""); -+ scalar_type = LLVMPointerType(LLVMInt64TypeInContext(gallivm->context), 0); -+ scalar_ptr = LLVMBuildBitCast(builder, scalar_ptr, scalar_type, ""); - bld_broad = &bld_base->uint64_bld; - } else if (stype == TGSI_TYPE_SIGNED64) { -- LLVMTypeRef i64ptr_type = LLVMPointerType(LLVMInt64TypeInContext(gallivm->context), 0); -- scalar_ptr = LLVMBuildBitCast(builder, scalar_ptr, i64ptr_type, ""); -+ scalar_type = LLVMPointerType(LLVMInt64TypeInContext(gallivm->context), 0); -+ scalar_ptr = LLVMBuildBitCast(builder, scalar_ptr, scalar_type, ""); - bld_broad = &bld_base->int64_bld; - } -- scalar = LLVMBuildLoad(builder, scalar_ptr, ""); -+ scalar = LLVMBuildLoad2(builder, scalar_type, scalar_ptr, ""); - res = lp_build_broadcast_scalar(bld_broad, scalar); - } -- - } - - if (stype == TGSI_TYPE_SIGNED || stype == TGSI_TYPE_UNSIGNED || stype == TGSI_TYPE_DOUBLE || stype == TGSI_TYPE_SIGNED64 || stype == TGSI_TYPE_UNSIGNED64) { -@@ -1003,7 +1004,7 @@ emit_fetch_immediate( - gep[1] = lp_build_const_int32(gallivm, reg->Register.Index * 4 + swizzle); - LLVMValueRef imms_ptr = LLVMBuildGEP(builder, - bld->imms_array, gep, 2, ""); -- res = LLVMBuildLoad(builder, imms_ptr, ""); -+ res = LLVMBuildLoad2(builder, bld_base->base.vec_type, imms_ptr, ""); - - if (tgsi_type_is_64bit(stype)) { - LLVMValueRef imms_ptr2; -@@ -1012,7 +1013,7 @@ emit_fetch_immediate( - reg->Register.Index * 4 + (swizzle_in >> 16)); - imms_ptr2 = LLVMBuildGEP(builder, - bld->imms_array, gep, 2, ""); -- res2 = LLVMBuildLoad(builder, imms_ptr2, ""); -+ res2 = LLVMBuildLoad2(builder, bld_base->base.vec_type, imms_ptr2, ""); - res = emit_fetch_64bit(bld_base, stype, res, res2); - } - } -@@ -1076,10 +1077,10 @@ emit_fetch_input( - if (bld->indirect_files & (1 << TGSI_FILE_INPUT)) { - LLVMValueRef lindex = lp_build_const_int32(gallivm, - reg->Register.Index * 4 + swizzle); -- LLVMValueRef input_ptr = LLVMBuildGEP(builder, -+ LLVMValueRef input_ptr = LLVMBuildGEP2(builder, bld_base->base.vec_type, - bld->inputs_array, &lindex, 1, ""); - -- res = LLVMBuildLoad(builder, input_ptr, ""); -+ res = LLVMBuildLoad2(builder, bld_base->base.vec_type, input_ptr, ""); - if (tgsi_type_is_64bit(stype)) { - LLVMValueRef lindex1; - LLVMValueRef input_ptr2; -@@ -1087,9 +1088,9 @@ emit_fetch_input( - - lindex1 = lp_build_const_int32(gallivm, - reg->Register.Index * 4 + (swizzle_in >> 16)); -- input_ptr2 = LLVMBuildGEP(builder, -+ input_ptr2 = LLVMBuildGEP2(builder, bld_base->base.vec_type, - bld->inputs_array, &lindex1, 1, ""); -- res2 = LLVMBuildLoad(builder, input_ptr2, ""); -+ res2 = LLVMBuildLoad2(builder, bld_base->base.vec_type, input_ptr2, ""); - res = emit_fetch_64bit(bld_base, stype, res, res2); - } - } -@@ -1444,13 +1445,13 @@ emit_fetch_temporary( - else { - LLVMValueRef temp_ptr; - temp_ptr = lp_get_temp_ptr_soa(bld, reg->Register.Index, swizzle); -- res = LLVMBuildLoad(builder, temp_ptr, ""); -+ res = LLVMBuildLoad2(builder, bld->bld_base.base.vec_type, temp_ptr, ""); - - if (tgsi_type_is_64bit(stype)) { - LLVMValueRef temp_ptr2, res2; - - temp_ptr2 = lp_get_temp_ptr_soa(bld, reg->Register.Index, swizzle_in >> 16); -- res2 = LLVMBuildLoad(builder, temp_ptr2, ""); -+ res2 = LLVMBuildLoad2(builder, bld->bld_base.base.vec_type, temp_ptr2, ""); - res = emit_fetch_64bit(bld_base, stype, res, res2); - } - } -@@ -3539,17 +3540,17 @@ load_emit( - lp_build_if(&ifthen, gallivm, cond); - scalar = lp_build_pointer_get(builder, scalar_ptr, loop_index); - -- temp_res = LLVMBuildLoad(builder, result, ""); -+ temp_res = LLVMBuildLoad2(builder, uint_bld->vec_type, result, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, scalar, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, result); - lp_build_else(&ifthen); -- temp_res = LLVMBuildLoad(builder, result, ""); -+ temp_res = LLVMBuildLoad2(builder, uint_bld->vec_type, result, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, lp_build_const_int32(gallivm, 0), loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, result); - lp_build_endif(&ifthen); - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, uint_bld->type.length), - NULL, LLVMIntUGE); -- emit_data->output[chan_index] = LLVMBuildLoad(gallivm->builder, result, ""); -+ emit_data->output[chan_index] = LLVMBuildLoad2(gallivm->builder, uint_bld->vec_type, result, ""); - } - } - } -@@ -3875,18 +3876,18 @@ atomic_emit( - LLVMAtomicOrderingSequentiallyConsistent, - false); - } -- temp_res = LLVMBuildLoad(builder, atom_res, ""); -+ temp_res = LLVMBuildLoad2(builder, uint_bld->vec_type, atom_res, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, scalar, loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, atom_res); - lp_build_else(&ifthen); -- temp_res = LLVMBuildLoad(builder, atom_res, ""); -+ temp_res = LLVMBuildLoad2(builder, uint_bld->vec_type, atom_res, ""); - temp_res = LLVMBuildInsertElement(builder, temp_res, lp_build_const_int32(gallivm, 0), loop_state.counter, ""); - LLVMBuildStore(builder, temp_res, atom_res); - lp_build_endif(&ifthen); - - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, uint_bld->type.length), - NULL, LLVMIntUGE); -- emit_data->output[emit_data->chan] = LLVMBuildLoad(gallivm->builder, atom_res, ""); -+ emit_data->output[emit_data->chan] = LLVMBuildLoad2(gallivm->builder, uint_bld->vec_type, atom_res, ""); - } - } - -@@ -3921,7 +3922,7 @@ increment_vec_ptr_by_mask(struct lp_build_tgsi_context * bld_base, - LLVMValueRef mask) - { - LLVMBuilderRef builder = bld_base->base.gallivm->builder; -- LLVMValueRef current_vec = LLVMBuildLoad(builder, ptr, ""); -+ LLVMValueRef current_vec = LLVMBuildLoad2(builder, LLVMTypeOf(mask), ptr, ""); - - current_vec = LLVMBuildSub(builder, current_vec, mask, ""); - -@@ -3934,7 +3935,7 @@ clear_uint_vec_ptr_from_mask(struct lp_build_tgsi_context * bld_base, - LLVMValueRef mask) - { - LLVMBuilderRef builder = bld_base->base.gallivm->builder; -- LLVMValueRef current_vec = LLVMBuildLoad(builder, ptr, ""); -+ LLVMValueRef current_vec = LLVMBuildLoad2(builder, LLVMTypeOf(mask), ptr, ""); - - current_vec = lp_build_select(&bld_base->uint_bld, - mask, -@@ -3973,7 +3974,7 @@ emit_vertex( - emit_data->inst->Src[0].Register.SwizzleX); - LLVMValueRef mask = mask_vec(bld_base); - LLVMValueRef total_emitted_vertices_vec = -- LLVMBuildLoad(builder, bld->total_emitted_vertices_vec_ptr, ""); -+ LLVMBuildLoad2(builder, LLVMTypeOf(mask), bld->total_emitted_vertices_vec_ptr, ""); - - mask = clamp_mask_to_max_output_vertices(bld, mask, - total_emitted_vertices_vec); -@@ -4009,11 +4010,11 @@ end_primitive_masked(struct lp_build_tgsi_context * bld_base, - if (bld->gs_iface->end_primitive) { - struct lp_build_context *uint_bld = &bld_base->uint_bld; - LLVMValueRef emitted_vertices_vec = -- LLVMBuildLoad(builder, bld->emitted_vertices_vec_ptr, ""); -+ LLVMBuildLoad2(builder, uint_bld->vec_type, bld->emitted_vertices_vec_ptr, ""); - LLVMValueRef emitted_prims_vec = -- LLVMBuildLoad(builder, bld->emitted_prims_vec_ptr, ""); -+ LLVMBuildLoad2(builder, uint_bld->vec_type, bld->emitted_prims_vec_ptr, ""); - LLVMValueRef total_emitted_vertices_vec = -- LLVMBuildLoad(builder, bld->total_emitted_vertices_vec_ptr, ""); -+ LLVMBuildLoad2(builder, uint_bld->vec_type, bld->total_emitted_vertices_vec_ptr, ""); - LLVMValueRef emitted_mask = lp_build_cmp(uint_bld, PIPE_FUNC_NOTEQUAL, - emitted_vertices_vec, - uint_bld->zero); -@@ -4048,7 +4049,7 @@ end_primitive_masked(struct lp_build_tgsi_context * bld_base, - #if DUMP_GS_EMITS - lp_build_print_value(bld->bld_base.base.gallivm, - " +++ end prim emitted verts2 = ", -- LLVMBuildLoad(builder, -+ LLVMBuildLoad2(builder, uint_bld->vec_type, - bld->emitted_vertices_vec_ptr, "")); - #endif - } -@@ -4312,14 +4313,15 @@ static void emit_prologue(struct lp_build_tgsi_context * bld_base) - - for (index = 0; index < bld_base->info->num_inputs; ++index) { - for (chan = 0; chan < TGSI_NUM_CHANNELS; ++chan) { -- LLVMValueRef lindex = -- lp_build_const_int32(gallivm, index * 4 + chan); -- LLVMValueRef input_ptr = -- LLVMBuildGEP(gallivm->builder, bld->inputs_array, -- &lindex, 1, ""); - LLVMValueRef value = bld->inputs[index][chan]; -- if (value) -+ if (value) { -+ LLVMValueRef lindex = -+ lp_build_const_int32(gallivm, index * 4 + chan); -+ LLVMValueRef input_ptr = -+ LLVMBuildGEP2(gallivm->builder, LLVMTypeOf(value), bld->inputs_array, -+ &lindex, 1, ""); - LLVMBuildStore(gallivm->builder, value, input_ptr); -+ } - } - } - } --- -GitLab - - -From 051f588bfef33169db2162ecf4a0e7d5e063100f Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:10:19 +0300 -Subject: [PATCH 20/22] gallivm: use LLVM opaque pointers in lp_bld_tgsi_aos.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c -index 85b2e8a207ea6..d04b84700c78e 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c -@@ -206,7 +206,8 @@ emit_fetch_temporary( - struct lp_build_tgsi_aos_context * bld = lp_aos_context(bld_base); - LLVMBuilderRef builder = bld_base->base.gallivm->builder; - LLVMValueRef temp_ptr = bld->temps[reg->Register.Index]; -- LLVMValueRef res = LLVMBuildLoad(builder, temp_ptr, ""); -+ LLVMTypeRef vec_type = lp_build_vec_type(bld->bld_base.base.gallivm, bld->bld_base.base.type); -+ LLVMValueRef res = LLVMBuildLoad2(builder, vec_type, temp_ptr, ""); - assert(!reg->Register.Indirect); - if (!res) - return bld->bld_base.base.undef; -@@ -286,8 +287,8 @@ lp_emit_store_aos( - - if (mask) { - LLVMValueRef orig_value; -- -- orig_value = LLVMBuildLoad(builder, ptr, ""); -+ LLVMTypeRef vec_type = lp_build_vec_type(bld->bld_base.base.gallivm, bld->bld_base.base.type); -+ orig_value = LLVMBuildLoad2(builder, vec_type, ptr, ""); - value = lp_build_select(&bld->bld_base.base, - mask, value, orig_value); - } --- -GitLab - - -From ccbee20f6b4d84240865caa6c4eabcbc6091f0f6 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 2 May 2022 16:11:07 +0300 -Subject: [PATCH 21/22] gallivm: LLVM opaque pointers small changes -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c | 2 +- - src/gallium/auxiliary/gallivm/lp_bld_ir_common.c | 6 +++--- - src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c -index 7d106195d0a56..bc0bd4f4831ae 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c -@@ -80,7 +80,7 @@ lp_build_fetch_rgba_aos_array(struct gallivm_state *gallivm, - */ - ptr = LLVMBuildGEP(builder, base_ptr, &offset, 1, ""); - ptr = LLVMBuildPointerCast(builder, ptr, LLVMPointerType(src_vec_type, 0), ""); -- res = LLVMBuildLoad(builder, ptr, ""); -+ res = LLVMBuildLoad2(builder, src_vec_type, ptr, ""); - LLVMSetAlignment(res, src_type.width / 8); - - /* Truncate doubles to float */ -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c b/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c -index cecc8abc31b88..d127ea0c7ff84 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c -@@ -215,7 +215,7 @@ void lp_exec_mask_store(struct lp_exec_mask *mask, - if (exec_mask) { - LLVMValueRef res, dst; - -- dst = LLVMBuildLoad(builder, dst_ptr, ""); -+ dst = LLVMBuildLoad2(builder, LLVMTypeOf(val), dst_ptr, ""); - if (bld_store->type.width < 32) - exec_mask = LLVMBuildTrunc(builder, exec_mask, bld_store->vec_type, ""); - res = lp_build_select(bld_store, exec_mask, val, dst); -@@ -230,7 +230,7 @@ void lp_exec_bgnloop_post_phi(struct lp_exec_mask *mask) - struct function_ctx *ctx = func_ctx(mask); - - if (ctx->loop_stack_size != ctx->bgnloop_stack_size) { -- mask->break_mask = LLVMBuildLoad(builder, ctx->break_var, ""); -+ mask->break_mask = LLVMBuildLoad2(builder, mask->int_vec_type, ctx->break_var, ""); - lp_exec_mask_update(mask); - ctx->bgnloop_stack_size = ctx->loop_stack_size; - } -@@ -303,7 +303,7 @@ void lp_exec_endloop(struct gallivm_state *gallivm, - LLVMBuildStore(builder, mask->break_mask, ctx->break_var); - - /* Decrement the loop limiter */ -- limiter = LLVMBuildLoad(builder, ctx->loop_limiter, ""); -+ limiter = LLVMBuildLoad2(builder, int_type, ctx->loop_limiter, ""); - - limiter = LLVMBuildSub( - builder, -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c -index 0564b156d97cb..b0a9f48e8e016 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_aos.c -@@ -1191,7 +1191,7 @@ lp_build_sample_aos(struct lp_build_sample_context *bld, - lp_build_endif(&if_ctx); - } - -- packed = LLVMBuildLoad(builder, packed_var, ""); -+ packed = LLVMBuildLoad2(builder, u8n_bld.vec_type, packed_var, ""); - - /* - * Convert to SoA and swizzle. --- -GitLab - - -From ae6d32c938fc79ff5019806a2592097ca97bd945 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Wed, 20 Apr 2022 14:30:30 +0300 -Subject: [PATCH 22/22] gallium: refactor a channel loop in draw_llvm.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Acked-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893> ---- - src/gallium/auxiliary/draw/draw_llvm.c | 36 ++++++++++---------------- - 1 file changed, 13 insertions(+), 23 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c -index 1f68170d99e03..ee4ff8178a8a5 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.c -+++ b/src/gallium/auxiliary/draw/draw_llvm.c -@@ -1651,29 +1651,19 @@ generate_clipmask(struct draw_llvm *llvm, - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, plane_idx); - -- indices[2] = lp_build_const_int32(gallivm, 0); -- plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_x"); -- planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); -- sum = LLVMBuildFMul(builder, planes, cv_x, ""); -- -- indices[2] = lp_build_const_int32(gallivm, 1); -- plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_y"); -- planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); -- sum = lp_build_fmuladd(builder, planes, cv_y, sum); -- -- indices[2] = lp_build_const_int32(gallivm, 2); -- plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_z"); -- planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); -- sum = lp_build_fmuladd(builder, planes, cv_z, sum); -- -- indices[2] = lp_build_const_int32(gallivm, 3); -- plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -- plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, "plane_w"); -- planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); -- sum = lp_build_fmuladd(builder, planes, cv_w, sum); -+ for (int i = 0; i < 4; ++i) { -+ indices[2] = lp_build_const_int32(gallivm, i); -+ plane_ptr = LLVMBuildGEP(builder, planes_ptr, indices, 3, ""); -+ plane1 = LLVMBuildLoad2(builder, vs_elem_type, plane_ptr, -+ (const char *[]){"plane_x", "plane_y", "plane_z", "plane_w"}[i]); -+ planes = lp_build_broadcast(gallivm, vs_type_llvm, plane1); -+ if (i == 0) { -+ sum = LLVMBuildFMul(builder, planes, cv_x, ""); -+ } else { -+ sum = lp_build_fmuladd(builder, planes, -+ (LLVMValueRef[]){cv_x, cv_y, cv_z, cv_w}[i], sum); -+ } -+ } - - test = lp_build_compare(gallivm, f32_type, PIPE_FUNC_GREATER, zero, sum); - temp = lp_build_const_int_vec(gallivm, i32_type, 1LL << plane_idx); --- -GitLab - -From b549394992553330f191b589b32a30a1f6fb792f Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Thu, 30 Jun 2022 09:14:02 +0300 -Subject: [PATCH 1/4] gallivm: fix a few llvm non-opaque pointers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As LLVM 15 transitions to opaque pointers, we need to update -the deprecated methods dealing with non-opaque pointers. - -Reviewed-by: Brian Paul <brianp@vmware.com> -Acked-by: Marek Olšák <marek.olsak@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650> ---- - src/gallium/auxiliary/gallivm/lp_bld_coro.c | 2 +- - src/gallium/auxiliary/gallivm/lp_bld_format.c | 10 ++++++---- - src/gallium/auxiliary/gallivm/lp_bld_format.h | 2 ++ - .../auxiliary/gallivm/lp_bld_format_aos_array.c | 3 ++- - src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c | 12 +++++++----- - 5 files changed, 18 insertions(+), 11 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_coro.c b/src/gallium/auxiliary/gallivm/lp_bld_coro.c -index a423f60d939a6..0214dcf674203 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_coro.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_coro.c -@@ -206,7 +206,7 @@ LLVMValueRef lp_build_coro_alloc_mem_array(struct gallivm_state *gallivm, - LLVMValueRef coro_num_hdls) - { - LLVMTypeRef mem_ptr_type = LLVMPointerType(LLVMInt8TypeInContext(gallivm->context), 0); -- LLVMValueRef alloced_ptr = LLVMBuildLoad(gallivm->builder, coro_hdl_ptr, ""); -+ LLVMValueRef alloced_ptr = LLVMBuildLoad2(gallivm->builder, mem_ptr_type, coro_hdl_ptr, ""); - - LLVMValueRef not_alloced = LLVMBuildICmp(gallivm->builder, LLVMIntEQ, alloced_ptr, LLVMConstNull(mem_ptr_type), ""); - LLVMValueRef coro_size = lp_build_coro_size(gallivm); -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format.c b/src/gallium/auxiliary/gallivm/lp_bld_format.c -index a82fd8feee815..d26485eb4973a 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format.c -@@ -28,7 +28,10 @@ - - #include "lp_bld_format.h" - -- -+LLVMTypeRef lp_build_format_cache_member_data_type(struct gallivm_state *gallivm) -+{ -+ return LLVMArrayType(LLVMInt32TypeInContext(gallivm->context), LP_BUILD_FORMAT_CACHE_SIZE * 16); -+} - - LLVMTypeRef - lp_build_format_cache_type(struct gallivm_state *gallivm) -@@ -36,9 +39,8 @@ lp_build_format_cache_type(struct gallivm_state *gallivm) - LLVMTypeRef elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_COUNT]; - LLVMTypeRef s; - -- elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_DATA] = -- LLVMArrayType(LLVMInt32TypeInContext(gallivm->context), -- LP_BUILD_FORMAT_CACHE_SIZE * 16); -+ elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_DATA] = lp_build_format_cache_member_data_type(gallivm); -+ - elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_TAGS] = - LLVMArrayType(LLVMInt64TypeInContext(gallivm->context), - LP_BUILD_FORMAT_CACHE_SIZE); -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format.h b/src/gallium/auxiliary/gallivm/lp_bld_format.h -index 425b2f572f515..0ed1dca38864c 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format.h -@@ -82,6 +82,8 @@ enum { - LLVMTypeRef - lp_build_format_cache_type(struct gallivm_state *gallivm); - -+LLVMTypeRef -+lp_build_format_cache_member_data_type(struct gallivm_state *gallivm); - - /* - * AoS -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c -index bc0bd4f4831ae..55b5bec53e591 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_aos_array.c -@@ -78,7 +78,8 @@ lp_build_fetch_rgba_aos_array(struct gallivm_state *gallivm, - * (If all callers can guarantee element type alignment, we should - * relax alignment restrictions elsewhere.) - */ -- ptr = LLVMBuildGEP(builder, base_ptr, &offset, 1, ""); -+ LLVMTypeRef byte_type = LLVMInt8TypeInContext(gallivm->context); -+ ptr = LLVMBuildGEP2(builder, byte_type, base_ptr, &offset, 1, ""); - ptr = LLVMBuildPointerCast(builder, ptr, LLVMPointerType(src_vec_type, 0), ""); - res = LLVMBuildLoad2(builder, src_vec_type, ptr, ""); - LLVMSetAlignment(res, src_type.width / 8); -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -index 8f972b840fa66..5d91c779e88d2 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -@@ -1134,14 +1134,15 @@ s3tc_store_cached_block(struct gallivm_state *gallivm, - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, LP_BUILD_FORMAT_CACHE_MEMBER_TAGS); - indices[2] = hash_index; -- ptr = LLVMBuildGEP(builder, cache, indices, ARRAY_SIZE(indices), ""); -+ LLVMTypeRef cache_type = lp_build_format_cache_type(gallivm); -+ ptr = LLVMBuildGEP2(builder, cache_type, cache, indices, ARRAY_SIZE(indices), ""); - LLVMBuildStore(builder, tag_value, ptr); - - indices[1] = lp_build_const_int32(gallivm, LP_BUILD_FORMAT_CACHE_MEMBER_DATA); - hash_index = LLVMBuildMul(builder, hash_index, lp_build_const_int32(gallivm, 16), ""); - for (count = 0; count < 4; count++) { - indices[2] = hash_index; -- ptr = LLVMBuildGEP(builder, cache, indices, ARRAY_SIZE(indices), ""); -+ ptr = LLVMBuildGEP2(builder, cache_type, cache, indices, ARRAY_SIZE(indices), ""); - ptr = LLVMBuildBitCast(builder, ptr, type_ptr4x32, ""); - LLVMBuildStore(builder, col[count], ptr); - hash_index = LLVMBuildAdd(builder, hash_index, lp_build_const_int32(gallivm, 4), ""); -@@ -1150,7 +1151,7 @@ s3tc_store_cached_block(struct gallivm_state *gallivm, - - static LLVMValueRef - s3tc_lookup_cached_pixel(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -+ LLVMValueRef cache, - LLVMValueRef index) - { - LLVMBuilderRef builder = gallivm->builder; -@@ -1159,8 +1160,9 @@ s3tc_lookup_cached_pixel(struct gallivm_state *gallivm, - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, LP_BUILD_FORMAT_CACHE_MEMBER_DATA); - indices[2] = index; -- member_ptr = LLVMBuildGEP(builder, ptr, indices, ARRAY_SIZE(indices), ""); -- return LLVMBuildLoad(builder, member_ptr, "cache_data"); -+ member_ptr = LLVMBuildGEP2(builder, lp_build_format_cache_type(gallivm), cache, indices, ARRAY_SIZE(indices), ""); -+ -+ return LLVMBuildLoad2(builder, lp_build_format_cache_member_data_type(gallivm), member_ptr, "cache_data"); - } - - static LLVMValueRef --- -GitLab - - -From 8c4aef2abb9170c1f5590a7921383345b4626b1d Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Fri, 1 Jul 2022 12:52:25 +0300 -Subject: [PATCH 2/4] gallivm: refactor a bit the cache access in view of LLVM - opaque pointers -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -LLVM 15 requires transition to opaque pointers; factorize a bit the cache -memthods to help this transition. - -Reviewed-by: Brian Paul <brianp@vmware.com> -Acked-by: Marek Olšák <marek.olsak@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650> ---- - src/gallium/auxiliary/gallivm/lp_bld_format.c | 30 +++++++++++---- - src/gallium/auxiliary/gallivm/lp_bld_format.h | 7 +++- - .../auxiliary/gallivm/lp_bld_format_s3tc.c | 38 ++++++++++--------- - 3 files changed, 49 insertions(+), 26 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format.c b/src/gallium/auxiliary/gallivm/lp_bld_format.c -index d26485eb4973a..796277feee702 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format.c -@@ -28,9 +28,24 @@ - - #include "lp_bld_format.h" - --LLVMTypeRef lp_build_format_cache_member_data_type(struct gallivm_state *gallivm) --{ -- return LLVMArrayType(LLVMInt32TypeInContext(gallivm->context), LP_BUILD_FORMAT_CACHE_SIZE * 16); -+LLVMTypeRef lp_build_format_cache_elem_type(struct gallivm_state *gallivm, enum cache_member member) { -+ assert(member == LP_BUILD_FORMAT_CACHE_MEMBER_DATA || member == LP_BUILD_FORMAT_CACHE_MEMBER_TAGS); -+ switch (member) { -+ case LP_BUILD_FORMAT_CACHE_MEMBER_DATA: -+ return LLVMInt32TypeInContext(gallivm->context); -+ case LP_BUILD_FORMAT_CACHE_MEMBER_TAGS: -+ return LLVMInt64TypeInContext(gallivm->context); -+ default: -+ unreachable("lp_build_format_cache_elem_type unhandled member type"); -+ } -+} -+ -+LLVMTypeRef lp_build_format_cache_member_type(struct gallivm_state *gallivm, enum cache_member member) { -+ assert(member == LP_BUILD_FORMAT_CACHE_MEMBER_DATA || member == LP_BUILD_FORMAT_CACHE_MEMBER_TAGS); -+ unsigned elem_count = -+ member == LP_BUILD_FORMAT_CACHE_MEMBER_DATA ? LP_BUILD_FORMAT_CACHE_SIZE * 16 : -+ member == LP_BUILD_FORMAT_CACHE_MEMBER_TAGS ? LP_BUILD_FORMAT_CACHE_SIZE : 0; -+ return LLVMArrayType(lp_build_format_cache_elem_type(gallivm, member), elem_count); - } - - LLVMTypeRef -@@ -39,11 +54,12 @@ lp_build_format_cache_type(struct gallivm_state *gallivm) - LLVMTypeRef elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_COUNT]; - LLVMTypeRef s; - -- elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_DATA] = lp_build_format_cache_member_data_type(gallivm); -+ int members[] = {LP_BUILD_FORMAT_CACHE_MEMBER_DATA, LP_BUILD_FORMAT_CACHE_MEMBER_TAGS}; -+ for (int i = 0; i < ARRAY_SIZE(members); ++i) { -+ int member = members[i]; -+ elem_types[member] = lp_build_format_cache_member_type(gallivm, member); -+ } - -- elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_TAGS] = -- LLVMArrayType(LLVMInt64TypeInContext(gallivm->context), -- LP_BUILD_FORMAT_CACHE_SIZE); - #if LP_BUILD_FORMAT_CACHE_DEBUG - elem_types[LP_BUILD_FORMAT_CACHE_MEMBER_ACCESS_TOTAL] = - LLVMInt64TypeInContext(gallivm->context); -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format.h b/src/gallium/auxiliary/gallivm/lp_bld_format.h -index 0ed1dca38864c..74a625dce7292 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format.h -@@ -68,7 +68,7 @@ struct lp_build_format_cache - }; - - --enum { -+enum cache_member { - LP_BUILD_FORMAT_CACHE_MEMBER_DATA = 0, - LP_BUILD_FORMAT_CACHE_MEMBER_TAGS, - #if LP_BUILD_FORMAT_CACHE_DEBUG -@@ -83,7 +83,10 @@ LLVMTypeRef - lp_build_format_cache_type(struct gallivm_state *gallivm); - - LLVMTypeRef --lp_build_format_cache_member_data_type(struct gallivm_state *gallivm); -+lp_build_format_cache_member_type(struct gallivm_state *gallivm, enum cache_member member); -+ -+LLVMTypeRef -+lp_build_format_cache_elem_type(struct gallivm_state *gallivm, enum cache_member member); - - /* - * AoS -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -index 5d91c779e88d2..fe44841528cb0 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -@@ -1150,35 +1150,39 @@ s3tc_store_cached_block(struct gallivm_state *gallivm, - } - - static LLVMValueRef --s3tc_lookup_cached_pixel(struct gallivm_state *gallivm, -- LLVMValueRef cache, -- LLVMValueRef index) --{ -+lookup_cache_member(struct gallivm_state *gallivm, LLVMValueRef cache, enum cache_member member, LLVMValueRef index) { -+ assert(member == LP_BUILD_FORMAT_CACHE_MEMBER_DATA || member == LP_BUILD_FORMAT_CACHE_MEMBER_TAGS); - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef member_ptr, indices[3]; - - indices[0] = lp_build_const_int32(gallivm, 0); -- indices[1] = lp_build_const_int32(gallivm, LP_BUILD_FORMAT_CACHE_MEMBER_DATA); -+ indices[1] = lp_build_const_int32(gallivm, member); - indices[2] = index; -- member_ptr = LLVMBuildGEP2(builder, lp_build_format_cache_type(gallivm), cache, indices, ARRAY_SIZE(indices), ""); - -- return LLVMBuildLoad2(builder, lp_build_format_cache_member_data_type(gallivm), member_ptr, "cache_data"); -+ const char *name = -+ member == LP_BUILD_FORMAT_CACHE_MEMBER_DATA ? "cache_data" : -+ member == LP_BUILD_FORMAT_CACHE_MEMBER_TAGS ? "tag_data" : ""; -+ -+ member_ptr = LLVMBuildGEP2(builder, lp_build_format_cache_type(gallivm), -+ cache, indices, ARRAY_SIZE(indices), "cache_gep"); -+ -+ return LLVMBuildLoad2(builder, lp_build_format_cache_elem_type(gallivm, member), member_ptr, name); -+} -+ -+static LLVMValueRef -+s3tc_lookup_cached_pixel(struct gallivm_state *gallivm, -+ LLVMValueRef cache, -+ LLVMValueRef index) -+{ -+ return lookup_cache_member(gallivm, cache, LP_BUILD_FORMAT_CACHE_MEMBER_DATA, index); - } - - static LLVMValueRef - s3tc_lookup_tag_data(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -+ LLVMValueRef cache, - LLVMValueRef index) - { -- LLVMBuilderRef builder = gallivm->builder; -- LLVMValueRef member_ptr, indices[3]; -- -- indices[0] = lp_build_const_int32(gallivm, 0); -- indices[1] = lp_build_const_int32(gallivm, LP_BUILD_FORMAT_CACHE_MEMBER_TAGS); -- indices[2] = index; -- LLVMTypeRef tag_type = LLVMInt64TypeInContext(gallivm->context); -- member_ptr = LLVMBuildGEP(builder, ptr, indices, ARRAY_SIZE(indices), ""); -- return LLVMBuildLoad2(builder, tag_type, member_ptr, "tag_data"); -+ return lookup_cache_member(gallivm, cache, LP_BUILD_FORMAT_CACHE_MEMBER_TAGS, index); - } - - #if LP_BUILD_FORMAT_CACHE_DEBUG --- -GitLab - - -From f0fda08739e46dfcb552d4510c387130ee14874d Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 12 Jul 2022 23:21:49 +0300 -Subject: [PATCH 3/4] gallivm: add lp_build_struct_get() variants that take the - LLVM type -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This is needed for LLVM-15 opaque pointers. -The new variants taking the type are named with the suffix "2", using -the same naming pattern LLVM (e.g. LLVMBuildGEP2 vs. LLVMBuildGEP). - -Reviewed-by: Brian Paul <brianp@vmware.com> -Acked-by: Marek Olšák <marek.olsak@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650> ---- - src/gallium/auxiliary/draw/draw_llvm.c | 165 +++++++++--------- - src/gallium/auxiliary/draw/draw_llvm.h | 145 +++++++-------- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 49 +++++- - src/gallium/auxiliary/gallivm/lp_bld_struct.h | 22 +++ - 4 files changed, 225 insertions(+), 156 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c -index 4f952e0e17c48..4ec2883c2dd0a 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.c -+++ b/src/gallium/auxiliary/draw/draw_llvm.c -@@ -307,37 +307,28 @@ create_jit_image_type(struct gallivm_state *gallivm, const char *struct_name) - * Create LLVM type for struct draw_jit_context - */ - static LLVMTypeRef --create_jit_context_type(struct gallivm_state *gallivm, -- LLVMTypeRef texture_type, LLVMTypeRef sampler_type, -- LLVMTypeRef image_type, -- const char *struct_name) -+create_jit_context_type(struct gallivm_state *gallivm, const char *struct_name) - { -+ LLVMTypeRef texture_type = create_jit_texture_type(gallivm, "texture"); -+ LLVMTypeRef sampler_type = create_jit_sampler_type(gallivm, "sampler"); -+ LLVMTypeRef image_type = create_jit_image_type(gallivm, "image"); -+ - LLVMTargetDataRef target = gallivm->target; - LLVMTypeRef float_type = LLVMFloatTypeInContext(gallivm->context); - LLVMTypeRef int_type = LLVMInt32TypeInContext(gallivm->context); - LLVMTypeRef elem_types[DRAW_JIT_CTX_NUM_FIELDS]; -- LLVMTypeRef context_type; - -- elem_types[0] = LLVMArrayType(LLVMPointerType(float_type, 0), /* vs_constants */ -- LP_MAX_TGSI_CONST_BUFFERS); -- elem_types[1] = LLVMArrayType(int_type, /* num_vs_constants */ -- LP_MAX_TGSI_CONST_BUFFERS); -- elem_types[2] = LLVMPointerType(LLVMArrayType(LLVMArrayType(float_type, 4), -- DRAW_TOTAL_CLIP_PLANES), 0); -- elem_types[3] = LLVMPointerType(float_type, 0); /* viewports */ -- elem_types[4] = LLVMArrayType(texture_type, -- PIPE_MAX_SHADER_SAMPLER_VIEWS); /* textures */ -- elem_types[5] = LLVMArrayType(sampler_type, -- PIPE_MAX_SAMPLERS); /* samplers */ -- elem_types[6] = LLVMArrayType(image_type, -- PIPE_MAX_SHADER_IMAGES); /* images */ -- elem_types[7] = LLVMArrayType(LLVMPointerType(int_type, 0), /* vs_ssbo */ -- LP_MAX_TGSI_SHADER_BUFFERS); -- elem_types[8] = LLVMArrayType(int_type, /* num_vs_ssbos */ -- LP_MAX_TGSI_SHADER_BUFFERS); -- elem_types[9] = LLVMPointerType(float_type, 0); /* aniso table */ -- context_type = LLVMStructTypeInContext(gallivm->context, elem_types, -- ARRAY_SIZE(elem_types), 0); -+ elem_types[DRAW_JIT_CTX_CONSTANTS] = LLVMArrayType(LLVMPointerType(float_type, 0), LP_MAX_TGSI_CONST_BUFFERS); -+ elem_types[DRAW_JIT_CTX_NUM_CONSTANTS] = LLVMArrayType(int_type, LP_MAX_TGSI_CONST_BUFFERS); -+ elem_types[DRAW_JIT_CTX_PLANES] = LLVMPointerType(LLVMArrayType(LLVMArrayType(float_type, 4), DRAW_TOTAL_CLIP_PLANES), 0); -+ elem_types[DRAW_JIT_CTX_VIEWPORT] = LLVMPointerType(float_type, 0); -+ elem_types[DRAW_JIT_CTX_TEXTURES] = LLVMArrayType(texture_type, PIPE_MAX_SHADER_SAMPLER_VIEWS); -+ elem_types[DRAW_JIT_CTX_SAMPLERS] = LLVMArrayType(sampler_type, PIPE_MAX_SAMPLERS); -+ elem_types[DRAW_JIT_CTX_IMAGES] = LLVMArrayType(image_type, PIPE_MAX_SHADER_IMAGES); -+ elem_types[DRAW_JIT_CTX_SSBOS] = LLVMArrayType(LLVMPointerType(int_type, 0), LP_MAX_TGSI_SHADER_BUFFERS); -+ elem_types[DRAW_JIT_CTX_NUM_SSBOS] = LLVMArrayType(int_type, LP_MAX_TGSI_SHADER_BUFFERS); -+ elem_types[DRAW_JIT_CTX_ANISO_FILTER_TABLE] = LLVMPointerType(float_type, 0); -+ LLVMTypeRef context_type = LLVMStructTypeInContext(gallivm->context, elem_types, ARRAY_SIZE(elem_types), 0); - - (void) target; /* silence unused var warning for non-debug build */ - LP_CHECK_MEMBER_OFFSET(struct draw_jit_context, vs_constants, -@@ -720,16 +711,9 @@ static void - create_jit_types(struct draw_llvm_variant *variant) - { - struct gallivm_state *gallivm = variant->gallivm; -- LLVMTypeRef texture_type, sampler_type, context_type, image_type; - -- texture_type = create_jit_texture_type(gallivm, "texture"); -- sampler_type = create_jit_sampler_type(gallivm, "sampler"); -- image_type = create_jit_image_type(gallivm, "image"); -- -- context_type = create_jit_context_type(gallivm, texture_type, sampler_type, -- image_type, -- "draw_jit_context"); -- variant->context_ptr_type = LLVMPointerType(context_type, 0); -+ variant->context_type = create_jit_context_type(gallivm, "draw_jit_context"); -+ variant->context_ptr_type = LLVMPointerType(variant->context_type, 0); - - variant->buffer_type = create_jit_dvbuffer_type(gallivm, "draw_vertex_buffer"); - variant->buffer_ptr_type = LLVMPointerType(variant->buffer_type, 0); -@@ -983,13 +967,13 @@ generate_vs(struct draw_llvm_variant *variant, - struct draw_llvm *llvm = variant->llvm; - const struct tgsi_token *tokens = llvm->draw->vs.vertex_shader->state.tokens; - LLVMValueRef consts_ptr = -- draw_jit_context_vs_constants(variant->gallivm, context_ptr); -+ draw_jit_context_vs_constants(variant, context_ptr); - LLVMValueRef num_consts_ptr = -- draw_jit_context_num_vs_constants(variant->gallivm, context_ptr); -+ draw_jit_context_num_vs_constants(variant, context_ptr); - LLVMValueRef ssbos_ptr = -- draw_jit_context_vs_ssbos(variant->gallivm, context_ptr); -+ draw_jit_context_vs_ssbos(variant, context_ptr); - LLVMValueRef num_ssbos_ptr = -- draw_jit_context_num_vs_ssbos(variant->gallivm, context_ptr); -+ draw_jit_context_num_vs_ssbos(variant, context_ptr); - - struct lp_build_tgsi_params params; - memset(¶ms, 0, sizeof(params)); -@@ -1006,7 +990,7 @@ generate_vs(struct draw_llvm_variant *variant, - params.ssbo_ptr = ssbos_ptr; - params.ssbo_sizes_ptr = num_ssbos_ptr; - params.image = draw_image; -- params.aniso_filter_table = draw_jit_context_aniso_filter_table(variant->gallivm, context_ptr); -+ params.aniso_filter_table = draw_jit_context_aniso_filter_table(variant, context_ptr); - - if (llvm->draw->vs.vertex_shader->state.ir.nir && - llvm->draw->vs.vertex_shader->state.type == PIPE_SHADER_IR_NIR) -@@ -1161,13 +1145,14 @@ fetch_vector(struct gallivm_state *gallivm, - - static void - store_aos(struct gallivm_state *gallivm, -+ LLVMTypeRef io_type, - LLVMValueRef io_ptr, - LLVMValueRef index, - LLVMValueRef value) - { - LLVMTypeRef data_ptr_type = LLVMPointerType(lp_build_vec_type(gallivm, lp_float32_vec4_type()), 0); - LLVMBuilderRef builder = gallivm->builder; -- LLVMValueRef data_ptr = draw_jit_header_data(gallivm, io_ptr); -+ LLVMValueRef data_ptr = draw_jit_header_data(gallivm, io_type, io_ptr); - LLVMValueRef indices[3]; - - indices[0] = lp_build_const_int32(gallivm, 0); -@@ -1240,6 +1225,7 @@ adjust_mask(struct gallivm_state *gallivm, - static void - store_aos_array(struct gallivm_state *gallivm, - struct lp_type soa_type, -+ LLVMTypeRef io_type, - LLVMValueRef io_ptr, - LLVMValueRef *indices, - LLVMValueRef* aos, -@@ -1265,7 +1251,7 @@ store_aos_array(struct gallivm_state *gallivm, - } else { - inds[i] = linear_inds[i]; - } -- io_ptrs[i] = LLVMBuildGEP(builder, io_ptr, &inds[i], 1, ""); -+ io_ptrs[i] = LLVMBuildGEP2(builder, io_type, io_ptr, &inds[i], 1, ""); - } - - if (attrib == 0) { -@@ -1289,7 +1275,7 @@ store_aos_array(struct gallivm_state *gallivm, - /* OR with the clipmask */ - cliptmp = LLVMBuildOr(builder, val, clipmask, ""); - for (i = 0; i < vector_length; i++) { -- LLVMValueRef id_ptr = draw_jit_header_id(gallivm, io_ptrs[i]); -+ LLVMValueRef id_ptr = draw_jit_header_id(gallivm, io_type, io_ptrs[i]); - val = LLVMBuildExtractElement(builder, cliptmp, linear_inds[i], ""); - val = adjust_mask(gallivm, val); - #if DEBUG_STORE -@@ -1302,13 +1288,14 @@ store_aos_array(struct gallivm_state *gallivm, - - /* store for each of the n vertices */ - for (i = 0; i < vector_length; i++) { -- store_aos(gallivm, io_ptrs[i], attr_index, aos[i]); -+ store_aos(gallivm, io_type, io_ptrs[i], attr_index, aos[i]); - } - } - - - static void - convert_to_aos(struct gallivm_state *gallivm, -+ LLVMTypeRef io_type, - LLVMValueRef io, - LLVMValueRef *indices, - LLVMValueRef (*outputs)[TGSI_NUM_CHANNELS], -@@ -1367,7 +1354,9 @@ convert_to_aos(struct gallivm_state *gallivm, - - store_aos_array(gallivm, - soa_type, -- io, indices, -+ io_type, -+ io, -+ indices, - aos, - attrib, - num_outputs, -@@ -1386,6 +1375,7 @@ convert_to_aos(struct gallivm_state *gallivm, - static void - store_clip(struct gallivm_state *gallivm, - const struct lp_type vs_type, -+ LLVMTypeRef io_type, - LLVMValueRef io_ptr, - LLVMValueRef (*outputs)[TGSI_NUM_CHANNELS], - int idx) -@@ -1403,7 +1393,7 @@ store_clip(struct gallivm_state *gallivm, - - for (i = 0; i < vs_type.length; i++) { - inds[i] = lp_build_const_int32(gallivm, i); -- io_ptrs[i] = LLVMBuildGEP(builder, io_ptr, &inds[i], 1, ""); -+ io_ptrs[i] = LLVMBuildGEP2(builder, io_type, io_ptr, &inds[i], 1, ""); - } - - soa[0] = LLVMBuildLoad(builder, outputs[idx][0], ""); /*x0 x1 .. xn*/ -@@ -1412,7 +1402,7 @@ store_clip(struct gallivm_state *gallivm, - soa[3] = LLVMBuildLoad(builder, outputs[idx][3], ""); /*w0 w1 .. wn*/ - - for (i = 0; i < vs_type.length; i++) { -- clip_ptrs[i] = draw_jit_header_clip_pos(gallivm, io_ptrs[i]); -+ clip_ptrs[i] = draw_jit_header_clip_pos(gallivm, io_type, io_ptrs[i]); - } - - lp_build_transpose_aos(gallivm, vs_type, soa, soa); -@@ -1451,7 +1441,7 @@ generate_viewport(struct draw_llvm_variant *variant, - LLVMTypeRef vs_type_llvm = lp_build_vec_type(gallivm, vs_type); - LLVMValueRef out3 = LLVMBuildLoad2(builder, vs_type_llvm, outputs[pos][3], ""); /*w0 w1 .. wn*/ - LLVMValueRef const1 = lp_build_const_vec(gallivm, f32_type, 1.0); /*1.0 1.0 1.0 1.0*/ -- LLVMValueRef vp_ptr = draw_jit_context_viewports(gallivm, context_ptr); -+ LLVMValueRef vp_ptr = draw_jit_context_viewports(variant, context_ptr); - - /* We treat pipe_viewport_state as a float array */ - const int scale_index_offset = offsetof(struct pipe_viewport_state, scale) / sizeof(float); -@@ -1504,6 +1494,7 @@ generate_clipmask(struct draw_llvm *llvm, - struct lp_type vs_type, - LLVMValueRef (*outputs)[TGSI_NUM_CHANNELS], - struct draw_llvm_variant_key *key, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - boolean *have_clipdist) - { -@@ -1623,7 +1614,7 @@ generate_clipmask(struct draw_llvm *llvm, - } - - if (clip_user) { -- LLVMValueRef planes_ptr = draw_jit_context_planes(gallivm, context_ptr); -+ LLVMValueRef planes_ptr = draw_jit_context_planes(gallivm, context_type, context_ptr); - LLVMValueRef indices[3]; - LLVMValueRef is_nan_or_inf; - -@@ -1834,7 +1825,8 @@ draw_gs_llvm_emit_vertex(const struct lp_build_gs_iface *gs_base, - do_clamp_vertex_color(gallivm, gs_type, - gs_info, outputs); - } -- convert_to_aos(gallivm, io, indices, -+ convert_to_aos(gallivm, variant->vertex_header_type, -+ io, indices, - outputs, clipmask, - gs_info->num_outputs, gs_type, - FALSE); -@@ -1854,7 +1846,7 @@ draw_gs_llvm_end_primitive(const struct lp_build_gs_iface *gs_base, - struct gallivm_state *gallivm = variant->gallivm; - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef prim_lengts_ptr = -- draw_gs_jit_prim_lengths(variant->gallivm, variant->context_ptr); -+ draw_gs_jit_prim_lengths(variant, variant->context_ptr); - unsigned i; - - LLVMValueRef cond = LLVMBuildICmp(gallivm->builder, LLVMIntNE, mask_vec, lp_build_const_int_vec(gallivm, bld->type, 0), ""); -@@ -1889,9 +1881,9 @@ draw_gs_llvm_epilogue(const struct lp_build_gs_iface *gs_base, - struct gallivm_state *gallivm = variant->gallivm; - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef emitted_verts_ptr = -- draw_gs_jit_emitted_vertices(gallivm, variant->context_ptr); -+ draw_gs_jit_emitted_vertices(variant, variant->context_ptr); - LLVMValueRef emitted_prims_ptr = -- draw_gs_jit_emitted_prims(gallivm, variant->context_ptr); -+ draw_gs_jit_emitted_prims(variant, variant->context_ptr); - LLVMValueRef stream_val = lp_build_const_int32(gallivm, stream); - - emitted_verts_ptr = LLVMBuildGEP(builder, emitted_verts_ptr, &stream_val, 1, ""); -@@ -2097,12 +2089,12 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - if (velem->src_format != PIPE_FORMAT_NONE) { - vbuffer_ptr = LLVMBuildGEP2(builder, variant->buffer_type, vbuffers_ptr, &vb_index, 1, ""); - vb_info = LLVMBuildGEP2(builder, variant->vb_type, vb_ptr, &vb_index, 1, ""); -- vb_stride[j] = draw_jit_vbuffer_stride(gallivm, vb_info); -+ vb_stride[j] = draw_jit_vbuffer_stride(gallivm, variant->vb_type, vb_info); - vb_stride[j] = LLVMBuildZExt(gallivm->builder, vb_stride[j], - LLVMInt32TypeInContext(context), ""); -- vb_buffer_offset = draw_jit_vbuffer_offset(gallivm, vb_info); -- map_ptr[j] = draw_jit_dvbuffer_map(gallivm, vbuffer_ptr); -- buffer_size = draw_jit_dvbuffer_size(gallivm, vbuffer_ptr); -+ vb_buffer_offset = draw_jit_vbuffer_offset(gallivm, variant->vb_type, vb_info); -+ map_ptr[j] = draw_jit_dvbuffer_map(gallivm, variant->buffer_type, vbuffer_ptr); -+ buffer_size = draw_jit_dvbuffer_size(gallivm, variant->buffer_type, vbuffer_ptr); - - ofbit = NULL; - /* -@@ -2317,7 +2309,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - lp_build_mask_end(&mask); - if (pos != -1 && cv != -1) { - /* store original positions in clip before further manipulation */ -- store_clip(gallivm, vs_type, io, outputs, pos); -+ store_clip(gallivm, vs_type, variant->vertex_header_type, io, outputs, pos); - - /* do cliptest */ - if (enable_cliptest) { -@@ -2328,6 +2320,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - vs_type, - outputs, - key, -+ variant->context_type, - context_ptr, &have_clipdist); - temp = LLVMBuildOr(builder, clipmask, temp, ""); - /* store temporary clipping boolean value */ -@@ -2350,7 +2343,7 @@ draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant) - * original positions in clip - * and transformed positions in data - */ -- convert_to_aos(gallivm, io, NULL, outputs, clipmask, -+ convert_to_aos(gallivm, variant->vertex_header_type, io, NULL, outputs, clipmask, - vs_info->num_outputs, vs_type, - enable_cliptest && key->need_edgeflags); - } -@@ -2695,18 +2688,18 @@ static void - create_gs_jit_types(struct draw_gs_llvm_variant *var) - { - struct gallivm_state *gallivm = var->gallivm; -- LLVMTypeRef texture_type, sampler_type, image_type, context_type; -+ LLVMTypeRef texture_type, sampler_type, image_type; - - texture_type = create_jit_texture_type(gallivm, "texture"); - sampler_type = create_jit_sampler_type(gallivm, "sampler"); - image_type = create_jit_image_type(gallivm, "image"); - -- context_type = create_gs_jit_context_type(gallivm, -+ var->context_type = create_gs_jit_context_type(gallivm, - var->shader->base.vector_length, - texture_type, sampler_type, - image_type, - "draw_gs_jit_context"); -- var->context_ptr_type = LLVMPointerType(context_type, 0); -+ var->context_ptr_type = LLVMPointerType(var->context_type, 0); - - var->input_array_type = create_gs_jit_input_type(gallivm); - } -@@ -2850,13 +2843,13 @@ draw_gs_llvm_generate(struct draw_llvm *llvm, - gs_type.width = 32; /* 32-bit float */ - gs_type.length = vector_length; - -- consts_ptr = draw_gs_jit_context_constants(variant->gallivm, context_ptr); -+ consts_ptr = draw_gs_jit_context_constants(variant, context_ptr); - num_consts_ptr = -- draw_gs_jit_context_num_constants(variant->gallivm, context_ptr); -+ draw_gs_jit_context_num_constants(variant, context_ptr); - -- ssbos_ptr = draw_gs_jit_context_ssbos(variant->gallivm, context_ptr); -+ ssbos_ptr = draw_gs_jit_context_ssbos(variant, context_ptr); - num_ssbos_ptr = -- draw_gs_jit_context_num_ssbos(variant->gallivm, context_ptr); -+ draw_gs_jit_context_num_ssbos(variant, context_ptr); - - /* code generated texture sampling */ - sampler = draw_llvm_sampler_soa_create(variant->key.samplers, -@@ -2895,7 +2888,7 @@ draw_gs_llvm_generate(struct draw_llvm *llvm, - params.ssbo_sizes_ptr = num_ssbos_ptr; - params.image = image; - params.gs_vertex_streams = variant->shader->base.num_vertex_streams; -- params.aniso_filter_table = draw_gs_jit_context_aniso_filter_table(gallivm, context_ptr); -+ params.aniso_filter_table = draw_gs_jit_context_aniso_filter_table(variant, context_ptr); - - if (llvm->draw->gs.geometry_shader->state.type == PIPE_SHADER_IR_TGSI) - lp_build_tgsi_soa(variant->gallivm, -@@ -2926,7 +2919,6 @@ draw_gs_llvm_create_variant(struct draw_llvm *llvm, - struct draw_gs_llvm_variant *variant; - struct llvm_geometry_shader *shader = - llvm_geometry_shader(llvm->draw->gs.geometry_shader); -- LLVMTypeRef vertex_header; - char module_name[64]; - unsigned char ir_sha1_cache_key[20]; - struct lp_cached_code cached = { 0 }; -@@ -2963,9 +2955,8 @@ draw_gs_llvm_create_variant(struct draw_llvm *llvm, - - create_gs_jit_types(variant); - -- vertex_header = create_jit_vertex_header(variant->gallivm, num_outputs); -- -- variant->vertex_header_ptr_type = LLVMPointerType(vertex_header, 0); -+ variant->vertex_header_type = create_jit_vertex_header(variant->gallivm, num_outputs); -+ variant->vertex_header_ptr_type = LLVMPointerType(variant->vertex_header_type, 0); - - draw_gs_llvm_generate(llvm, variant); - -@@ -3083,20 +3074,20 @@ static void - create_tcs_jit_types(struct draw_tcs_llvm_variant *var) - { - struct gallivm_state *gallivm = var->gallivm; -- LLVMTypeRef texture_type, sampler_type, image_type, context_type; -+ LLVMTypeRef texture_type, sampler_type, image_type; - - texture_type = create_jit_texture_type(gallivm, "texture"); - sampler_type = create_jit_sampler_type(gallivm, "sampler"); - image_type = create_jit_image_type(gallivm, "image"); - -- context_type = create_tcs_jit_context_type(gallivm, -+ var->context_type = create_tcs_jit_context_type(gallivm, - 0, - texture_type, sampler_type, - image_type, - "draw_tcs_jit_context"); - var->input_array_type = create_tcs_jit_input_type(gallivm); - var->output_array_type = create_tcs_jit_output_type(gallivm); -- var->context_ptr_type = LLVMPointerType(context_type, 0); -+ var->context_ptr_type = LLVMPointerType(var->context_type, 0); - } - - static LLVMTypeRef -@@ -3496,13 +3487,13 @@ draw_tcs_llvm_generate(struct draw_llvm *llvm, - patch_vertices_in = LLVMGetParam(variant_coro, 4); - view_index = LLVMGetParam(variant_coro, 5); - -- consts_ptr = draw_tcs_jit_context_constants(variant->gallivm, context_ptr); -+ consts_ptr = draw_tcs_jit_context_constants(variant, context_ptr); - num_consts_ptr = -- draw_tcs_jit_context_num_constants(variant->gallivm, context_ptr); -+ draw_tcs_jit_context_num_constants(variant, context_ptr); - -- ssbos_ptr = draw_tcs_jit_context_ssbos(variant->gallivm, context_ptr); -+ ssbos_ptr = draw_tcs_jit_context_ssbos(variant, context_ptr); - num_ssbos_ptr = -- draw_tcs_jit_context_num_ssbos(variant->gallivm, context_ptr); -+ draw_tcs_jit_context_num_ssbos(variant, context_ptr); - sampler = draw_llvm_sampler_soa_create(variant->key.samplers, - MAX2(variant->key.nr_samplers, - variant->key.nr_sampler_views)); -@@ -3559,7 +3550,7 @@ draw_tcs_llvm_generate(struct draw_llvm *llvm, - params.image = image; - params.coro = &coro_info; - params.tcs_iface = &tcs_iface.base; -- params.aniso_filter_table = draw_tcs_jit_context_aniso_filter_table(gallivm, context_ptr); -+ params.aniso_filter_table = draw_tcs_jit_context_aniso_filter_table(variant, context_ptr); - - lp_build_nir_soa(variant->gallivm, - llvm->draw->tcs.tess_ctrl_shader->state.ir.nir, -@@ -3745,18 +3736,18 @@ static void - create_tes_jit_types(struct draw_tes_llvm_variant *var) - { - struct gallivm_state *gallivm = var->gallivm; -- LLVMTypeRef texture_type, sampler_type, image_type, context_type; -+ LLVMTypeRef texture_type, sampler_type, image_type; - - texture_type = create_jit_texture_type(gallivm, "texture"); - sampler_type = create_jit_sampler_type(gallivm, "sampler"); - image_type = create_jit_image_type(gallivm, "image"); - -- context_type = create_tes_jit_context_type(gallivm, -+ var->context_type = create_tes_jit_context_type(gallivm, - 0, - texture_type, sampler_type, - image_type, - "draw_tes_jit_context"); -- var->context_ptr_type = LLVMPointerType(context_type, 0); -+ var->context_ptr_type = LLVMPointerType(var->context_type, 0); - - var->input_array_deref_type = create_tes_jit_input_deref_type(gallivm); - var->input_array_type = LLVMPointerType(var->input_array_deref_type, 0); /* num vertices per prim */ -@@ -4013,13 +4004,13 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - tes_type.length = vector_length; - - lp_build_context_init(&bldvec, variant->gallivm, lp_int_type(tes_type)); -- consts_ptr = draw_tes_jit_context_constants(variant->gallivm, context_ptr); -+ consts_ptr = draw_tes_jit_context_constants(variant, context_ptr); - num_consts_ptr = -- draw_tes_jit_context_num_constants(variant->gallivm, context_ptr); -+ draw_tes_jit_context_num_constants(variant, context_ptr); - -- ssbos_ptr = draw_tes_jit_context_ssbos(variant->gallivm, context_ptr); -+ ssbos_ptr = draw_tes_jit_context_ssbos(variant, context_ptr); - num_ssbos_ptr = -- draw_tes_jit_context_num_ssbos(variant->gallivm, context_ptr); -+ draw_tes_jit_context_num_ssbos(variant, context_ptr); - sampler = draw_llvm_sampler_soa_create(variant->key.samplers, - MAX2(variant->key.nr_samplers, - variant->key.nr_sampler_views)); -@@ -4088,7 +4079,7 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - params.ssbo_sizes_ptr = num_ssbos_ptr; - params.image = image; - params.tes_iface = &tes_iface.base; -- params.aniso_filter_table = draw_tes_jit_context_aniso_filter_table(variant->gallivm, context_ptr); -+ params.aniso_filter_table = draw_tes_jit_context_aniso_filter_table(variant, context_ptr); - - lp_build_nir_soa(variant->gallivm, - llvm->draw->tes.tess_eval_shader->state.ir.nir, -@@ -4106,7 +4097,7 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - LLVMValueRef clipmask = lp_build_const_int_vec(gallivm, - lp_int_type(tes_type), 0); - -- convert_to_aos(gallivm, io, NULL, outputs, clipmask, -+ convert_to_aos(gallivm, variant->vertex_header_type, io, NULL, outputs, clipmask, - draw_total_tes_outputs(llvm->draw), tes_type, FALSE); - } - lp_build_loop_end_cond(&lp_loop, num_tess_coord, step, LLVMIntUGE); -diff --git a/src/gallium/auxiliary/draw/draw_llvm.h b/src/gallium/auxiliary/draw/draw_llvm.h -index 50525cbd25b05..3e1946a3144f3 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.h -+++ b/src/gallium/auxiliary/draw/draw_llvm.h -@@ -188,17 +188,17 @@ enum { - DRAW_JIT_CTX_NUM_FIELDS - }; - --#define draw_jit_context_vs_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_CONSTANTS, "vs_constants") -+#define draw_jit_context_vs_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_CONSTANTS, "vs_constants") - --#define draw_jit_context_num_vs_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_NUM_CONSTANTS, "num_vs_constants") -+#define draw_jit_context_num_vs_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_NUM_CONSTANTS, "num_vs_constants") - --#define draw_jit_context_planes(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_JIT_CTX_PLANES, "planes") -+#define draw_jit_context_planes(_gallivm, _type, _ptr) \ -+ lp_build_struct_get2(_gallivm, _type, _ptr, DRAW_JIT_CTX_PLANES, "planes") - --#define draw_jit_context_viewports(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_JIT_CTX_VIEWPORT, "viewports") -+#define draw_jit_context_viewports(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_VIEWPORT, "viewports") - - #define draw_jit_context_textures(_gallivm, _ptr) \ - lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_TEXTURES, "textures") -@@ -209,31 +209,31 @@ enum { - #define draw_jit_context_images(_gallivm, _ptr) \ - lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_IMAGES, "images") - --#define draw_jit_context_vs_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_SSBOS, "vs_ssbos") -+#define draw_jit_context_vs_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_SSBOS, "vs_ssbos") - --#define draw_jit_context_num_vs_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_NUM_SSBOS, "num_vs_ssbos") -+#define draw_jit_context_num_vs_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_NUM_SSBOS, "num_vs_ssbos") - --#define draw_jit_context_aniso_filter_table(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") -+#define draw_jit_context_aniso_filter_table(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") - - --#define draw_jit_header_id(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_VERTEX_VERTEX_ID, "id") -+#define draw_jit_header_id(_gallivm, _type, _ptr) \ -+ lp_build_struct_get_ptr2(_gallivm, _type, _ptr, DRAW_JIT_VERTEX_VERTEX_ID, "id") - --#define draw_jit_header_clip_pos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_VERTEX_CLIP_POS, "clip_pos") -+#define draw_jit_header_clip_pos(_gallivm, _type, _ptr) \ -+ lp_build_struct_get_ptr2(_gallivm, _type, _ptr, DRAW_JIT_VERTEX_CLIP_POS, "clip_pos") - --#define draw_jit_header_data(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_VERTEX_DATA, "data") -+#define draw_jit_header_data(_gallivm, _type, _ptr) \ -+ lp_build_struct_get_ptr2(_gallivm, _type, _ptr, DRAW_JIT_VERTEX_DATA, "data") - - --#define draw_jit_vbuffer_stride(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, 0, "stride") -+#define draw_jit_vbuffer_stride(_gallivm, _type, _ptr) \ -+ lp_build_struct_get2(_gallivm, _type, _ptr, 0, "stride") - --#define draw_jit_vbuffer_offset(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, 2, "buffer_offset") -+#define draw_jit_vbuffer_offset(_gallivm, _type, _ptr) \ -+ lp_build_struct_get2(_gallivm, _type, _ptr, 2, "buffer_offset") - - enum { - DRAW_JIT_DVBUFFER_MAP = 0, -@@ -241,11 +241,11 @@ enum { - DRAW_JIT_DVBUFFER_NUM_FIELDS /* number of fields above */ - }; - --#define draw_jit_dvbuffer_map(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_JIT_DVBUFFER_MAP, "map") -+#define draw_jit_dvbuffer_map(_gallivm, _type, _ptr) \ -+ lp_build_struct_get2(_gallivm, _type, _ptr, DRAW_JIT_DVBUFFER_MAP, "map") - --#define draw_jit_dvbuffer_size(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_JIT_DVBUFFER_SIZE, "size") -+#define draw_jit_dvbuffer_size(_gallivm, _type, _ptr) \ -+ lp_build_struct_get2(_gallivm, _type, _ptr, DRAW_JIT_DVBUFFER_SIZE, "size") - - - /** -@@ -302,11 +302,11 @@ enum { - DRAW_GS_JIT_CTX_NUM_FIELDS = 13 - }; - --#define draw_gs_jit_context_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_CONSTANTS, "constants") -+#define draw_gs_jit_context_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_CONSTANTS, "constants") - --#define draw_gs_jit_context_num_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_NUM_CONSTANTS, "num_constants") -+#define draw_gs_jit_context_num_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_NUM_CONSTANTS, "num_constants") - - #define draw_gs_jit_context_planes(_gallivm, _ptr) \ - lp_build_struct_get(_gallivm, _ptr, DRAW_GS_JIT_CTX_PLANES, "planes") -@@ -323,23 +323,23 @@ enum { - #define draw_gs_jit_context_images(_gallivm, _ptr) \ - lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_IMAGES, "images") - --#define draw_gs_jit_prim_lengths(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_GS_JIT_CTX_PRIM_LENGTHS, "prim_lengths") -+#define draw_gs_jit_prim_lengths(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_PRIM_LENGTHS, "prim_lengths") - --#define draw_gs_jit_emitted_vertices(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_GS_JIT_CTX_EMITTED_VERTICES, "emitted_vertices") -+#define draw_gs_jit_emitted_vertices(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_EMITTED_VERTICES, "emitted_vertices") - --#define draw_gs_jit_emitted_prims(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_GS_JIT_CTX_EMITTED_PRIMS, "emitted_prims") -+#define draw_gs_jit_emitted_prims(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_EMITTED_PRIMS, "emitted_prims") - --#define draw_gs_jit_context_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_SSBOS, "ssbos") -+#define draw_gs_jit_context_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_SSBOS, "ssbos") - --#define draw_gs_jit_context_num_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_NUM_SSBOS, "num_ssbos") -+#define draw_gs_jit_context_num_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_NUM_SSBOS, "num_ssbos") - --#define draw_gs_jit_context_aniso_filter_table(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_GS_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") -+#define draw_gs_jit_context_aniso_filter_table(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") - - struct draw_tcs_jit_context { - const float *constants[LP_MAX_TGSI_CONST_BUFFERS]; -@@ -371,11 +371,11 @@ enum { - DRAW_TCS_JIT_CTX_NUM_FIELDS = 10, - }; - --#define draw_tcs_jit_context_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_CONSTANTS, "constants") -+#define draw_tcs_jit_context_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TCS_JIT_CTX_CONSTANTS, "constants") - --#define draw_tcs_jit_context_num_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_NUM_CONSTANTS, "num_constants") -+#define draw_tcs_jit_context_num_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TCS_JIT_CTX_NUM_CONSTANTS, "num_constants") - - #define draw_tcs_jit_context_textures(_gallivm, _ptr) \ - lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_TEXTURES, "textures") -@@ -386,14 +386,14 @@ enum { - #define draw_tcs_jit_context_images(_gallivm, _ptr) \ - lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_IMAGES, "images") - --#define draw_tcs_jit_context_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_SSBOS, "ssbos") -+#define draw_tcs_jit_context_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TCS_JIT_CTX_SSBOS, "ssbos") - --#define draw_tcs_jit_context_num_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_NUM_SSBOS, "num_ssbos") -+#define draw_tcs_jit_context_num_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TCS_JIT_CTX_NUM_SSBOS, "num_ssbos") - --#define draw_tcs_jit_context_aniso_filter_table(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_TCS_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") -+#define draw_tcs_jit_context_aniso_filter_table(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TCS_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") - - struct draw_tes_jit_context { - const float *constants[LP_MAX_TGSI_CONST_BUFFERS]; -@@ -425,11 +425,11 @@ enum { - DRAW_TES_JIT_CTX_NUM_FIELDS = 10, - }; - --#define draw_tes_jit_context_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_CONSTANTS, "constants") -+#define draw_tes_jit_context_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TES_JIT_CTX_CONSTANTS, "constants") - --#define draw_tes_jit_context_num_constants(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_NUM_CONSTANTS, "num_constants") -+#define draw_tes_jit_context_num_constants(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TES_JIT_CTX_NUM_CONSTANTS, "num_constants") - - #define draw_tes_jit_context_textures(_gallivm, _ptr) \ - lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_TEXTURES, "textures") -@@ -440,14 +440,14 @@ enum { - #define draw_tes_jit_context_images(_gallivm, _ptr) \ - lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_IMAGES, "images") - --#define draw_tes_jit_context_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_SSBOS, "ssbos") -+#define draw_tes_jit_context_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TES_JIT_CTX_SSBOS, "ssbos") - --#define draw_tes_jit_context_num_ssbos(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_NUM_SSBOS, "num_ssbos") -+#define draw_tes_jit_context_num_ssbos(_variant, _ptr) \ -+ lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TES_JIT_CTX_NUM_SSBOS, "num_ssbos") - --#define draw_tes_jit_context_aniso_filter_table(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_TES_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") -+#define draw_tes_jit_context_aniso_filter_table(_variant, _ptr) \ -+ lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TES_JIT_CTX_ANISO_FILTER_TABLE, "aniso_filter_table") - - typedef boolean - (*draw_jit_vert_func)(struct draw_jit_context *context, -@@ -688,14 +688,17 @@ struct draw_llvm_variant - struct gallivm_state *gallivm; - - /* LLVM JIT builder types */ -+ LLVMTypeRef context_type; - LLVMTypeRef context_ptr_type; -- LLVMTypeRef buffer_ptr_type; -- LLVMTypeRef vb_ptr_type; -- LLVMTypeRef vertex_header_ptr_type; - - LLVMTypeRef buffer_type; -+ LLVMTypeRef buffer_ptr_type; -+ - LLVMTypeRef vb_type; -+ LLVMTypeRef vb_ptr_type; -+ - LLVMTypeRef vertex_header_type; -+ LLVMTypeRef vertex_header_ptr_type; - - LLVMValueRef function; - draw_jit_vert_func jit_func; -@@ -716,8 +719,12 @@ struct draw_gs_llvm_variant - struct gallivm_state *gallivm; - - /* LLVM JIT builder types */ -+ LLVMTypeRef context_type; - LLVMTypeRef context_ptr_type; -+ -+ LLVMTypeRef vertex_header_type; - LLVMTypeRef vertex_header_ptr_type; -+ - LLVMTypeRef input_array_type; - - LLVMValueRef context_ptr; -@@ -741,12 +748,13 @@ struct draw_tcs_llvm_variant - struct gallivm_state *gallivm; - - /* LLVM JIT builder types */ -+ LLVMTypeRef context_type; - LLVMTypeRef context_ptr_type; - LLVMTypeRef input_array_type; - LLVMTypeRef output_array_type; - - LLVMValueRef context_ptr; -- LLVMValueRef io_ptr; -+ /* LLVMValueRef io_ptr; */ - LLVMValueRef num_prims; - LLVMValueRef function; - draw_tcs_jit_func jit_func; -@@ -766,6 +774,7 @@ struct draw_tes_llvm_variant - struct gallivm_state *gallivm; - - /* LLVM JIT builder types */ -+ LLVMTypeRef context_type; - LLVMTypeRef context_ptr_type; - LLVMTypeRef vertex_header_ptr_type; - LLVMTypeRef input_array_type; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index bd969d4681ae6..1007090410412 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -51,7 +51,12 @@ lp_build_struct_get_ptr(struct gallivm_state *gallivm, - LLVMValueRef indices[2]; - LLVMValueRef member_ptr; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -+ -+ /* Starting with LLVM 15, we're not supposed to look at pointer element type anymore. */ -+#if LLVM_VERSION_MAJOR < 15 - assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); -+#endif -+ - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, member); - member_ptr = LLVMBuildGEP(gallivm->builder, ptr, indices, ARRAY_SIZE(indices), ""); -@@ -59,7 +64,6 @@ lp_build_struct_get_ptr(struct gallivm_state *gallivm, - return member_ptr; - } - -- - LLVMValueRef - lp_build_struct_get(struct gallivm_state *gallivm, - LLVMValueRef ptr, -@@ -69,13 +73,56 @@ lp_build_struct_get(struct gallivm_state *gallivm, - LLVMValueRef member_ptr; - LLVMValueRef res; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -+#if LLVM_VERSION_MAJOR < 15 - assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); -+#endif - member_ptr = lp_build_struct_get_ptr(gallivm, ptr, member, name); - res = LLVMBuildLoad(gallivm->builder, member_ptr, ""); - lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name); - return res; - } - -+LLVMValueRef -+lp_build_struct_get_ptr2(struct gallivm_state *gallivm, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ unsigned member, -+ const char *name) -+{ -+ LLVMValueRef indices[2]; -+ LLVMValueRef member_ptr; -+ assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -+ -+ /* Starting with LLVM 15, we're not supposed to look at pointer element type anymore. */ -+#if LLVM_VERSION_MAJOR < 15 -+ assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); -+#endif -+ -+ indices[0] = lp_build_const_int32(gallivm, 0); -+ indices[1] = lp_build_const_int32(gallivm, member); -+ member_ptr = LLVMBuildGEP2(gallivm->builder, ptr_type, ptr, indices, ARRAY_SIZE(indices), ""); -+ lp_build_name(member_ptr, "%s.%s_ptr", LLVMGetValueName(ptr), name); -+ return member_ptr; -+} -+ -+LLVMValueRef -+lp_build_struct_get2(struct gallivm_state *gallivm, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ unsigned member, -+ const char *name) -+{ -+ LLVMValueRef member_ptr; -+ LLVMValueRef res; -+ assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -+#if LLVM_VERSION_MAJOR < 15 -+ assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); -+#endif -+ member_ptr = lp_build_struct_get_ptr2(gallivm, ptr_type, ptr, member, name); -+ res = LLVMBuildLoad(gallivm->builder, member_ptr, ""); -+ lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name); -+ return res; -+} - - LLVMValueRef - lp_build_array_get_ptr(struct gallivm_state *gallivm, -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.h b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -index 6b7b4f2a6bf7d..a87519883b4df 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -@@ -71,6 +71,28 @@ lp_build_struct_get(struct gallivm_state *gallivm, - unsigned member, - const char *name); - -+/** -+ * Get value pointer to a structure member. -+ * This takes the explicit LLVM type of ptr, as required by LLVM-15 opaque-pointers. -+ */ -+LLVMValueRef -+lp_build_struct_get_ptr2(struct gallivm_state *gallivm, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ unsigned member, -+ const char *name); -+ -+/** -+ * Get the value of a structure member. -+ * This takes the explicit LLVM type of ptr, as required by LLVM-15 opaque-pointers. -+ */ -+LLVMValueRef -+lp_build_struct_get2(struct gallivm_state *gallivm, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ unsigned member, -+ const char *name); -+ - /** - * Get value pointer to an array element. - */ --- -GitLab - - -From da9feae7355c15d489b916340ea2b62f9f8c0a7c Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Sat, 23 Jul 2022 08:45:55 +0300 -Subject: [PATCH 4/4] gallivm: push LLVM version guard into assert - -The asserts that check the pointer element type can't be used on LLVM >= 15. -Instead of using precompiler #if, use boolean shortcut in assert. - -Reviewed-by: Brian Paul <brianp@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17650> ---- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 20 ++++--------------- - 1 file changed, 4 insertions(+), 16 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index 1007090410412..be579c4ee25d7 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -51,11 +51,7 @@ lp_build_struct_get_ptr(struct gallivm_state *gallivm, - LLVMValueRef indices[2]; - LLVMValueRef member_ptr; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- -- /* Starting with LLVM 15, we're not supposed to look at pointer element type anymore. */ --#if LLVM_VERSION_MAJOR < 15 -- assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); --#endif -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); - - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, member); -@@ -73,9 +69,7 @@ lp_build_struct_get(struct gallivm_state *gallivm, - LLVMValueRef member_ptr; - LLVMValueRef res; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); --#if LLVM_VERSION_MAJOR < 15 -- assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); --#endif -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); - member_ptr = lp_build_struct_get_ptr(gallivm, ptr, member, name); - res = LLVMBuildLoad(gallivm->builder, member_ptr, ""); - lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name); -@@ -92,11 +86,7 @@ lp_build_struct_get_ptr2(struct gallivm_state *gallivm, - LLVMValueRef indices[2]; - LLVMValueRef member_ptr; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- -- /* Starting with LLVM 15, we're not supposed to look at pointer element type anymore. */ --#if LLVM_VERSION_MAJOR < 15 -- assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); --#endif -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); - - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = lp_build_const_int32(gallivm, member); -@@ -115,9 +105,7 @@ lp_build_struct_get2(struct gallivm_state *gallivm, - LLVMValueRef member_ptr; - LLVMValueRef res; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); --#if LLVM_VERSION_MAJOR < 15 -- assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); --#endif -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); - member_ptr = lp_build_struct_get_ptr2(gallivm, ptr_type, ptr, member, name); - res = LLVMBuildLoad(gallivm->builder, member_ptr, ""); - lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name); --- -GitLab - -From adf28955162007af80989b65df641b3c7ae6f78c Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Fri, 19 Aug 2022 11:56:35 +0300 -Subject: [PATCH 1/9] gallivm: LLVM-15 opaque pointers: disable - LLVMGetElementType(ptr_type) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -with opaque pointers, we can't query the element type of a pointer type - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - src/gallium/auxiliary/gallivm/lp_bld_ir_common.c | 5 +++-- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 6 +++--- - src/gallium/auxiliary/gallivm/lp_bld_swizzle.c | 2 +- - 3 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c b/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c -index d127ea0c7ff84..042cd5c814f27 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_ir_common.c -@@ -209,8 +209,9 @@ void lp_exec_mask_store(struct lp_exec_mask *mask, - - assert(lp_check_value(bld_store->type, val)); - assert(LLVMGetTypeKind(LLVMTypeOf(dst_ptr)) == LLVMPointerTypeKind); -- assert(LLVMGetElementType(LLVMTypeOf(dst_ptr)) == LLVMTypeOf(val) || -- LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(dst_ptr))) == LLVMArrayTypeKind); -+ assert(LLVM_VERSION_MAJOR >= 15 -+ || (LLVMGetElementType(LLVMTypeOf(dst_ptr)) == LLVMTypeOf(val) -+ || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(dst_ptr))) == LLVMArrayTypeKind)); - - if (exec_mask) { - LLVMValueRef res, dst; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index be579c4ee25d7..9e3e24cd9e1e7 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -120,7 +120,7 @@ lp_build_array_get_ptr(struct gallivm_state *gallivm, - LLVMValueRef indices[2]; - LLVMValueRef element_ptr; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); - indices[0] = lp_build_const_int32(gallivm, 0); - indices[1] = index; - element_ptr = LLVMBuildGEP(gallivm->builder, ptr, indices, ARRAY_SIZE(indices), ""); -@@ -140,7 +140,7 @@ lp_build_array_get(struct gallivm_state *gallivm, - LLVMValueRef element_ptr; - LLVMValueRef res; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); - element_ptr = lp_build_array_get_ptr(gallivm, ptr, index); - res = LLVMBuildLoad(gallivm->builder, element_ptr, ""); - #ifdef DEBUG -@@ -158,7 +158,7 @@ lp_build_array_set(struct gallivm_state *gallivm, - { - LLVMValueRef element_ptr; - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); - element_ptr = lp_build_array_get_ptr(gallivm, ptr, index); - LLVMBuildStore(gallivm->builder, value, element_ptr); - } -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_swizzle.c b/src/gallium/auxiliary/gallivm/lp_bld_swizzle.c -index b23c4cbbf02be..904eaa034d6cb 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_swizzle.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_swizzle.c -@@ -63,7 +63,7 @@ lp_build_broadcast(struct gallivm_state *gallivm, - LLVMTypeRef i32_type = LLVMInt32TypeInContext(gallivm->context); - LLVMTypeRef i32_vec_type = LLVMVectorType(i32_type, length); - -- assert(LLVMGetElementType(vec_type) == LLVMTypeOf(scalar)); -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetElementType(vec_type) == LLVMTypeOf(scalar)); - - res = LLVMBuildInsertElement(builder, undef, scalar, LLVMConstNull(i32_type), ""); - res = LLVMBuildShuffleVector(builder, res, undef, LLVMConstNull(i32_vec_type), ""); --- -GitLab - - -From 3668ebf8bd42bd9c9c9a7b8b5d4537198e5a2b4c Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 16 Aug 2022 09:44:53 +0300 -Subject: [PATCH 2/9] gallivm: drop unused "emit_load" in - lp_llvm_buffer_member() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - src/gallium/auxiliary/gallivm/lp_bld_jit_types.c | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c b/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -index 6e6c63db9f39b..c4bfa2be899ce 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -@@ -60,8 +60,7 @@ lp_llvm_buffer_member(struct gallivm_state *gallivm, - LLVMValueRef buffers_offset, - unsigned buffers_limit, - unsigned member_index, -- const char *member_name, -- boolean emit_load) -+ const char *member_name) - { - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef indices[3]; -@@ -74,7 +73,7 @@ lp_llvm_buffer_member(struct gallivm_state *gallivm, - LLVMValueRef ptr = - LLVMBuildGEP(builder, buffers_ptr, indices, ARRAY_SIZE(indices), ""); - -- LLVMValueRef res = emit_load ? LLVMBuildLoad(builder, ptr, "") : ptr; -+ LLVMValueRef res = LLVMBuildLoad(builder, ptr, ""); - - lp_build_name(res, "buffer.%s", member_name); - -@@ -90,7 +89,7 @@ lp_llvm_buffer_member(struct gallivm_state *gallivm, - * sampler code generator a reusable module without dependencies to - * llvmpipe internals. - */ --#define LP_LLVM_BUFFER_MEMBER(_name, _index, _emit_load) \ -+#define LP_LLVM_BUFFER_MEMBER(_name, _index) \ - LLVMValueRef \ - lp_llvm_buffer_##_name(struct gallivm_state *gallivm, \ - LLVMValueRef buffers_ptr, \ -@@ -98,8 +97,8 @@ lp_llvm_buffer_member(struct gallivm_state *gallivm, - { \ - return lp_llvm_buffer_member(gallivm, buffers_ptr, \ - buffers_offset, buffers_limit, \ -- _index, #_name, _emit_load ); \ -+ _index, #_name); \ - } - --LP_LLVM_BUFFER_MEMBER(base, LP_JIT_BUFFER_BASE, TRUE) --LP_LLVM_BUFFER_MEMBER(num_elements, LP_JIT_BUFFER_NUM_ELEMENTS, TRUE) -+LP_LLVM_BUFFER_MEMBER(base, LP_JIT_BUFFER_BASE) -+LP_LLVM_BUFFER_MEMBER(num_elements, LP_JIT_BUFFER_NUM_ELEMENTS) --- -GitLab - - -From 49c6e2fd70aa2db61e784e41f263c19625ca67ba Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 16 Aug 2022 11:11:24 +0300 -Subject: [PATCH 3/9] gallium: drop unused macros in draw_llvm.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The reason is that these macros use lp_build_struct_get(), which is -being replaced by lp_build_structure_get2() which takes the explicit -pointer type. Rather than attempt to update these unused macros, simply drop -them. - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - src/gallium/auxiliary/draw/draw_llvm.h | 42 -------------------------- - 1 file changed, 42 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm.h b/src/gallium/auxiliary/draw/draw_llvm.h -index 37052db3175ba..941591ac7fb7a 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.h -+++ b/src/gallium/auxiliary/draw/draw_llvm.h -@@ -194,15 +194,6 @@ enum { - #define draw_jit_context_viewports(_variant, _ptr) \ - lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_VIEWPORT, "viewports") - --#define draw_jit_context_textures(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_TEXTURES, "textures") -- --#define draw_jit_context_samplers(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_SAMPLERS, "samplers") -- --#define draw_jit_context_images(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_JIT_CTX_IMAGES, "images") -- - #define draw_jit_context_ssbos(_variant, _ptr) \ - lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_JIT_CTX_SSBOS, "ssbos") - -@@ -292,21 +283,6 @@ enum { - #define draw_gs_jit_context_constants(_variant, _ptr) \ - lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_CONSTANTS, "constants") - --#define draw_gs_jit_context_planes(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_GS_JIT_CTX_PLANES, "planes") -- --#define draw_gs_jit_context_viewports(_gallivm, _ptr) \ -- lp_build_struct_get(_gallivm, _ptr, DRAW_GS_JIT_CTX_VIEWPORT, "viewports") -- --#define draw_gs_jit_context_textures(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_TEXTURES, "textures") -- --#define draw_gs_jit_context_samplers(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_SAMPLERS, "samplers") -- --#define draw_gs_jit_context_images(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_GS_JIT_CTX_IMAGES, "images") -- - #define draw_gs_jit_prim_lengths(_variant, _ptr) \ - lp_build_struct_get2(_variant->gallivm, _variant->context_type, _ptr, DRAW_GS_JIT_CTX_PRIM_LENGTHS, "prim_lengths") - -@@ -353,15 +329,6 @@ enum { - #define draw_tcs_jit_context_constants(_variant, _ptr) \ - lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TCS_JIT_CTX_CONSTANTS, "constants") - --#define draw_tcs_jit_context_textures(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_TEXTURES, "textures") -- --#define draw_tcs_jit_context_samplers(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_SAMPLERS, "samplers") -- --#define draw_tcs_jit_context_images(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TCS_JIT_CTX_IMAGES, "images") -- - #define draw_tcs_jit_context_ssbos(_variant, _ptr) \ - lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TCS_JIT_CTX_SSBOS, "ssbos") - -@@ -399,15 +366,6 @@ enum { - #define draw_tes_jit_context_constants(_variant, _ptr) \ - lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TES_JIT_CTX_CONSTANTS, "constants") - --#define draw_tes_jit_context_textures(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_TEXTURES, "textures") -- --#define draw_tes_jit_context_samplers(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_SAMPLERS, "samplers") -- --#define draw_tes_jit_context_images(_gallivm, _ptr) \ -- lp_build_struct_get_ptr(_gallivm, _ptr, DRAW_TES_JIT_CTX_IMAGES, "images") -- - #define draw_tes_jit_context_ssbos(_variant, _ptr) \ - lp_build_struct_get_ptr2(_variant->gallivm, _variant->context_type, _ptr, DRAW_TES_JIT_CTX_SSBOS, "ssbos") - --- -GitLab - - -From 8289ac87a404ff95759ec2a12012c1eae20419e6 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 26 Jul 2022 15:43:30 +0300 -Subject: [PATCH 4/9] gallivm: fixes for LLVM-15 opaque pointers in - lp_bld_nir_aos.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - src/gallium/auxiliary/gallivm/lp_bld_nir_aos.c | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_aos.c -index c449b5de46c77..226bb5e75cf0f 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir_aos.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_aos.c -@@ -172,7 +172,7 @@ emit_load_reg(struct lp_build_nir_context *bld_base, - LLVMValueRef reg_storage) - { - struct gallivm_state *gallivm = bld_base->base.gallivm; -- return LLVMBuildLoad(gallivm->builder, reg_storage, ""); -+ return LLVMBuildLoad2(gallivm->builder, reg_bld->vec_type, reg_storage, ""); - } - - -@@ -195,7 +195,7 @@ emit_store_reg(struct lp_build_nir_context *bld_base, - return; - } - -- LLVMValueRef cur = LLVMBuildLoad(gallivm->builder, reg_storage, ""); -+ LLVMValueRef cur = LLVMBuildLoad2(gallivm->builder, reg_bld->vec_type, reg_storage, ""); - LLVMTypeRef i32t = LLVMInt32TypeInContext(gallivm->context); - LLVMValueRef shuffles[LP_MAX_VECTOR_LENGTH]; - for (unsigned j = 0; j < 16; j++) { -@@ -238,10 +238,9 @@ emit_load_ubo(struct lp_build_nir_context *bld_base, - LLVMValueRef this_offset = lp_build_const_int32(gallivm, - offset_val + chan); - -- LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, bld->consts_ptr, -- &this_offset, 1, ""); -- -- LLVMValueRef scalar = LLVMBuildLoad(builder, scalar_ptr, ""); -+ LLVMTypeRef scalar_type = LLVMInt8TypeInContext(gallivm->context); -+ LLVMValueRef scalar_ptr = LLVMBuildGEP2(builder, scalar_type, bld->consts_ptr, &this_offset, 1, ""); -+ LLVMValueRef scalar = LLVMBuildLoad2(builder, scalar_type, scalar_ptr, ""); - - lp_build_name(scalar, "const[%u].%c", offset_val, "xyzw"[chan]); - --- -GitLab - - -From f30251ef9bf20274d49848d614c8bf407bec353b Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 26 Jul 2022 16:02:52 +0300 -Subject: [PATCH 5/9] gallivm: fixes for LLVM-15 opaque pointers in - lp_bld_nir_soa.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - .../auxiliary/gallivm/lp_bld_nir_soa.c | 30 +++++++++---------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -index 94dcace50e33f..90836928adee1 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -@@ -223,6 +223,7 @@ get_soa_array_offsets(struct lp_build_context *uint_bld, - static LLVMValueRef - build_gather(struct lp_build_nir_context *bld_base, - struct lp_build_context *bld, -+ LLVMTypeRef base_type, - LLVMValueRef base_ptr, - LLVMValueRef indexes, - LLVMValueRef overflow_mask, -@@ -284,8 +285,8 @@ build_gather(struct lp_build_nir_context *bld_base, - indexes, si, ""); - } - -- scalar_ptr = LLVMBuildGEP(builder, base_ptr, &index, 1, "gather_ptr"); -- scalar = LLVMBuildLoad(builder, scalar_ptr, ""); -+ scalar_ptr = LLVMBuildGEP2(builder, base_type, base_ptr, &index, 1, "gather_ptr"); -+ scalar = LLVMBuildLoad2(builder, base_type, scalar_ptr, ""); - - res = LLVMBuildInsertElement(builder, res, scalar, di, ""); - } -@@ -326,7 +327,7 @@ emit_mask_scatter(struct lp_build_nir_soa_context *bld, - LLVMValueRef ii = lp_build_const_int32(gallivm, i); - LLVMValueRef index = LLVMBuildExtractElement(builder, indexes, ii, ""); - LLVMValueRef val = LLVMBuildExtractElement(builder, values, ii, "scatter_val"); -- LLVMValueRef scalar_ptr = LLVMBuildGEP(builder, base_ptr, &index, 1, "scatter_ptr"); -+ LLVMValueRef scalar_ptr = LLVMBuildGEP2(builder, LLVMTypeOf(val), base_ptr, &index, 1, "scatter_ptr"); - LLVMValueRef scalar_pred = pred ? - LLVMBuildExtractElement(builder, pred, ii, "scatter_pred") : NULL; - -@@ -468,17 +469,15 @@ static void emit_load_var(struct lp_build_nir_context *bld_base, - attrib_index_val, 4, idx, - TRUE); - LLVMValueRef index_vec2 = NULL; -- LLVMTypeRef fptr_type; -- LLVMValueRef inputs_array; -- fptr_type = LLVMPointerType(LLVMFloatTypeInContext(gallivm->context), 0); -- inputs_array = LLVMBuildBitCast(gallivm->builder, bld->inputs_array, fptr_type, ""); -+ LLVMTypeRef scalar_type = LLVMFloatTypeInContext(gallivm->context); -+ LLVMValueRef inputs_array = LLVMBuildBitCast(gallivm->builder, bld->inputs_array, LLVMPointerType(scalar_type, 0), ""); - - if (bit_size == 64) - index_vec2 = get_soa_array_offsets(&bld_base->uint_bld, - indir_index, 4, idx + 1, TRUE); - - /* Gather values from the input register array */ -- result[i] = build_gather(bld_base, &bld_base->base, inputs_array, index_vec, NULL, index_vec2); -+ result[i] = build_gather(bld_base, &bld_base->base, scalar_type, inputs_array, index_vec, NULL, index_vec2); - } else { - if (bld->indirects & nir_var_shader_in) { - LLVMValueRef lindex = lp_build_const_int32(gallivm, -@@ -706,13 +705,13 @@ static LLVMValueRef emit_load_reg(struct lp_build_nir_context *bld_base, - reg_storage = LLVMBuildBitCast(builder, reg_storage, LLVMPointerType(reg_bld->elem_type, 0), ""); - for (unsigned i = 0; i < nc; i++) { - LLVMValueRef indirect_offset = get_soa_array_offsets(uint_bld, indirect_val, nc, i, TRUE); -- vals[i] = build_gather(bld_base, reg_bld, reg_storage, indirect_offset, NULL, NULL); -+ vals[i] = build_gather(bld_base, reg_bld, reg_bld->elem_type, reg_storage, indirect_offset, NULL, NULL); - } - } else { - for (unsigned i = 0; i < nc; i++) { - LLVMValueRef this_storage = nc == 1 ? reg_storage : lp_build_array_get_ptr(gallivm, reg_storage, - lp_build_const_int32(gallivm, i)); -- vals[i] = LLVMBuildLoad(builder, this_storage, ""); -+ vals[i] = LLVMBuildLoad2(builder, reg_bld->vec_type, this_storage, ""); - } - } - return nc == 1 ? vals[0] : lp_nir_array_build_gather_values(builder, vals, nc); -@@ -1103,7 +1102,7 @@ static void emit_load_ubo(struct lp_build_nir_context *bld_base, - LLVMBuildStore(builder, lp_build_pointer_get(builder, consts_ptr, chan_offset), res_store); - lp_build_endif(&ifthen); - -- scalar = LLVMBuildLoad(builder, res_store, ""); -+ scalar = LLVMBuildLoad2(builder, LLVMTypeOf(zero), res_store, ""); - - result[c] = lp_build_broadcast_scalar(load_bld, scalar); - } -@@ -1122,7 +1121,7 @@ static void emit_load_ubo(struct lp_build_nir_context *bld_base, - LLVMValueRef this_offset = lp_build_add(uint_bld, offset, lp_build_const_int_vec(gallivm, uint_bld->type, c)); - overflow_mask = lp_build_compare(gallivm, uint_bld->type, PIPE_FUNC_GEQUAL, - this_offset, num_consts); -- result[c] = build_gather(bld_base, bld_broad, consts_ptr, this_offset, overflow_mask, NULL); -+ result[c] = build_gather(bld_base, bld_broad, bld_broad->elem_type, consts_ptr, this_offset, overflow_mask, NULL); - } - } - } -@@ -2232,14 +2231,14 @@ static void emit_shuffle(struct lp_build_nir_context *bld_base, LLVMValueRef src - */ - src_value = LLVMBuildFreeze(builder, src_value, ""); - -- LLVMValueRef res = LLVMBuildLoad(builder, res_store, ""); -+ LLVMValueRef res = LLVMBuildLoad2(builder, int_bld->vec_type, res_store, ""); - res = LLVMBuildInsertElement(builder, res, src_value, loop_state.counter, ""); - LLVMBuildStore(builder, res, res_store); - - lp_build_loop_end_cond(&loop_state, lp_build_const_int32(gallivm, bld_base->uint_bld.type.length), - NULL, LLVMIntUGE); - -- result[0] = LLVMBuildLoad(builder, res_store, ""); -+ result[0] = LLVMBuildLoad2(builder, int_bld->vec_type, res_store, ""); - } - } - #endif -@@ -2653,7 +2652,8 @@ emit_clock(struct lp_build_nir_context *bld_base, - - lp_init_clock_hook(gallivm); - -- LLVMValueRef result = LLVMBuildCall(builder, gallivm->get_time_hook, NULL, 0, ""); -+ LLVMTypeRef get_time_type = LLVMFunctionType(LLVMInt64TypeInContext(gallivm->context), NULL, 0, 1); -+ LLVMValueRef result = LLVMBuildCall2(builder, get_time_type, gallivm->get_time_hook, NULL, 0, ""); - - LLVMValueRef hi = LLVMBuildShl(builder, result, lp_build_const_int64(gallivm, 32), ""); - hi = LLVMBuildTrunc(builder, hi, uint_bld->elem_type, ""); --- -GitLab - - -From 1b8c4931df9d0ec55fc80dc280f27c40c9a2b781 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 16 Aug 2022 22:55:47 +0300 -Subject: [PATCH 6/9] gallivm: fixes for LLVM-15 opaque pointers in - lp_bld_jit_types.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - .../auxiliary/gallivm/lp_bld_jit_types.c | 41 ++++++++----------- - 1 file changed, 17 insertions(+), 24 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c b/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -index c4bfa2be899ce..7af92824a5a43 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -@@ -70,35 +70,28 @@ lp_llvm_buffer_member(struct gallivm_state *gallivm, - indices[1] = LLVMBuildSelect(gallivm->builder, cond, buffers_offset, lp_build_const_int32(gallivm, 0), ""); - indices[2] = lp_build_const_int32(gallivm, member_index); - -- LLVMValueRef ptr = -- LLVMBuildGEP(builder, buffers_ptr, indices, ARRAY_SIZE(indices), ""); -+ LLVMTypeRef buffer_type = lp_build_create_jit_buffer_type(gallivm); -+ LLVMTypeRef buffers_type = LLVMArrayType(buffer_type, LP_MAX_TGSI_CONST_BUFFERS); -+ LLVMValueRef ptr = LLVMBuildGEP2(builder, buffers_type, buffers_ptr, indices, ARRAY_SIZE(indices), ""); - -- LLVMValueRef res = LLVMBuildLoad(builder, ptr, ""); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(buffer_type, member_index); -+ LLVMValueRef res = LLVMBuildLoad2(builder, res_type, ptr, ""); - - lp_build_name(res, "buffer.%s", member_name); - - return res; - } - --/** -- * Helper macro to instantiate the functions that generate the code to -- * fetch the members of lp_jit_buffer to fulfill the sampler code -- * generator requests. -- * -- * This complexity is the price we have to pay to keep the image -- * sampler code generator a reusable module without dependencies to -- * llvmpipe internals. -- */ --#define LP_LLVM_BUFFER_MEMBER(_name, _index) \ -- LLVMValueRef \ -- lp_llvm_buffer_##_name(struct gallivm_state *gallivm, \ -- LLVMValueRef buffers_ptr, \ -- LLVMValueRef buffers_offset, unsigned buffers_limit) \ -- { \ -- return lp_llvm_buffer_member(gallivm, buffers_ptr, \ -- buffers_offset, buffers_limit, \ -- _index, #_name); \ -- } -+LLVMValueRef -+lp_llvm_buffer_base(struct gallivm_state *gallivm, -+ LLVMValueRef buffers_ptr, LLVMValueRef buffers_offset, unsigned buffers_limit) -+{ -+ return lp_llvm_buffer_member(gallivm, buffers_ptr, buffers_offset, buffers_limit, LP_JIT_BUFFER_BASE, "base"); -+} - --LP_LLVM_BUFFER_MEMBER(base, LP_JIT_BUFFER_BASE) --LP_LLVM_BUFFER_MEMBER(num_elements, LP_JIT_BUFFER_NUM_ELEMENTS) -+LLVMValueRef -+lp_llvm_buffer_num_elements(struct gallivm_state *gallivm, -+ LLVMValueRef buffers_ptr, LLVMValueRef buffers_offset, unsigned buffers_limit) -+{ -+ return lp_llvm_buffer_member(gallivm, buffers_ptr, buffers_offset, buffers_limit, LP_JIT_BUFFER_NUM_ELEMENTS, "num_elements"); -+} --- -GitLab - - -From 02b9a8ba12e62cfa40b62af5a338bb9e670de12b Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Sat, 20 Aug 2022 13:50:04 +0300 -Subject: [PATCH 7/9] gallivm: fixes for LLVM-15 opaque pointers in - lp_bld_format_s3tc.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c | 9 ++++----- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 2 ++ - src/gallium/auxiliary/gallivm/lp_bld_struct.h | 2 ++ - 3 files changed, 8 insertions(+), 5 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -index fe44841528cb0..4ea40d14f8cac 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_s3tc.c -@@ -1197,12 +1197,11 @@ s3tc_update_cache_access(struct gallivm_state *gallivm, - - assert(index == LP_BUILD_FORMAT_CACHE_MEMBER_ACCESS_TOTAL || - index == LP_BUILD_FORMAT_CACHE_MEMBER_ACCESS_MISS); -- -- member_ptr = lp_build_struct_get_ptr(gallivm, ptr, index, ""); -- cache_access = LLVMBuildLoad(builder, member_ptr, "cache_access"); -+ LLVMTypeRef cache_type = lp_build_format_cache_type(gallivm); -+ member_ptr = lp_build_struct_get_ptr2(gallivm, cache_type, ptr, index, ""); -+ cache_access = LLVMBuildLoad2(builder, LLVMInt64TypeInContext(gallivm->context), member_ptr, "cache_access"); - cache_access = LLVMBuildAdd(builder, cache_access, -- LLVMConstInt(LLVMInt64TypeInContext(gallivm->context), -- count, 0), ""); -+ LLVMConstInt(LLVMInt64TypeInContext(gallivm->context), count, 0), ""); - LLVMBuildStore(builder, cache_access, member_ptr); - } - #endif -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index 9e3e24cd9e1e7..4259ecfa0d453 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -42,6 +42,7 @@ - #include "lp_bld_struct.h" - - -+/* Deprecated (used only by llvmpipe); use lp_build_struct_get_ptr2() instead. */ - LLVMValueRef - lp_build_struct_get_ptr(struct gallivm_state *gallivm, - LLVMValueRef ptr, -@@ -60,6 +61,7 @@ lp_build_struct_get_ptr(struct gallivm_state *gallivm, - return member_ptr; - } - -+/* Deprecated (used only by llvmpipe); use lp_build_struct_get2() instead. */ - LLVMValueRef - lp_build_struct_get(struct gallivm_state *gallivm, - LLVMValueRef ptr, -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.h b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -index a87519883b4df..4b1cc79b2aa48 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -@@ -55,6 +55,7 @@ - - /** - * Get value pointer to a structure member. -+ * Deprecated (used only by llvmpipe); use lp_build_struct_get_ptr2() instead. - */ - LLVMValueRef - lp_build_struct_get_ptr(struct gallivm_state *gallivm, -@@ -64,6 +65,7 @@ lp_build_struct_get_ptr(struct gallivm_state *gallivm, - - /** - * Get the value of a structure member. -+ * Deprecated (used only by llvmpipe); use lp_build_struct_get2() instead. - */ - LLVMValueRef - lp_build_struct_get(struct gallivm_state *gallivm, --- -GitLab - - -From 4ff7e64e81c0b4acb39c841b6d8da7ebc8bdd6dd Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Mon, 22 Aug 2022 16:34:30 +0300 -Subject: [PATCH 8/9] gallivm: fixes for LLVM-15 opaque pointers in - lp_bld_struct.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index 4259ecfa0d453..fa25b4ac3124a 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -109,7 +109,8 @@ lp_build_struct_get2(struct gallivm_state *gallivm, - assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); - assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); - member_ptr = lp_build_struct_get_ptr2(gallivm, ptr_type, ptr, member, name); -- res = LLVMBuildLoad(gallivm->builder, member_ptr, ""); -+ LLVMTypeRef member_type = LLVMStructGetTypeAtIndex(ptr_type, member); -+ res = LLVMBuildLoad2(gallivm->builder, member_type, member_ptr, ""); - lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name); - return res; - } --- -GitLab - - -From 136a26f271b5b846f3808f917267b79d0460e71a Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Wed, 24 Aug 2022 14:22:07 +0300 -Subject: [PATCH 9/9] gallivm: fixes for LLVM-15 opaque pointers in - lp_bld_format_soa.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18334> ---- - src/gallium/auxiliary/gallivm/lp_bld_format_soa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c -index 6cda6036b37c8..784b8dc66946f 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_format_soa.c -@@ -1099,7 +1099,7 @@ lp_build_store_rgba_soa(struct gallivm_state *gallivm, - struct lp_build_loop_state loop_state; - - LLVMValueRef store_offset = LLVMBuildAdd(gallivm->builder, offset, lp_build_const_int_vec(gallivm, type, i * 4), ""); -- store_offset = LLVMBuildGEP(gallivm->builder, base_ptr, &store_offset, 1, ""); -+ store_offset = LLVMBuildGEP2(gallivm->builder, LLVMInt8TypeInContext(gallivm->context), base_ptr, &store_offset, 1, ""); - - lp_build_loop_begin(&loop_state, gallivm, lp_build_const_int32(gallivm, 0)); - --- -GitLab - -From 1d741f4c62af71af860eaab35e16633b5d6428ed Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Wed, 31 Aug 2022 15:38:52 +0300 -Subject: [PATCH 1/3] gallivm: LLVM opaque pointer fixes in lp_bld_sample.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -load_mip() - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18721> ---- - src/gallium/auxiliary/gallivm/lp_bld_sample.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -index 5ab732ab765d1..181a6f4e08ff1 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -@@ -1175,7 +1175,7 @@ load_mip(struct gallivm_state *gallivm, LLVMValueRef offsets, LLVMValueRef index - LLVMValueRef zero = lp_build_const_int32(gallivm, 0); - LLVMValueRef indexes[2] = {zero, index1}; - LLVMValueRef ptr = LLVMBuildGEP(gallivm->builder, offsets, indexes, ARRAY_SIZE(indexes), ""); -- return LLVMBuildLoad(gallivm->builder, ptr, ""); -+ return LLVMBuildLoad2(gallivm->builder, LLVMInt32TypeInContext(gallivm->context), ptr, ""); - } - - /** --- -GitLab - - -From cdd7e8f5cecf137a33430f41f48ae671a52561b6 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 6 Sep 2022 18:57:42 +0300 -Subject: [PATCH 2/3] gallivm: LLVM opaque pointers: add - lp_build_array_get[_ptr]2 in lp_bld_struct.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -i.e. variants taking an explicit LLVM type - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18721> ---- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 39 +++++++++++++++++++ - src/gallium/auxiliary/gallivm/lp_bld_struct.h | 12 ++++++ - 2 files changed, 51 insertions(+) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index fa25b4ac3124a..408ac17e246ea 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -115,6 +115,45 @@ lp_build_struct_get2(struct gallivm_state *gallivm, - return res; - } - -+LLVMValueRef -+lp_build_array_get_ptr2(struct gallivm_state *gallivm, -+ LLVMTypeRef array_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index) -+{ -+ LLVMValueRef indices[2]; -+ LLVMValueRef element_ptr; -+ assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -+ indices[0] = lp_build_const_int32(gallivm, 0); -+ indices[1] = index; -+ element_ptr = LLVMBuildGEP2(gallivm->builder, array_type, ptr, indices, ARRAY_SIZE(indices), ""); -+#ifdef DEBUG -+ lp_build_name(element_ptr, "&%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index)); -+#endif -+ return element_ptr; -+} -+ -+ -+LLVMValueRef -+lp_build_array_get2(struct gallivm_state *gallivm, -+ LLVMTypeRef array_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index) -+{ -+ LLVMValueRef element_ptr; -+ LLVMValueRef res; -+ assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -+ assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -+ element_ptr = lp_build_array_get_ptr2(gallivm, array_type, ptr, index); -+ LLVMTypeRef element_type = LLVMGetElementType(array_type); -+ res = LLVMBuildLoad2(gallivm->builder, element_type, element_ptr, ""); -+#ifdef DEBUG -+ lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index)); -+#endif -+ return res; -+} -+ - LLVMValueRef - lp_build_array_get_ptr(struct gallivm_state *gallivm, - LLVMValueRef ptr, -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.h b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -index 4b1cc79b2aa48..d90bdf48d321b 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -@@ -95,6 +95,18 @@ lp_build_struct_get2(struct gallivm_state *gallivm, - unsigned member, - const char *name); - -+LLVMValueRef -+lp_build_array_get_ptr2(struct gallivm_state *gallivm, -+ LLVMTypeRef array_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index); -+ -+LLVMValueRef -+lp_build_array_get2(struct gallivm_state *gallivm, -+ LLVMTypeRef array_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index); -+ - /** - * Get value pointer to an array element. - */ --- -GitLab - - -From 15e78caf8d38e97183aba6bce65b1bef34869537 Mon Sep 17 00:00:00 2001 -From: Mihai Preda <mhpreda@gmail.com> -Date: Tue, 6 Sep 2022 19:00:30 +0300 -Subject: [PATCH 3/3] gallivm: LLVM opaque pointers: use - lp_build_array_get_ptr2() in lp_bld_nir_soa.c -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18721> ---- - src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -index 6128f90ee16f4..5e1a987049db7 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -@@ -708,9 +708,12 @@ static LLVMValueRef emit_load_reg(struct lp_build_nir_context *bld_base, - vals[i] = build_gather(bld_base, reg_bld, reg_bld->elem_type, reg_storage, indirect_offset, NULL, NULL); - } - } else { -+ LLVMTypeRef array_type = LLVMArrayType(reg_bld->vec_type, nc); - for (unsigned i = 0; i < nc; i++) { -- LLVMValueRef this_storage = nc == 1 ? reg_storage : lp_build_array_get_ptr(gallivm, reg_storage, -- lp_build_const_int32(gallivm, i)); -+ LLVMValueRef index = lp_build_const_int32(gallivm, i); -+ LLVMValueRef this_storage = -+ nc == 1 ? reg_storage -+ : lp_build_array_get_ptr2(gallivm, array_type, reg_storage, index); - vals[i] = LLVMBuildLoad2(builder, reg_bld->vec_type, this_storage, ""); - } - } -@@ -748,9 +751,12 @@ static void emit_store_reg(struct lp_build_nir_context *bld_base, - return; - } - -+ LLVMTypeRef array_type = LLVMArrayType(reg_bld->vec_type, nc); - for (unsigned i = 0; i < nc; i++) { -- LLVMValueRef this_storage = nc == 1 ? reg_storage : lp_build_array_get_ptr(gallivm, reg_storage, -- lp_build_const_int32(gallivm, i)); -+ LLVMValueRef index = lp_build_const_int32(gallivm, i); -+ LLVMValueRef this_storage = -+ nc == 1 ? reg_storage -+ : lp_build_array_get_ptr2(gallivm, array_type, reg_storage, index); - dst[i] = LLVMBuildBitCast(builder, dst[i], reg_bld->vec_type, ""); - lp_exec_mask_store(&bld->exec_mask, reg_bld, dst[i], this_storage); - } --- -GitLab - -From 25ead8ec5c84028d4c58eff0b203b49f0425d812 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 12:16:48 +1000 -Subject: [PATCH] gallivm: fix buffer_type for LLVM 15 - -Fixes -deqp-vk: /home/airlied/devel/llvm-project/llvm/include/llvm/IR/Instructions.h:961: static llvm::GetElementPtrInst* llvm::GetElementPtrInst::Create(llvm::Type*, llvm::Value*, llvm::ArrayRef<llvm::Value*>, const llvm::Twine&, llvm::Instruction*): Assertion `cast<PointerType>(Ptr->getType()->getScalarType()) ->isOpaqueOrPointeeTypeMatches(PointeeType)' failed. - -Fixes: 1b8c4931df9d ("gallivm: fixes for LLVM-15 opaque pointers in lp_bld_jit_types.c") -Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18816> ---- - src/gallium/auxiliary/gallivm/lp_bld_jit_types.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c b/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -index 7af92824a5a43..2a4ecf72e711b 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_jit_types.c -@@ -71,7 +71,7 @@ lp_llvm_buffer_member(struct gallivm_state *gallivm, - indices[2] = lp_build_const_int32(gallivm, member_index); - - LLVMTypeRef buffer_type = lp_build_create_jit_buffer_type(gallivm); -- LLVMTypeRef buffers_type = LLVMArrayType(buffer_type, LP_MAX_TGSI_CONST_BUFFERS); -+ LLVMTypeRef buffers_type = LLVMArrayType(buffer_type, buffers_limit); - LLVMValueRef ptr = LLVMBuildGEP2(builder, buffers_type, buffers_ptr, indices, ARRAY_SIZE(indices), ""); - - LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(buffer_type, member_index); --- -GitLab - -From d132625eed474d149ed6372dd5448492675b738e Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 27 Sep 2022 05:15:26 +1000 -Subject: [PATCH 1/3] lavapipe: add fmin/fmax to image lowering. - -Fixes: 31695f81c925 ("lavapipe: export VK_KHR_shader_atomic_float") - -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18835> ---- - src/gallium/frontends/lavapipe/lvp_lower_vulkan_resource.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/gallium/frontends/lavapipe/lvp_lower_vulkan_resource.c b/src/gallium/frontends/lavapipe/lvp_lower_vulkan_resource.c -index ff7a38bd5e208..16a1567a6ae1b 100644 ---- a/src/gallium/frontends/lavapipe/lvp_lower_vulkan_resource.c -+++ b/src/gallium/frontends/lavapipe/lvp_lower_vulkan_resource.c -@@ -50,6 +50,8 @@ lower_vulkan_resource_index(const nir_instr *instr, const void *data_cb) - case nir_intrinsic_image_deref_atomic_exchange: - case nir_intrinsic_image_deref_atomic_comp_swap: - case nir_intrinsic_image_deref_atomic_fadd: -+ case nir_intrinsic_image_deref_atomic_fmin: -+ case nir_intrinsic_image_deref_atomic_fmax: - case nir_intrinsic_image_deref_size: - case nir_intrinsic_image_deref_samples: - return true; -@@ -339,6 +341,8 @@ static nir_ssa_def *lower_vri_instr(struct nir_builder *b, - case nir_intrinsic_image_deref_atomic_exchange: - case nir_intrinsic_image_deref_atomic_comp_swap: - case nir_intrinsic_image_deref_atomic_fadd: -+ case nir_intrinsic_image_deref_atomic_fmin: -+ case nir_intrinsic_image_deref_atomic_fmax: - case nir_intrinsic_image_deref_size: - case nir_intrinsic_image_deref_samples: - lower_image_intrinsic(b, intrin, data_cb); --- -GitLab - - -From c642fa122ccd90b11ad54dd50e398373069ae8c7 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 27 Sep 2022 05:17:39 +1000 -Subject: [PATCH 2/3] gallivm/nir: fix fmin/fmax translation - -Fixes: 203920d4c693 ("gallivm: add atomic 32-bit float support") - -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18835> ---- - src/gallium/auxiliary/gallivm/lp_bld_nir.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.c b/src/gallium/auxiliary/gallivm/lp_bld_nir.c -index 8d71fb304a4a8..4afeebfd06ad1 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.c -@@ -1738,10 +1738,10 @@ visit_atomic_image(struct lp_build_nir_context *bld_base, - break; - #if LLVM_VERSION >= 15 - case nir_intrinsic_image_atomic_fmin: -- params.op = LLVMAtomicRMWBinOpMin; -+ params.op = LLVMAtomicRMWBinOpFMin; - break; - case nir_intrinsic_image_atomic_fmax: -- params.op = LLVMAtomicRMWBinOpMax; -+ params.op = LLVMAtomicRMWBinOpFMax; - break; - #endif - default: --- -GitLab - - -From f2922126156b9bc9fd10bfd3690e7ed3db08184f Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 27 Sep 2022 15:26:42 +1000 -Subject: [PATCH 3/3] gallivm/nir: bitcast when non-float ptr type. - -This matters more when opaque pointers are used. - -Fixes: 203920d4c693 ("gallivm: add atomic 32-bit float support") - -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18835> ---- - src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -index 5e1a987049db7..b5e401f6132a1 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -@@ -1224,7 +1224,7 @@ mem_access_base_pointer(struct lp_build_nir_context *bld_base, - } - - /* Cast it to the pointer type of the access this instruction is doing. */ -- if (bit_size == 32) -+ if (bit_size == 32 && !mem_bld->type.floating) - return ptr; - else - return LLVMBuildBitCast(gallivm->builder, ptr, LLVMPointerType(mem_bld->elem_type, 0), ""); --- -GitLab - -From b36160689f430e0845940fb0c3dac9ba22c6608b Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 13:47:15 +1000 -Subject: [PATCH 01/10] gallivm/struct: add opaque ptr friendly pointer - accessors. - -These just add explicit types. - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 29 +++++++++++++++++++ - src/gallium/auxiliary/gallivm/lp_bld_struct.h | 24 +++++++++++++++ - 2 files changed, 53 insertions(+) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index 408ac17e246ea..73c32cebadfb6 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -234,6 +234,35 @@ lp_build_pointer_get_unaligned(LLVMBuilderRef builder, - return res; - } - -+LLVMValueRef -+lp_build_pointer_get_unaligned2(LLVMBuilderRef builder, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index, -+ unsigned alignment) -+{ -+ LLVMValueRef element_ptr; -+ LLVMValueRef res; -+ assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -+ element_ptr = LLVMBuildGEP2(builder, ptr_type, ptr, &index, 1, ""); -+ res = LLVMBuildLoad2(builder, ptr_type, element_ptr, ""); -+ if (alignment) -+ LLVMSetAlignment(res, alignment); -+#ifdef DEBUG -+ lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index)); -+#endif -+ return res; -+} -+ -+ -+LLVMValueRef -+lp_build_pointer_get2(LLVMBuilderRef builder, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index) -+{ -+ return lp_build_pointer_get_unaligned2(builder, ptr_type, ptr, index, 0); -+} - - void - lp_build_pointer_set(LLVMBuilderRef builder, -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.h b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -index d90bdf48d321b..52d6020563bfb 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -@@ -152,6 +152,30 @@ lp_build_pointer_get_unaligned(LLVMBuilderRef builder, - LLVMValueRef index, - unsigned alignment); - -+/** -+ * Get the value of an array element. -+ * This takes the explicit LLVM type of ptr, as required by LLVM-15 opaque-pointers. -+ */ -+LLVMValueRef -+lp_build_pointer_get2(LLVMBuilderRef builder, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index); -+ -+/** -+ * Get the value of an array element, with explicit alignment, and explicit type, -+ * This takes the explicit LLVM type of ptr, as required by LLVM-15 opaque-pointers. -+ * -+ * If the element size is different from the alignment this will -+ * cause llvm to emit an unaligned load -+ */ -+LLVMValueRef -+lp_build_pointer_get_unaligned2(LLVMBuilderRef builder, -+ LLVMTypeRef ptr_type, -+ LLVMValueRef ptr, -+ LLVMValueRef index, -+ unsigned alignment); -+ - /** - * Set the value of an array element. - */ --- -GitLab - - -From 637652a97fab5c20959505f17972f6a0a549ef9f Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 13:55:57 +1000 -Subject: [PATCH 02/10] llvmpipe/fs: add mask_type for mask_store accesses. - -This adds and passes around the type for mask stores. - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_state_fs.c | 32 ++++++++++++---------- - 1 file changed, 17 insertions(+), 15 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index 53d933cfb0219..42b07bba4f8bc 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -633,6 +633,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - struct lp_build_interp_soa_context *interp, - const struct lp_build_sampler_soa *sampler, - const struct lp_build_image_soa *image, -+ LLVMTypeRef mask_type, - LLVMValueRef mask_store, - LLVMValueRef (*out_color)[4], - LLVMValueRef depth_base_ptr, -@@ -789,7 +790,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - for (unsigned s = 0; s < key->coverage_samples; s++) { - LLVMValueRef s_mask_idx = LLVMBuildMul(builder, num_loop, lp_build_const_int32(gallivm, s), ""); - s_mask_idx = LLVMBuildAdd(builder, s_mask_idx, loop_state.counter, ""); -- LLVMValueRef s_mask = lp_build_pointer_get(builder, mask_store, s_mask_idx); -+ LLVMValueRef s_mask = lp_build_pointer_get2(builder, mask_type, mask_store, s_mask_idx); - if (s == 0) - mask_val = s_mask; - else -@@ -800,9 +801,9 @@ generate_fs_loop(struct gallivm_state *gallivm, - } - } else { - sample_mask_in = lp_build_const_int_vec(gallivm, type, 1); -- mask_ptr = LLVMBuildGEP(builder, mask_store, -+ mask_ptr = LLVMBuildGEP2(builder, mask_type, mask_store, - &loop_state.counter, 1, "mask_ptr"); -- mask_val = LLVMBuildLoad(builder, mask_ptr, ""); -+ mask_val = LLVMBuildLoad2(builder, mask_type, mask_ptr, ""); - - LLVMValueRef mask_in = LLVMBuildAnd(builder, mask_val, lp_build_const_int_vec(gallivm, type, 1), ""); - sample_mask_in = LLVMBuildOr(builder, sample_mask_in, mask_in, ""); -@@ -860,9 +861,9 @@ generate_fs_loop(struct gallivm_state *gallivm, - - LLVMValueRef s_mask_idx = LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""); - s_mask_idx = LLVMBuildAdd(builder, s_mask_idx, loop_state.counter, ""); -- s_mask_ptr = LLVMBuildGEP(builder, mask_store, &s_mask_idx, 1, ""); -+ s_mask_ptr = LLVMBuildGEP2(builder, mask_type, mask_store, &s_mask_idx, 1, ""); - -- s_mask = LLVMBuildLoad(builder, s_mask_ptr, ""); -+ s_mask = LLVMBuildLoad2(builder, mask_type, s_mask_ptr, ""); - s_mask = LLVMBuildAnd(builder, s_mask, mask_val, ""); - } - -@@ -990,8 +991,8 @@ generate_fs_loop(struct gallivm_state *gallivm, - - LLVMValueRef s_mask_idx = LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""); - s_mask_idx = LLVMBuildAdd(builder, s_mask_idx, loop_state.counter, ""); -- s_mask_ptr = LLVMBuildGEP(builder, mask_store, &s_mask_idx, 1, ""); -- s_mask = LLVMBuildLoad(builder, s_mask_ptr, ""); -+ s_mask_ptr = LLVMBuildGEP2(builder, mask_type, mask_store, &s_mask_idx, 1, ""); -+ s_mask = LLVMBuildLoad2(builder, mask_type, s_mask_ptr, ""); - lp_build_mask_force(&mask, s_mask); - lp_build_interp_soa_update_pos_dyn(interp, gallivm, loop_state.counter, sample_loop_state.counter); - system_values.sample_id = sample_loop_state.counter; -@@ -1216,10 +1217,10 @@ generate_fs_loop(struct gallivm_state *gallivm, - /* load the per-sample coverage mask */ - LLVMValueRef s_mask_idx = LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""); - s_mask_idx = LLVMBuildAdd(builder, s_mask_idx, loop_state.counter, ""); -- s_mask_ptr = LLVMBuildGEP(builder, mask_store, &s_mask_idx, 1, ""); -+ s_mask_ptr = LLVMBuildGEP2(builder, mask_type, mask_store, &s_mask_idx, 1, ""); - - /* combine the execution mask post fragment shader with the coverage mask. */ -- s_mask = LLVMBuildLoad(builder, s_mask_ptr, ""); -+ s_mask = LLVMBuildLoad2(builder, mask_type, s_mask_ptr, ""); - if (key->min_samples == 1) - s_mask = LLVMBuildAnd(builder, s_mask, lp_build_mask_value(&mask), ""); - -@@ -3339,8 +3340,8 @@ generate_fragment(struct llvmpipe_context *lp, - LLVMValueRef sindexi = - lp_build_const_int32(gallivm, i + (s * num_fs)); - LLVMValueRef sample_mask_ptr = -- LLVMBuildGEP(builder, mask_store, &sindexi, 1, -- "sample_mask_ptr"); -+ LLVMBuildGEP2(builder, mask_type, mask_store, &sindexi, 1, -+ "sample_mask_ptr"); - LLVMValueRef s_mask = - generate_quad_mask(gallivm, fs_type, - i * fs_type.length / 4, s, mask_input); -@@ -3359,8 +3360,8 @@ generate_fragment(struct llvmpipe_context *lp, - } else { - LLVMValueRef mask; - LLVMValueRef indexi = lp_build_const_int32(gallivm, i); -- LLVMValueRef mask_ptr = LLVMBuildGEP(builder, mask_store, -- &indexi, 1, "mask_ptr"); -+ LLVMValueRef mask_ptr = LLVMBuildGEP2(builder, mask_type, mask_store, -+ &indexi, 1, "mask_ptr"); - - if (partial_mask) { - mask = generate_quad_mask(gallivm, fs_type, -@@ -3383,6 +3384,7 @@ generate_fragment(struct llvmpipe_context *lp, - &interp, - sampler, - image, -+ mask_type, - mask_store, /* output */ - color_store, - depth_ptr, -@@ -3400,9 +3402,9 @@ generate_fragment(struct llvmpipe_context *lp, - for (unsigned s = 0; s < key->coverage_samples; s++) { - int idx = (i + (s * num_fs)); - LLVMValueRef sindexi = lp_build_const_int32(gallivm, idx); -- ptr = LLVMBuildGEP(builder, mask_store, &sindexi, 1, ""); -+ ptr = LLVMBuildGEP2(builder, mask_type, mask_store, &sindexi, 1, ""); - -- fs_mask[idx] = LLVMBuildLoad(builder, ptr, "smask"); -+ fs_mask[idx] = LLVMBuildLoad2(builder, mask_type, ptr, "smask"); - } - - for (unsigned s = 0; s < key->min_samples; s++) { --- -GitLab - - -From 694104b7761b4fece5b0861fc443a6dc553de5b2 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 17:36:58 +1000 -Subject: [PATCH 03/10] llvmpipe/fs: pass explicit mask_type into interp code. - -This is so it is known for explicit pointer support - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_bld_interp.c | 14 +++++++++----- - src/gallium/drivers/llvmpipe/lp_bld_interp.h | 2 ++ - src/gallium/drivers/llvmpipe/lp_state_fs.c | 7 +++++-- - 3 files changed, 16 insertions(+), 7 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.c b/src/gallium/drivers/llvmpipe/lp_bld_interp.c -index 61d0bfa492fa5..f03da17c4d481 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_interp.c -+++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.c -@@ -157,6 +157,7 @@ static void - calc_centroid_offsets(struct lp_build_interp_soa_context *bld, - struct gallivm_state *gallivm, - LLVMValueRef loop_iter, -+ LLVMTypeRef mask_type, - LLVMValueRef mask_store, - LLVMValueRef pix_center_offset, - LLVMValueRef *centroid_x, LLVMValueRef *centroid_y) -@@ -171,7 +172,7 @@ calc_centroid_offsets(struct lp_build_interp_soa_context *bld, - LLVMValueRef s_mask_idx = LLVMBuildMul(builder, bld->num_loop, lp_build_const_int32(gallivm, s), ""); - - s_mask_idx = LLVMBuildAdd(builder, s_mask_idx, loop_iter, ""); -- sample_cov = lp_build_pointer_get(builder, mask_store, s_mask_idx); -+ sample_cov = lp_build_pointer_get2(builder, mask_type, mask_store, s_mask_idx); - if (s == bld->coverage_samples - 1) - s_mask_and = sample_cov; - else -@@ -284,6 +285,7 @@ static void - attribs_update_simple(struct lp_build_interp_soa_context *bld, - struct gallivm_state *gallivm, - LLVMValueRef loop_iter, -+ LLVMTypeRef mask_type, - LLVMValueRef mask_store, - LLVMValueRef sample_id, - int start, -@@ -376,7 +378,7 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld, - xoffset = lp_build_broadcast_scalar(coeff_bld, x_val_idx); - yoffset = lp_build_broadcast_scalar(coeff_bld, y_val_idx); - } else if (loc == TGSI_INTERPOLATE_LOC_CENTROID) { -- calc_centroid_offsets(bld, gallivm, loop_iter, mask_store, -+ calc_centroid_offsets(bld, gallivm, loop_iter, mask_type, mask_store, - pix_center_offset, &xoffset, &yoffset); - } - chan_pixoffx = lp_build_add(coeff_bld, chan_pixoffx, xoffset); -@@ -508,6 +510,7 @@ LLVMValueRef - lp_build_interp_soa(struct lp_build_interp_soa_context *bld, - struct gallivm_state *gallivm, - LLVMValueRef loop_iter, -+ LLVMTypeRef mask_type, - LLVMValueRef mask_store, - unsigned attrib, unsigned chan, - enum tgsi_interpolate_loc loc, -@@ -579,7 +582,7 @@ lp_build_interp_soa(struct lp_build_interp_soa_context *bld, - /* for centroid find covered samples for this quad. */ - /* if all samples are covered use pixel centers */ - if (bld->coverage_samples > 1) { -- calc_centroid_offsets(bld, gallivm, loop_iter, mask_store, -+ calc_centroid_offsets(bld, gallivm, loop_iter, mask_type, mask_store, - pix_center_offset, ¢roid_x_offset, - ¢roid_y_offset); - -@@ -793,10 +796,11 @@ void - lp_build_interp_soa_update_inputs_dyn(struct lp_build_interp_soa_context *bld, - struct gallivm_state *gallivm, - LLVMValueRef quad_start_index, -+ LLVMTypeRef mask_type, - LLVMValueRef mask_store, - LLVMValueRef sample_id) - { -- attribs_update_simple(bld, gallivm, quad_start_index, mask_store, sample_id, 1, bld->num_attribs); -+ attribs_update_simple(bld, gallivm, quad_start_index, mask_type, mask_store, sample_id, 1, bld->num_attribs); - } - - void -@@ -805,6 +809,6 @@ lp_build_interp_soa_update_pos_dyn(struct lp_build_interp_soa_context *bld, - LLVMValueRef quad_start_index, - LLVMValueRef sample_id) - { -- attribs_update_simple(bld, gallivm, quad_start_index, NULL, sample_id, 0, 1); -+ attribs_update_simple(bld, gallivm, quad_start_index, NULL, NULL, sample_id, 0, 1); - } - -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.h b/src/gallium/drivers/llvmpipe/lp_bld_interp.h -index f9c9211cbb8d5..acd5546118471 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_interp.h -+++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.h -@@ -138,6 +138,7 @@ void - lp_build_interp_soa_update_inputs_dyn(struct lp_build_interp_soa_context *bld, - struct gallivm_state *gallivm, - LLVMValueRef quad_start_index, -+ LLVMTypeRef mask_type, - LLVMValueRef mask_store, - LLVMValueRef sample_id); - -@@ -151,6 +152,7 @@ LLVMValueRef - lp_build_interp_soa(struct lp_build_interp_soa_context *bld, - struct gallivm_state *gallivm, - LLVMValueRef loop_iter, -+ LLVMTypeRef mask_type, - LLVMValueRef mask_store, - unsigned attrib, unsigned chan, - unsigned loc, -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index 42b07bba4f8bc..1aef483fd6446 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -434,6 +434,7 @@ struct lp_build_fs_llvm_iface { - struct lp_build_fs_iface base; - struct lp_build_interp_soa_context *interp; - struct lp_build_for_loop_state *loop_state; -+ LLVMTypeRef mask_type; - LLVMValueRef mask_store; - LLVMValueRef sample_id; - LLVMValueRef color_ptr_ptr; -@@ -463,7 +464,7 @@ fs_interp(const struct lp_build_fs_iface *iface, - loc = TGSI_INTERPOLATE_LOC_SAMPLE; - - return lp_build_interp_soa(interp, bld->gallivm, fs_iface->loop_state->counter, -- fs_iface->mask_store, -+ fs_iface->mask_type, fs_iface->mask_store, - attrib, chan, loc, attrib_indir, offsets); - } - -@@ -1005,7 +1006,8 @@ generate_fs_loop(struct gallivm_state *gallivm, - } - system_values.sample_pos = sample_pos_array; - -- lp_build_interp_soa_update_inputs_dyn(interp, gallivm, loop_state.counter, mask_store, sample_loop_state.counter); -+ lp_build_interp_soa_update_inputs_dyn(interp, gallivm, loop_state.counter, -+ mask_type, mask_store, sample_loop_state.counter); - - struct lp_build_fs_llvm_iface fs_iface = { - .base.interp_fn = fs_interp, -@@ -1013,6 +1015,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - .interp = interp, - .loop_state = &loop_state, - .sample_id = system_values.sample_id, -+ .mask_type = mask_type, - .mask_store = mask_store, - .color_ptr_ptr = color_ptr_ptr, - .color_stride_ptr = color_stride_ptr, --- -GitLab - - -From ff02d042aabd9567e35cf289830bbfd552eaff05 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 29 Sep 2022 08:15:28 +1000 -Subject: [PATCH 04/10] llvmpipe/fs: port depth code to opaque pointer api - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_bld_depth.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_depth.c b/src/gallium/drivers/llvmpipe/lp_bld_depth.c -index 91bb347e307c3..10bb2d9939266 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_depth.c -+++ b/src/gallium/drivers/llvmpipe/lp_bld_depth.c -@@ -587,8 +587,9 @@ lp_build_depth_stencil_load_swizzled(struct gallivm_state *gallivm, - - /* Load current z/stencil values from z/stencil buffer */ - LLVMTypeRef load_ptr_type = LLVMPointerType(zs_dst_type, 0); -+ LLVMTypeRef int8_type = LLVMInt8TypeInContext(gallivm->context); - LLVMValueRef zs_dst_ptr = -- LLVMBuildGEP(builder, depth_ptr, &depth_offset1, 1, ""); -+ LLVMBuildGEP2(builder, int8_type, depth_ptr, &depth_offset1, 1, ""); - zs_dst_ptr = LLVMBuildBitCast(builder, zs_dst_ptr, load_ptr_type, ""); - LLVMValueRef zs_dst1 = LLVMBuildLoad2(builder, zs_dst_type, zs_dst_ptr, ""); - LLVMValueRef zs_dst2; -@@ -596,7 +597,7 @@ lp_build_depth_stencil_load_swizzled(struct gallivm_state *gallivm, - zs_dst2 = lp_build_undef(gallivm, zs_load_type); - } - else { -- zs_dst_ptr = LLVMBuildGEP(builder, depth_ptr, &depth_offset2, 1, ""); -+ zs_dst_ptr = LLVMBuildGEP2(builder, int8_type, depth_ptr, &depth_offset2, 1, ""); - zs_dst_ptr = LLVMBuildBitCast(builder, zs_dst_ptr, load_ptr_type, ""); - zs_dst2 = LLVMBuildLoad2(builder, zs_dst_type, zs_dst_ptr, ""); - } -@@ -733,9 +734,10 @@ lp_build_depth_stencil_write_swizzled(struct gallivm_state *gallivm, - - depth_offset2 = LLVMBuildAdd(builder, depth_offset1, depth_stride, ""); - -- zs_dst_ptr1 = LLVMBuildGEP(builder, depth_ptr, &depth_offset1, 1, ""); -+ LLVMTypeRef int8_type = LLVMInt8TypeInContext(gallivm->context); -+ zs_dst_ptr1 = LLVMBuildGEP2(builder, int8_type, depth_ptr, &depth_offset1, 1, ""); - zs_dst_ptr1 = LLVMBuildBitCast(builder, zs_dst_ptr1, load_ptr_type, ""); -- zs_dst_ptr2 = LLVMBuildGEP(builder, depth_ptr, &depth_offset2, 1, ""); -+ zs_dst_ptr2 = LLVMBuildGEP2(builder, int8_type, depth_ptr, &depth_offset2, 1, ""); - zs_dst_ptr2 = LLVMBuildBitCast(builder, zs_dst_ptr2, load_ptr_type, ""); - - if (format_desc->block.bits > 32) { --- -GitLab - - -From e28db68e53c3e265df5dd66c5b6bfe7cfb762f2a Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 29 Sep 2022 08:17:35 +1000 -Subject: [PATCH 05/10] llvmpipe/fs: add sample position type to the interp - interface - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_bld_interp.c | 20 ++++++++++++++------ - src/gallium/drivers/llvmpipe/lp_bld_interp.h | 2 ++ - src/gallium/drivers/llvmpipe/lp_state_fs.c | 4 +++- - 3 files changed, 19 insertions(+), 7 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.c b/src/gallium/drivers/llvmpipe/lp_bld_interp.c -index f03da17c4d481..f5c4a2105b4d4 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_interp.c -+++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.c -@@ -181,8 +181,10 @@ calc_centroid_offsets(struct lp_build_interp_soa_context *bld, - LLVMValueRef x_val_idx = lp_build_const_int32(gallivm, s * 2); - LLVMValueRef y_val_idx = lp_build_const_int32(gallivm, s * 2 + 1); - -- x_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, x_val_idx); -- y_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, y_val_idx); -+ x_val_idx = lp_build_array_get2(gallivm, bld->sample_pos_array_type, -+ bld->sample_pos_array, x_val_idx); -+ y_val_idx = lp_build_array_get2(gallivm, bld->sample_pos_array_type, -+ bld->sample_pos_array, y_val_idx); - x_val_idx = lp_build_broadcast_scalar(coeff_bld, x_val_idx); - y_val_idx = lp_build_broadcast_scalar(coeff_bld, y_val_idx); - centroid_x_offset = lp_build_select(coeff_bld, sample_cov, x_val_idx, centroid_x_offset); -@@ -338,7 +340,8 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld, - dadx = coeff_bld->one; - if (sample_id) { - LLVMValueRef x_val_idx = LLVMBuildMul(gallivm->builder, sample_id, lp_build_const_int32(gallivm, 2), ""); -- x_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, x_val_idx); -+ x_val_idx = lp_build_array_get2(gallivm, bld->sample_pos_array_type, -+ bld->sample_pos_array, x_val_idx); - a = lp_build_broadcast_scalar(coeff_bld, x_val_idx); - } else { - a = lp_build_const_vec(gallivm, coeff_bld->type, bld->pos_offset); -@@ -349,7 +352,8 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld, - if (sample_id) { - LLVMValueRef y_val_idx = LLVMBuildMul(gallivm->builder, sample_id, lp_build_const_int32(gallivm, 2), ""); - y_val_idx = LLVMBuildAdd(gallivm->builder, y_val_idx, lp_build_const_int32(gallivm, 1), ""); -- y_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, y_val_idx); -+ y_val_idx = lp_build_array_get2(gallivm, bld->sample_pos_array_type, -+ bld->sample_pos_array, y_val_idx); - a = lp_build_broadcast_scalar(coeff_bld, y_val_idx); - } else { - a = lp_build_const_vec(gallivm, coeff_bld->type, bld->pos_offset); -@@ -373,8 +377,10 @@ attribs_update_simple(struct lp_build_interp_soa_context *bld, - LLVMValueRef x_val_idx = LLVMBuildMul(gallivm->builder, sample_id, lp_build_const_int32(gallivm, 2), ""); - LLVMValueRef y_val_idx = LLVMBuildAdd(gallivm->builder, x_val_idx, lp_build_const_int32(gallivm, 1), ""); - -- x_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, x_val_idx); -- y_val_idx = lp_build_array_get(gallivm, bld->sample_pos_array, y_val_idx); -+ x_val_idx = lp_build_array_get2(gallivm, bld->sample_pos_array_type, -+ bld->sample_pos_array, x_val_idx); -+ y_val_idx = lp_build_array_get2(gallivm, bld->sample_pos_array_type, -+ bld->sample_pos_array, y_val_idx); - xoffset = lp_build_broadcast_scalar(coeff_bld, x_val_idx); - yoffset = lp_build_broadcast_scalar(coeff_bld, y_val_idx); - } else if (loc == TGSI_INTERPOLATE_LOC_CENTROID) { -@@ -678,6 +684,7 @@ lp_build_interp_soa_init(struct lp_build_interp_soa_context *bld, - const struct lp_shader_input *inputs, - boolean pixel_center_integer, - unsigned coverage_samples, -+ LLVMTypeRef sample_pos_array_type, - LLVMValueRef sample_pos_array, - LLVMValueRef num_loop, - LLVMBuilderRef builder, -@@ -750,6 +757,7 @@ lp_build_interp_soa_init(struct lp_build_interp_soa_context *bld, - } - bld->coverage_samples = coverage_samples; - bld->num_loop = num_loop; -+ bld->sample_pos_array_type = sample_pos_array_type; - bld->sample_pos_array = sample_pos_array; - - pos_init(bld, x0, y0); -diff --git a/src/gallium/drivers/llvmpipe/lp_bld_interp.h b/src/gallium/drivers/llvmpipe/lp_bld_interp.h -index acd5546118471..445c8655d4d59 100644 ---- a/src/gallium/drivers/llvmpipe/lp_bld_interp.h -+++ b/src/gallium/drivers/llvmpipe/lp_bld_interp.h -@@ -90,6 +90,7 @@ struct lp_build_interp_soa_context - double pos_offset; - unsigned coverage_samples; - LLVMValueRef num_loop; -+ LLVMTypeRef sample_pos_array_type; - LLVMValueRef sample_pos_array; - - LLVMValueRef x; -@@ -124,6 +125,7 @@ lp_build_interp_soa_init(struct lp_build_interp_soa_context *bld, - const struct lp_shader_input *inputs, - boolean pixel_center_integer, - unsigned coverage_samples, -+ LLVMTypeRef sample_pos_array_type, - LLVMValueRef sample_pos_array, - LLVMValueRef num_loop, - LLVMBuilderRef builder, -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index 1aef483fd6446..7e554662bdd8b 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -3319,7 +3319,9 @@ generate_fragment(struct llvmpipe_context *lp, - shader->info.base.num_inputs, - inputs, - pixel_center_integer, -- key->coverage_samples, glob_sample_pos, -+ key->coverage_samples, -+ LLVMTypeOf(sample_pos_array), -+ glob_sample_pos, - num_loop, - builder, fs_type, - a0_ptr, dadx_ptr, dady_ptr, --- -GitLab - - -From 38907a40ab0848c9fe8d1b7ad6d0f4047fcf6f5b Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 29 Sep 2022 08:19:44 +1000 -Subject: [PATCH 06/10] llvmpipe/fs: pass mask type to alpha to coverage - handler - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_state_fs.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index 7e554662bdd8b..9dabfcb4a80f3 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -408,6 +408,7 @@ lp_build_sample_alpha_to_coverage(struct gallivm_state *gallivm, - unsigned coverage_samples, - LLVMValueRef num_loop, - LLVMValueRef loop_counter, -+ LLVMTypeRef coverage_mask_type, - LLVMValueRef coverage_mask_store, - LLVMValueRef alpha) - { -@@ -422,8 +423,9 @@ lp_build_sample_alpha_to_coverage(struct gallivm_state *gallivm, - - LLVMValueRef s_mask_idx = LLVMBuildMul(builder, lp_build_const_int32(gallivm, s), num_loop, ""); - s_mask_idx = LLVMBuildAdd(builder, s_mask_idx, loop_counter, ""); -- LLVMValueRef s_mask_ptr = LLVMBuildGEP(builder, coverage_mask_store, &s_mask_idx, 1, ""); -- LLVMValueRef s_mask = LLVMBuildLoad(builder, s_mask_ptr, ""); -+ LLVMValueRef s_mask_ptr = LLVMBuildGEP2(builder, coverage_mask_type, -+ coverage_mask_store, &s_mask_idx, 1, ""); -+ LLVMValueRef s_mask = LLVMBuildLoad2(builder, coverage_mask_type, s_mask_ptr, ""); - s_mask = LLVMBuildAnd(builder, s_mask, test, ""); - LLVMBuildStore(builder, s_mask, s_mask_ptr); - } -@@ -1089,7 +1091,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - } else { - lp_build_sample_alpha_to_coverage(gallivm, type, key->coverage_samples, num_loop, - loop_state.counter, -- mask_store, alpha); -+ mask_type, mask_store, alpha); - } - } - } --- -GitLab - - -From 3137f4fad15058cc7d16b2438f44b5e581853be8 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 29 Sep 2022 08:20:25 +1000 -Subject: [PATCH 07/10] llvmpipe/fs: use explicit api in viewport code. - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_state_fs.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index 9dabfcb4a80f3..9cbdc9cff037d 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -332,12 +332,13 @@ lp_llvm_viewport(LLVMTypeRef context_type, - LLVMValueRef res; - struct lp_type viewport_type = - lp_type_float_vec(32, 32 * LP_JIT_VIEWPORT_NUM_FIELDS); -+ LLVMTypeRef vtype = lp_build_vec_type(gallivm, viewport_type); - - ptr = lp_jit_context_viewports(gallivm, context_type, context_ptr); - ptr = LLVMBuildPointerCast(builder, ptr, -- LLVMPointerType(lp_build_vec_type(gallivm, viewport_type), 0), ""); -+ LLVMPointerType(vtype, 0), ""); - -- res = lp_build_pointer_get(builder, ptr, viewport_index); -+ res = lp_build_pointer_get2(builder, vtype, ptr, viewport_index); - - return res; - } --- -GitLab - - -From b9a0ec0c67741cb4b1d2c0d44f747aabe28018e3 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 29 Sep 2022 08:24:44 +1000 -Subject: [PATCH 08/10] llvmpipe/fs: handle explicit types around blending and - c/zs bufs calcs - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_state_fs.c | 132 +++++++++++++-------- - 1 file changed, 80 insertions(+), 52 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index 9cbdc9cff037d..900d2c1e63c3b 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -117,6 +117,7 @@ static unsigned fs_no = 0; - - static void - load_unswizzled_block(struct gallivm_state *gallivm, -+ LLVMTypeRef base_type, - LLVMValueRef base_ptr, - LLVMValueRef stride, - unsigned block_width, -@@ -507,6 +508,9 @@ fs_fb_fetch(const struct lp_build_fs_iface *iface, - struct lp_build_fs_llvm_iface *fs_iface = (struct lp_build_fs_llvm_iface *)iface; - struct gallivm_state *gallivm = bld->gallivm; - LLVMBuilderRef builder = gallivm->builder; -+ LLVMTypeRef int32_type = LLVMInt32TypeInContext(gallivm->context); -+ LLVMTypeRef int8_type = LLVMInt8TypeInContext(gallivm->context); -+ LLVMTypeRef int8p_type = LLVMPointerType(int8_type, 0); - const struct lp_fragment_shader_variant_key *key = fs_iface->key; - - LLVMValueRef buf_ptr; -@@ -524,8 +528,12 @@ fs_fb_fetch(const struct lp_build_fs_iface *iface, - const int cbuf = location - FRAG_RESULT_DATA0; - LLVMValueRef index = lp_build_const_int32(gallivm, cbuf); - -- buf_ptr = LLVMBuildLoad(builder, LLVMBuildGEP(builder, fs_iface->color_ptr_ptr, &index, 1, ""), ""); -- stride = LLVMBuildLoad(builder, LLVMBuildGEP(builder, fs_iface->color_stride_ptr, &index, 1, ""), ""); -+ buf_ptr = LLVMBuildLoad2(builder, int8p_type, -+ LLVMBuildGEP2(builder, int8p_type, -+ fs_iface->color_ptr_ptr, &index, 1, ""), ""); -+ stride = LLVMBuildLoad2(builder, int32_type, -+ LLVMBuildGEP2(builder, int32_type, -+ fs_iface->color_stride_ptr, &index, 1, ""), ""); - buf_format = key->cbuf_format[cbuf]; - } - -@@ -546,13 +554,16 @@ fs_fb_fetch(const struct lp_build_fs_iface *iface, - sample_stride = fs_iface->zs_sample_stride; - } else { - LLVMValueRef index = lp_build_const_int32(gallivm, location - FRAG_RESULT_DATA0); -- sample_stride = LLVMBuildLoad(builder, -- LLVMBuildGEP(builder, fs_iface->color_sample_stride_ptr, -- &index, 1, ""), ""); -+ sample_stride = LLVMBuildLoad2(builder, int32_type, -+ LLVMBuildGEP2(builder, -+ int32_type, -+ fs_iface->color_sample_stride_ptr, -+ &index, 1, ""), ""); - } - - LLVMValueRef sample_offset = LLVMBuildMul(builder, sample_stride, fs_iface->sample_id, ""); -- buf_ptr = LLVMBuildGEP(builder, buf_ptr, &sample_offset, 1, ""); -+ buf_ptr = LLVMBuildGEP2(builder, int8_type, -+ buf_ptr, &sample_offset, 1, ""); - } - - /* fragment shader executes on 4x4 blocks. depending on vector width it can -@@ -883,7 +894,8 @@ generate_fs_loop(struct gallivm_state *gallivm, - LLVMValueRef sample_offset = - LLVMBuildMul(builder, sample_loop_state.counter, - depth_sample_stride, ""); -- depth_ptr = LLVMBuildGEP(builder, depth_ptr, &sample_offset, 1, ""); -+ depth_ptr = LLVMBuildGEP2(builder, LLVMInt8TypeInContext(gallivm->context), -+ depth_ptr, &sample_offset, 1, ""); - } - - if (depth_mode & EARLY_DEPTH_TEST) { -@@ -1248,7 +1260,8 @@ generate_fs_loop(struct gallivm_state *gallivm, - depth_ptr = depth_base_ptr; - if (key->multisample) { - LLVMValueRef sample_offset = LLVMBuildMul(builder, sample_loop_state.counter, depth_sample_stride, ""); -- depth_ptr = LLVMBuildGEP(builder, depth_ptr, &sample_offset, 1, ""); -+ depth_ptr = LLVMBuildGEP2(builder, LLVMInt8TypeInContext(gallivm->context), -+ depth_ptr, &sample_offset, 1, ""); - } - - /* Late Z test */ -@@ -1258,8 +1271,8 @@ generate_fs_loop(struct gallivm_state *gallivm, - if (key->min_samples > 1) - idx = LLVMBuildAdd(builder, idx, - LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""), ""); -- LLVMValueRef ptr = LLVMBuildGEP(builder, z_out, &idx, 1, ""); -- z = LLVMBuildLoad(builder, ptr, "output.z"); -+ LLVMValueRef ptr = LLVMBuildGEP2(builder, vec_type, z_out, &idx, 1, ""); -+ z = LLVMBuildLoad2(builder, vec_type, ptr, "output.z"); - } else { - if (key->multisample) { - lp_build_interp_soa_update_pos_dyn(interp, gallivm, loop_state.counter, key->multisample ? sample_loop_state.counter : NULL); -@@ -1280,8 +1293,8 @@ generate_fs_loop(struct gallivm_state *gallivm, - if (key->min_samples > 1) - idx = LLVMBuildAdd(builder, idx, - LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""), ""); -- LLVMValueRef ptr = LLVMBuildGEP(builder, s_out, &idx, 1, ""); -- stencil_refs[0] = LLVMBuildLoad(builder, ptr, "output.s"); -+ LLVMValueRef ptr = LLVMBuildGEP2(builder, vec_type, s_out, &idx, 1, ""); -+ stencil_refs[0] = LLVMBuildLoad2(builder, vec_type, ptr, "output.s"); - /* there's only one value, and spec says to discard additional bits */ - LLVMValueRef s_max_mask = lp_build_const_int_vec(gallivm, int_type, 255); - stencil_refs[0] = LLVMBuildBitCast(builder, stencil_refs[0], int_vec_type, ""); -@@ -1322,10 +1335,10 @@ generate_fs_loop(struct gallivm_state *gallivm, - * write that out. - */ - if (key->multisample) { -- z_value = LLVMBuildBitCast(builder, lp_build_pointer_get(builder, z_sample_value_store, sample_loop_state.counter), z_type, "");; -- s_value = lp_build_pointer_get(builder, s_sample_value_store, sample_loop_state.counter); -- z_fb = LLVMBuildBitCast(builder, lp_build_pointer_get(builder, z_fb_store, sample_loop_state.counter), z_fb_type, ""); -- s_fb = lp_build_pointer_get(builder, s_fb_store, sample_loop_state.counter); -+ z_value = LLVMBuildBitCast(builder, lp_build_pointer_get2(builder, int_vec_type, z_sample_value_store, sample_loop_state.counter), z_type, ""); -+ s_value = lp_build_pointer_get2(builder, int_vec_type, s_sample_value_store, sample_loop_state.counter); -+ z_fb = LLVMBuildBitCast(builder, lp_build_pointer_get2(builder, int_vec_type, z_fb_store, sample_loop_state.counter), z_fb_type, ""); -+ s_fb = lp_build_pointer_get2(builder, int_vec_type, s_fb_store, sample_loop_state.counter); - } - lp_build_depth_stencil_write_swizzled(gallivm, type, - zs_format_desc, key->resource_1d, -@@ -1604,6 +1617,7 @@ fs_twiddle_transpose(struct gallivm_state *gallivm, - */ - static void - load_unswizzled_block(struct gallivm_state *gallivm, -+ LLVMTypeRef base_type, - LLVMValueRef base_ptr, - LLVMValueRef stride, - unsigned block_width, -@@ -1632,11 +1646,13 @@ load_unswizzled_block(struct gallivm_state *gallivm, - gep[0] = lp_build_const_int32(gallivm, 0); - gep[1] = LLVMBuildAdd(builder, bx, by, ""); - -- dst_ptr = LLVMBuildGEP(builder, base_ptr, gep, 2, ""); -+ dst_ptr = LLVMBuildGEP2(builder, base_type, base_ptr, gep, 2, ""); - dst_ptr = LLVMBuildBitCast(builder, dst_ptr, - LLVMPointerType(lp_build_vec_type(gallivm, dst_type), 0), ""); - -- dst[i] = LLVMBuildLoad(builder, dst_ptr, ""); -+ dst[i] = LLVMBuildLoad2(builder, -+ lp_build_vec_type(gallivm, dst_type), -+ dst_ptr, ""); - - LLVMSetAlignment(dst[i], dst_alignment); - } -@@ -1648,6 +1664,7 @@ load_unswizzled_block(struct gallivm_state *gallivm, - */ - static void - store_unswizzled_block(struct gallivm_state *gallivm, -+ LLVMTypeRef base_type, - LLVMValueRef base_ptr, - LLVMValueRef stride, - unsigned block_width, -@@ -1676,7 +1693,7 @@ store_unswizzled_block(struct gallivm_state *gallivm, - gep[0] = lp_build_const_int32(gallivm, 0); - gep[1] = LLVMBuildAdd(builder, bx, by, ""); - -- src_ptr = LLVMBuildGEP(builder, base_ptr, gep, 2, ""); -+ src_ptr = LLVMBuildGEP2(builder, base_type, base_ptr, gep, 2, ""); - src_ptr = LLVMBuildBitCast(builder, src_ptr, - LLVMPointerType(lp_build_vec_type(gallivm, src_type), 0), ""); - -@@ -2377,6 +2394,7 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - LLVMValueRef fs_out_color[PIPE_MAX_COLOR_BUFS][TGSI_NUM_CHANNELS][4], - LLVMTypeRef context_type, - LLVMValueRef context_ptr, -+ LLVMTypeRef color_type, - LLVMValueRef color_ptr, - LLVMValueRef stride, - unsigned partial_mask, -@@ -2431,6 +2449,8 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - unsigned num_fullblock_fs = is_1d ? 2 * num_fs : num_fs; - LLVMValueRef fpstate = 0; - -+ LLVMTypeRef fs_vec_type = lp_build_vec_type(gallivm, fs_type); -+ - /* Get type from output format */ - lp_blend_type_from_format_desc(out_format_desc, &row_type); - lp_mem_type_from_format_desc(out_format_desc, &dst_type); -@@ -2550,7 +2570,8 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - /* Always load alpha for use in blending */ - LLVMValueRef alpha; - if (i < num_fs) { -- alpha = LLVMBuildLoad(builder, fs_out_color[rt][alpha_channel][i], ""); -+ alpha = LLVMBuildLoad2(builder, fs_vec_type, -+ fs_out_color[rt][alpha_channel][i], ""); - } else { - alpha = undef_src_val; - } -@@ -2559,8 +2580,8 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - for (unsigned j = 0; j < dst_channels; ++j) { - assert(swizzle[j] < 4); - if (i < num_fs) { -- fs_src[i][j] = LLVMBuildLoad(builder, -- fs_out_color[rt][swizzle[j]][i], ""); -+ fs_src[i][j] = LLVMBuildLoad2(builder, fs_vec_type, -+ fs_out_color[rt][swizzle[j]][i], ""); - } else { - fs_src[i][j] = undef_src_val; - } -@@ -2599,7 +2620,8 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - for (unsigned i = 0; i < num_fullblock_fs; ++i) { - LLVMValueRef alpha; - if (i < num_fs) { -- alpha = LLVMBuildLoad(builder, fs_out_color[1][alpha_channel][i], ""); -+ alpha = LLVMBuildLoad2(builder, fs_vec_type, -+ fs_out_color[1][alpha_channel][i], ""); - } else { - alpha = undef_src_val; - } -@@ -2607,7 +2629,8 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - for (unsigned j = 0; j < dst_channels; ++j) { - assert(swizzle[j] < 4); - if (i < num_fs) { -- fs_src1[i][j] = LLVMBuildLoad(builder, fs_out_color[1][swizzle[j]][i], ""); -+ fs_src1[i][j] = LLVMBuildLoad2(builder, fs_vec_type, -+ fs_out_color[1][swizzle[j]][i], ""); - } else { - fs_src1[i][j] = undef_src_val; - } -@@ -2632,14 +2655,15 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - */ - fs_type.floating = 0; - fs_type.sign = dst_type.sign; -+ fs_vec_type = lp_build_vec_type(gallivm, fs_type); - for (unsigned i = 0; i < num_fullblock_fs; ++i) { - for (unsigned j = 0; j < dst_channels; ++j) { - fs_src[i][j] = LLVMBuildBitCast(builder, fs_src[i][j], -- lp_build_vec_type(gallivm, fs_type), ""); -+ fs_vec_type, ""); - } - if (dst_channels == 3 && !has_alpha) { - fs_src[i][3] = LLVMBuildBitCast(builder, fs_src[i][3], -- lp_build_vec_type(gallivm, fs_type), ""); -+ fs_vec_type, ""); - } - } - } -@@ -2690,6 +2714,7 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - unsigned ds = src_count / (num_fullblock_fs * src_channels); - row_type.length /= ds; - fs_type.length = row_type.length; -+ fs_vec_type = lp_build_vec_type(gallivm, fs_type); - } - - blend_type = row_type; -@@ -2740,9 +2765,9 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - */ - blend_color = lp_jit_context_f_blend_color(gallivm, context_type, context_ptr); - blend_color = LLVMBuildPointerCast(builder, blend_color, -- LLVMPointerType(lp_build_vec_type(gallivm, fs_type), 0), -+ LLVMPointerType(fs_vec_type, 0), - ""); -- blend_color = LLVMBuildLoad(builder, LLVMBuildGEP(builder, blend_color, -+ blend_color = LLVMBuildLoad2(builder, fs_vec_type, LLVMBuildGEP2(builder, fs_vec_type, blend_color, - &i32_zero, 1, ""), ""); - - /* Convert */ -@@ -2932,13 +2957,13 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - } - - if (is_1d) { -- load_unswizzled_block(gallivm, color_ptr, stride, block_width, 1, -+ load_unswizzled_block(gallivm, color_type, color_ptr, stride, block_width, 1, - dst, ls_type, dst_count / 4, dst_alignment); - for (unsigned i = dst_count / 4; i < dst_count; i++) { - dst[i] = lp_build_undef(gallivm, ls_type); - } - } else { -- load_unswizzled_block(gallivm, color_ptr, stride, block_width, -+ load_unswizzled_block(gallivm, color_type, color_ptr, stride, block_width, - block_height, dst, ls_type, dst_count, - dst_alignment); - } -@@ -3047,10 +3072,10 @@ generate_unswizzled_blend(struct gallivm_state *gallivm, - * Store blend result to memory - */ - if (is_1d) { -- store_unswizzled_block(gallivm, color_ptr, stride, block_width, 1, -+ store_unswizzled_block(gallivm, color_type, color_ptr, stride, block_width, 1, - dst, dst_type, dst_count / 4, dst_alignment); - } else { -- store_unswizzled_block(gallivm, color_ptr, stride, block_width, -+ store_unswizzled_block(gallivm, color_type, color_ptr, stride, block_width, - block_height, - dst, dst_type, dst_count, dst_alignment); - } -@@ -3089,6 +3114,7 @@ generate_fragment(struct llvmpipe_context *lp, - LLVMTypeRef func_type; - LLVMTypeRef int32_type = LLVMInt32TypeInContext(gallivm->context); - LLVMTypeRef int8_type = LLVMInt8TypeInContext(gallivm->context); -+ LLVMTypeRef int8p_type = LLVMPointerType(int8_type, 0); - LLVMValueRef context_ptr; - LLVMValueRef x; - LLVMValueRef y; -@@ -3405,6 +3431,7 @@ generate_fragment(struct llvmpipe_context *lp, - variant->jit_thread_data_type, - thread_data_ptr); - -+ LLVMTypeRef fs_vec_type = lp_build_vec_type(gallivm, fs_type); - for (unsigned i = 0; i < num_fs; i++) { - LLVMValueRef ptr; - for (unsigned s = 0; s < key->coverage_samples; s++) { -@@ -3421,9 +3448,9 @@ generate_fragment(struct llvmpipe_context *lp, - LLVMValueRef sindexi = lp_build_const_int32(gallivm, idx); - for (unsigned cbuf = 0; cbuf < key->nr_cbufs; cbuf++) { - for (unsigned chan = 0; chan < TGSI_NUM_CHANNELS; ++chan) { -- ptr = LLVMBuildGEP(builder, -- color_store[cbuf * !cbuf0_write_all][chan], -- &sindexi, 1, ""); -+ ptr = LLVMBuildGEP2(builder, fs_vec_type, -+ color_store[cbuf * !cbuf0_write_all][chan], -+ &sindexi, 1, ""); - fs_out_color[s][cbuf][chan][i] = ptr; - } - } -@@ -3432,9 +3459,9 @@ generate_fragment(struct llvmpipe_context *lp, - * output 1 - */ - for (unsigned chan = 0; chan < TGSI_NUM_CHANNELS; ++chan) { -- ptr = LLVMBuildGEP(builder, -- color_store[1][chan], -- &sindexi, 1, ""); -+ ptr = LLVMBuildGEP2(builder, fs_vec_type, -+ color_store[1][chan], -+ &sindexi, 1, ""); - fs_out_color[s][1][chan][i] = ptr; - } - } -@@ -3458,32 +3485,33 @@ generate_fragment(struct llvmpipe_context *lp, - || key->alpha.enabled) - && !shader->info.base.uses_kill); - -- color_ptr = LLVMBuildLoad(builder, -- LLVMBuildGEP(builder, color_ptr_ptr, -- &index, 1, ""), -- ""); -+ color_ptr = LLVMBuildLoad2(builder, int8p_type, -+ LLVMBuildGEP2(builder, int8p_type, color_ptr_ptr, -+ &index, 1, ""), -+ ""); - -- stride = LLVMBuildLoad(builder, -- LLVMBuildGEP(builder, stride_ptr, -+ stride = LLVMBuildLoad2(builder, int32_type, -+ LLVMBuildGEP2(builder, int32_type, stride_ptr, - &index, 1, ""), -- ""); -+ ""); - - if (key->cbuf_nr_samples[cbuf] > 1) -- sample_stride = LLVMBuildLoad(builder, -- LLVMBuildGEP(builder, -- color_sample_stride_ptr, -- &index, 1, ""), ""); -+ sample_stride = LLVMBuildLoad2(builder, int32_type, -+ LLVMBuildGEP2(builder, -+ int32_type, -+ color_sample_stride_ptr, -+ &index, 1, ""), ""); - - for (unsigned s = 0; s < key->cbuf_nr_samples[cbuf]; s++) { - unsigned mask_idx = num_fs * (key->multisample ? s : 0); - unsigned out_idx = key->min_samples == 1 ? 0 : s; -- LLVMValueRef out_ptr = color_ptr;; -+ LLVMValueRef out_ptr = color_ptr; - - if (sample_stride) { - LLVMValueRef sample_offset = - LLVMBuildMul(builder, sample_stride, - lp_build_const_int32(gallivm, s), ""); -- out_ptr = LLVMBuildGEP(builder, out_ptr, &sample_offset, 1, ""); -+ out_ptr = LLVMBuildGEP2(builder, int8_type, out_ptr, &sample_offset, 1, ""); - } - out_ptr = LLVMBuildBitCast(builder, out_ptr, - LLVMPointerType(blend_vec_type, 0), ""); -@@ -3495,7 +3523,7 @@ generate_fragment(struct llvmpipe_context *lp, - num_fs, fs_type, &fs_mask[mask_idx], - fs_out_color[out_idx], - variant->jit_context_type, -- context_ptr, out_ptr, stride, -+ context_ptr, blend_vec_type, out_ptr, stride, - partial_mask, do_branch); - } - } --- -GitLab - - -From 5b83357ac5aea1b1735030cd1ece13d1a7e2f402 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 29 Sep 2022 08:25:42 +1000 -Subject: [PATCH 09/10] llvmpipe/fs: cleanup some remaining mask handling and - reuse types - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_state_fs.c | 33 +++++++++++----------- - 1 file changed, 17 insertions(+), 16 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index 900d2c1e63c3b..d906d83840eff 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -831,8 +831,8 @@ generate_fs_loop(struct gallivm_state *gallivm, - lp_build_mask_check(&mask); - - /* Create storage for recombining sample masks after early Z pass. */ -- LLVMValueRef s_mask_or = lp_build_alloca(gallivm, lp_build_int_vec_type(gallivm, type), "cov_mask_early_depth"); -- LLVMBuildStore(builder, LLVMConstNull(lp_build_int_vec_type(gallivm, type)), s_mask_or); -+ LLVMValueRef s_mask_or = lp_build_alloca(gallivm, int_vec_type, "cov_mask_early_depth"); -+ LLVMBuildStore(builder, LLVMConstNull(int_vec_type), s_mask_or); - - /* Create storage for post depth sample mask */ - LLVMValueRef post_depth_sample_mask_in = NULL; -@@ -953,13 +953,13 @@ generate_fs_loop(struct gallivm_state *gallivm, - * Recombine the resulting coverage masks post early Z into the fragment - * shader execution mask. - */ -- LLVMValueRef tmp_s_mask_or = LLVMBuildLoad(builder, s_mask_or, ""); -+ LLVMValueRef tmp_s_mask_or = LLVMBuildLoad2(builder, int_vec_type, s_mask_or, ""); - tmp_s_mask_or = LLVMBuildOr(builder, tmp_s_mask_or, s_mask, ""); - LLVMBuildStore(builder, tmp_s_mask_or, s_mask_or); - - if (post_depth_coverage) { - LLVMValueRef mask_bit_idx = LLVMBuildShl(builder, lp_build_const_int32(gallivm, 1), sample_loop_state.counter, ""); -- LLVMValueRef post_depth_mask_in = LLVMBuildLoad(builder, post_depth_sample_mask_in, ""); -+ LLVMValueRef post_depth_mask_in = LLVMBuildLoad2(builder, int_vec_type, post_depth_sample_mask_in, ""); - mask_bit_idx = LLVMBuildAnd(builder, s_mask, lp_build_broadcast(gallivm, int_vec_type, mask_bit_idx), ""); - post_depth_mask_in = LLVMBuildOr(builder, post_depth_mask_in, mask_bit_idx, ""); - LLVMBuildStore(builder, post_depth_mask_in, post_depth_sample_mask_in); -@@ -970,7 +970,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - lp_build_for_loop_end(&sample_loop_state); - - /* recombined all the coverage masks in the shader exec mask. */ -- tmp_s_mask_or = LLVMBuildLoad(builder, s_mask_or, ""); -+ tmp_s_mask_or = LLVMBuildLoad2(builder, int_vec_type, s_mask_or, ""); - lp_build_mask_update(&mask, tmp_s_mask_or); - - if (key->min_samples == 1) { -@@ -994,7 +994,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - } - - if (post_depth_coverage) { -- system_values.sample_mask_in = LLVMBuildLoad(builder, post_depth_sample_mask_in, ""); -+ system_values.sample_mask_in = LLVMBuildLoad2(builder, int_vec_type, post_depth_sample_mask_in, ""); - } else { - system_values.sample_mask_in = sample_mask_in; - } -@@ -1140,7 +1140,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - - if (key->min_samples > 1) { - /* only the bit corresponding to this sample is to be used. */ -- LLVMValueRef tmp_mask = LLVMBuildLoad(builder, out_sample_mask_storage, "tmp_mask"); -+ LLVMValueRef tmp_mask = LLVMBuildLoad2(builder, int_vec_type, out_sample_mask_storage, "tmp_mask"); - LLVMValueRef out_smask_idx = LLVMBuildShl(builder, lp_build_const_int32(gallivm, 1), sample_loop_state.counter, ""); - LLVMValueRef smask_bit = LLVMBuildAnd(builder, output_smask, lp_build_broadcast(gallivm, int_vec_type, out_smask_idx), ""); - output_smask = LLVMBuildOr(builder, tmp_mask, smask_bit, ""); -@@ -1248,7 +1248,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - (!(depth_mode & EARLY_DEPTH_TEST) || (depth_mode & (EARLY_DEPTH_TEST_INFERRED)))) { - LLVMValueRef out_smask_idx = LLVMBuildShl(builder, lp_build_const_int32(gallivm, 1), sample_loop_state.counter, ""); - out_smask_idx = lp_build_broadcast(gallivm, int_vec_type, out_smask_idx); -- LLVMValueRef output_smask = LLVMBuildLoad(builder, out_sample_mask_storage, ""); -+ LLVMValueRef output_smask = LLVMBuildLoad2(builder, int_vec_type, out_sample_mask_storage, ""); - LLVMValueRef smask_bit = LLVMBuildAnd(builder, output_smask, out_smask_idx, ""); - LLVMValueRef cmp = LLVMBuildICmp(builder, LLVMIntNE, smask_bit, lp_build_const_int_vec(gallivm, int_type, 0), ""); - smask_bit = LLVMBuildSExt(builder, cmp, int_vec_type, ""); -@@ -1363,7 +1363,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - /* if the shader writes sample mask use that */ - LLVMValueRef out_smask_idx = LLVMBuildShl(builder, lp_build_const_int32(gallivm, 1), sample_loop_state.counter, ""); - out_smask_idx = lp_build_broadcast(gallivm, int_vec_type, out_smask_idx); -- LLVMValueRef output_smask = LLVMBuildLoad(builder, out_sample_mask_storage, ""); -+ LLVMValueRef output_smask = LLVMBuildLoad2(builder, int_vec_type, out_sample_mask_storage, ""); - LLVMValueRef smask_bit = LLVMBuildAnd(builder, output_smask, out_smask_idx, ""); - LLVMValueRef cmp = LLVMBuildICmp(builder, LLVMIntNE, smask_bit, lp_build_const_int_vec(gallivm, int_type, 0), ""); - smask_bit = LLVMBuildSExt(builder, cmp, int_vec_type, ""); -@@ -3113,6 +3113,7 @@ generate_fragment(struct llvmpipe_context *lp, - LLVMTypeRef arg_types[15]; - LLVMTypeRef func_type; - LLVMTypeRef int32_type = LLVMInt32TypeInContext(gallivm->context); -+ LLVMTypeRef int32p_type = LLVMPointerType(int32_type, 0); - LLVMTypeRef int8_type = LLVMInt8TypeInContext(gallivm->context); - LLVMTypeRef int8p_type = LLVMPointerType(int8_type, 0); - LLVMValueRef context_ptr; -@@ -3198,13 +3199,13 @@ generate_fragment(struct llvmpipe_context *lp, - arg_types[4] = LLVMPointerType(fs_elem_type, 0); /* a0 */ - arg_types[5] = LLVMPointerType(fs_elem_type, 0); /* dadx */ - arg_types[6] = LLVMPointerType(fs_elem_type, 0); /* dady */ -- arg_types[7] = LLVMPointerType(LLVMPointerType(int8_type, 0), 0); /* color */ -- arg_types[8] = LLVMPointerType(int8_type, 0); /* depth */ -+ arg_types[7] = LLVMPointerType(int8p_type, 0); /* color */ -+ arg_types[8] = int8p_type; /* depth */ - arg_types[9] = LLVMInt64TypeInContext(gallivm->context); /* mask_input */ - arg_types[10] = variant->jit_thread_data_ptr_type; /* per thread data */ -- arg_types[11] = LLVMPointerType(int32_type, 0); /* stride */ -+ arg_types[11] = int32p_type; /* stride */ - arg_types[12] = int32_type; /* depth_stride */ -- arg_types[13] = LLVMPointerType(int32_type, 0); /* color sample strides */ -+ arg_types[13] = int32p_type; /* color sample strides */ - arg_types[14] = int32_type; /* depth sample stride */ - - func_type = LLVMFunctionType(LLVMVoidTypeInContext(gallivm->context), -@@ -3359,9 +3360,9 @@ generate_fragment(struct llvmpipe_context *lp, - for (unsigned i = 0; i < num_fs; i++) { - if (key->multisample) { - LLVMValueRef smask_val = -- LLVMBuildLoad(builder, -- lp_jit_context_sample_mask(gallivm, variant->jit_context_type, context_ptr), -- ""); -+ LLVMBuildLoad2(builder, int32_type, -+ lp_jit_context_sample_mask(gallivm, variant->jit_context_type, context_ptr), -+ ""); - - /* - * For multisampling, extract the per-sample mask from the --- -GitLab - - -From 111bf8bfee280683a4c2d14ec08f65675204138c Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 29 Sep 2022 08:26:01 +1000 -Subject: [PATCH 10/10] llvmpipe/fs: convert outputs handling to explicit api - -Reviewed-by: Brian Paul <brianp@vmware.com> -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18876> ---- - src/gallium/drivers/llvmpipe/lp_state_fs.c | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index d906d83840eff..b65a3a897eb9c 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -1074,7 +1074,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - - if (color0 != -1 && outputs[color0][3]) { - const struct util_format_description *cbuf_format_desc; -- LLVMValueRef alpha = LLVMBuildLoad(builder, outputs[color0][3], "alpha"); -+ LLVMValueRef alpha = LLVMBuildLoad2(builder, vec_type, outputs[color0][3], "alpha"); - LLVMValueRef alpha_ref_value; - - alpha_ref_value = lp_jit_context_alpha_ref_value(gallivm, context_type, context_ptr); -@@ -1095,7 +1095,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - 0); - - if (color0 != -1 && outputs[color0][3]) { -- LLVMValueRef alpha = LLVMBuildLoad(builder, outputs[color0][3], "alpha"); -+ LLVMValueRef alpha = LLVMBuildLoad2(builder, vec_type, outputs[color0][3], "alpha"); - - if (!key->multisample) { - lp_build_alpha_to_coverage(gallivm, type, -@@ -1130,7 +1130,7 @@ generate_fs_loop(struct gallivm_state *gallivm, - lp_build_context_init(&smask_bld, gallivm, int_type); - - assert(smaski >= 0); -- output_smask = LLVMBuildLoad(builder, outputs[smaski][0], "smask"); -+ output_smask = LLVMBuildLoad2(builder, vec_type, outputs[smaski][0], "smask"); - output_smask = LLVMBuildBitCast(builder, output_smask, smask_bld.vec_type, ""); - if (!key->multisample && key->no_ms_sample_mask_out) { - output_smask = lp_build_and(&smask_bld, output_smask, smask_bld.one); -@@ -1153,12 +1153,12 @@ generate_fs_loop(struct gallivm_state *gallivm, - int pos0 = find_output_by_semantic(&shader->info.base, - TGSI_SEMANTIC_POSITION, - 0); -- LLVMValueRef out = LLVMBuildLoad(builder, outputs[pos0][2], ""); -+ LLVMValueRef out = LLVMBuildLoad2(builder, vec_type, outputs[pos0][2], ""); - LLVMValueRef idx = loop_state.counter; - if (key->min_samples > 1) - idx = LLVMBuildAdd(builder, idx, - LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""), ""); -- LLVMValueRef ptr = LLVMBuildGEP(builder, z_out, &idx, 1, ""); -+ LLVMValueRef ptr = LLVMBuildGEP2(builder, vec_type, z_out, &idx, 1, ""); - LLVMBuildStore(builder, out, ptr); - } - -@@ -1166,12 +1166,13 @@ generate_fs_loop(struct gallivm_state *gallivm, - int sten_out = find_output_by_semantic(&shader->info.base, - TGSI_SEMANTIC_STENCIL, - 0); -- LLVMValueRef out = LLVMBuildLoad(builder, outputs[sten_out][1], "output.s"); -+ LLVMValueRef out = LLVMBuildLoad2(builder, vec_type, -+ outputs[sten_out][1], "output.s"); - LLVMValueRef idx = loop_state.counter; - if (key->min_samples > 1) - idx = LLVMBuildAdd(builder, idx, - LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""), ""); -- LLVMValueRef ptr = LLVMBuildGEP(builder, s_out, &idx, 1, ""); -+ LLVMValueRef ptr = LLVMBuildGEP2(builder, vec_type, s_out, &idx, 1, ""); - LLVMBuildStore(builder, out, ptr); - } - -@@ -1205,14 +1206,14 @@ generate_fs_loop(struct gallivm_state *gallivm, - /* XXX: just initialize outputs to point at colors[] and - * skip this. - */ -- LLVMValueRef out = LLVMBuildLoad(builder, outputs[attrib][chan], ""); -+ LLVMValueRef out = LLVMBuildLoad2(builder, vec_type, outputs[attrib][chan], ""); - LLVMValueRef color_ptr; - LLVMValueRef color_idx = loop_state.counter; - if (key->min_samples > 1) - color_idx = LLVMBuildAdd(builder, color_idx, - LLVMBuildMul(builder, sample_loop_state.counter, num_loop, ""), ""); -- color_ptr = LLVMBuildGEP(builder, out_color[cbuf][chan], -- &color_idx, 1, ""); -+ color_ptr = LLVMBuildGEP2(builder, vec_type, out_color[cbuf][chan], -+ &color_idx, 1, ""); - lp_build_name(out, "color%u.%c", attrib, "rgba"[chan]); - LLVMBuildStore(builder, out, color_ptr); - } --- -GitLab - -From 3d242c044758292712e1876ba3afdd3e8f06d5df Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 4 Oct 2022 09:41:00 +1000 -Subject: [PATCH 1/6] llvmpipe/tests: port to new pointer interfaces. - -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947> ---- - src/gallium/drivers/llvmpipe/lp_test_arit.c | 6 +++--- - src/gallium/drivers/llvmpipe/lp_test_blend.c | 8 ++++---- - src/gallium/drivers/llvmpipe/lp_test_conv.c | 12 +++++++----- - 3 files changed, 14 insertions(+), 12 deletions(-) - -diff --git a/src/gallium/drivers/llvmpipe/lp_test_arit.c b/src/gallium/drivers/llvmpipe/lp_test_arit.c -index 55ced4c67ccd4..4118928d52ed0 100644 ---- a/src/gallium/drivers/llvmpipe/lp_test_arit.c -+++ b/src/gallium/drivers/llvmpipe/lp_test_arit.c -@@ -362,11 +362,11 @@ build_unary_test_func(struct gallivm_state *gallivm, - LLVMSetFunctionCallConv(func, LLVMCCallConv); - - LLVMPositionBuilderAtEnd(builder, block); -- -- arg1 = LLVMBuildLoad(builder, arg1, ""); -+ -+ arg1 = LLVMBuildLoad2(builder, vf32t, arg1, ""); - - ret = test->builder(&bld, arg1); -- -+ - LLVMBuildStore(builder, ret, arg0); - - LLVMBuildRetVoid(builder); -diff --git a/src/gallium/drivers/llvmpipe/lp_test_blend.c b/src/gallium/drivers/llvmpipe/lp_test_blend.c -index 7805ec58d98a3..2d44e8eafe70c 100644 ---- a/src/gallium/drivers/llvmpipe/lp_test_blend.c -+++ b/src/gallium/drivers/llvmpipe/lp_test_blend.c -@@ -172,10 +172,10 @@ add_blend_test(struct gallivm_state *gallivm, - builder = gallivm->builder; - LLVMPositionBuilderAtEnd(builder, block); - -- src = LLVMBuildLoad(builder, src_ptr, "src"); -- src1 = LLVMBuildLoad(builder, src1_ptr, "src1"); -- dst = LLVMBuildLoad(builder, dst_ptr, "dst"); -- con = LLVMBuildLoad(builder, const_ptr, "const"); -+ src = LLVMBuildLoad2(builder, vec_type, src_ptr, "src"); -+ src1 = LLVMBuildLoad2(builder, vec_type, src1_ptr, "src1"); -+ dst = LLVMBuildLoad2(builder, vec_type, dst_ptr, "dst"); -+ con = LLVMBuildLoad2(builder, vec_type, const_ptr, "const"); - - res = lp_build_blend_aos(gallivm, blend, format, type, rt, src, NULL, - src1, NULL, dst, NULL, con, NULL, swizzle, 4); -diff --git a/src/gallium/drivers/llvmpipe/lp_test_conv.c b/src/gallium/drivers/llvmpipe/lp_test_conv.c -index 9ae148866af38..05aaa1b4fcdab 100644 ---- a/src/gallium/drivers/llvmpipe/lp_test_conv.c -+++ b/src/gallium/drivers/llvmpipe/lp_test_conv.c -@@ -112,9 +112,11 @@ add_conv_test(struct gallivm_state *gallivm, - LLVMValueRef src[LP_MAX_VECTOR_LENGTH]; - LLVMValueRef dst[LP_MAX_VECTOR_LENGTH]; - unsigned i; -+ LLVMTypeRef src_vec_type = lp_build_vec_type(gallivm, src_type); -+ LLVMTypeRef dst_vec_type = lp_build_vec_type(gallivm, dst_type); - -- args[0] = LLVMPointerType(lp_build_vec_type(gallivm, src_type), 0); -- args[1] = LLVMPointerType(lp_build_vec_type(gallivm, dst_type), 0); -+ args[0] = LLVMPointerType(src_vec_type, 0); -+ args[1] = LLVMPointerType(dst_vec_type, 0); - - func = LLVMAddFunction(module, "test", - LLVMFunctionType(LLVMVoidTypeInContext(context), -@@ -128,15 +130,15 @@ add_conv_test(struct gallivm_state *gallivm, - - for(i = 0; i < num_srcs; ++i) { - LLVMValueRef index = LLVMConstInt(LLVMInt32TypeInContext(context), i, 0); -- LLVMValueRef ptr = LLVMBuildGEP(builder, src_ptr, &index, 1, ""); -- src[i] = LLVMBuildLoad(builder, ptr, ""); -+ LLVMValueRef ptr = LLVMBuildGEP2(builder, src_vec_type, src_ptr, &index, 1, ""); -+ src[i] = LLVMBuildLoad2(builder, src_vec_type, ptr, ""); - } - - lp_build_conv(gallivm, src_type, dst_type, src, num_srcs, dst, num_dsts); - - for(i = 0; i < num_dsts; ++i) { - LLVMValueRef index = LLVMConstInt(LLVMInt32TypeInContext(context), i, 0); -- LLVMValueRef ptr = LLVMBuildGEP(builder, dst_ptr, &index, 1, ""); -+ LLVMValueRef ptr = LLVMBuildGEP2(builder, dst_vec_type, dst_ptr, &index, 1, ""); - LLVMBuildStore(builder, dst[i], ptr); - } - --- -GitLab - - -From 9fe8e5ccf7a18c02634be4e80bb15e854e95e78a Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 14:11:30 +1000 -Subject: [PATCH 2/6] gallivm/llvmpipe: add opaque pointers support to sampler - -This adds explicit context types wiring through the sampler code - -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947> ---- - src/gallium/auxiliary/draw/draw_llvm.c | 4 ++ - src/gallium/auxiliary/draw/draw_llvm_sample.c | 18 +++-- - src/gallium/auxiliary/gallivm/lp_bld_nir.h | 2 + - .../auxiliary/gallivm/lp_bld_nir_soa.c | 8 +++ - src/gallium/auxiliary/gallivm/lp_bld_sample.c | 20 +++--- - src/gallium/auxiliary/gallivm/lp_bld_sample.h | 23 +++++++ - .../auxiliary/gallivm/lp_bld_sample_soa.c | 69 ++++++++++++++----- - src/gallium/auxiliary/gallivm/lp_bld_tgsi.h | 4 ++ - .../auxiliary/gallivm/lp_bld_tgsi_soa.c | 16 +++++ - src/gallium/drivers/llvmpipe/lp_state_cs.c | 1 + - src/gallium/drivers/llvmpipe/lp_state_fs.c | 2 + - src/gallium/drivers/llvmpipe/lp_tex_sample.c | 21 ++++-- - 12 files changed, 148 insertions(+), 40 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm.c b/src/gallium/auxiliary/draw/draw_llvm.c -index 3bdc8775bd7e5..16c93ec85f24e 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm.c -+++ b/src/gallium/auxiliary/draw/draw_llvm.c -@@ -965,6 +965,7 @@ generate_vs(struct draw_llvm_variant *variant, - params.consts_ptr = consts_ptr; - params.system_values = system_values; - params.inputs = inputs; -+ params.context_type = variant->context_type; - params.context_ptr = context_ptr; - params.sampler = draw_sampler; - params.info = &llvm->draw->vs.vertex_shader->info; -@@ -2872,6 +2873,7 @@ draw_gs_llvm_generate(struct draw_llvm *llvm, - params.mask = &mask; - params.consts_ptr = consts_ptr; - params.system_values = &system_values; -+ params.context_type = variant->context_type; - params.context_ptr = context_ptr; - params.sampler = sampler; - params.info = &llvm->draw->gs.geometry_shader->info; -@@ -3533,6 +3535,7 @@ draw_tcs_llvm_generate(struct draw_llvm *llvm, - params.mask = &mask; - params.consts_ptr = consts_ptr; - params.system_values = &system_values; -+ params.context_type = variant->context_type; - params.context_ptr = context_ptr; - params.sampler = sampler; - params.info = &llvm->draw->tcs.tess_ctrl_shader->info; -@@ -4062,6 +4065,7 @@ draw_tes_llvm_generate(struct draw_llvm *llvm, - params.mask = &mask; - params.consts_ptr = consts_ptr; - params.system_values = &system_values; -+ params.context_type = variant->context_type; - params.context_ptr = context_ptr; - params.sampler = sampler; - params.info = &llvm->draw->tes.tess_eval_shader->info; -diff --git a/src/gallium/auxiliary/draw/draw_llvm_sample.c b/src/gallium/auxiliary/draw/draw_llvm_sample.c -index 6032f5b2a002f..5a48fb17caf2b 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm_sample.c -+++ b/src/gallium/auxiliary/draw/draw_llvm_sample.c -@@ -100,6 +100,7 @@ struct draw_llvm_image_soa - */ - static LLVMValueRef - draw_llvm_texture_member(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, - LLVMValueRef texture_unit_offset, -@@ -128,7 +129,7 @@ draw_llvm_texture_member(struct gallivm_state *gallivm, - /* context[0].textures[unit].member */ - indices[3] = lp_build_const_int32(gallivm, member_index); - -- ptr = LLVMBuildGEP(builder, context_ptr, indices, ARRAY_SIZE(indices), ""); -+ ptr = LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - - if (emit_load) - res = LLVMBuildLoad(builder, ptr, ""); -@@ -151,6 +152,7 @@ draw_llvm_texture_member(struct gallivm_state *gallivm, - */ - static LLVMValueRef - draw_llvm_sampler_member(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned sampler_unit, - unsigned member_index, -@@ -173,7 +175,7 @@ draw_llvm_sampler_member(struct gallivm_state *gallivm, - /* context[0].samplers[unit].member */ - indices[3] = lp_build_const_int32(gallivm, member_index); - -- ptr = LLVMBuildGEP(builder, context_ptr, indices, ARRAY_SIZE(indices), ""); -+ ptr = LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - - if (emit_load) - res = LLVMBuildLoad(builder, ptr, ""); -@@ -195,6 +197,7 @@ draw_llvm_sampler_member(struct gallivm_state *gallivm, - */ - static LLVMValueRef - draw_llvm_image_member(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned image_unit, - LLVMValueRef image_unit_offset, -@@ -223,7 +226,7 @@ draw_llvm_image_member(struct gallivm_state *gallivm, - /* context[0].textures[unit].member */ - indices[3] = lp_build_const_int32(gallivm, member_index); - -- ptr = LLVMBuildGEP(builder, context_ptr, indices, ARRAY_SIZE(indices), ""); -+ ptr = LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - - if (emit_load) - res = LLVMBuildLoad(builder, ptr, ""); -@@ -247,11 +250,12 @@ draw_llvm_image_member(struct gallivm_state *gallivm, - #define DRAW_LLVM_TEXTURE_MEMBER(_name, _index, _emit_load) \ - static LLVMValueRef \ - draw_llvm_texture_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ - LLVMValueRef context_ptr, \ - unsigned texture_unit, \ - LLVMValueRef texture_unit_offset) \ - { \ -- return draw_llvm_texture_member(gallivm, context_ptr, \ -+ return draw_llvm_texture_member(gallivm, context_type, context_ptr, \ - texture_unit, texture_unit_offset, \ - _index, #_name, _emit_load ); \ - } -@@ -272,10 +276,11 @@ DRAW_LLVM_TEXTURE_MEMBER(sample_stride, DRAW_JIT_TEXTURE_SAMPLE_STRIDE, TRUE) - #define DRAW_LLVM_SAMPLER_MEMBER(_name, _index, _emit_load) \ - static LLVMValueRef \ - draw_llvm_sampler_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ - LLVMValueRef context_ptr, \ - unsigned sampler_unit) \ - { \ -- return draw_llvm_sampler_member(gallivm, context_ptr, \ -+ return draw_llvm_sampler_member(gallivm, context_type, context_ptr, \ - sampler_unit, _index, #_name, _emit_load ); \ - } - -@@ -289,10 +294,11 @@ DRAW_LLVM_SAMPLER_MEMBER(max_aniso, DRAW_JIT_SAMPLER_MAX_ANISO, TRUE) - #define DRAW_LLVM_IMAGE_MEMBER(_name, _index, _emit_load) \ - static LLVMValueRef \ - draw_llvm_image_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ - LLVMValueRef context_ptr, \ - unsigned image_unit, LLVMValueRef image_unit_offset) \ - { \ -- return draw_llvm_image_member(gallivm, context_ptr, \ -+ return draw_llvm_image_member(gallivm, context_type, context_ptr, \ - image_unit, image_unit_offset, \ - _index, #_name, _emit_load ); \ - } -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.h b/src/gallium/auxiliary/gallivm/lp_bld_nir.h -index 922208d8603d5..727837e9a5390 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.h -@@ -246,7 +246,9 @@ struct lp_build_nir_soa_context - LLVMValueRef consts_sizes[LP_MAX_TGSI_CONST_BUFFERS]; - const LLVMValueRef (*inputs)[TGSI_NUM_CHANNELS]; - LLVMValueRef (*outputs)[TGSI_NUM_CHANNELS]; -+ LLVMTypeRef context_type; - LLVMValueRef context_ptr; -+ LLVMTypeRef thread_data_type; - LLVMValueRef thread_data_ptr; - - LLVMValueRef ssbo_ptr; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -index dafbffb344833..443bf4fea8afd 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir_soa.c -@@ -1613,7 +1613,9 @@ static void emit_image_op(struct lp_build_nir_context *bld_base, - struct gallivm_state *gallivm = bld_base->base.gallivm; - - params->type = bld_base->base.type; -+ params->context_type = bld->context_type; - params->context_ptr = bld->context_ptr; -+ params->thread_data_type = bld->thread_data_type; - params->thread_data_ptr = bld->thread_data_ptr; - params->exec_mask = mask_vec(bld_base); - -@@ -1634,6 +1636,7 @@ static void emit_image_size(struct lp_build_nir_context *bld_base, - struct gallivm_state *gallivm = bld_base->base.gallivm; - - params->int_type = bld_base->int_bld.type; -+ params->context_type = bld->context_type; - params->context_ptr = bld->context_ptr; - - if (params->texture_unit_offset) -@@ -1691,7 +1694,9 @@ static void emit_tex(struct lp_build_nir_context *bld_base, - LLVMBuilderRef builder = bld_base->base.gallivm->builder; - - params->type = bld_base->base.type; -+ params->context_type = bld->context_type; - params->context_ptr = bld->context_ptr; -+ params->thread_data_type = bld->thread_data_type; - params->thread_data_ptr = bld->thread_data_ptr; - - if (params->texture_index_offset && bld_base->shader->info.stage != MESA_SHADER_FRAGMENT) { -@@ -1774,6 +1779,7 @@ static void emit_tex_size(struct lp_build_nir_context *bld_base, - struct lp_build_nir_soa_context *bld = (struct lp_build_nir_soa_context *)bld_base; - - params->int_type = bld_base->int_bld.type; -+ params->context_type = bld->context_type; - params->context_ptr = bld->context_ptr; - - if (params->texture_unit_offset) -@@ -2847,7 +2853,9 @@ void lp_build_nir_soa(struct gallivm_state *gallivm, - bld.sampler = params->sampler; - // bld.bld_base.info = params->info; - -+ bld.context_type = params->context_type; - bld.context_ptr = params->context_ptr; -+ bld.thread_data_type = params->thread_data_type; - bld.thread_data_ptr = params->thread_data_ptr; - bld.bld_base.aniso_filter_table = params->aniso_filter_table; - bld.image = params->image; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -index bb7b422346575..cdbf737031a8c 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -@@ -266,7 +266,7 @@ lp_build_pmin(struct lp_build_sample_context *bld, - boolean pmin_per_quad = pmin_bld->type.length != length; - unsigned i; - -- first_level = bld->dynamic_state->first_level(bld->gallivm, -+ first_level = bld->dynamic_state->first_level(bld->gallivm, bld->context_type, - bld->context_ptr, texture_unit, NULL); - first_level_vec = lp_build_broadcast_scalar(int_size_bld, first_level); - int_size = lp_build_minify(int_size_bld, bld->int_size, first_level_vec, TRUE); -@@ -376,7 +376,7 @@ lp_build_rho(struct lp_build_sample_context *bld, - * the messy cube maps for now) when requested. - */ - -- first_level = bld->dynamic_state->first_level(bld->gallivm, -+ first_level = bld->dynamic_state->first_level(bld->gallivm, bld->context_type, - bld->context_ptr, texture_unit, NULL); - first_level_vec = lp_build_broadcast_scalar(int_size_bld, first_level); - int_size = lp_build_minify(int_size_bld, bld->int_size, first_level_vec, TRUE); -@@ -854,7 +854,7 @@ lp_build_lod_selector(struct lp_build_sample_context *bld, - * This is hit during mipmap generation. - */ - LLVMValueRef min_lod = -- dynamic_state->min_lod(bld->gallivm, -+ dynamic_state->min_lod(bld->gallivm, bld->context_type, - bld->context_ptr, sampler_unit); - - lod = lp_build_broadcast_scalar(lodf_bld, min_lod); -@@ -952,7 +952,7 @@ lp_build_lod_selector(struct lp_build_sample_context *bld, - /* add sampler lod bias */ - if (bld->static_sampler_state->lod_bias_non_zero) { - LLVMValueRef sampler_lod_bias = -- dynamic_state->lod_bias(bld->gallivm, -+ dynamic_state->lod_bias(bld->gallivm, bld->context_type, - bld->context_ptr, sampler_unit); - sampler_lod_bias = lp_build_broadcast_scalar(lodf_bld, - sampler_lod_bias); -@@ -966,7 +966,7 @@ lp_build_lod_selector(struct lp_build_sample_context *bld, - /* clamp lod */ - if (bld->static_sampler_state->apply_max_lod) { - LLVMValueRef max_lod = -- dynamic_state->max_lod(bld->gallivm, -+ dynamic_state->max_lod(bld->gallivm, bld->context_type, - bld->context_ptr, sampler_unit); - max_lod = lp_build_broadcast_scalar(lodf_bld, max_lod); - -@@ -974,7 +974,7 @@ lp_build_lod_selector(struct lp_build_sample_context *bld, - } - if (bld->static_sampler_state->apply_min_lod) { - LLVMValueRef min_lod = -- dynamic_state->min_lod(bld->gallivm, -+ dynamic_state->min_lod(bld->gallivm, bld->context_type, - bld->context_ptr, sampler_unit); - min_lod = lp_build_broadcast_scalar(lodf_bld, min_lod); - -@@ -1032,9 +1032,9 @@ lp_build_nearest_mip_level(struct lp_build_sample_context *bld, - struct lp_sampler_dynamic_state *dynamic_state = bld->dynamic_state; - LLVMValueRef first_level, last_level, level; - -- first_level = dynamic_state->first_level(bld->gallivm, -+ first_level = dynamic_state->first_level(bld->gallivm, bld->context_type, - bld->context_ptr, texture_unit, NULL); -- last_level = dynamic_state->last_level(bld->gallivm, -+ last_level = dynamic_state->last_level(bld->gallivm, bld->context_type, - bld->context_ptr, texture_unit, NULL); - first_level = lp_build_broadcast_scalar(leveli_bld, first_level); - last_level = lp_build_broadcast_scalar(leveli_bld, last_level); -@@ -1094,9 +1094,9 @@ lp_build_linear_mip_levels(struct lp_build_sample_context *bld, - - assert(bld->num_lods == bld->num_mips); - -- first_level = dynamic_state->first_level(bld->gallivm, -+ first_level = dynamic_state->first_level(bld->gallivm, bld->context_type, - bld->context_ptr, texture_unit, NULL); -- last_level = dynamic_state->last_level(bld->gallivm, -+ last_level = dynamic_state->last_level(bld->gallivm, bld->context_type, - bld->context_ptr, texture_unit, NULL); - first_level = lp_build_broadcast_scalar(leveli_bld, first_level); - last_level = lp_build_broadcast_scalar(leveli_bld, last_level); -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.h b/src/gallium/auxiliary/gallivm/lp_bld_sample.h -index 91d946545c81c..ecebc8fc631fe 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.h -@@ -109,7 +109,9 @@ struct lp_sampler_params - unsigned sampler_index; - LLVMValueRef texture_index_offset; - unsigned sample_key; -+ LLVMTypeRef context_type; - LLVMValueRef context_ptr; -+ LLVMTypeRef thread_data_type; - LLVMValueRef thread_data_ptr; - const LLVMValueRef *coords; - const LLVMValueRef *offsets; -@@ -127,6 +129,7 @@ struct lp_sampler_size_query_params - unsigned texture_unit; - LLVMValueRef texture_unit_offset; - unsigned target; -+ LLVMTypeRef context_type; - LLVMValueRef context_ptr; - boolean is_sviewinfo; - bool samples_only; -@@ -149,7 +152,9 @@ struct lp_img_params - unsigned target; - LLVMAtomicRMWBinOp op; - LLVMValueRef exec_mask; -+ LLVMTypeRef context_type; - LLVMValueRef context_ptr; -+ LLVMTypeRef thread_data_type; - LLVMValueRef thread_data_ptr; - const LLVMValueRef *coords; - LLVMValueRef ms_index; -@@ -230,66 +235,77 @@ struct lp_sampler_dynamic_state - /** Obtain the base texture width (or number of elements) (returns int32) */ - LLVMValueRef - (*width)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain the base texture height (returns int32) */ - LLVMValueRef - (*height)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain the base texture depth (or array size) (returns int32) */ - LLVMValueRef - (*depth)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain the first mipmap level (base level) (returns int32) */ - LLVMValueRef - (*first_level)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain the number of mipmap levels minus one (returns int32) */ - LLVMValueRef - (*last_level)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain stride in bytes between image rows/blocks (returns int32) */ - LLVMValueRef - (*row_stride)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain stride in bytes between image slices (returns int32) */ - LLVMValueRef - (*img_stride)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain pointer to base of texture */ - LLVMValueRef - (*base_ptr)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain pointer to array of mipmap offsets */ - LLVMValueRef - (*mip_offsets)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain number of samples (returns int32) */ - LLVMValueRef - (*num_samples)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - - /** Obtain multisample stride (returns int32) */ - LLVMValueRef - (*sample_stride)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, LLVMValueRef texture_unit_offset); - -@@ -298,30 +314,35 @@ struct lp_sampler_dynamic_state - /** Obtain texture min lod (returns float) */ - LLVMValueRef - (*min_lod)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned sampler_unit); - - /** Obtain texture max lod (returns float) */ - LLVMValueRef - (*max_lod)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned sampler_unit); - - /** Obtain texture lod bias (returns float) */ - LLVMValueRef - (*lod_bias)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned sampler_unit); - - /** Obtain texture border color (returns ptr to float[4]) */ - LLVMValueRef - (*border_color)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned sampler_unit); - - /** Obtain maximum anisotropy */ - LLVMValueRef - (*max_aniso)(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned sampler_unit); - -@@ -332,6 +353,7 @@ struct lp_sampler_dynamic_state - */ - LLVMValueRef - (*cache_ptr)(struct gallivm_state *gallivm, -+ LLVMTypeRef thread_data_type, - LLVMValueRef thread_data_ptr, - unsigned unit); - }; -@@ -440,6 +462,7 @@ struct lp_build_sample_context - - LLVMValueRef border_color_clamped; - -+ LLVMTypeRef context_type; - LLVMValueRef context_ptr; - - LLVMValueRef aniso_filter_table; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -index bf0453b3de284..c24833dafe123 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -@@ -2046,7 +2046,7 @@ lp_build_layer_coord(struct lp_build_sample_context *bld, - LLVMValueRef num_layers; - struct lp_build_context *int_coord_bld = &bld->int_coord_bld; - -- num_layers = bld->dynamic_state->depth(bld->gallivm, -+ num_layers = bld->dynamic_state->depth(bld->gallivm, bld->context_type, - bld->context_ptr, texture_unit, NULL); - - if (out_of_bounds) { -@@ -2611,6 +2611,7 @@ lp_build_sample_common(struct lp_build_sample_context *bld, - - if (aniso) - max_aniso = bld->dynamic_state->max_aniso(bld->gallivm, -+ bld->context_type, - bld->context_ptr, - sampler_index); - -@@ -2625,9 +2626,11 @@ lp_build_sample_common(struct lp_build_sample_context *bld, - if (is_lodq) { - LLVMValueRef last_level; - last_level = bld->dynamic_state->last_level(bld->gallivm, -+ bld->context_type, - bld->context_ptr, - texture_index, NULL); - first_level = bld->dynamic_state->first_level(bld->gallivm, -+ bld->context_type, - bld->context_ptr, - texture_index, NULL); - last_level = lp_build_sub(&bld->int_bld, last_level, first_level); -@@ -2674,7 +2677,9 @@ lp_build_sample_common(struct lp_build_sample_context *bld, - unreachable("Bad mip_filter value in lp_build_sample_soa()"); - case PIPE_TEX_MIPFILTER_NONE: - /* always use mip level 0 */ -- first_level = bld->dynamic_state->first_level(bld->gallivm, bld->context_ptr, -+ first_level = bld->dynamic_state->first_level(bld->gallivm, -+ bld->context_type, -+ bld->context_ptr, - texture_index, NULL); - first_level = lp_build_broadcast_scalar(&bld->leveli_bld, first_level); - *ilevel0 = first_level; -@@ -2702,6 +2707,7 @@ lp_build_clamp_border_color(struct lp_build_sample_context *bld, - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef border_color_ptr = - bld->dynamic_state->border_color(gallivm, -+ bld->context_type, - bld->context_ptr, sampler_unit); - LLVMValueRef border_color; - const struct util_format_description *format_desc = bld->format_desc; -@@ -3128,6 +3134,7 @@ lp_build_fetch_texel(struct lp_build_sample_context *bld, - assert(bld->num_mips == 1); - if (bld->static_texture_state->target != PIPE_BUFFER) { - ilevel = bld->dynamic_state->first_level(bld->gallivm, -+ bld->context_type, - bld->context_ptr, texture_unit, NULL); - } - else { -@@ -3197,6 +3204,7 @@ lp_build_fetch_texel(struct lp_build_sample_context *bld, - if (bld->fetch_ms) { - LLVMValueRef num_samples; - num_samples = bld->dynamic_state->num_samples(bld->gallivm, -+ bld->context_type, - bld->context_ptr, texture_unit, NULL); - out1 = lp_build_cmp(int_coord_bld, PIPE_FUNC_LESS, ms_index, int_coord_bld->zero); - out_of_bounds = lp_build_or(int_coord_bld, out_of_bounds, out1); -@@ -3295,7 +3303,9 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - unsigned sample_key, - unsigned texture_index, - unsigned sampler_index, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, -+ LLVMTypeRef thread_data_type, - LLVMValueRef thread_data_ptr, - const LLVMValueRef *coords, - const LLVMValueRef *offsets, -@@ -3376,6 +3386,7 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - /* Setup our build context */ - memset(&bld, 0, sizeof bld); - bld.gallivm = gallivm; -+ bld.context_type = context_type; - bld.context_ptr = context_ptr; - bld.aniso_filter_table = aniso_filter_table; - bld.static_sampler_state = &derived_sampler_state; -@@ -3559,22 +3570,23 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - lp_build_context_init(&bld.lodi_bld, gallivm, bld.lodi_type); - - /* Get the dynamic state */ -- LLVMValueRef tex_width = dynamic_state->width(gallivm, -+ LLVMValueRef tex_width = dynamic_state->width(gallivm, context_type, - context_ptr, texture_index, - NULL); -- bld.row_stride_array = dynamic_state->row_stride(gallivm, -+ bld.row_stride_array = dynamic_state->row_stride(gallivm, context_type, - context_ptr, texture_index, NULL); -- bld.img_stride_array = dynamic_state->img_stride(gallivm, -+ bld.img_stride_array = dynamic_state->img_stride(gallivm, context_type, - context_ptr, texture_index, NULL); -- bld.base_ptr = dynamic_state->base_ptr(gallivm, -+ bld.base_ptr = dynamic_state->base_ptr(gallivm, context_type, - context_ptr, texture_index, NULL); -- bld.mip_offsets = dynamic_state->mip_offsets(gallivm, -+ bld.mip_offsets = dynamic_state->mip_offsets(gallivm, context_type, - context_ptr, texture_index, NULL); - - if (fetch_ms) { - bld.sample_stride = - lp_build_broadcast_scalar(&bld.int_coord_bld, - dynamic_state->sample_stride(gallivm, -+ context_type, - context_ptr, - texture_index, - NULL)); -@@ -3583,7 +3595,7 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - /* Note that mip_offsets is an array[level] of offsets to texture images */ - - if (dynamic_state->cache_ptr && thread_data_ptr) { -- bld.cache = dynamic_state->cache_ptr(gallivm, -+ bld.cache = dynamic_state->cache_ptr(gallivm, thread_data_type, - thread_data_ptr, texture_index); - } - -@@ -3620,7 +3632,7 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - LLVMConstInt(i32t, 0, 0), ""); - if (dims >= 2) { - LLVMValueRef tex_height = -- dynamic_state->height(gallivm, -+ dynamic_state->height(gallivm, context_type, - context_ptr, texture_index, NULL); - bld.int_size = LLVMBuildInsertElement(builder, bld.int_size, - tex_height, -@@ -3636,7 +3648,7 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - LLVMConstInt(i32t, 1, 0), ""); - if (dims >= 3) { - LLVMValueRef tex_depth = -- dynamic_state->depth(gallivm, context_ptr, -+ dynamic_state->depth(gallivm, context_type, context_ptr, - texture_index, NULL); - bld.int_size = LLVMBuildInsertElement(builder, bld.int_size, - tex_depth, -@@ -3800,6 +3812,7 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - bld4.no_rho_approx = bld.no_rho_approx; - bld4.no_brilinear = bld.no_brilinear; - bld4.gallivm = bld.gallivm; -+ bld4.context_type = bld.context_type; - bld4.context_ptr = bld.context_ptr; - bld4.aniso_filter_table = aniso_filter_table; - bld4.static_texture_state = bld.static_texture_state; -@@ -4001,6 +4014,8 @@ lp_build_sample_gen_func(struct gallivm_state *gallivm, - const struct lp_static_sampler_state *static_sampler_state, - struct lp_sampler_dynamic_state *dynamic_state, - struct lp_type type, -+ LLVMTypeRef context_type, -+ LLVMTypeRef thread_data_type, - unsigned texture_index, - unsigned sampler_index, - LLVMValueRef function, -@@ -4106,7 +4121,9 @@ lp_build_sample_gen_func(struct gallivm_state *gallivm, - sample_key, - texture_index, - sampler_index, -+ context_type, - context_ptr, -+ thread_data_type, - thread_data_ptr, - coords, - offsets, -@@ -4254,6 +4271,8 @@ lp_build_sample_soa_func(struct gallivm_state *gallivm, - static_sampler_state, - dynamic_state, - params->type, -+ params->context_type, -+ params->thread_data_type, - texture_index, - sampler_index, - function, -@@ -4376,7 +4395,9 @@ lp_build_sample_soa(const struct lp_static_texture_state *static_texture_state, - params->sample_key, - params->texture_index, - params->sampler_index, -+ params->context_type, - params->context_ptr, -+ params->thread_data_type, - params->thread_data_ptr, - params->coords, - params->offsets, -@@ -4397,6 +4418,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - { - LLVMValueRef first_level = NULL; - const unsigned num_lods = 1; -+ LLVMTypeRef context_type = params->context_type; - LLVMValueRef context_ptr = params->context_ptr; - const unsigned texture_unit = params->texture_unit; - const enum pipe_texture_target target = params->target; -@@ -4459,6 +4481,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - lp_build_broadcast(gallivm, - lp_build_vec_type(gallivm, params->int_type), - dynamic_state->num_samples(gallivm, -+ context_type, - context_ptr, - texture_unit, - texture_unit_offset)); -@@ -4471,7 +4494,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - /* FIXME: this needs to honor per-element lod */ - lod = LLVMBuildExtractElement(gallivm->builder, params->explicit_lod, - lp_build_const_int32(gallivm, 0), ""); -- first_level = dynamic_state->first_level(gallivm, -+ first_level = dynamic_state->first_level(gallivm, context_type, - context_ptr, texture_unit, - texture_unit_offset); - level = LLVMBuildAdd(gallivm->builder, lod, first_level, "level"); -@@ -4497,6 +4520,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - res_bh = bh = 1; - size = LLVMBuildInsertElement(gallivm->builder, size, - dynamic_state->width(gallivm, -+ context_type, - context_ptr, - texture_unit, - texture_unit_offset), -@@ -4512,7 +4536,9 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - lp_build_const_int32(gallivm, 0), ""); - if (dims >= 2) { - size = LLVMBuildInsertElement(gallivm->builder, size, -- dynamic_state->height(gallivm, context_ptr, -+ dynamic_state->height(gallivm, -+ context_type, -+ context_ptr, - texture_unit, - texture_unit_offset), - lp_build_const_int32(gallivm, 1), ""); -@@ -4530,6 +4556,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - if (dims >= 3) { - size = LLVMBuildInsertElement(gallivm->builder, size, - dynamic_state->depth(gallivm, -+ context_type, - context_ptr, - texture_unit, - texture_unit_offset), -@@ -4550,7 +4577,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - tex_blocksize_log2, view_blocksize); - - if (has_array) { -- LLVMValueRef layers = dynamic_state->depth(gallivm, -+ LLVMValueRef layers = dynamic_state->depth(gallivm, context_type, - context_ptr, texture_unit, - texture_unit_offset); - if (target == PIPE_TEXTURE_CUBE_ARRAY) { -@@ -4577,7 +4604,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - - /* everything is scalar for now */ - lp_build_context_init(&leveli_bld, gallivm, lp_type_int_vec(32, 32)); -- last_level = dynamic_state->last_level(gallivm, -+ last_level = dynamic_state->last_level(gallivm, context_type, - context_ptr, texture_unit, - texture_unit_offset); - -@@ -4624,7 +4651,7 @@ lp_build_size_query_soa(struct gallivm_state *gallivm, - else { - LLVMValueRef last_level; - -- last_level = dynamic_state->last_level(gallivm, -+ last_level = dynamic_state->last_level(gallivm, context_type, - context_ptr, texture_unit, - texture_unit_offset); - num_levels = lp_build_sub(&bld_int_scalar, last_level, first_level); -@@ -4784,31 +4811,39 @@ lp_build_img_op_soa(const struct lp_static_texture_state *static_texture_state, - } - - LLVMValueRef row_stride = dynamic_state->row_stride(gallivm, -+ params->context_type, - params->context_ptr, - params->image_index, NULL); - LLVMValueRef img_stride = dynamic_state->img_stride(gallivm, -+ params->context_type, - params->context_ptr, - params->image_index, NULL); - LLVMValueRef base_ptr = dynamic_state->base_ptr(gallivm, -+ params->context_type, - params->context_ptr, - params->image_index, NULL); - LLVMValueRef width = dynamic_state->width(gallivm, -- params->context_ptr, -+ params->context_type, -+ params->context_ptr, - params->image_index, NULL); - LLVMValueRef height = dynamic_state->height(gallivm, -+ params->context_type, - params->context_ptr, - params->image_index, NULL); - LLVMValueRef depth = dynamic_state->depth(gallivm, -- params->context_ptr, -+ params->context_type, -+ params->context_ptr, - params->image_index, NULL); - LLVMValueRef num_samples = NULL, sample_stride = NULL; - - LLVMValueRef ms_index = params->ms_index; - if (ms_index) { - num_samples = dynamic_state->num_samples(gallivm, -+ params->context_type, - params->context_ptr, - params->image_index, NULL); - sample_stride = dynamic_state->sample_stride(gallivm, -+ params->context_type, - params->context_ptr, - params->image_index, NULL); - } -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h -index 31067e0165491..d335a92388fe4 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.h -@@ -267,7 +267,9 @@ struct lp_build_tgsi_params { - LLVMValueRef const_sizes_ptr; - const struct lp_bld_tgsi_system_values *system_values; - const LLVMValueRef (*inputs)[4]; -+ LLVMTypeRef context_type; - LLVMValueRef context_ptr; -+ LLVMTypeRef thread_data_type; - LLVMValueRef thread_data_ptr; - const struct lp_build_sampler_soa *sampler; - const struct tgsi_shader_info *info; -@@ -521,7 +523,9 @@ struct lp_build_tgsi_soa_context - LLVMValueRef consts_sizes[LP_MAX_TGSI_CONST_BUFFERS]; - const LLVMValueRef (*inputs)[TGSI_NUM_CHANNELS]; - LLVMValueRef (*outputs)[TGSI_NUM_CHANNELS]; -+ LLVMTypeRef context_type; - LLVMValueRef context_ptr; -+ LLVMTypeRef thread_data_type; - LLVMValueRef thread_data_ptr; - - LLVMValueRef ssbo_ptr; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c -index f33de194484a0..d98d20e11e5d3 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c -@@ -2273,7 +2273,9 @@ emit_tex( struct lp_build_tgsi_soa_context *bld, - params.sample_key = sample_key; - params.texture_index = unit; - params.sampler_index = unit; -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; -+ params.thread_data_type = bld->thread_data_type; - params.thread_data_ptr = bld->thread_data_ptr; - params.coords = coords; - params.offsets = offsets; -@@ -2442,7 +2444,9 @@ emit_sample(struct lp_build_tgsi_soa_context *bld, - params.sample_key = sample_key; - params.texture_index = texture_unit; - params.sampler_index = sampler_unit; -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; -+ params.thread_data_type = bld->thread_data_type; - params.thread_data_ptr = bld->thread_data_ptr; - params.coords = coords; - params.offsets = offsets; -@@ -2580,7 +2584,9 @@ emit_fetch_texels( struct lp_build_tgsi_soa_context *bld, - * can exceed this. - */ - params.sampler_index = 0; -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; -+ params.thread_data_type = bld->thread_data_type; - params.thread_data_ptr = bld->thread_data_ptr; - params.coords = coords; - params.offsets = offsets; -@@ -2665,6 +2671,7 @@ emit_size_query( struct lp_build_tgsi_soa_context *bld, - params.texture_unit = unit; - params.texture_unit_offset = NULL; - params.target = pipe_target; -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; - params.is_sviewinfo = TRUE; - params.lod_property = lod_property; -@@ -3453,7 +3460,9 @@ img_load_emit( - memset(¶ms, 0, sizeof(params)); - - params.type = bld->bld_base.base.type; -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; -+ params.thread_data_type = bld->thread_data_type; - params.thread_data_ptr = bld->thread_data_ptr; - params.coords = coords; - params.outdata = emit_data->output; -@@ -3601,7 +3610,9 @@ img_store_emit( - memset(¶ms, 0, sizeof(params)); - - params.type = bld->bld_base.base.type; -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; -+ params.thread_data_type = bld->thread_data_type; - params.thread_data_ptr = bld->thread_data_ptr; - params.coords = coords; - params.outdata = NULL; -@@ -3710,6 +3721,7 @@ resq_emit( - params.int_type = bld->bld_base.int_bld.type; - params.texture_unit = buf; - params.target = tgsi_to_pipe_tex_target(target); -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; - params.sizes_out = emit_data->output; - -@@ -3751,7 +3763,9 @@ img_atomic_emit( - memset(¶ms, 0, sizeof(params)); - - params.type = bld->bld_base.base.type; -+ params.context_type = bld->context_type; - params.context_ptr = bld->context_ptr; -+ params.thread_data_type = bld->thread_data_type; - params.thread_data_ptr = bld->thread_data_ptr; - params.exec_mask = mask_vec(bld_base); - params.image_index = emit_data->inst->Src[0].Register.Index; -@@ -4483,7 +4497,9 @@ lp_build_tgsi_soa(struct gallivm_state *gallivm, - bld.sampler = params->sampler; - bld.bld_base.info = params->info; - bld.indirect_files = params->info->indirect_files; -+ bld.context_type = params->context_type; - bld.context_ptr = params->context_ptr; -+ bld.thread_data_type = params->thread_data_type; - bld.thread_data_ptr = params->thread_data_ptr; - bld.image = params->image; - bld.shared_ptr = params->shared_ptr; -diff --git a/src/gallium/drivers/llvmpipe/lp_state_cs.c b/src/gallium/drivers/llvmpipe/lp_state_cs.c -index 86f7b65585ae5..22ac92e1fb7da 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_cs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_cs.c -@@ -447,6 +447,7 @@ generate_compute(struct llvmpipe_context *lp, - params.mask = &mask; - params.consts_ptr = consts_ptr; - params.system_values = &system_values; -+ params.context_type = variant->jit_cs_context_type; - params.context_ptr = context_ptr; - params.sampler = sampler; - params.info = &shader->info.base; -diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c -index d1dbd9d787dc1..e10e10836faa3 100644 ---- a/src/gallium/drivers/llvmpipe/lp_state_fs.c -+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c -@@ -1052,7 +1052,9 @@ generate_fs_loop(struct gallivm_state *gallivm, - params.consts_ptr = consts_ptr; - params.system_values = &system_values; - params.inputs = interp->inputs; -+ params.context_type = context_type; - params.context_ptr = context_ptr; -+ params.thread_data_type = thread_data_type; - params.thread_data_ptr = thread_data_ptr; - params.sampler = sampler; - params.info = &shader->info.base; -diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.c b/src/gallium/drivers/llvmpipe/lp_tex_sample.c -index 0812bc72cd098..8700eda253332 100644 ---- a/src/gallium/drivers/llvmpipe/lp_tex_sample.c -+++ b/src/gallium/drivers/llvmpipe/lp_tex_sample.c -@@ -110,6 +110,7 @@ struct lp_llvm_image_soa - */ - static LLVMValueRef - lp_llvm_texture_member(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned texture_unit, - LLVMValueRef texture_unit_offset, -@@ -144,7 +145,7 @@ lp_llvm_texture_member(struct gallivm_state *gallivm, - indices[3] = lp_build_const_int32(gallivm, member_index); - - LLVMValueRef ptr = -- LLVMBuildGEP(builder, context_ptr, indices, ARRAY_SIZE(indices), ""); -+ LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - - LLVMValueRef res = emit_load ? LLVMBuildLoad(builder, ptr, "") : ptr; - -@@ -166,11 +167,12 @@ lp_llvm_texture_member(struct gallivm_state *gallivm, - #define LP_LLVM_TEXTURE_MEMBER(_name, _index, _emit_load) \ - static LLVMValueRef \ - lp_llvm_texture_##_name(struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ - LLVMValueRef context_ptr, \ - unsigned texture_unit, \ - LLVMValueRef texture_unit_offset) \ - { \ -- return lp_llvm_texture_member(gallivm, context_ptr, \ -+ return lp_llvm_texture_member(gallivm, context_type, context_ptr, \ - texture_unit, texture_unit_offset, \ - _index, #_name, _emit_load ); \ - } -@@ -199,6 +201,7 @@ LP_LLVM_TEXTURE_MEMBER(sample_stride, LP_JIT_TEXTURE_SAMPLE_STRIDE, TRUE) - */ - static LLVMValueRef - lp_llvm_sampler_member(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned sampler_unit, - unsigned member_index, -@@ -220,7 +223,7 @@ lp_llvm_sampler_member(struct gallivm_state *gallivm, - indices[3] = lp_build_const_int32(gallivm, member_index); - - LLVMValueRef ptr = -- LLVMBuildGEP(builder, context_ptr, indices, ARRAY_SIZE(indices), ""); -+ LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - - LLVMValueRef res = emit_load ? LLVMBuildLoad(builder, ptr, "") : ptr; - -@@ -233,10 +236,11 @@ lp_llvm_sampler_member(struct gallivm_state *gallivm, - #define LP_LLVM_SAMPLER_MEMBER(_name, _index, _emit_load) \ - static LLVMValueRef \ - lp_llvm_sampler_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ - LLVMValueRef context_ptr, \ - unsigned sampler_unit) \ - { \ -- return lp_llvm_sampler_member(gallivm, context_ptr, \ -+ return lp_llvm_sampler_member(gallivm, context_type, context_ptr, \ - sampler_unit, _index, #_name, _emit_load ); \ - } - -@@ -258,6 +262,7 @@ LP_LLVM_SAMPLER_MEMBER(max_aniso, LP_JIT_SAMPLER_MAX_ANISO, TRUE) - */ - static LLVMValueRef - lp_llvm_image_member(struct gallivm_state *gallivm, -+ LLVMTypeRef context_type, - LLVMValueRef context_ptr, - unsigned image_unit, - LLVMValueRef image_unit_offset, -@@ -285,7 +290,7 @@ lp_llvm_image_member(struct gallivm_state *gallivm, - indices[3] = lp_build_const_int32(gallivm, member_index); - - LLVMValueRef ptr = -- LLVMBuildGEP(builder, context_ptr, indices, ARRAY_SIZE(indices), ""); -+ LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - - LLVMValueRef res = emit_load ? LLVMBuildLoad(builder, ptr, "") : ptr; - -@@ -307,10 +312,11 @@ lp_llvm_image_member(struct gallivm_state *gallivm, - #define LP_LLVM_IMAGE_MEMBER(_name, _index, _emit_load) \ - static LLVMValueRef \ - lp_llvm_image_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ - LLVMValueRef context_ptr, \ - unsigned image_unit, LLVMValueRef image_unit_offset) \ - { \ -- return lp_llvm_image_member(gallivm, context_ptr, \ -+ return lp_llvm_image_member(gallivm, context_type, context_ptr, \ - image_unit, image_unit_offset, \ - _index, #_name, _emit_load ); \ - } -@@ -329,13 +335,14 @@ LP_LLVM_IMAGE_MEMBER(sample_stride, LP_JIT_IMAGE_SAMPLE_STRIDE, TRUE) - #if LP_USE_TEXTURE_CACHE - static LLVMValueRef - lp_llvm_texture_cache_ptr(struct gallivm_state *gallivm, -+ LLVMTypeRef thread_data_type, - LLVMValueRef thread_data_ptr, - unsigned unit) - { - /* We use the same cache for all units */ - (void)unit; - -- return lp_jit_thread_data_cache(gallivm, LLVMGetElementType(LLVMTypeOf(thread_data_ptr)), thread_data_ptr); -+ return lp_jit_thread_data_cache(gallivm, thread_data_type, thread_data_ptr); - } - #endif - --- -GitLab - - -From 02c675b1960a11f02b91018c519d9da6b371615b Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 14:41:20 +1000 -Subject: [PATCH 3/6] draw/llvmpipe: move texture/sampler/image member load to - opaque. - -This removes the non-opaque paths from the draw/lp sampling code. - -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947> ---- - src/gallium/auxiliary/draw/draw_llvm_sample.c | 24 ++++++++++++------- - src/gallium/drivers/llvmpipe/lp_tex_sample.c | 24 ++++++++++++++++--- - 2 files changed, 36 insertions(+), 12 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm_sample.c b/src/gallium/auxiliary/draw/draw_llvm_sample.c -index 5a48fb17caf2b..cde003afcebe6 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm_sample.c -+++ b/src/gallium/auxiliary/draw/draw_llvm_sample.c -@@ -131,9 +131,11 @@ draw_llvm_texture_member(struct gallivm_state *gallivm, - - ptr = LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - -- if (emit_load) -- res = LLVMBuildLoad(builder, ptr, ""); -- else -+ if (emit_load) { -+ LLVMTypeRef tex_type = LLVMStructGetTypeAtIndex(context_type, DRAW_JIT_CTX_TEXTURES); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(tex_type), member_index); -+ res = LLVMBuildLoad2(builder, res_type, ptr, ""); -+ } else - res = ptr; - - lp_build_name(res, "context.texture%u.%s", texture_unit, member_name); -@@ -177,9 +179,11 @@ draw_llvm_sampler_member(struct gallivm_state *gallivm, - - ptr = LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - -- if (emit_load) -- res = LLVMBuildLoad(builder, ptr, ""); -- else -+ if (emit_load) { -+ LLVMTypeRef samp_type = LLVMStructGetTypeAtIndex(context_type, DRAW_JIT_CTX_SAMPLERS); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(samp_type), member_index); -+ res = LLVMBuildLoad2(builder, res_type, ptr, ""); -+ } else - res = ptr; - - lp_build_name(res, "context.sampler%u.%s", sampler_unit, member_name); -@@ -228,9 +232,11 @@ draw_llvm_image_member(struct gallivm_state *gallivm, - - ptr = LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - -- if (emit_load) -- res = LLVMBuildLoad(builder, ptr, ""); -- else -+ if (emit_load) { -+ LLVMTypeRef img_type = LLVMStructGetTypeAtIndex(context_type, DRAW_JIT_CTX_IMAGES); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(img_type), member_index); -+ res = LLVMBuildLoad2(builder, res_type, ptr, ""); -+ } else - res = ptr; - - lp_build_name(res, "context.image%u.%s", image_unit, member_name); -diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.c b/src/gallium/drivers/llvmpipe/lp_tex_sample.c -index 8700eda253332..e62ec9f6d8915 100644 ---- a/src/gallium/drivers/llvmpipe/lp_tex_sample.c -+++ b/src/gallium/drivers/llvmpipe/lp_tex_sample.c -@@ -147,7 +147,13 @@ lp_llvm_texture_member(struct gallivm_state *gallivm, - LLVMValueRef ptr = - LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - -- LLVMValueRef res = emit_load ? LLVMBuildLoad(builder, ptr, "") : ptr; -+ LLVMValueRef res; -+ if (emit_load) { -+ LLVMTypeRef tex_type = LLVMStructGetTypeAtIndex(context_type, LP_JIT_CTX_TEXTURES); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(tex_type), member_index); -+ res = LLVMBuildLoad2(builder, res_type, ptr, ""); -+ } else -+ res = ptr; - - lp_build_name(res, "context.texture%u.%s", texture_unit, member_name); - -@@ -225,7 +231,13 @@ lp_llvm_sampler_member(struct gallivm_state *gallivm, - LLVMValueRef ptr = - LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - -- LLVMValueRef res = emit_load ? LLVMBuildLoad(builder, ptr, "") : ptr; -+ LLVMValueRef res; -+ if (emit_load) { -+ LLVMTypeRef samp_type = LLVMStructGetTypeAtIndex(context_type, LP_JIT_CTX_SAMPLERS); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(samp_type), member_index); -+ res = LLVMBuildLoad2(builder, res_type, ptr, ""); -+ } else -+ res = ptr; - - lp_build_name(res, "context.sampler%u.%s", sampler_unit, member_name); - -@@ -292,7 +304,13 @@ lp_llvm_image_member(struct gallivm_state *gallivm, - LLVMValueRef ptr = - LLVMBuildGEP2(builder, context_type, context_ptr, indices, ARRAY_SIZE(indices), ""); - -- LLVMValueRef res = emit_load ? LLVMBuildLoad(builder, ptr, "") : ptr; -+ LLVMValueRef res; -+ if (emit_load) { -+ LLVMTypeRef img_type = LLVMStructGetTypeAtIndex(context_type, LP_JIT_CTX_IMAGES); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(img_type), member_index); -+ res = LLVMBuildLoad2(builder, res_type, ptr, ""); -+ } else -+ res = ptr; - - lp_build_name(res, "context.image%u.%s", image_unit, member_name); - --- -GitLab - - -From 1a9889ae12757e9bdc019cbd109783a3e93121b7 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 14:59:54 +1000 -Subject: [PATCH 4/6] draw/llvmpipe: add way to return pointer types to generic - code. - -Some of the generic code tries to load from things it has no -types for, mip offsets, row and image strides. - -Fix the interfaces to allow returning types for these. - -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947> ---- - src/gallium/auxiliary/draw/draw_llvm_sample.c | 49 ++++++++++++++++--- - src/gallium/auxiliary/gallivm/lp_bld_sample.h | 12 +++-- - .../auxiliary/gallivm/lp_bld_sample_soa.c | 16 ++++-- - src/gallium/drivers/llvmpipe/lp_tex_sample.c | 49 ++++++++++++++++--- - 4 files changed, 104 insertions(+), 22 deletions(-) - -diff --git a/src/gallium/auxiliary/draw/draw_llvm_sample.c b/src/gallium/auxiliary/draw/draw_llvm_sample.c -index cde003afcebe6..19e9937d57ac6 100644 ---- a/src/gallium/auxiliary/draw/draw_llvm_sample.c -+++ b/src/gallium/auxiliary/draw/draw_llvm_sample.c -@@ -106,7 +106,8 @@ draw_llvm_texture_member(struct gallivm_state *gallivm, - LLVMValueRef texture_unit_offset, - unsigned member_index, - const char *member_name, -- boolean emit_load) -+ boolean emit_load, -+ LLVMTypeRef *out_type) - { - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef indices[4]; -@@ -138,6 +139,12 @@ draw_llvm_texture_member(struct gallivm_state *gallivm, - } else - res = ptr; - -+ if (out_type) { -+ LLVMTypeRef tex_type = LLVMStructGetTypeAtIndex(context_type, DRAW_JIT_CTX_TEXTURES); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(tex_type), member_index); -+ *out_type = res_type; -+ } -+ - lp_build_name(res, "context.texture%u.%s", texture_unit, member_name); - - return res; -@@ -263,7 +270,21 @@ draw_llvm_image_member(struct gallivm_state *gallivm, - { \ - return draw_llvm_texture_member(gallivm, context_type, context_ptr, \ - texture_unit, texture_unit_offset, \ -- _index, #_name, _emit_load ); \ -+ _index, #_name, _emit_load, NULL ); \ -+ } -+ -+#define DRAW_LLVM_TEXTURE_MEMBER_OUTTYPE(_name, _index, _emit_load) \ -+ static LLVMValueRef \ -+ draw_llvm_texture_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ -+ LLVMValueRef context_ptr, \ -+ unsigned texture_unit, \ -+ LLVMValueRef texture_unit_offset, \ -+ LLVMTypeRef *out_type) \ -+ { \ -+ return draw_llvm_texture_member(gallivm, context_type, context_ptr, \ -+ texture_unit, texture_unit_offset, \ -+ _index, #_name, _emit_load, out_type); \ - } - - -@@ -273,9 +294,9 @@ DRAW_LLVM_TEXTURE_MEMBER(depth, DRAW_JIT_TEXTURE_DEPTH, TRUE) - DRAW_LLVM_TEXTURE_MEMBER(first_level,DRAW_JIT_TEXTURE_FIRST_LEVEL, TRUE) - DRAW_LLVM_TEXTURE_MEMBER(last_level, DRAW_JIT_TEXTURE_LAST_LEVEL, TRUE) - DRAW_LLVM_TEXTURE_MEMBER(base_ptr, DRAW_JIT_TEXTURE_BASE, TRUE) --DRAW_LLVM_TEXTURE_MEMBER(row_stride, DRAW_JIT_TEXTURE_ROW_STRIDE, FALSE) --DRAW_LLVM_TEXTURE_MEMBER(img_stride, DRAW_JIT_TEXTURE_IMG_STRIDE, FALSE) --DRAW_LLVM_TEXTURE_MEMBER(mip_offsets, DRAW_JIT_TEXTURE_MIP_OFFSETS, FALSE) -+DRAW_LLVM_TEXTURE_MEMBER_OUTTYPE(row_stride, DRAW_JIT_TEXTURE_ROW_STRIDE, FALSE) -+DRAW_LLVM_TEXTURE_MEMBER_OUTTYPE(img_stride, DRAW_JIT_TEXTURE_IMG_STRIDE, FALSE) -+DRAW_LLVM_TEXTURE_MEMBER_OUTTYPE(mip_offsets, DRAW_JIT_TEXTURE_MIP_OFFSETS, FALSE) - DRAW_LLVM_TEXTURE_MEMBER(num_samples, DRAW_JIT_TEXTURE_NUM_SAMPLES, TRUE) - DRAW_LLVM_TEXTURE_MEMBER(sample_stride, DRAW_JIT_TEXTURE_SAMPLE_STRIDE, TRUE) - -@@ -309,13 +330,27 @@ DRAW_LLVM_SAMPLER_MEMBER(max_aniso, DRAW_JIT_SAMPLER_MAX_ANISO, TRUE) - _index, #_name, _emit_load ); \ - } - -+#define DRAW_LLVM_IMAGE_MEMBER_OUTTYPE(_name, _index, _emit_load) \ -+ static LLVMValueRef \ -+ draw_llvm_image_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ -+ LLVMValueRef context_ptr, \ -+ unsigned image_unit, LLVMValueRef image_unit_offset, \ -+ LLVMTypeRef *out_type) \ -+ { \ -+ assert(!out_type); \ -+ return draw_llvm_image_member(gallivm, context_type, context_ptr, \ -+ image_unit, image_unit_offset, \ -+ _index, #_name, _emit_load); \ -+ } -+ - - DRAW_LLVM_IMAGE_MEMBER(width, DRAW_JIT_IMAGE_WIDTH, TRUE) - DRAW_LLVM_IMAGE_MEMBER(height, DRAW_JIT_IMAGE_HEIGHT, TRUE) - DRAW_LLVM_IMAGE_MEMBER(depth, DRAW_JIT_IMAGE_DEPTH, TRUE) - DRAW_LLVM_IMAGE_MEMBER(base_ptr, DRAW_JIT_IMAGE_BASE, TRUE) --DRAW_LLVM_IMAGE_MEMBER(row_stride, DRAW_JIT_IMAGE_ROW_STRIDE, TRUE) --DRAW_LLVM_IMAGE_MEMBER(img_stride, DRAW_JIT_IMAGE_IMG_STRIDE, TRUE) -+DRAW_LLVM_IMAGE_MEMBER_OUTTYPE(row_stride, DRAW_JIT_IMAGE_ROW_STRIDE, TRUE) -+DRAW_LLVM_IMAGE_MEMBER_OUTTYPE(img_stride, DRAW_JIT_IMAGE_IMG_STRIDE, TRUE) - DRAW_LLVM_IMAGE_MEMBER(num_samples, DRAW_JIT_IMAGE_NUM_SAMPLES, TRUE) - DRAW_LLVM_IMAGE_MEMBER(sample_stride, DRAW_JIT_IMAGE_SAMPLE_STRIDE, TRUE) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.h b/src/gallium/auxiliary/gallivm/lp_bld_sample.h -index ecebc8fc631fe..caf0ab0907d80 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.h -@@ -272,14 +272,16 @@ struct lp_sampler_dynamic_state - (*row_stride)(struct gallivm_state *gallivm, - LLVMTypeRef context_type, - LLVMValueRef context_ptr, -- unsigned texture_unit, LLVMValueRef texture_unit_offset); -+ unsigned texture_unit, LLVMValueRef texture_unit_offset, -+ LLVMTypeRef *out_type); - - /** Obtain stride in bytes between image slices (returns int32) */ - LLVMValueRef - (*img_stride)(struct gallivm_state *gallivm, - LLVMTypeRef context_type, - LLVMValueRef context_ptr, -- unsigned texture_unit, LLVMValueRef texture_unit_offset); -+ unsigned texture_unit, LLVMValueRef texture_unit_offset,\ -+ LLVMTypeRef *out_type); - - /** Obtain pointer to base of texture */ - LLVMValueRef -@@ -293,7 +295,8 @@ struct lp_sampler_dynamic_state - (*mip_offsets)(struct gallivm_state *gallivm, - LLVMTypeRef context_type, - LLVMValueRef context_ptr, -- unsigned texture_unit, LLVMValueRef texture_unit_offset); -+ unsigned texture_unit, LLVMValueRef texture_unit_offset, -+ LLVMTypeRef *out_type); - - /** Obtain number of samples (returns int32) */ - LLVMValueRef -@@ -447,9 +450,12 @@ struct lp_build_sample_context - struct lp_build_context lodi_bld; - - /* Common dynamic state values */ -+ LLVMTypeRef row_stride_type; - LLVMValueRef row_stride_array; -+ LLVMTypeRef img_stride_type; - LLVMValueRef img_stride_array; - LLVMValueRef base_ptr; -+ LLVMTypeRef mip_offsets_type; - LLVMValueRef mip_offsets; - LLVMValueRef cache; - LLVMValueRef sample_stride; -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -index c24833dafe123..2e90d09ae617f 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample_soa.c -@@ -3574,13 +3574,16 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - context_ptr, texture_index, - NULL); - bld.row_stride_array = dynamic_state->row_stride(gallivm, context_type, -- context_ptr, texture_index, NULL); -+ context_ptr, texture_index, NULL, -+ &bld.row_stride_type); - bld.img_stride_array = dynamic_state->img_stride(gallivm, context_type, -- context_ptr, texture_index, NULL); -+ context_ptr, texture_index, NULL, -+ &bld.img_stride_type); - bld.base_ptr = dynamic_state->base_ptr(gallivm, context_type, - context_ptr, texture_index, NULL); - bld.mip_offsets = dynamic_state->mip_offsets(gallivm, context_type, -- context_ptr, texture_index, NULL); -+ context_ptr, texture_index, NULL, -+ &bld.mip_offsets_type); - - if (fetch_ms) { - bld.sample_stride = -@@ -3820,9 +3823,12 @@ lp_build_sample_soa_code(struct gallivm_state *gallivm, - bld4.dynamic_state = bld.dynamic_state; - bld4.format_desc = bld.format_desc; - bld4.dims = bld.dims; -+ bld4.row_stride_type = bld.row_stride_type; - bld4.row_stride_array = bld.row_stride_array; -+ bld4.img_stride_type = bld.img_stride_type; - bld4.img_stride_array = bld.img_stride_array; - bld4.base_ptr = bld.base_ptr; -+ bld4.mip_offsets_type = bld.mip_offsets_type; - bld4.mip_offsets = bld.mip_offsets; - bld4.int_size = bld.int_size; - bld4.int_tex_blocksize = bld.int_tex_blocksize; -@@ -4813,11 +4819,11 @@ lp_build_img_op_soa(const struct lp_static_texture_state *static_texture_state, - LLVMValueRef row_stride = dynamic_state->row_stride(gallivm, - params->context_type, - params->context_ptr, -- params->image_index, NULL); -+ params->image_index, NULL, NULL); - LLVMValueRef img_stride = dynamic_state->img_stride(gallivm, - params->context_type, - params->context_ptr, -- params->image_index, NULL); -+ params->image_index, NULL, NULL); - LLVMValueRef base_ptr = dynamic_state->base_ptr(gallivm, - params->context_type, - params->context_ptr, -diff --git a/src/gallium/drivers/llvmpipe/lp_tex_sample.c b/src/gallium/drivers/llvmpipe/lp_tex_sample.c -index e62ec9f6d8915..ddaea90aecda2 100644 ---- a/src/gallium/drivers/llvmpipe/lp_tex_sample.c -+++ b/src/gallium/drivers/llvmpipe/lp_tex_sample.c -@@ -116,7 +116,8 @@ lp_llvm_texture_member(struct gallivm_state *gallivm, - LLVMValueRef texture_unit_offset, - unsigned member_index, - const char *member_name, -- boolean emit_load) -+ boolean emit_load, -+ LLVMTypeRef *out_type) - { - LLVMBuilderRef builder = gallivm->builder; - LLVMValueRef indices[4]; -@@ -155,6 +156,12 @@ lp_llvm_texture_member(struct gallivm_state *gallivm, - } else - res = ptr; - -+ if (out_type) { -+ LLVMTypeRef tex_type = LLVMStructGetTypeAtIndex(context_type, LP_JIT_CTX_TEXTURES); -+ LLVMTypeRef res_type = LLVMStructGetTypeAtIndex(LLVMGetElementType(tex_type), member_index); -+ *out_type = res_type; -+ } -+ - lp_build_name(res, "context.texture%u.%s", texture_unit, member_name); - - return res; -@@ -180,7 +187,21 @@ lp_llvm_texture_member(struct gallivm_state *gallivm, - { \ - return lp_llvm_texture_member(gallivm, context_type, context_ptr, \ - texture_unit, texture_unit_offset, \ -- _index, #_name, _emit_load ); \ -+ _index, #_name, _emit_load, NULL ); \ -+ } -+ -+#define LP_LLVM_TEXTURE_MEMBER_OUTTYPE(_name, _index, _emit_load) \ -+ static LLVMValueRef \ -+ lp_llvm_texture_##_name(struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ -+ LLVMValueRef context_ptr, \ -+ unsigned texture_unit, \ -+ LLVMValueRef texture_unit_offset, \ -+ LLVMTypeRef *out_type) \ -+ { \ -+ return lp_llvm_texture_member(gallivm, context_type, context_ptr, \ -+ texture_unit, texture_unit_offset, \ -+ _index, #_name, _emit_load, out_type ); \ - } - - -@@ -190,9 +211,9 @@ LP_LLVM_TEXTURE_MEMBER(depth, LP_JIT_TEXTURE_DEPTH, TRUE) - LP_LLVM_TEXTURE_MEMBER(first_level, LP_JIT_TEXTURE_FIRST_LEVEL, TRUE) - LP_LLVM_TEXTURE_MEMBER(last_level, LP_JIT_TEXTURE_LAST_LEVEL, TRUE) - LP_LLVM_TEXTURE_MEMBER(base_ptr, LP_JIT_TEXTURE_BASE, TRUE) --LP_LLVM_TEXTURE_MEMBER(row_stride, LP_JIT_TEXTURE_ROW_STRIDE, FALSE) --LP_LLVM_TEXTURE_MEMBER(img_stride, LP_JIT_TEXTURE_IMG_STRIDE, FALSE) --LP_LLVM_TEXTURE_MEMBER(mip_offsets, LP_JIT_TEXTURE_MIP_OFFSETS, FALSE) -+LP_LLVM_TEXTURE_MEMBER_OUTTYPE(row_stride, LP_JIT_TEXTURE_ROW_STRIDE, FALSE) -+LP_LLVM_TEXTURE_MEMBER_OUTTYPE(img_stride, LP_JIT_TEXTURE_IMG_STRIDE, FALSE) -+LP_LLVM_TEXTURE_MEMBER_OUTTYPE(mip_offsets, LP_JIT_TEXTURE_MIP_OFFSETS, FALSE) - LP_LLVM_TEXTURE_MEMBER(num_samples, LP_JIT_TEXTURE_NUM_SAMPLES, TRUE) - LP_LLVM_TEXTURE_MEMBER(sample_stride, LP_JIT_TEXTURE_SAMPLE_STRIDE, TRUE) - -@@ -339,13 +360,27 @@ lp_llvm_image_member(struct gallivm_state *gallivm, - _index, #_name, _emit_load ); \ - } - -+#define LP_LLVM_IMAGE_MEMBER_OUTTYPE(_name, _index, _emit_load) \ -+ static LLVMValueRef \ -+ lp_llvm_image_##_name( struct gallivm_state *gallivm, \ -+ LLVMTypeRef context_type, \ -+ LLVMValueRef context_ptr, \ -+ unsigned image_unit, LLVMValueRef image_unit_offset, \ -+ LLVMTypeRef *out_type) \ -+ { \ -+ assert(!out_type); \ -+ return lp_llvm_image_member(gallivm, context_type, context_ptr, \ -+ image_unit, image_unit_offset, \ -+ _index, #_name, _emit_load ); \ -+ } -+ - - LP_LLVM_IMAGE_MEMBER(width, LP_JIT_IMAGE_WIDTH, TRUE) - LP_LLVM_IMAGE_MEMBER(height, LP_JIT_IMAGE_HEIGHT, TRUE) - LP_LLVM_IMAGE_MEMBER(depth, LP_JIT_IMAGE_DEPTH, TRUE) - LP_LLVM_IMAGE_MEMBER(base_ptr, LP_JIT_IMAGE_BASE, TRUE) --LP_LLVM_IMAGE_MEMBER(row_stride, LP_JIT_IMAGE_ROW_STRIDE, TRUE) --LP_LLVM_IMAGE_MEMBER(img_stride, LP_JIT_IMAGE_IMG_STRIDE, TRUE) -+LP_LLVM_IMAGE_MEMBER_OUTTYPE(row_stride, LP_JIT_IMAGE_ROW_STRIDE, TRUE) -+LP_LLVM_IMAGE_MEMBER_OUTTYPE(img_stride, LP_JIT_IMAGE_IMG_STRIDE, TRUE) - LP_LLVM_IMAGE_MEMBER(num_samples, LP_JIT_IMAGE_NUM_SAMPLES, TRUE) - LP_LLVM_IMAGE_MEMBER(sample_stride, LP_JIT_IMAGE_SAMPLE_STRIDE, TRUE) - --- -GitLab - - -From 0c865245900615e57f103b5e3f8759a68e978f85 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Mon, 26 Sep 2022 15:02:38 +1000 -Subject: [PATCH 5/6] gallivm/sample: use retrieved types to do opaque pointer - loads. - -This uses the types to do the loads using opaque ptr interfaces. - -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947> ---- - src/gallium/auxiliary/gallivm/lp_bld_sample.c | 26 ++++++++++++------- - 1 file changed, 16 insertions(+), 10 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_sample.c b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -index cdbf737031a8c..9e608303451d6 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_sample.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_sample.c -@@ -1147,10 +1147,11 @@ lp_build_linear_mip_levels(struct lp_build_sample_context *bld, - * A helper function that factorizes this common pattern. - */ - static LLVMValueRef --load_mip(struct gallivm_state *gallivm, LLVMValueRef offsets, LLVMValueRef index1) { -+load_mip(struct gallivm_state *gallivm, -+ LLVMTypeRef ptr_type, LLVMValueRef offsets, LLVMValueRef index1) { - LLVMValueRef zero = lp_build_const_int32(gallivm, 0); - LLVMValueRef indexes[2] = {zero, index1}; -- LLVMValueRef ptr = LLVMBuildGEP(gallivm->builder, offsets, indexes, ARRAY_SIZE(indexes), ""); -+ LLVMValueRef ptr = LLVMBuildGEP2(gallivm->builder, ptr_type, offsets, indexes, ARRAY_SIZE(indexes), ""); - return LLVMBuildLoad2(gallivm->builder, LLVMInt32TypeInContext(gallivm->context), ptr, ""); - } - -@@ -1162,9 +1163,11 @@ LLVMValueRef - lp_build_get_mipmap_level(struct lp_build_sample_context *bld, - LLVMValueRef level) - { -- LLVMValueRef mip_offset = load_mip(bld->gallivm, bld->mip_offsets, level); -+ LLVMValueRef mip_offset = load_mip(bld->gallivm, bld->mip_offsets_type, bld->mip_offsets, level); - LLVMBuilderRef builder = bld->gallivm->builder; -- LLVMValueRef data_ptr = LLVMBuildGEP(builder, bld->base_ptr, &mip_offset, 1, ""); -+ LLVMValueRef data_ptr = LLVMBuildGEP2(builder, -+ LLVMInt8TypeInContext(bld->gallivm->context), -+ bld->base_ptr, &mip_offset, 1, ""); - return data_ptr; - } - -@@ -1180,7 +1183,7 @@ lp_build_get_mip_offsets(struct lp_build_sample_context *bld, - LLVMValueRef offsets, offset1; - - if (bld->num_mips == 1) { -- offset1 = load_mip(bld->gallivm, bld->mip_offsets, level); -+ offset1 = load_mip(bld->gallivm, bld->mip_offsets_type, bld->mip_offsets, level); - offsets = lp_build_broadcast_scalar(&bld->int_coord_bld, offset1); - } - else if (bld->num_mips == bld->coord_bld.type.length / 4) { -@@ -1189,7 +1192,7 @@ lp_build_get_mip_offsets(struct lp_build_sample_context *bld, - offsets = bld->int_coord_bld.undef; - for (i = 0; i < bld->num_mips; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -- offset1 = load_mip(bld->gallivm, bld->mip_offsets, LLVMBuildExtractElement(builder, level, indexi, "")); -+ offset1 = load_mip(bld->gallivm, bld->mip_offsets_type, bld->mip_offsets, LLVMBuildExtractElement(builder, level, indexi, "")); - LLVMValueRef indexo = lp_build_const_int32(bld->gallivm, 4 * i); - offsets = LLVMBuildInsertElement(builder, offsets, offset1, indexo, ""); - } -@@ -1203,7 +1206,7 @@ lp_build_get_mip_offsets(struct lp_build_sample_context *bld, - offsets = bld->int_coord_bld.undef; - for (i = 0; i < bld->num_mips; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -- offset1 = load_mip(bld->gallivm, bld->mip_offsets, LLVMBuildExtractElement(builder, level, indexi, "")); -+ offset1 = load_mip(bld->gallivm, bld->mip_offsets_type, bld->mip_offsets, LLVMBuildExtractElement(builder, level, indexi, "")); - offsets = LLVMBuildInsertElement(builder, offsets, offset1, indexi, ""); - } - } -@@ -1333,12 +1336,13 @@ lp_build_scale_view_dim(struct gallivm_state *gallivm, LLVMValueRef size, - */ - static LLVMValueRef - lp_build_get_level_stride_vec(struct lp_build_sample_context *bld, -+ LLVMTypeRef stride_type, - LLVMValueRef stride_array, LLVMValueRef level) - { - LLVMBuilderRef builder = bld->gallivm->builder; - LLVMValueRef stride, stride1; - if (bld->num_mips == 1) { -- stride1 = load_mip(bld->gallivm, stride_array, level); -+ stride1 = load_mip(bld->gallivm, stride_type, stride_array, level); - stride = lp_build_broadcast_scalar(&bld->int_coord_bld, stride1); - } - else if (bld->num_mips == bld->coord_bld.type.length / 4) { -@@ -1348,7 +1352,7 @@ lp_build_get_level_stride_vec(struct lp_build_sample_context *bld, - stride = bld->int_coord_bld.undef; - for (i = 0; i < bld->num_mips; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -- stride1 = load_mip(bld->gallivm, stride_array, LLVMBuildExtractElement(builder, level, indexi, "")); -+ stride1 = load_mip(bld->gallivm, stride_type, stride_array, LLVMBuildExtractElement(builder, level, indexi, "")); - LLVMValueRef indexo = lp_build_const_int32(bld->gallivm, 4 * i); - stride = LLVMBuildInsertElement(builder, stride, stride1, indexo, ""); - } -@@ -1363,7 +1367,7 @@ lp_build_get_level_stride_vec(struct lp_build_sample_context *bld, - stride = bld->int_coord_bld.undef; - for (i = 0; i < bld->coord_bld.type.length; i++) { - LLVMValueRef indexi = lp_build_const_int32(bld->gallivm, i); -- stride1 = load_mip(bld->gallivm, stride_array, LLVMBuildExtractElement(builder, level, indexi, "")); -+ stride1 = load_mip(bld->gallivm, stride_type, stride_array, LLVMBuildExtractElement(builder, level, indexi, "")); - stride = LLVMBuildInsertElement(builder, stride, stride1, indexi, ""); - } - } -@@ -1515,11 +1519,13 @@ lp_build_mipmap_level_sizes(struct lp_build_sample_context *bld, - - if (dims >= 2) { - *row_stride_vec = lp_build_get_level_stride_vec(bld, -+ bld->row_stride_type, - bld->row_stride_array, - ilevel); - } - if (dims == 3 || has_layer_coord(bld->static_texture_state->target)) { - *img_stride_vec = lp_build_get_level_stride_vec(bld, -+ bld->img_stride_type, - bld->img_stride_array, - ilevel); - } --- -GitLab - - -From 6f27bf250461e02ad7df17ad41cbfa71a4cae487 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 27 Sep 2022 15:28:18 +1000 -Subject: [PATCH 6/6] gallivm: remove legacy pointer_get apis - -These are no longer used. - -Reviewed-by: Mihai Preda <mhpreda@gmail.com> -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18947> ---- - src/gallium/auxiliary/gallivm/lp_bld_struct.c | 117 ------------------ - src/gallium/auxiliary/gallivm/lp_bld_struct.h | 65 ---------- - 2 files changed, 182 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.c b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -index 73c32cebadfb6..0595c3d3df220 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.c -@@ -41,43 +41,6 @@ - #include "lp_bld_debug.h" - #include "lp_bld_struct.h" - -- --/* Deprecated (used only by llvmpipe); use lp_build_struct_get_ptr2() instead. */ --LLVMValueRef --lp_build_struct_get_ptr(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- unsigned member, -- const char *name) --{ -- LLVMValueRef indices[2]; -- LLVMValueRef member_ptr; -- assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); -- -- indices[0] = lp_build_const_int32(gallivm, 0); -- indices[1] = lp_build_const_int32(gallivm, member); -- member_ptr = LLVMBuildGEP(gallivm->builder, ptr, indices, ARRAY_SIZE(indices), ""); -- lp_build_name(member_ptr, "%s.%s_ptr", LLVMGetValueName(ptr), name); -- return member_ptr; --} -- --/* Deprecated (used only by llvmpipe); use lp_build_struct_get2() instead. */ --LLVMValueRef --lp_build_struct_get(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- unsigned member, -- const char *name) --{ -- LLVMValueRef member_ptr; -- LLVMValueRef res; -- assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMStructTypeKind); -- member_ptr = lp_build_struct_get_ptr(gallivm, ptr, member, name); -- res = LLVMBuildLoad(gallivm->builder, member_ptr, ""); -- lp_build_name(res, "%s.%s", LLVMGetValueName(ptr), name); -- return res; --} -- - LLVMValueRef - lp_build_struct_get_ptr2(struct gallivm_state *gallivm, - LLVMTypeRef ptr_type, -@@ -154,86 +117,6 @@ lp_build_array_get2(struct gallivm_state *gallivm, - return res; - } - --LLVMValueRef --lp_build_array_get_ptr(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- LLVMValueRef index) --{ -- LLVMValueRef indices[2]; -- LLVMValueRef element_ptr; -- assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -- indices[0] = lp_build_const_int32(gallivm, 0); -- indices[1] = index; -- element_ptr = LLVMBuildGEP(gallivm->builder, ptr, indices, ARRAY_SIZE(indices), ""); --#ifdef DEBUG -- lp_build_name(element_ptr, "&%s[%s]", -- LLVMGetValueName(ptr), LLVMGetValueName(index)); --#endif -- return element_ptr; --} -- -- --LLVMValueRef --lp_build_array_get(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- LLVMValueRef index) --{ -- LLVMValueRef element_ptr; -- LLVMValueRef res; -- assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -- element_ptr = lp_build_array_get_ptr(gallivm, ptr, index); -- res = LLVMBuildLoad(gallivm->builder, element_ptr, ""); --#ifdef DEBUG -- lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index)); --#endif -- return res; --} -- -- --void --lp_build_array_set(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- LLVMValueRef index, -- LLVMValueRef value) --{ -- LLVMValueRef element_ptr; -- assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- assert(LLVM_VERSION_MAJOR >= 15 || LLVMGetTypeKind(LLVMGetElementType(LLVMTypeOf(ptr))) == LLVMArrayTypeKind); -- element_ptr = lp_build_array_get_ptr(gallivm, ptr, index); -- LLVMBuildStore(gallivm->builder, value, element_ptr); --} -- -- --LLVMValueRef --lp_build_pointer_get(LLVMBuilderRef builder, -- LLVMValueRef ptr, -- LLVMValueRef index) --{ -- return lp_build_pointer_get_unaligned(builder, ptr, index, 0); --} -- -- --LLVMValueRef --lp_build_pointer_get_unaligned(LLVMBuilderRef builder, -- LLVMValueRef ptr, -- LLVMValueRef index, -- unsigned alignment) --{ -- LLVMValueRef element_ptr; -- LLVMValueRef res; -- assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind); -- element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, ""); -- res = LLVMBuildLoad(builder, element_ptr, ""); -- if (alignment) -- LLVMSetAlignment(res, alignment); --#ifdef DEBUG -- lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index)); --#endif -- return res; --} -- - LLVMValueRef - lp_build_pointer_get_unaligned2(LLVMBuilderRef builder, - LLVMTypeRef ptr_type, -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_struct.h b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -index 52d6020563bfb..11f256964f540 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_struct.h -+++ b/src/gallium/auxiliary/gallivm/lp_bld_struct.h -@@ -53,26 +53,6 @@ - offsetof(_ctype, _cmember)) - - --/** -- * Get value pointer to a structure member. -- * Deprecated (used only by llvmpipe); use lp_build_struct_get_ptr2() instead. -- */ --LLVMValueRef --lp_build_struct_get_ptr(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- unsigned member, -- const char *name); -- --/** -- * Get the value of a structure member. -- * Deprecated (used only by llvmpipe); use lp_build_struct_get2() instead. -- */ --LLVMValueRef --lp_build_struct_get(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- unsigned member, -- const char *name); -- - /** - * Get value pointer to a structure member. - * This takes the explicit LLVM type of ptr, as required by LLVM-15 opaque-pointers. -@@ -107,51 +87,6 @@ lp_build_array_get2(struct gallivm_state *gallivm, - LLVMValueRef ptr, - LLVMValueRef index); - --/** -- * Get value pointer to an array element. -- */ --LLVMValueRef --lp_build_array_get_ptr(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- LLVMValueRef index); -- --/** -- * Get the value of an array element. -- */ --LLVMValueRef --lp_build_array_get(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- LLVMValueRef index); -- --/** -- * Set the value of an array element. -- */ --void --lp_build_array_set(struct gallivm_state *gallivm, -- LLVMValueRef ptr, -- LLVMValueRef index, -- LLVMValueRef value); -- --/** -- * Get the value of an array element. -- */ --LLVMValueRef --lp_build_pointer_get(LLVMBuilderRef builder, -- LLVMValueRef ptr, -- LLVMValueRef index); -- --/** -- * Get the value of an array element, with explicit alignment. -- * -- * If the element size is different from the alignment this will -- * cause llvm to emit an unaligned load -- */ --LLVMValueRef --lp_build_pointer_get_unaligned(LLVMBuilderRef builder, -- LLVMValueRef ptr, -- LLVMValueRef index, -- unsigned alignment); -- - /** - * Get the value of an array element. - * This takes the explicit LLVM type of ptr, as required by LLVM-15 opaque-pointers. --- -GitLab - diff --git a/user/mesa/llvm18.patch b/user/mesa/llvm18.patch deleted file mode 100644 index 660bacb91..000000000 --- a/user/mesa/llvm18.patch +++ /dev/null @@ -1,397 +0,0 @@ -From f79617fe804ea6524651ff1bc3a91098d3199179 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= <marek.olsak@amd.com> -Date: Mon, 25 Sep 2023 15:57:33 -0400 -Subject: [PATCH] amd/llvm: fix build with LLVM 18 - -Reviewed-by: Dave Airlie <airlied@redhat.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25388> ---- - src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp -index 5e7a30a6cc2e3..e213f7e4be180 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp -+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp -@@ -366,7 +366,11 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT, - builder.setEngineKind(EngineKind::JIT) - .setErrorStr(&Error) - .setTargetOptions(options) -+#if LLVM_VERSION_MAJOR >= 18 -+ .setOptLevel((CodeGenOptLevel)OptLevel); -+#else - .setOptLevel((CodeGenOpt::Level)OptLevel); -+#endif - - #if DETECT_OS_WINDOWS - /* --- -GitLab - - - - - - -<!DOCTYPE html> -<html class="gl-light ui-neutral with-header with-top-bar " lang="en"> -<head prefix="og: http://ogp.me/ns#"> -<meta charset="utf-8"> -<meta content="IE=edge" http-equiv="X-UA-Compatible"> -<meta content="width=device-width, initial-scale=1" name="viewport"> -<title>gallivm: handle llvm 16 atexit ordering problems. (b3cfec2f) · Commits · Mesa / mesa · GitLab</title> -<script> -//<![CDATA[ -window.gon={};gon.math_rendering_limits_enabled=true;gon.features={"ciGraphqlPipelineMiniGraph":false}; -//]]> -</script> - - - - - - -<link rel="stylesheet" href="/assets/application-bc8000290bc8c8c0ebadb5c9d96dac50df8244426ef375a23cfae334e9b100c2.css" media="all" /> -<link rel="stylesheet" href="/assets/page_bundles/pipelines-147f0c35e12b857600d63ad57bd1505da553bee448fee17c49459845401fed79.css" media="all" /><link rel="stylesheet" href="/assets/page_bundles/commit_description-5653213c51a6c90453a926cfc5e5e71ad9b41881a20a408bef8a303cf175435c.css" media="all" /><link rel="stylesheet" href="/assets/page_bundles/work_items-4dbc32cca030ff7727ba26485149518edc039e72f1577ef00291805720518949.css" media="all" /> -<link rel="stylesheet" href="/assets/application_utilities-d9a7b82eeacf5bfb8ceea81780b391ff56bc5b4332509ae17839f3590bce0ae9.css" media="all" /> -<link rel="stylesheet" href="/assets/tailwind-c4fd78b89a0e3b72cbd08ce282e35067bb563355705f68ef5cb893962ccc7c32.css" media="all" /> - - -<link rel="stylesheet" href="/assets/fonts-fae5d3f79948bd85f18b6513a025f863b19636e85b09a1492907eb4b1bb0557b.css" media="all" /> -<link rel="stylesheet" href="/assets/highlight/themes/white-2ffecda73965655b02849f077e67509c64f03bf7959a10ee45a0147e79ab96fd.css" media="all" /> - - -<link rel="preload" href="/assets/application_utilities-d9a7b82eeacf5bfb8ceea81780b391ff56bc5b4332509ae17839f3590bce0ae9.css" as="style" type="text/css"> -<link rel="preload" href="/assets/application-bc8000290bc8c8c0ebadb5c9d96dac50df8244426ef375a23cfae334e9b100c2.css" as="style" type="text/css"> -<link rel="preload" href="/assets/highlight/themes/white-2ffecda73965655b02849f077e67509c64f03bf7959a10ee45a0147e79ab96fd.css" as="style" type="text/css"> - - - - - -<script src="/assets/webpack/runtime.c3b445fb.bundle.js" defer="defer"></script> -<script src="/assets/webpack/main.aa8f43d1.chunk.js" defer="defer"></script> -<script src="/assets/webpack/graphql.e1f11a07.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.dashboard.issues-pages.dashboard.milestones.show-pages.-a65b27a2.97e0c257.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.dashboard.issues-pages.groups.boards-pages.groups.issue-8f3ec9c9.450d024d.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.dashboard.issues-pages.groups.boards-pages.groups.issue-181be4cb.80f39b87.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.groups.new-pages.import.gitlab_projects.new-pages.import.manifest.new-pages.projects.n-44c6c18e.227a132b.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.search.show-super_sidebar.4ea731a1.chunk.js" defer="defer"></script> -<script src="/assets/webpack/super_sidebar.ed4df32c.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.admin.topics.edit-pages.admin.topics.new-pages.dashboar-7469413d.4f86d3e8.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.admin.topics.edit-pages.admin.topics.new-pages.groups.i-56cf042c.01ecb85c.chunk.js" defer="defer"></script> -<script src="/assets/webpack/8.788661b8.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.admin.topics.edit-pages.admin.topics.new-pages.groups.i-79e94350.81fd5681.chunk.js" defer="defer"></script> -<script src="/assets/webpack/10.abcd7097.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.abuse_reports.show-pages.admin.topics.edit-pages.admin.topics.new-pages.groups.i-aa2a43bd.1d1306c9.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.admin.topics.edit-pages.admin.topics.new-pages.groups.milestones.edit-pages.groups.mil-d4098e09.740ed42b.chunk.js" defer="defer"></script> -<script src="/assets/webpack/26.3e8521dc.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.groups.milestones.edit-pages.groups.milestones.new-pages.groups.milestones.show-pages.-3a9ea570.d48dcdaa.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.projects.commit.pipelines-pages.projects.commit.rapid_diffs-pages.projects.commit.show.c0025a99.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.projects.commit.show-pages.projects.snippets.show-pages.snippets.show.cf9cdece.chunk.js" defer="defer"></script> -<script src="/assets/webpack/commons-pages.projects.commit.show-pages.projects.compare.show-pages.projects.wikis.diff.14466c81.chunk.js" defer="defer"></script> -<script src="/assets/webpack/pages.projects.commit.show.67c9270a.chunk.js" defer="defer"></script> -<meta content="object" property="og:type"> -<meta content="GitLab" property="og:site_name"> -<meta content="gallivm: handle llvm 16 atexit ordering problems. (b3cfec2f) · Commits · Mesa / mesa · GitLab" property="og:title"> -<meta content="This is ported from amd ac_llvm_helper.cpp, thanks to Marek for the pointer. This is needed to avoid crashes due to atexit ordering between some piglit tests and mesa internals. Cc:..." property="og:description"> -<meta content="https://gitlab.freedesktop.org/uploads/-/system/project/avatar/176/gears.png" property="og:image"> -<meta content="64" property="og:image:width"> -<meta content="64" property="og:image:height"> -<meta content="https://gitlab.freedesktop.org/mesa/mesa/-/commit/b3cfec2fd824a52023c92fd5928f4f5c1cb449a0" property="og:url"> -<meta content="summary" property="twitter:card"> -<meta content="gallivm: handle llvm 16 atexit ordering problems. (b3cfec2f) · Commits · Mesa / mesa · GitLab" property="twitter:title"> -<meta content="This is ported from amd ac_llvm_helper.cpp, thanks to Marek for the pointer. This is needed to avoid crashes due to atexit ordering between some piglit tests and mesa internals. Cc:..." property="twitter:description"> -<meta content="https://gitlab.freedesktop.org/uploads/-/system/project/avatar/176/gears.png" property="twitter:image"> - -<meta name="csrf-param" content="authenticity_token" /> -<meta name="csrf-token" content="AioFgsl_omxJZyl5Q2D4GnKiXe47UFUKYPQW0znQbNIsHTFW0Bd4XCkZo8p5Pmlez7T9muUsVHMfGUAj9SBU6g" /> -<meta name="csp-nonce" /> -<meta name="action-cable-url" content="/-/cable" /> -<link href="/-/manifest.json" rel="manifest"> -<link rel="icon" type="image/png" href="/uploads/-/system/appearance/favicon/1/fdo-favicon.ico" id="favicon" data-original-href="/uploads/-/system/appearance/favicon/1/fdo-favicon.ico" /> -<link rel="apple-touch-icon" type="image/x-icon" href="/assets/apple-touch-icon-b049d4bc0dd9626f31db825d61880737befc7835982586d015bded10b4435460.png" /> -<link href="/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml"> - - - - -<meta content="This is ported from amd ac_llvm_helper.cpp, thanks to Marek for the pointer. This is needed to avoid crashes due to atexit ordering between some piglit tests and mesa internals. Cc:..." name="description"> -<meta content="#ececef" name="theme-color"> -</head> - -<body class="tab-width-8 gl-browser-generic gl-platform-other " data-find-file="/mesa/mesa/-/find_file/b3cfec2fd824a52023c92fd5928f4f5c1cb449a0" data-group="mesa" data-group-full-path="mesa" data-namespace-id="1155" data-page="projects:commit:show" data-page-type-id="b3cfec2fd824a52023c92fd5928f4f5c1cb449a0" data-project="mesa" data-project-full-path="mesa/mesa" data-project-id="176"> -<script> -//<![CDATA[ -gl = window.gl || {}; -gl.GfmAutoComplete = gl.GfmAutoComplete || {}; -gl.GfmAutoComplete.dataSources = {"members":"/mesa/mesa/-/autocomplete_sources/members?type=Commit\u0026type_id=b3cfec2fd824a52023c92fd5928f4f5c1cb449a0","issues":"/mesa/mesa/-/autocomplete_sources/issues","mergeRequests":"/mesa/mesa/-/autocomplete_sources/merge_requests","labels":"/mesa/mesa/-/autocomplete_sources/labels?type=Commit\u0026type_id=b3cfec2fd824a52023c92fd5928f4f5c1cb449a0","milestones":"/mesa/mesa/-/autocomplete_sources/milestones","commands":"/mesa/mesa/-/autocomplete_sources/commands?type=Commit\u0026type_id=b3cfec2fd824a52023c92fd5928f4f5c1cb449a0","snippets":"/mesa/mesa/-/autocomplete_sources/snippets","contacts":"/mesa/mesa/-/autocomplete_sources/contacts?type=Commit\u0026type_id=b3cfec2fd824a52023c92fd5928f4f5c1cb449a0","wikis":null}; - - -//]]> -</script> -<script> -//<![CDATA[ -gl = window.gl || {}; -gl.client = {"isGeneric":true,"isOther":true}; - - -//]]> -</script> - - -<header class="header-logged-out" data-testid="navbar"> -<a class="gl-sr-only gl-accessibility" href="#content-body">Skip to content</a> -<div class="container-fluid"> -<nav aria-label="Explore GitLab" class="header-logged-out-nav gl-display-flex gl-gap-3 gl-justify-content-space-between"> -<div class="gl-display-flex gl-align-items-center gl-gap-1"> -<span class="gl-sr-only">GitLab</span> -<a title="Homepage" id="logo" class="header-logged-out-logo has-tooltip" aria-label="Homepage" href="/"><img class="brand-header-logo lazy" alt="" data-src="/uploads/-/system/appearance/header_logo/1/fdo-logo-header.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> -</a></div> -<ul class="gl-list-none gl-p-0 gl-m-0 gl-display-flex gl-gap-3 gl-align-items-center gl-flex-grow-1"> -<li class="header-logged-out-nav-item"> -<a class="" href="/explore">Explore</a> -</li> -</ul> -<ul class="gl-list-none gl-p-0 gl-m-0 gl-display-flex gl-gap-3 gl-align-items-center gl-justify-content-end"> -<li class="header-logged-out-nav-item"> -<a href="/users/sign_in?redirect_to_referer=yes">Sign in</a> -</li> -<li class="header-logged-out-nav-item"> -<a class="gl-button btn btn-md btn-confirm " href="/users/sign_up"><span class="gl-button-text"> -Register - -</span> - -</a></li> -</ul> -</nav> -</div> -</header> - -<div class="layout-page page-with-super-sidebar"> -<aside class="js-super-sidebar super-sidebar super-sidebar-loading" data-command-palette="{"project_files_url":"/mesa/mesa/-/files/b3cfec2fd824a52023c92fd5928f4f5c1cb449a0?format=json","project_blob_url":"/mesa/mesa/-/blob/b3cfec2fd824a52023c92fd5928f4f5c1cb449a0"}" data-force-desktop-expanded-sidebar="" data-root-path="/" data-sidebar="{"is_logged_in":false,"context_switcher_links":[{"title":"Explore","link":"/explore","icon":"compass"}],"current_menu_items":[{"id":"project_overview","title":"mesa","icon":null,"avatar":"/uploads/-/system/project/avatar/176/gears.png","entity_id":176,"link":"/mesa/mesa","pill_count":null,"link_classes":"shortcuts-project","is_active":false},{"id":"manage_menu","title":"Manage","icon":"users","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/mesa/mesa/activity","is_active":false,"pill_count":null,"items":[{"id":"activity","title":"Activity","icon":null,"avatar":null,"entity_id":null,"link":"/mesa/mesa/activity","pill_count":null,"link_classes":"shortcuts-project-activity","is_active":false},{"id":"members","title":"Members","icon":null,"avatar":null,"entity_id":null,"link":"/mesa/mesa/-/project_members","pill_count":null,"link_classes":null,"is_active":false},{"id":"labels","title":"Labels","icon":null,"avatar":null,"entity_id":null,"link":"/mesa/mesa/-/labels","pill_count":null,"link_classes":null,"is_active":false}],"separated":false},{"id":"plan_menu","title":"Plan","icon":"planning","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/mesa/mesa/-/issues","is_active":false,"pill_count":null,"items":[{"id":"project_issue_list","title":"Issues","icon":null,"avatar":null,"entity_id":null,"link":"/mesa/mesa/-/issues","pill_count":"3.7k","link_classes":"shortcuts-issues has-sub-items","is_active":false},{"id":"boards","title":"Issue boards","icon":null,"avatar":null,"entity_id":null,"link":"/mesa/mesa/-/boards","pill_count":null,"link_classes":"shortcuts-issue-boards","is_active":false},{"id":"milestones","title":"Milestones","icon":null,"avatar":null,"entity_id":null,"link":"/mesa/mesa/-/milestones","pill_count":null,"link_classes":null,"is_active":false}],"separated":false},{"id":"code_menu","title":"Code","icon":"code","avatar":null,"avatar_shape":"rect","entity_id":null,"link":"/mesa/mesa/-/merge_requests","is_active":true,"pill_count":null,"items":[{"id":"project_merge_request_list","title":"Merge requests","icon":nFrom b3cfec2fd824a52023c92fd5928f4f5c1cb449a0 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 4 Jan 2024 06:17:50 +1000 -Subject: [PATCH] gallivm: handle llvm 16 atexit ordering problems. - -This is ported from amd ac_llvm_helper.cpp, thanks to Marek for the pointer. - -This is needed to avoid crashes due to atexit ordering between some piglit -tests and mesa internals. - -Cc: mesa-stable -Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26883> ---- - src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 34 +++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp -index e213f7e4be180..a5e84d708f2c6 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp -+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp -@@ -62,6 +62,7 @@ - #include <llvm/Support/PrettyStackTrace.h> - #include <llvm/ExecutionEngine/ObjectCache.h> - #include <llvm/Support/TargetSelect.h> -+#include <llvm/CodeGen/SelectionDAGNodes.h> - #if LLVM_VERSION_MAJOR >= 15 - #include <llvm/Support/MemoryBuffer.h> - #endif -@@ -100,6 +101,8 @@ - #include "lp_bld_misc.h" - #include "lp_bld_debug.h" - -+static void lp_run_atexit_for_destructors(void); -+ - namespace { - - class LLVMEnsureMultithreaded { -@@ -147,6 +150,7 @@ static void init_native_targets() - } - } - #endif -+ lp_run_atexit_for_destructors(); - } - - extern "C" void -@@ -623,3 +627,33 @@ lp_set_module_stack_alignment_override(LLVMModuleRef MRef, unsigned align) - M->setOverrideStackAlignment(align); - #endif - } -+ -+using namespace llvm; -+ -+class GallivmRunAtExitForStaticDestructors : public SDNode -+{ -+public: -+ /* getSDVTList (protected) calls getValueTypeList (private), which contains static variables. */ -+ GallivmRunAtExitForStaticDestructors(): SDNode(0, 0, DebugLoc(), getSDVTList(MVT::Other)) -+ { -+ } -+}; -+ -+static void -+lp_run_atexit_for_destructors(void) -+{ -+ /* LLVM >= 16 registers static variable destructors on the first compile, which gcc -+ * implements by calling atexit there. Before that, u_queue registers its atexit -+ * handler to kill all threads. Since exit() runs atexit handlers in the reverse order, -+ * the LLVM destructors are called first while shader compiler threads may still be -+ * running, which crashes in LLVM in SelectionDAG.cpp. -+ * -+ * The solution is to run the code that declares the LLVM static variables first, -+ * so that atexit for LLVM is registered first and u_queue is registered after that, -+ * which ensures that all u_queue threads are terminated before LLVM destructors are -+ * called. -+ * -+ * This just executes the code that declares static variables. -+ */ -+ GallivmRunAtExitForStaticDestructors(); -+} --- -GitLab - -From 550cc685a76b609a3c3f358d554de6e9911510ec Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Thu, 18 Jan 2024 18:05:47 +1000 -Subject: [PATCH] gallivm: fix coroutines with llvm 18 - -llvm 18 added an extra parameters to coro end which should just -take a null token always for us. - -Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27133> ---- - src/gallium/auxiliary/gallivm/lp_bld_coro.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_coro.c b/src/gallium/auxiliary/gallivm/lp_bld_coro.c -index 0214dcf674203..75aaa7d2b84c9 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_coro.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_coro.c -@@ -89,13 +89,18 @@ LLVMValueRef lp_build_coro_free(struct gallivm_state *gallivm, - - void lp_build_coro_end(struct gallivm_state *gallivm, LLVMValueRef coro_hdl) - { -- LLVMValueRef coro_end_args[2]; -+ LLVMValueRef coro_end_args[3]; -+ int num_args = 2; - coro_end_args[0] = coro_hdl; - coro_end_args[1] = LLVMConstInt(LLVMInt1TypeInContext(gallivm->context), 0, 0); -+#if LLVM_VERSION_MAJOR >= 18 -+ coro_end_args[2] = LLVMConstNull(LLVMTokenTypeInContext(gallivm->context)); -+ num_args++; -+#endif - lp_build_intrinsic(gallivm->builder, - "llvm.coro.end", - LLVMInt1TypeInContext(gallivm->context), -- coro_end_args, 2, 0); -+ coro_end_args, num_args, 0); - } - - void lp_build_coro_resume(struct gallivm_state *gallivm, LLVMValueRef coro_hdl) --- -GitLab - -From 99f0449987bec1f82cd42a06f40bb4a863a37792 Mon Sep 17 00:00:00 2001 -From: Nikita Popov <npopov@redhat.com> -Date: Mon, 11 Mar 2024 14:45:41 +0100 -Subject: [PATCH] Pass no-verify-fixpoint option to instcombine in LLVM 18 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When LLVM 18 is used, pass the no-verify-fixpoint option when -running the instcombine pass. Otherwise LLVM may abort with an -error. - -The background here is that this option is enabled by default for -testing purposes, because instcombine is normally only explicitly -invoked like this inside tests. If it is used in an actual -production pipeline, the no-verify-fixpoint option needs to be -enabled. - -This should fix the issue reported at -https://bugzilla.redhat.com/show_bug.cgi?id=2268800. - -Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com> -Reviewed-by: Marek Olšák <marek.olsak@amd.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28101> ---- - src/gallium/auxiliary/gallivm/lp_bld_init.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c -index cd2108f3a088d..1345d85b22439 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_init.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c -@@ -609,7 +609,11 @@ gallivm_compile_module(struct gallivm_state *gallivm) - LLVMRunPasses(gallivm->module, passes, LLVMGetExecutionEngineTargetMachine(gallivm->engine), opts); - - if (!(gallivm_perf & GALLIVM_PERF_NO_OPT)) -+#if LLVM_VERSION_MAJOR >= 18 -+ strcpy(passes, "sroa,early-cse,simplifycfg,reassociate,mem2reg,instsimplify,instcombine<no-verify-fixpoint>"); -+#else - strcpy(passes, "sroa,early-cse,simplifycfg,reassociate,mem2reg,instsimplify,instcombine"); -+#endif - else - strcpy(passes, "mem2reg"); - --- -GitLab - -From a2ae6518c2d70dca9e3e9e93dc8e38a18f73c14e Mon Sep 17 00:00:00 2001 -From: Konstantin Seurer <konstantin.seurer@gmail.com> -Date: Fri, 28 Apr 2023 23:15:48 +0200 -Subject: [PATCH] gallivm: Fix gather/scatter types for newer llvm - -The types changed with opaque pointer support. - -Fixes a bunch of lavapipe regressions. -Cc: mesa-stable - -Reviewed-by: Roland Scheidegger <sroland@vmware.com> -Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23293> ---- - src/gallium/auxiliary/gallivm/lp_bld_gather.c | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/src/gallium/auxiliary/gallivm/lp_bld_gather.c b/src/gallium/auxiliary/gallivm/lp_bld_gather.c -index b93251b444495..f55f2f3145e28 100644 ---- a/src/gallium/auxiliary/gallivm/lp_bld_gather.c -+++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.c -@@ -611,8 +611,14 @@ lp_build_masked_gather(struct gallivm_state *gallivm, - LLVMValueRef args[4]; - char intrin_name[64]; - -+#if LLVM_VERSION_MAJOR >= 16 -+ snprintf(intrin_name, 64, "llvm.masked.gather.v%ui%u.v%up0", -+ length, bit_size, length); -+#else - snprintf(intrin_name, 64, "llvm.masked.gather.v%ui%u.v%up0i%u", - length, bit_size, length, bit_size); -+#endif -+ - args[0] = offset_ptr; - args[1] = lp_build_const_int32(gallivm, bit_size / 8); - args[2] = LLVMBuildICmp(builder, LLVMIntNE, exec_mask, -@@ -635,8 +641,14 @@ lp_build_masked_scatter(struct gallivm_state *gallivm, - LLVMValueRef args[4]; - char intrin_name[64]; - -+#if LLVM_VERSION_MAJOR >= 16 -+ snprintf(intrin_name, 64, "llvm.masked.scatter.v%ui%u.v%up0", -+ length, bit_size, length); -+#else - snprintf(intrin_name, 64, "llvm.masked.scatter.v%ui%u.v%up0i%u", - length, bit_size, length, bit_size); -+#endif -+ - args[0] = value_vec; - args[1] = offset_ptr; - args[2] = lp_build_const_int32(gallivm, bit_size / 8); --- -GitLab - diff --git a/user/mesa/musl-fixes.patch b/user/mesa/musl-fixes.patch deleted file mode 100644 index dd3e6bb64..000000000 --- a/user/mesa/musl-fixes.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig -+++ ./src/gallium/winsys/svga/drm/vmw_screen.h -@@ -34,7 +34,7 @@ - #ifndef VMW_SCREEN_H_ - #define VMW_SCREEN_H_ - -- -+#include <sys/stat.h> - #include "pipe/p_compiler.h" - #include "pipe/p_state.h" - diff --git a/user/meson/APKBUILD b/user/meson/APKBUILD index 60146659f..e1cf9aeac 100644 --- a/user/meson/APKBUILD +++ b/user/meson/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=meson -pkgver=1.2.3 +pkgver=1.4.0 pkgrel=0 pkgdesc="Fast, user-friendly build system" url="https://mesonbuild.com/" @@ -24,4 +24,4 @@ package() { python3 setup.py install --prefix=/usr --root="$pkgdir" } -sha512sums="cdcadc731effc1ffb2de98b795ba37955f934ed9b54b9f7f3ac5fe96ab33268d4de4fce734a4c2ef7d2ecc5051616df127e1f8665e197ff954310bf1483b81fc meson-1.2.3.tar.gz" +sha512sums="2787941fbc77d5ad95011753df52fe39812929a06d84dbce8bdc965c9c1e62fd6bfa819712eb1f5934c2ebe6919a65f7874ecac2caf40d111ea024343108cfbd meson-1.4.0.tar.gz" diff --git a/user/mkfontscale/APKBUILD b/user/mkfontscale/APKBUILD index de114f254..01bd8c2bc 100644 --- a/user/mkfontscale/APKBUILD +++ b/user/mkfontscale/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=mkfontscale -pkgver=1.2.2 +pkgver=1.2.3 pkgrel=0 pkgdesc="Scalable font file creator for X.Org" url="https://www.X.Org/" @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4c846816325347c91008d76b3a5610c1e58a8414fd55117e7ccf51310db4b20b8397ecf6c9177ff77322e27ee088bf034fd175c9210465c50b094bab8dada4b3 mkfontscale-1.2.2.tar.xz" +sha512sums="816e7b2885bb7a4b2eb0e506b659600011bfa4ec1a3010243c2cc2241fa0b792f3c8de1dec1855a4d13de89405973967074e379b0d01dcf9de8a1277a2fc4296 mkfontscale-1.2.3.tar.xz" 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/mpv/APKBUILD b/user/mpv/APKBUILD index 5edde3639..eff357445 100644 --- a/user/mpv/APKBUILD +++ b/user/mpv/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=mpv pkgver=0.34.1 -pkgrel=0 +pkgrel=1 pkgdesc="An improved fork of mplayer" url="https://mpv.io" arch="all" @@ -15,7 +15,8 @@ makedepends="python3 alsa-lib-dev pulseaudio-dev libx11-dev libxext-dev libxinerama-dev libxrandr-dev libxscrnsaver-dev - mesa-dev libva-dev lcms2-dev libvdpau-dev + libglvnd-dev libva-dev lcms2-dev libvdpau-dev mesa-dev wayland-dev + wayland-protocols libxkbcommon-dev ffmpeg-dev libbluray-dev v4l-utils-dev libass-dev libdvdread-dev libdvdnav-dev libcdio-dev libcdio-paranoia-dev rubberband-dev @@ -35,8 +36,6 @@ build() { --destdir="$pkgdir" \ --disable-lua \ --disable-javascript \ - --disable-wayland \ - --disable-gl-wayland \ --enable-dvdnav \ --enable-cdda python3 ./waf build diff --git a/user/musl-obstack/APKBUILD b/user/musl-obstack/APKBUILD deleted file mode 100644 index faf1eb689..000000000 --- a/user/musl-obstack/APKBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=musl-obstack -pkgver=1.2.3 -pkgrel=0 -pkgdesc="Standalone library to implement obstack functionality" -url=" " -arch="all" -license="GPL-2.0+" -depends="" -makedepends="autoconf automake libtool" -subpackages="$pkgname-dev" -source="musl-obstack-$pkgver.tar.gz::https://github.com/void-linux/musl-obstack/archive/v$pkgver.tar.gz" - -build() { - export CFLAGS="$CFLAGS -fPIC" - ./bootstrap.sh - ./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="b2bbed19c4ab2714ca794bdcb1a84fad1af964e884d4f3bbe91c9937ca089d92b8472cb05ebe998a9f5c85cb922b9b458db91eff29077bd099942e1ce18e16cc musl-obstack-1.2.3.tar.gz" diff --git a/user/node/APKBUILD b/user/node/APKBUILD index 11570595d..1c0cbe5a8 100644 --- a/user/node/APKBUILD +++ b/user/node/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=node pkgver=18.15.0 -pkgrel=0 +pkgrel=1 pkgdesc="JavaScript runtime" url="https://nodejs.org/" arch="all !ppc" # #837 @@ -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/ol/APKBUILD b/user/ol/APKBUILD index 12d08f6d9..ea9eac61e 100644 --- a/user/ol/APKBUILD +++ b/user/ol/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Yuriy Chumak <yuriy.chumak@mail.com> # Maintainer: Yuriy Chumak <yuriy.chumak@mail.com> pkgname=ol -pkgver=2.4 +pkgver=2.6 pkgrel=0 pkgdesc="Purely functional dialect of Lisp" url="https://yuriy-chumak.github.io/ol/" @@ -11,20 +11,29 @@ depends="" makedepends="vim" subpackages="$pkgname-doc" source="$pkgname-$pkgver.tar.gz::https://github.com/yuriy-chumak/$pkgname/archive/$pkgver.tar.gz - fix-cdefs-test.patch + require-explicit-cdefs.patch " +_HAS_32CDEFS=0 +_HAS_64CDEFS=0 +case "$CARCH" in + armel | armhf | armv7) _HAS_32CDEFS=1 ;; + x86 | pmmx) _HAS_32CDEFS=1 ;; + x86_64 | mips64* | aarch64* | ppc64*) _HAS_64CDEFS=1 ;; + mips* | ppc | s390*) _HAS_32CDEFS=1 ;; +esac + build() { - make + make HAS_32CDEFS="${_HAS_32CDEFS}" HAS_64CDEFS="${_HAS_64CDEFS}" } check() { - make check + make HAS_32CDEFS="${_HAS_32CDEFS}" HAS_64CDEFS="${_HAS_64CDEFS}" check } package() { - make DESTDIR="$pkgdir" install + make HAS_32CDEFS="${_HAS_32CDEFS}" HAS_64CDEFS="${_HAS_64CDEFS}" DESTDIR="$pkgdir" install } -sha512sums="c280da70f04637e1c822ab5a4b6eda3a1e1602b4c1fbd59731be2619fb09b0acb079841ba142f9b7b80cbf7539b1c7bd15603311b2ae4a30636f174a1ba2499b ol-2.4.tar.gz -b00c230aaec767b7ef8970813d47222088fd67545a8acebc66208ca7c795392b1db04a6a754ab53a2c0e9f222bf10fc47e082d0965a4253a7053dff1e5cd27f2 fix-cdefs-test.patch" +sha512sums="22e61379d97e52e8f780213780d7f29a93e4846d158629e554f404a1c39e86daef9ce2a1b27d608c40c40850eaff4c2715bdfcb66af6b81cd906f0bcd43bf450 ol-2.6.tar.gz +3b8d5b984b6cb483a51389905648119c3d1de568d13ded6f5606163f8538f9426078357f8494a752af4ee80809fce6fe587f308be9ab010fe19d6eded688ed5a require-explicit-cdefs.patch" diff --git a/user/ol/fix-cdefs-test.patch b/user/ol/fix-cdefs-test.patch deleted file mode 100644 index 41578836c..000000000 --- a/user/ol/fix-cdefs-test.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ur a/tests/Makefile b/tests/Makefile ---- a/tests/Makefile 2023-03-23 06:59:27.672116150 -0500 -+++ b/tests/Makefile 2023-03-23 06:59:48.224536016 -0500 -@@ -17,8 +17,8 @@ - failed:="\033[1;31mfailed\033[0m" - - # 32-/64-bit test environment setup --HAS_32CDEFS ?= $(call exists,-m32,sys/cdefs.h,exit) --HAS_64CDEFS ?= $(call exists,-m64,sys/cdefs.h,exit) -+HAS_32CDEFS ?= 0 -+HAS_64CDEFS ?= 0 - - ifeq ($(HAS_64CDEFS),1) - vm64 = printf "64 " && ./vm64 repl <$$F | diff - $$F.ok -@@ -425,4 +425,4 @@ - @if [ -e $(FAILED) ] ;then rm -f $(FAILED); exit 1 ;fi - @echo "\033[1;32mpassed!\033[0m" - --endif -\ No newline at end of file -+endif diff --git a/user/ol/require-explicit-cdefs.patch b/user/ol/require-explicit-cdefs.patch new file mode 100644 index 000000000..fd4a70ad0 --- /dev/null +++ b/user/ol/require-explicit-cdefs.patch @@ -0,0 +1,28 @@ +diff -ur a/tests/Makefile b/tests/Makefile +--- a/tests/Makefile 2024-11-25 18:28:34.957193217 +0000 ++++ b/tests/Makefile 2024-11-25 18:30:17.261515826 +0000 +@@ -53,20 +53,11 @@ + + # special case, test 64- and 32-bit both + # (maximal testings under main development platform) +-ifeq ($(UNAME)-$(MACHINE),Linux-x86_64) +-HAS_64CDEFS ?= $(call exists,-m64,sys/cdefs.h,exit) +-ifeq ($(HAS_64CDEFS),1) +-DEV_MACHINE ?= 1 ++ifndef HAS_32CDEFS ++$(error HAS_32CDEFS is not set) + endif +-# sudo apt-get install gcc-multilib +-HAS_32CDEFS ?= $(call exists,-m32,sys/cdefs.h,exit) +-ifeq ($(HAS_32CDEFS),1) +-DEV_MACHINE ?= 1 +-endif +-else +-DEV_MACHINE ?= 0 +-HAS_64CDEFS ?= 0 +-HAS_32CDEFS ?= 0 ++ifndef HAS_64CDEFS ++$(error HAS_64CDEFS is not set) + endif + + # ------------- diff --git a/user/open-vm-tools/APKBUILD b/user/open-vm-tools/APKBUILD index ea9af14c4..4bdc9c0ad 100644 --- a/user/open-vm-tools/APKBUILD +++ b/user/open-vm-tools/APKBUILD @@ -3,7 +3,7 @@ pkgname=open-vm-tools pkgver=12.4.0 _buildver=23259341 -pkgrel=1 +pkgrel=2 pkgdesc="Guest additions for VMware hypervisors" url=" " arch="x86 pmmx i528 x86_64 aarch64" diff --git a/user/opengfx/APKBUILD b/user/opengfx/APKBUILD index 60c5cdd44..1612ced28 100644 --- a/user/opengfx/APKBUILD +++ b/user/opengfx/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=opengfx -pkgver=0.6.0 +pkgver=7.1 pkgrel=0 pkgdesc="Graphics files for OpenTTD" url="https://www.openttd.org/en/" @@ -25,4 +25,4 @@ package() { done } -sha512sums="275b9040e6938bdd5bee2d39361e0b78f447a8e497cc8ff018c7874dc16a357870f8b560999ebb2f2f0b275644c7c9ce85c964875f5a798e2ec45e62a8bc768f opengfx-0.6.0-source.tar.xz" +sha512sums="55079babcd78d4a36279cb7610b6800308aca8409ed3b9fa33cd4993b0c1f988d7afe270b17930b97609c4fdf8cf4e362e17c11bd85d2ef136d042256c98483f opengfx-7.1-source.tar.xz" diff --git a/user/openldap/APKBUILD b/user/openldap/APKBUILD index 18e8c6fbc..0aef3baa7 100644 --- a/user/openldap/APKBUILD +++ b/user/openldap/APKBUILD @@ -14,7 +14,7 @@ # pkgname=openldap pkgver=2.6.3 -pkgrel=1 +pkgrel=2 pkgdesc="LDAP Server" url="https://www.openldap.org/" arch="all" diff --git a/user/openmsx/APKBUILD b/user/openmsx/APKBUILD index c3aedd777..7bc33e5df 100644 --- a/user/openmsx/APKBUILD +++ b/user/openmsx/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=openmsx -pkgver=0.3.1 +pkgver=0.4.2 pkgrel=0 pkgdesc="Music files for OpenTTD" url="https://www.openttd.org/en/" @@ -11,8 +11,7 @@ license="GPL-2.0-only" depends="" makedepends="python3" subpackages="" -source="https://cdn.openttd.org/$pkgname-releases/$pkgver/$pkgname-$pkgver-source.tar.gz - python3.patch +source="https://cdn.openttd.org/$pkgname-releases/$pkgver/$pkgname-$pkgver-source.tar.xz python3-bang.patch " builddir="$srcdir/$pkgname-$pkgver-source" @@ -22,13 +21,11 @@ build() { } package() { - cd "$builddir"/$pkgname-$pkgver - for _file in *.mid openmsx.obm; do + for _file in src/*.mid openmsx.obm; do install -D -m644 -g games $_file \ "$pkgdir"/usr/share/games/openttd/gm/$_file done } -sha512sums="e455f99f32d1daa77157def4f109dd1456169ae2b527290035b6a52f591c13fb7464fd221e00eb46bf03f51e8d0101de08a9e47cebe2430ad05a840ab235973e openmsx-0.3.1-source.tar.gz -b6690158831cb3da9e0e65a523529ee0bb694a4a8b23c89f615b2481601a71fd84caecf29430054e69afa3ffcb53cf8dd5826358d7ef89429c661dd4d47bbb74 python3.patch +sha512sums="65a06792032d0a7f6db5c9495bf5b382fdc29ca84db0535b61ea95b57e8ef961820e75dad2f8dc74de0608502839bea7af28fd342756ebfcc12ee8ac1f5553ab openmsx-0.4.2-source.tar.xz f981aff74f9cd33650641badd977f38c1cbbc749198a45ca016de3be83d8bec6c4f82c0614340a11f7bda7b4b98d48e26fd03a74bbf233af6deb588874d34145 python3-bang.patch" diff --git a/user/openmsx/python3.patch b/user/openmsx/python3.patch deleted file mode 100644 index 191aacfd6..000000000 --- a/user/openmsx/python3.patch +++ /dev/null @@ -1,265 +0,0 @@ ---- openmsx-0.3.1-source/scripts/authorlist.py.old 2010-08-09 22:34:42.000000000 +0000 -+++ openmsx-0.3.1-source/scripts/authorlist.py 2019-01-12 18:12:26.010000000 +0000 -@@ -10,7 +10,6 @@ - # <http://www.gnu.org/licenses/>. - # - --import string - import sys - - while 1: -@@ -18,10 +17,10 @@ - if data != '': - # do some processing of the contents of - # the data variable -- separate = string.split(data,";") -- print '%-30s %s' % (separate[1]+":", separate[2]) -+ separate = data.split(";") -+ print('%-30s %s' % (separate[1]+":", separate[2])) - # end of data processing command group -- # sys.stdout.write(res) -+ # sys.stdout.write(res) - else: - sys.stdout.flush() - break ---- openmsx-0.3.1-source/scripts/md5list.py.old 2010-08-09 22:34:42.000000000 +0000 -+++ openmsx-0.3.1-source/scripts/md5list.py 2019-01-12 18:16:21.260000000 +0000 -@@ -10,7 +10,6 @@ - # <http://www.gnu.org/licenses/>. - # - --import string - import sys - import subprocess - import os -@@ -18,25 +17,25 @@ - while 1: - data = sys.stdin.readline() - if data != '': -- # leave out all comment lines (lines starting with '#') -- comment_pos = string.find(data,'#') -- if comment_pos == 0: -- continue -- # separate the single entries by ';' -- separate = string.split(data,";") -- if len(separate) != 4: -- continue -- systemtype = (os.uname())[0] -- if systemtype == 'Linux': -- md5call = ["md5sum"] -- elif systemtype == 'Darwin': -- md5call = ["md5", "-r"] -- else: -- md5call = ["md5sum"] -- md5call = md5call + ["src/"+string.strip(separate[1])] -- md5sum = subprocess.Popen(md5call, stdout=subprocess.PIPE).communicate()[0] -- md5sum = string.split(md5sum) -- res = "%-32s = %s\n" % (separate[1], md5sum[0]) -+ # leave out all comment lines (lines starting with '#') -+ comment_pos = data.find('#') -+ if comment_pos == 0: -+ continue -+ # separate the single entries by ';' -+ separate = data.split(";") -+ if len(separate) != 4: -+ continue -+ systemtype = (os.uname())[0] -+ if systemtype == 'Linux': -+ md5call = ["md5sum"] -+ elif systemtype == 'Darwin': -+ md5call = ["md5", "-r"] -+ else: -+ md5call = ["md5sum"] -+ md5call = md5call + ["src/"+separate[1].strip()] -+ md5sum = subprocess.Popen(md5call, stdout=subprocess.PIPE).communicate()[0] -+ md5sum = md5sum.split() -+ res = "%-32s = %s\n" % (separate[1], md5sum[0].decode('utf-8')) - sys.stdout.write(res) - else: - sys.stdout.flush() ---- openmsx-0.3.1-source/scripts/midifiles.py.old 2010-08-09 22:34:42.000000000 +0000 -+++ openmsx-0.3.1-source/scripts/midifiles.py 2019-01-12 18:09:21.660000000 +0000 -@@ -10,23 +10,22 @@ - # <http://www.gnu.org/licenses/>. - # - --import string - import sys - - res = "" - while 1: - data = sys.stdin.readline() - if data != '': -- # leave out all comment lines (lines starting with '#') -- comment_pos = string.find(data,'#') -- if comment_pos == 0: -- continue -- # separate the single entries by ';' -- separate = string.split(data,";") -- if len(separate) != 4: -- continue -- res = res + " src/" + string.strip(separate[1]) -+ # leave out all comment lines (lines starting with '#') -+ comment_pos = data.find('#') -+ if comment_pos == 0: -+ continue -+ # separate the single entries by ';' -+ separate = data.split(";") -+ if len(separate) != 4: -+ continue -+ res = res + " src/" + separate[1].strip() - else: -- sys.stdout.write(res) -+ sys.stdout.write(res) - sys.stdout.flush() - break ---- openmsx-0.3.1-source/scripts/namelist.py.old 2010-08-09 22:34:42.000000000 +0000 -+++ openmsx-0.3.1-source/scripts/namelist.py 2019-01-12 18:24:41.820000000 +0000 -@@ -10,27 +10,26 @@ - # <http://www.gnu.org/licenses/>. - # - --import string - import sys - - while 1: - data = sys.stdin.readline() - if data != '': -- # leave out all comment lines (lines starting with '#') -- comment_pos = string.find(data,'#') -- if comment_pos == 0: -- continue -- # separate the single entries by ';' -- separate = string.split(data,";") -- if len(separate) != 4: -- continue -- res = "%-32s = %s\n" % (separate[1], string.strip(separate[3])) -+ # leave out all comment lines (lines starting with '#') -+ comment_pos = data.find('#') -+ if comment_pos == 0: -+ continue -+ # separate the single entries by ';' -+ separate = data.split(";") -+ if len(separate) != 4: -+ continue -+ res = "%-32s = %s\n" % (separate[1], separate[3].strip()) - sys.stdout.write(res) - else: - sys.stdout.flush() - break - - def authorlist(mystr): -- separate = string.split() -- for str in separate: -- print string.strip(str) -\ No newline at end of file -+ separate = mystr.split() -+ for str in separate: -+ print(str.strip()) ---- openmsx-0.3.1-source/scripts/playlist.py.old 2010-08-09 22:34:42.000000000 +0000 -+++ openmsx-0.3.1-source/scripts/playlist.py 2019-01-12 18:24:46.440000000 +0000 -@@ -10,31 +10,30 @@ - # <http://www.gnu.org/licenses/>. - # - --import string - import sys - - while 1: - data = sys.stdin.readline() - if data != '': -- # leave out all comment lines (lines starting with '#') -- comment_pos = string.find(data,'#') -- if comment_pos == 0: -- continue -- # separate the single entries by ';' -- separate = string.split(data,";") -- res = "" -- # leave out all lines which don't have the proper number of elements -- if len(separate) >= 1: -- res = string.strip(separate[0]) + " = " -- if len(separate) == 4: -- res = res + separate[1] -- res = res + "\n" -+ # leave out all comment lines (lines starting with '#') -+ comment_pos = data.find('#') -+ if comment_pos == 0: -+ continue -+ # separate the single entries by ';' -+ separate = data.split(";") -+ res = "" -+ # leave out all lines which don't have the proper number of elements -+ if len(separate) >= 1: -+ res = separate[0].strip() + " = " -+ if len(separate) == 4: -+ res = res + separate[1] -+ res = res + "\n" - sys.stdout.write(res) - else: - sys.stdout.flush() - break - - def authorlist(mystr): -- separate = string.split() -- for str in separate: -- print string.strip(str) -\ No newline at end of file -+ separate = mystr.split() -+ for str in separate: -+ print(str.strip()) ---- openmsx-0.3.1-source/scripts/sanitize_list.py.old 2010-08-09 22:34:42.000000000 +0000 -+++ openmsx-0.3.1-source/scripts/sanitize_list.py 2019-01-12 18:25:21.200000000 +0000 -@@ -10,34 +10,33 @@ - # <http://www.gnu.org/licenses/>. - # - --import string - import sys - - while 1: - data = sys.stdin.readline() - if data != '': -- # leave out all comment lines (lines starting with '#') -- comment_pos = string.find(data,'#') -- if comment_pos == 0: -- continue -- # separate the single entries by ';' -- separate = string.split(data,";") -- if len(separate) != 4: -- continue -- res = "" -- for str in separate: -- if res != '': -- res = res + ";" + string.strip(str) -- else: -- res = string.strip(str) -+ # leave out all comment lines (lines starting with '#') -+ comment_pos = data.find('#') -+ if comment_pos == 0: -+ continue -+ # separate the single entries by ';' -+ separate = data.split(";") -+ if len(separate) != 4: -+ continue -+ res = "" -+ for str in separate: -+ if res != '': -+ res = res + ";" + str.strip() -+ else: -+ res = str.strip() - # end of data processing command group -- res = res + "\n" -+ res = res + "\n" - sys.stdout.write(res) - else: - sys.stdout.flush() - break - - def authorlist(mystr): -- separate = string.split() -- for str in separate: -- print string.strip(str) -\ No newline at end of file -+ separate = mystr.split() -+ for str in separate: -+ print(str.strip()) diff --git a/user/opensfx/APKBUILD b/user/opensfx/APKBUILD index 08a453d65..cf52e2a84 100644 --- a/user/opensfx/APKBUILD +++ b/user/opensfx/APKBUILD @@ -1,20 +1,21 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=opensfx -pkgver=0.2.3 +pkgver=1.0.3 pkgrel=0 pkgdesc="Sound files for OpenTTD" -url="https://www.openttd.org/en/" +url="https://www.openttd.org/" arch="noarch" +options="!check" # Fails md5sum check because of git hash. license="CC-Sampling-Plus-1.0" depends="" makedepends="catcodec" subpackages="" -source="https://cdn.openttd.org/$pkgname-releases/$pkgver/$pkgname-$pkgver-source.tar.gz" +source="https://cdn.openttd.org/$pkgname-releases/$pkgver/$pkgname-$pkgver-source.tar.xz" builddir="$srcdir/$pkgname-$pkgver-source" build() { - make + make opensfx.cat } check() { @@ -28,4 +29,4 @@ package() { "$pkgdir"/usr/share/games/openttd/data/opensfx.obs } -sha512sums="7575c8febcbcabe8f9042a1a197ba76b9020e335663bf70b0aaebafe4b0758f82ff7acc624b1dfdc12d38e346f139454b78ea29e18a8bb8bd2afd3d6a209669c opensfx-0.2.3-source.tar.gz" +sha512sums="a077fcb1676ba17aa5e9e2df32c2d69452fe54895e3ac64a80c2a6247aa3ea2ef37443e2391f88117768eeb3f808793c78c11727c69bb3df2fde57f67964dbff opensfx-1.0.3-source.tar.xz" diff --git a/user/openttd/APKBUILD b/user/openttd/APKBUILD index 0ad34bb58..b2802c462 100644 --- a/user/openttd/APKBUILD +++ b/user/openttd/APKBUILD @@ -1,31 +1,41 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=openttd -pkgver=1.10.2 +pkgver=14.1 pkgrel=0 pkgdesc="Simulation game based on Transport Tycoon Deluxe" url="https://www.openttd.org/en/" arch="all" -options="!check" # Test files not shipped in release package. +#options="!check" # Test files not shipped in release package. license="GPL-2.0-only" depends="opengfx openmsx opensfx" -makedepends="fontconfig-dev freetype-dev icu-dev libpng-dev libxdg-basedir-dev - lzo-dev sdl-dev xz-dev zlib-dev" +makedepends="cmake curl-dev dbus-dev fluidsynth-dev fontconfig-dev freetype-dev + grfcodec harfbuzz-dev icu-dev libpng-dev lzo-dev mesa-dev sdl2-dev + xz-dev zlib-dev" subpackages="$pkgname-doc" source="https://cdn.openttd.org/openttd-releases/$pkgver/openttd-$pkgver-source.tar.xz" build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --install-dir="$pkgdir" \ - --disable-strip - make + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + ${CMAKE_CROSSOPTS} -B build + make -C build +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE make -C build test } package() { - make install + make -C build DESTDIR="$pkgdir" install } -sha512sums="03de85449a458c76c07d8a28c34f72bc95ab0652c666e5925da43746cdd4e95b0d66360b6e214d1df33f11b5346da2e3b9ca6832ac6628c7d6e5e0a791881683 openttd-1.10.2-source.tar.xz" +sha512sums="194135cc01457d9ed069c09d8961ad3de681bc9936533ca81ff23099f394bb9a83ef84a0852e85525e258f6149e14fd41cfc5f8e683c0643515005c42fb77e3b openttd-14.1-source.tar.xz" diff --git a/user/pango/APKBUILD b/user/pango/APKBUILD index 43b8630fb..95e39984f 100644 --- a/user/pango/APKBUILD +++ b/user/pango/APKBUILD @@ -1,13 +1,13 @@ # Maintainer: Zach van Rijn <me@zv.io> pkgname=pango -pkgver=1.50.7 +pkgver=1.56.3 pkgrel=0 pkgdesc="Library for laying out and rendering text" url="https://www.pango.org/" arch="all" -options="!check" # no tests available license="LGPL-2.1+" depends="" +checkdepends="cantarell-fonts" makedepends="$depends_dev cairo-dev expat-dev fontconfig-dev freetype-dev fribidi-dev glib-dev gobject-introspection-dev harfbuzz-dev libxft-dev meson ninja" @@ -20,20 +20,33 @@ source="https://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgve # 1.42.4-r1: # - CVE-2019-1010238 -build () { - meson \ +prepare() { + default_prepare + # Test fails on ppc64 with x-position moved; upstream suggested it was + # related to rounding differences in HarfBuzz. + rm tests/layouts/valid-20.layout +} + +build() { + meson setup \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --localstatedir=/var \ --buildtype=release \ - . output - ninja -C output + --wrap-mode=nofallback \ + -Dintrospection=enabled \ + . build + meson compile -C build +} + +check() { + meson test -C build } package() { mkdir -p "$pkgdir"/etc/pango - DESTDIR="$pkgdir" ninja -C output install + DESTDIR="$pkgdir" meson install -C build } -sha512sums="4d754ed753fc34074c2a8751459406af7eb1eccb227c6158287f7e2921614d918cae47d078d4a2b4c098b641e40274e81bf1ec6b6a1b147efd550626665767d3 pango-1.50.7.tar.xz" +sha512sums="adb5aa66ea0c45f7bb112867a77f25d31d39bbb18fd8d41df0c1fd329714def874aa3cb8a49847561a75b0824c2abf8ce09a610d088e88d7de015c36a1536ac0 pango-1.56.3.tar.xz" diff --git a/user/pciutils/APKBUILD b/user/pciutils/APKBUILD index 75cac244f..6e3cc00da 100644 --- a/user/pciutils/APKBUILD +++ b/user/pciutils/APKBUILD @@ -2,13 +2,13 @@ # Maintainer: pkgname=pciutils pkgver=3.7.0 -pkgrel=0 +pkgrel=1 pkgdesc="PCI bus configuration space access library and tools" url="http://mj.ucw.cz/pciutils.html" arch="all" options="!check" # No test suite. license="GPL-2.0-only" -depends="hwids-pci" +depends="hwdata" makedepends="eudev-dev kmod-dev linux-headers cmd:which" subpackages="$pkgname-doc $pkgname-dev $pkgname-libs" source="https://www.kernel.org/pub/software/utils/$pkgname/$pkgname-$pkgver.tar.gz diff --git a/user/php7/APKBUILD b/user/php7/APKBUILD index de6c5612b..7d1f5fddf 100644 --- a/user/php7/APKBUILD +++ b/user/php7/APKBUILD @@ -26,7 +26,7 @@ pkgname=php7 _pkgname=php pkgver=7.4.30 -pkgrel=0 +pkgrel=1 _apiver=20190902 _zendver=20190902 _pdover=20170320 @@ -81,6 +81,7 @@ source="https://www.php.net/distributions/$_pkgname-$pkgver.tar.bz2 disabled-tests.list enchant-2.patch fpm-paths.patch + gh14834.patch install-pear.patch libgd-unused-constants.patch no-max-ent-size.patch @@ -335,6 +336,7 @@ _build() { build() { export CFLAGS="$CFLAGS -fno-strict-aliasing -Wno-pointer-sign" + export CXXFLAGS="$CXXFLAGS -std=c++17" # apache-httpd module _build --disable-fpm \ @@ -382,7 +384,7 @@ check() { } package() { - make -j1 INSTALL_ROOT="$pkgdir" install + make -j1 INSTALL_ROOT="$pkgdir" V=1 VERBOSE=1 install install -Dm644 php.ini-production "$pkgdir"/etc/$_pkgname/php.ini find "$pkgdir" -name '.*' | xargs rm -rf @@ -549,9 +551,10 @@ cb3ba48fbd412f12d98ef1f88b509b40bc4ca44a16779a06d43e4db3cb8d24d54404b9e11ca941b5 a7f9ba5e11652fd1cb9e756c3269269a95de083ecb5be936a85c7a09c1396db9088e0251c6a643c40235c0e776fce2a471e5c7f5a033b85c7d3b3110c2b39e48 php-module.conf 587057aaf93feec2936e2851dbb42ba78310fc012e340d90c58a8912437a8b6a15585895490c31ac31cf36969ea1f2999993c5ca42031c378f31fb83d361fd73 disabled-tests.list 7c8c3cac9efce81d525cb5a70e1402e393881b83ef4c7b5d39d3565803d21cd283daf3d74e9a8b059ecac66cf339756acc63608ffcb83d960dba86583bd45108 enchant-2.patch -a77dd3bdf9dc7a0f2c06ff3e7c425d062bbaa29902c17402ce98701dc99499be863ad543aa5e6a7d1c249702d6afb193398dd3199ae58e42b32b95d434fb1883 fpm-paths.patch +846932c7bc2725c36ad319af41c8ba0e587dc2f87b40c812b1c75b73ff78da61c579d1a276b3ff70ccfee42bc69496c403423a1ed8895ba8c87776f4766061df fpm-paths.patch +aa16fbaaae386035bfa77b3e085b055714e5660addc1d20cd0869d680f81cac53b25249550924288cfcfa6379a8dfacc075242f84f6ee532d6bc0d3529809e33 gh14834.patch 951fa8445c20513aa48bf7c7d773c6b4012322e7e7592c13d965758e761b9898c484f0dbc5ae565c05787e6ab868769c97c71504624b10c9570e1d4214f75b10 install-pear.patch 441305a96329bf8442a6b633c0a8b8e53af0e6cd5fc673057cbb6b5aeb687542894a7a068073dad0a8d8dc75aa8ca42e6b0a32e29d2a7a69c115714a75127e97 libgd-unused-constants.patch 0e88f432d273103bff203b439cc3464d34613092007c88ec8806d82c3e317ba267d70c84e5ebc3c8b2c739fa498816e0e102a22b191ee387a42146f4ecc60481 no-max-ent-size.patch 9160e5c6b8bf2d87299f38421caf498519eb42243118570754a5764b5e682c546309548e76df6163df49e841ff51fb07e50fadeed1687da5d73dec1810c393ee test-fixes.patch -0cd6b8739533511c0d1edcb1ecff4d8d21a6b51d21f77c382645cf31d1645eeb2ebd80e2720557ceefa58f538385e097402bdc50e613dc7699bd8f033aefa543 zend_bool.patch" +d214722c394ef69ba91920e408f2fb694d7233bfe5fd4abe9764d91733a00e2b58d530cf82c2183d59f925f7a8f995e343dc9ce1c20457f7adf3b9789f9e18c3 zend_bool.patch" diff --git a/user/php7/fpm-paths.patch b/user/php7/fpm-paths.patch index 56d40298b..eeaeaeda1 100644 --- a/user/php7/fpm-paths.patch +++ b/user/php7/fpm-paths.patch @@ -1,6 +1,6 @@ --- a/sapi/fpm/fpm/fpm_conf.c +++ b/sapi/fpm/fpm/fpm_conf.c -@@ -1205,7 +1205,7 @@ +@@ -1212,7 +1212,7 @@ } if (!fpm_global_config.error_log) { @@ -9,7 +9,7 @@ } #ifdef HAVE_SYSTEMD -@@ -1710,7 +1710,7 @@ +@@ -1722,7 +1722,7 @@ if (fpm_globals.prefix == NULL) { spprintf(&tmp, 0, "%s/php-fpm.conf", PHP_SYSCONFDIR); } else { @@ -30,7 +30,7 @@ --- a/sapi/fpm/www.conf.in +++ b/sapi/fpm/www.conf.in -@@ -256,7 +256,7 @@ +@@ -257,7 +257,7 @@ ; The access log file ; Default: not set @@ -39,7 +39,7 @@ ; The access log format. ; The following syntax is allowed -@@ -320,7 +320,7 @@ +@@ -321,7 +321,7 @@ ; The log file for slow requests ; Default Value: not set ; Note: slowlog is mandatory if request_slowlog_timeout is set @@ -48,7 +48,7 @@ ; The timeout for serving a single request after which a PHP backtrace will be ; dumped to the 'slowlog' file. A value of '0s' means 'off'. -@@ -418,6 +418,6 @@ +@@ -434,6 +434,6 @@ ; specified at startup with the -d argument ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com ;php_flag[display_errors] = off diff --git a/user/php7/gh14834.patch b/user/php7/gh14834.patch new file mode 100644 index 000000000..258b5e8f9 --- /dev/null +++ b/user/php7/gh14834.patch @@ -0,0 +1,62 @@ +From dc2ce0df9be530e7ee91b0dfa6eb6ce2d5e5baad Mon Sep 17 00:00:00 2001 +From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> +Date: Fri, 5 Jul 2024 23:34:09 +0200 +Subject: [PATCH] Fix GH-14834: Error installing PHP when --with-pear is used + +libxml2 2.13 makes changes to how the parsing state is set, update our +code accordingly. In particular, it started reporting entities within +attributes, while it should only report entities inside text nodes. +--- + ext/xml/compat.c | 2 +- + ext/xml/tests/gh14834.phpt | 29 +++++++++++++++++++++++++++++ + 2 files changed, 30 insertions(+), 1 deletion(-) + create mode 100644 ext/xml/tests/gh14834.phpt + +diff --git a/ext/xml/compat.c b/ext/xml/compat.c +index 7b463ebb5112e..7ca015acc5421 100644 +--- a/ext/xml/compat.c ++++ b/ext/xml/compat.c +@@ -376,7 +376,7 @@ _get_entity(void *user, const xmlChar *name) + if (ret == NULL) + ret = xmlGetDocEntity(parser->parser->myDoc, name); + +- if (ret == NULL || (parser->parser->instate != XML_PARSER_ENTITY_VALUE && parser->parser->instate != XML_PARSER_ATTRIBUTE_VALUE)) { ++ if (ret == NULL || parser->parser->instate == XML_PARSER_CONTENT) { + if (ret == NULL || ret->etype == XML_INTERNAL_GENERAL_ENTITY || ret->etype == XML_INTERNAL_PARAMETER_ENTITY || ret->etype == XML_INTERNAL_PREDEFINED_ENTITY) { + /* Predefined entities will expand unless no cdata handler is present */ + if (parser->h_default && ! (ret && ret->etype == XML_INTERNAL_PREDEFINED_ENTITY && parser->h_cdata)) { +diff --git a/ext/xml/tests/gh14834.phpt b/ext/xml/tests/gh14834.phpt +new file mode 100644 +index 0000000000000..2781ba2ed0941 +--- /dev/null ++++ b/ext/xml/tests/gh14834.phpt +@@ -0,0 +1,29 @@ ++--TEST-- ++GH-14834 (Error installing PHP when --with-pear is used) ++--EXTENSIONS-- ++xml ++--FILE-- ++<?php ++$xml = <<<XML ++<?xml version="1.0" encoding="UTF-8"?> ++<!DOCTYPE root [ ++ <!ENTITY foo "ent"> ++]> ++<root> ++ <element hint="hello'world">&foo;<![CDATA[ & ]]><?x & ?></element> ++</root> ++XML; ++ ++$parser = xml_parser_create(); ++xml_set_character_data_handler($parser, function($_, $data) { ++ var_dump($data); ++}); ++xml_parse($parser, $xml, true); ++?> ++--EXPECT-- ++string(3) " ++ " ++string(3) "ent" ++string(7) " & " ++string(1) " ++" diff --git a/user/php7/zend_bool.patch b/user/php7/zend_bool.patch index b2e0b0f8f..cdea08533 100644 --- a/user/php7/zend_bool.patch +++ b/user/php7/zend_bool.patch @@ -8,7 +8,7 @@ the next 7.4 release[1], so don't bother forwarding. --- php-7.4.4/ext/reflection/php_reflection.c 2020-03-17 06:40:26.000000000 -0400 +++ php-7.4.4/ext/reflection/php_reflection.c 2020-03-30 01:00:27.938405046 -0400 -@@ -1304,7 +1304,7 @@ static void _reflection_export(INTERNAL_ +@@ -1318,7 +1318,7 @@ static void _reflection_export(INTERNAL_ zval *argument_ptr, *argument2_ptr; zval retval, params[2]; int result; diff --git a/user/plib/APKBUILD b/user/plib/APKBUILD index f195034f9..d33532fa2 100644 --- a/user/plib/APKBUILD +++ b/user/plib/APKBUILD @@ -2,16 +2,17 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=plib pkgver=1.8.5 -pkgrel=0 +pkgrel=1 pkgdesc="Portable game libraries" -url="http://plib.sourceforge.net/" +url="https://plib.sourceforge.net/" arch="all" options="!dbg" # No shared libraries license="LGPL-2.0+" depends="" -makedepends="autoconf automake libtool libxi-dev libxmu-dev libxt-dev mesa-dev" +makedepends="autoconf automake libtool libglvnd-dev libxi-dev libxmu-dev + libxt-dev" subpackages="$pkgname-dev" -source="http://plib.sourceforge.net/dist/plib-$pkgver.tar.gz +source="https://plib.sourceforge.net/dist/plib-$pkgver.tar.gz fix-openflight.patch joystick.patch CVE-2011-4620.patch diff --git a/user/postfix/APKBUILD b/user/postfix/APKBUILD index 4ec4dfd6a..65b12463e 100644 --- a/user/postfix/APKBUILD +++ b/user/postfix/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=postfix pkgver=3.9.0 -pkgrel=0 +pkgrel=1 pkgdesc="Mail server (MTA) that is Sendmail outside and Qmail inside" url="https://www.postfix.org/" arch="all" diff --git a/user/postgresql/APKBUILD b/user/postgresql/APKBUILD index 874246d25..b5f40acbb 100644 --- a/user/postgresql/APKBUILD +++ b/user/postgresql/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Jakub Jirutka <jakub@jirutka.cz> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=postgresql -pkgver=14.6 +pkgver=14.15 pkgrel=0 pkgdesc="Featureful object-relational database system (RDBMS)" url="https://www.postgresql.org/" @@ -249,7 +249,7 @@ _submv() { done } -sha512sums="133083eb5709ace65dd81d326a960654dd6cfb35b3e85a35f71763c59dad0052a561c2aa1d1f52652b4bf81ed71edd232f170d483989d65ca354e653331faf2e postgresql-14.6.tar.bz2 +sha512sums="227f9551167ee62e5185d6f6777e100ecc09f497b9ee1b5a8e659de8d4c237b0f9a97005706bbf64c3e839271e2630f6a417ba98dfce47bcb4c27e8641a7c6ef postgresql-14.15.tar.bz2 5772c54378f885fd2924be431f577bcbc134481d17a1331afd42ebeea2995e52364601ca2e2839d3c1dd78c51e4483424d1ed8ef8cdf43889a5a209861396efc perl-rpath.patch 8439a6fdfdea0a4867daeb8bc23d6c825f30c00d91d4c39f48653f5ee77341f23282ce03a77aad94b5369700f11d2cb28d5aee360e59138352a9ab331a9f9d0f conf-unix_socket_directories.patch 323ea2f3b6d71b858153d1f8ae62a98548ce8b2d1e0d9214dd32e858e4ad9bd0194b8b2f6e9540ce6324e394a08f496b2822004c1c3fef11184f267fa401a087 disable-broken-tests.patch diff --git a/user/qemu/APKBUILD b/user/qemu/APKBUILD index c707b5c8e..5e716695d 100644 --- a/user/qemu/APKBUILD +++ b/user/qemu/APKBUILD @@ -6,7 +6,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=qemu pkgver=4.2.0 -pkgrel=2 +pkgrel=3 pkgdesc="Machine emulator and virtualisation software" url="https://www.qemu.org/" arch="all" diff --git a/user/qt-creator/APKBUILD b/user/qt-creator/APKBUILD index 57829bbe6..32717276c 100644 --- a/user/qt-creator/APKBUILD +++ b/user/qt-creator/APKBUILD @@ -2,8 +2,8 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=qt-creator pkgver=4.15.2 -_llvmver=14 -pkgrel=2 +_llvmver=18 +pkgrel=3 pkgdesc="Cross-platform multi-language programming IDE" url="https://doc.qt.io/qtcreator/index.html" arch="all" @@ -16,6 +16,12 @@ makedepends="qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtserialport-dev subpackages="$pkgname-dev" source="https://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/$pkgname-opensource-src-$pkgver.tar.xz llvm13.patch + llvm15.patch + llvm16.patch + llvm16-deux.patch + llvm17.patch + llvm18.patch + llvm19.patch malloc_trim.patch cstdint.patch " @@ -35,5 +41,11 @@ package() { sha512sums="b29d5d97a1faa8d5756069d90c18d6d367e09057b97bd75c774bc2d1e373f9f4dcc24211188259f8d397bb932a65daaacda433bced796fd165654f5c3c621258 qt-creator-opensource-src-4.15.2.tar.xz c38cf1aea69bc52864d5aa4b6fbc01b5e91b1514a616056b270fcccc2744bb418eb93a470462823c05e00e44f44c45d8e26effd8aa72a6817402ddd9a6dd0cc4 llvm13.patch +9bcb1a67ea28fa4b3a9abf120d96c44e9949da083f0010b1a32ff27873e290a419b4994503826ba721587ba9b9bb97eb81c59e9d192e916bcf6430e21b1b7feb llvm15.patch +0a986139b3ba25d4c5430bfde1ca10cb024666150c9dac4eb1b3f5bbf099c4017332745d2277837395b1761fca1f598a1807b6d21342b497d4800bb988236250 llvm16.patch +566307ecbc725863149c2407617ef5d2021c9cd6a5e69a8ccf3f9a7188e27fc77b5cca12e92c35255ce03f925f7e0370412c1f255e03b34dd165abee959d9eec llvm16-deux.patch +be2a3e99e1a7b72d3b8d092edaffc60249efbbe27d5037cebba388d36f0d404e8d109489336c83f684195532eb23d73ea89f57da31b3499a1ee84a86ce3653b7 llvm17.patch +02d0ac36e4c9fd5682d45ef5f040f6ef11c25b3c9a0865cb8a1ef660dfb067a3dbeac1187246da79a506db6c24379b77a7d8510edcf10c9a56c6a9de1b507672 llvm18.patch +ce849abae28a3fd946b490e55cc44f4c19fe3ccf167e936c9e01b7c240c98b7f7af27336549ccbe18995fd2ae81366278a8345f54d3d87127232c06649af0e71 llvm19.patch 7fcb9b293daecc4c0f294d372507db9a6282479c4cf45999446193d9f35552db2532d47dedc9c5666a10855e20d0fe655f0ee0408abca8cc8ffbf121a230960f malloc_trim.patch 7d7a739cf98c1bc4232d9d14334e3c3a319746db931aaad4d441c903351c56869015ce427e2098fbe930d56a2dd433b1869fbbf5a78f91c10a94f5a47a778ea0 cstdint.patch" diff --git a/user/qt-creator/llvm15.patch b/user/qt-creator/llvm15.patch new file mode 100644 index 000000000..a35912171 --- /dev/null +++ b/user/qt-creator/llvm15.patch @@ -0,0 +1,29 @@ +From c7cdd55dea1f30b4d236d532bdadcf36bd174640 Mon Sep 17 00:00:00 2001 +From: Cristian Adam <cristian.adam@qt.io> +Date: Tue, 16 Aug 2022 21:04:39 +0200 +Subject: [PATCH] ClangFormat: Fix build for LLVM 15.0.0 + +This fixes the CMake build of Qt Creator against LLVM 15.0.0 + +Change-Id: Icecd45821091c8c2b565246cb17ce5a6e5c49f36 +Reviewed-by: <github-actions-qt-creator@cristianadam.eu> +Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> +--- + src/plugins/clangformat/CMakeLists.txt | 2 ++ + src/plugins/clangformat/clangformatutils.cpp | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp +index 230078558e5..973c1050772 100644 +--- a/src/plugins/clangformat/clangformatutils.cpp ++++ b/src/plugins/clangformat/clangformatutils.cpp +@@ -111,7 +111,9 @@ clang::format::FormatStyle qtcStyle() + style.ColumnLimit = 100; + style.CommentPragmas = "^ IWYU pragma:"; + style.CompactNamespaces = false; ++#if LLVM_VERSION_MAJOR < 15 + style.ConstructorInitializerAllOnOneLineOrOnePerLine = false; ++#endif + style.ConstructorInitializerIndentWidth = 4; + style.ContinuationIndentWidth = 4; + style.Cpp11BracedListStyle = true; diff --git a/user/qt-creator/llvm16-deux.patch b/user/qt-creator/llvm16-deux.patch new file mode 100644 index 000000000..00f35016c --- /dev/null +++ b/user/qt-creator/llvm16-deux.patch @@ -0,0 +1,45 @@ +From f4545807defdfb493c1d66a19430a69d81afa40b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <schaepers@kuennecke.com> +Date: Fri, 4 Nov 2022 07:18:50 +0100 +Subject: [PATCH] clang-format: Adapt to LLVM 16 + +Change-Id: I2e35f92db6de10b1e4bf173f0864f0cd893a011f +Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> +Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> +--- + src/plugins/clangformat/clangformatbaseindenter.cpp | 4 ++++ + src/plugins/clangformat/clangformatutils.cpp | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp +index 7c83c8e43b2..6072082c8c7 100644 +--- a/src/plugins/clangformat/clangformatbaseindenter.cpp ++++ b/src/plugins/clangformat/clangformatbaseindenter.cpp +@@ -55,7 +55,11 @@ void adjustFormatStyleForLineBreak(clang::format::FormatStyle &style, + + // This is a separate pass, don't do it unless it's the full formatting. + style.FixNamespaceComments = false; ++#if LLVM_VERSION_MAJOR >= 16 ++ style.AlignTrailingComments = {clang::format::FormatStyle::TCAS_Never, 0}; ++#else + style.AlignTrailingComments = false; ++#endif + + if (replacementsToKeep == ReplacementsToKeep::IndentAndBefore) + return; +diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp +index dbc4a6a347e..3b2901bcc8b 100644 +--- a/src/plugins/clangformat/clangformatutils.cpp ++++ b/src/plugins/clangformat/clangformatutils.cpp +@@ -64,7 +64,11 @@ clang::format::FormatStyle qtcStyle() + #else + style.AlignOperands = true; + #endif ++#if LLVM_VERSION_MAJOR >= 16 ++ style.AlignTrailingComments = {FormatStyle::TCAS_Always, 0}; ++#else + style.AlignTrailingComments = true; ++#endif + style.AllowAllParametersOfDeclarationOnNextLine = true; + #if LLVM_VERSION_MAJOR >= 10 + style.AllowShortBlocksOnASingleLine = FormatStyle::SBS_Never; diff --git a/user/qt-creator/llvm16.patch b/user/qt-creator/llvm16.patch new file mode 100644 index 000000000..dc9c53940 --- /dev/null +++ b/user/qt-creator/llvm16.patch @@ -0,0 +1,44 @@ +From e20bdfae4de90401a518135bc22958549dceda66 Mon Sep 17 00:00:00 2001 +From: Christian Stenger <christian.stenger@qt.io> +Date: Tue, 31 Jan 2023 08:11:29 +0100 +Subject: [PATCH] ClangFormat: Adapt to changes in LLVM 16 + +Change-Id: Ia4a2cf21e351095609d8858f1f9355c6607470f3 +Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> +--- + src/plugins/clangformat/clangformatbaseindenter.cpp | 4 ++++ + src/plugins/clangformat/clangformatutils.cpp | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp +index d61cbf2f1a8..fc08158d2d1 100644 +--- a/src/plugins/clangformat/clangformatbaseindenter.cpp ++++ b/src/plugins/clangformat/clangformatbaseindenter.cpp +@@ -38,7 +38,11 @@ void adjustFormatStyleForLineBreak(clang::format::FormatStyle &style, + #else + style.SortIncludes = false; + #endif ++#if LLVM_VERSION_MAJOR >= 16 ++ style.SortUsingDeclarations = clang::format::FormatStyle::SUD_Never; ++#else + style.SortUsingDeclarations = false; ++#endif + + // This is a separate pass, don't do it unless it's the full formatting. + style.FixNamespaceComments = false; +diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp +index c7eb900fed5..d1d6bee684b 100644 +--- a/src/plugins/clangformat/clangformatutils.cpp ++++ b/src/plugins/clangformat/clangformatutils.cpp +@@ -152,7 +152,11 @@ clang::format::FormatStyle qtcStyle() + #else + style.SortIncludes = true; + #endif ++#if LLVM_VERSION_MAJOR >= 16 ++ style.SortUsingDeclarations = FormatStyle::SUD_Lexicographic; ++#else + style.SortUsingDeclarations = true; ++#endif + style.SpaceAfterCStyleCast = true; + style.SpaceAfterTemplateKeyword = false; + style.SpaceBeforeAssignmentOperators = true; diff --git a/user/qt-creator/llvm17.patch b/user/qt-creator/llvm17.patch new file mode 100644 index 000000000..3e4803bbf --- /dev/null +++ b/user/qt-creator/llvm17.patch @@ -0,0 +1,38 @@ +From 9ad9e49ccf6e0d7f4ba5765cff3af63fbbed60e8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de> +Date: Wed, 2 Aug 2023 12:39:13 +0200 +Subject: [PATCH] clang-format: Fix build with LLVM 17 + +Change-Id: Ie6377be3be4a8c785d53f1eceabcc4811db4229d +Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> +--- + src/plugins/clangformat/clangformatutils.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp +index 928d30d241e..1aae91a186f 100644 +--- a/src/plugins/clangformat/clangformatutils.cpp ++++ b/src/plugins/clangformat/clangformatutils.cpp +@@ -165,7 +165,9 @@ clang::format::FormatStyle qtcStyle() + style.SpaceAfterTemplateKeyword = false; + style.SpaceBeforeAssignmentOperators = true; + style.SpaceBeforeParens = FormatStyle::SBPO_ControlStatements; ++#if LLVM_VERSION_MAJOR < 17 + style.SpaceInEmptyParentheses = false; ++#endif + style.SpacesBeforeTrailingComments = 1; + #if LLVM_VERSION_MAJOR >= 13 + style.SpacesInAngles = FormatStyle::SIAS_Never; +@@ -173,8 +175,12 @@ clang::format::FormatStyle qtcStyle() + style.SpacesInAngles = false; + #endif + style.SpacesInContainerLiterals = false; ++#if LLVM_VERSION_MAJOR >= 17 ++ style.SpacesInParens = FormatStyle::SIPO_Never; ++#else + style.SpacesInCStyleCastParentheses = false; + style.SpacesInParentheses = false; ++#endif + style.SpacesInSquareBrackets = false; + addQtcStatementMacros(style); + style.Standard = FormatStyle::LS_Cpp11; diff --git a/user/qt-creator/llvm18.patch b/user/qt-creator/llvm18.patch new file mode 100644 index 000000000..7294dec49 --- /dev/null +++ b/user/qt-creator/llvm18.patch @@ -0,0 +1,30 @@ +From 7457b623125f4bcdb7941769a385cfbfc0dcbf2b Mon Sep 17 00:00:00 2001 +From: hjk <hjk@qt.io> +Date: Fri, 8 Nov 2024 12:50:30 +0100 +Subject: [PATCH] ClangFormat: Fix warning on uninitialized struct member + +Clang 18's AlignConsecutiveStyle has a new bool AlignFunctionPointers member. + +Change-Id: I5d72d9caa4a6e58ffa09674d2d3b976a95ea5dd0 +Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> +--- + src/plugins/clangformat/clangformatutils.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- qt-creator-opensource-src-4.15.2/src/plugins/clangformat/clangformatutils.cpp.old 2024-12-04 16:32:21.224382015 -0600 ++++ qt-creator-opensource-src-4.15.2/src/plugins/clangformat/clangformatutils.cpp 2024-12-04 17:12:21.181020408 -0600 +@@ -51,7 +51,13 @@ + style.Language = FormatStyle::LK_Cpp; + style.AccessModifierOffset = -4; + style.AlignAfterOpenBracket = FormatStyle::BAS_Align; +-#if LLVM_VERSION_MAJOR >= 12 ++#if LLVM_VERSION_MAJOR >= 18 ++ style.AlignConsecutiveAssignments = {false, false, false, false, false, false}; ++ style.AlignConsecutiveDeclarations = {false, false, false, false, false, false}; ++#elif LLVM_VERSION_MAJOR >= 15 ++ style.AlignConsecutiveAssignments = {false, false, false, false, false}; ++ style.AlignConsecutiveDeclarations = {false, false, false, false, false}; ++#elif LLVM_VERSION_MAJOR >= 12 + style.AlignConsecutiveAssignments = FormatStyle::ACS_None; + style.AlignConsecutiveDeclarations = FormatStyle::ACS_None; + #else diff --git a/user/qt-creator/llvm19.patch b/user/qt-creator/llvm19.patch new file mode 100644 index 000000000..7dff56df4 --- /dev/null +++ b/user/qt-creator/llvm19.patch @@ -0,0 +1,28 @@ +From cc9ffdb685119a7c11248f08cf88308927252b85 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de> +Date: Tue, 30 Apr 2024 16:06:28 +0200 +Subject: [PATCH] ClangFormat: Fix compiliation with LLVM19 + +Change-Id: I4b166da2e477ffd101a5c4b9aa07c710f7698da9 +Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> +--- + src/plugins/clangformat/clangformatbaseindenter.cpp | 4 ++++ + src/plugins/clangformat/llvmfilesystem.h | 6 +++++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp +index 1d5dc2730c3..b491bd293f1 100644 +--- a/src/plugins/clangformat/clangformatbaseindenter.cpp ++++ b/src/plugins/clangformat/clangformatbaseindenter.cpp +@@ -73,7 +73,11 @@ static void adjustFormatStyleForLineBreak(clang::format::FormatStyle &style, + + static llvm::StringRef clearExtraNewline(llvm::StringRef text) + { ++#if LLVM_VERSION_MAJOR >= 16 ++ while (text.starts_with("\n\n")) ++#else + while (text.startswith("\n\n")) ++#endif + text = text.drop_front(); + return text; + } diff --git a/user/qt5-qtbase/APKBUILD b/user/qt5-qtbase/APKBUILD index 1e6e92acf..0ba98bd30 100644 --- a/user/qt5-qtbase/APKBUILD +++ b/user/qt5-qtbase/APKBUILD @@ -2,7 +2,7 @@ pkgname=qt5-qtbase _pkgname=qtbase-everywhere pkgver=5.15.4 -pkgrel=0 +pkgrel=1 pkgdesc="Cross-platform application and UI framework" url="https://www.qt.io/" arch="all" @@ -11,8 +11,8 @@ _sub="$pkgname-sqlite $pkgname-odbc $pkgname-postgresql $pkgname-tds $pkgname-x11" depends="" depends_dev="dbus-dev fontconfig-dev freetype-dev glib-dev libice-dev - libpng-dev libsm-dev libx11-dev libxext-dev mesa-dev openssl-dev perl - sqlite-dev zlib-dev $_sub" + libglvnd-dev libpng-dev libsm-dev libx11-dev libxext-dev mesa-dev + openssl-dev perl sqlite-dev zlib-dev $_sub" makedepends="$depends_dev at-spi2-core-dev bison cups-dev eudev-dev flex freetds-dev freetype-dev gperf gtk+2.0-dev harfbuzz-dev hicolor-icon-theme icu-dev diff --git a/user/qt5-qtpositioning/APKBUILD b/user/qt5-qtpositioning/APKBUILD index b25f7df99..e81ddef81 100644 --- a/user/qt5-qtpositioning/APKBUILD +++ b/user/qt5-qtpositioning/APKBUILD @@ -3,7 +3,7 @@ pkgname=qt5-qtpositioning _pkgname=qtlocation-everywhere pkgver=5.15.4 -pkgrel=0 +pkgrel=1 pkgdesc="Geolocation services for Qt 5" url="https://www.qt.io/" arch="all" diff --git a/user/qt5-qtwayland/APKBUILD b/user/qt5-qtwayland/APKBUILD index b65bb6bac..5885128e8 100644 --- a/user/qt5-qtwayland/APKBUILD +++ b/user/qt5-qtwayland/APKBUILD @@ -10,7 +10,7 @@ arch="all" options="!check" license="LGPL-3.0-only WITH Qt-LGPL-exception-1.1 OR GPL-3.0-only WITH Qt-GPL-exception-1.0" depends="" -makedepends="libxkbcommon-dev mesa-dev qt5-qtbase-dev wayland-dev" +makedepends="libglvnd-dev libxkbcommon-dev mesa-dev qt5-qtbase-dev wayland-dev" subpackages="$pkgname-dev $pkgname-client $pkgname-compositor $pkgname-tools" install_if="qt5-qtbase~$pkgver wayland" source="https://download.qt.io/official_releases/qt/${pkgver%.*}/$pkgver/submodules/$_pkgname-opensource-src-$pkgver.tar.xz diff --git a/user/qt5-qtwebkit/APKBUILD b/user/qt5-qtwebkit/APKBUILD index d4c677f39..71f3238aa 100644 --- a/user/qt5-qtwebkit/APKBUILD +++ b/user/qt5-qtwebkit/APKBUILD @@ -4,7 +4,7 @@ pkgname=qt5-qtwebkit _realname=qtwebkit pkgver=5.212.0_git20200924 _ts=1600955993 -pkgrel=2 +pkgrel=4 pkgdesc="Open source Web browser engine" url="https://github.com/qtwebkit/qtwebkit/wiki" arch="all" @@ -24,11 +24,13 @@ source="https://download.qt.io/snapshots/ci/qtwebkit/${pkgver%.*}/$_ts/src/submo armv6.patch glib-compat.patch icu-68.patch + icu-75.patch jsc-musl.patch missing-header.patch ppc-llint.patch ppc-ucontext.patch ppc64-llint.patch + webkit-offlineasm-warnings-ruby27.patch " builddir="$srcdir"/$_realname-opensource-src-${pkgver%.*} @@ -36,6 +38,7 @@ build() { if [ "$CBUILD" != "$CHOST" ]; then CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" fi + export CXXFLAGS="$CXXFLAGS -Wno-deprecated-copy -Wno-deprecated-declarations" case "${CARCH}" in armv7|pmmx|ppc) @@ -91,8 +94,10 @@ sha512sums="e2983ac291654ac75a8cdaaa1ca16810ae047e8d78c8910c415ab76e6efa532b75b1 ca77802de1b945c05b6a88d5cc0cbb093a751ef16626d221c8b2ca5cf841f5d42fffe62087df1ce0964f8ce72148c0109ff85e5cef3390125c133b310031028e armv6.patch 9f42f3d64657fb9487d9299ad5931381f9aa91a746a5986dc361def5e9a6e02933054a66132fa99057460ad6de0c19e9b51e07594451cc4f38b19012a69d205c glib-compat.patch 5f0ca182c68c55a6f221e96bf2221784c7126006ea8db3e9eee2b66dbdda18d7d0f9830e8345ac2b0bc6f557af5d2a54a321b06be4a2c845dd1003282b053443 icu-68.patch +240ec1d145eee861c45da753b5f4b01a7aadeee4de604a701de9d326ab02a3565bd63398c98d820d7eae498d28cf8eb0b53615f634c3791915cae35bbd3e263a icu-75.patch 9e3638d4d5c6e56510525931b278c8d6e28134917c300837b4eccf1b9298af1e274668318af82091137e99b83da0f78904084b7ee9dd8422b347a0f35e765c31 jsc-musl.patch ee3d06d3c350980a2a042961b6943d42706599b39270addce3904535811b18a2af8f74842f2d21267ce71250b97c05de600ec416e042f4d1cdbc2701711b5f4a missing-header.patch 4a3a15f8b1e63cade07c589be45afd794b45b34ee98e4d2d3fc2f52662c26c518d400b44c9314e41113cad847b9efd544d2a4c02425c9892ca9729e218ae9306 ppc-llint.patch 48f81c6a2c0f4e9b215dada4c0bebdafc66feb75178a7b1ca661f2bbcddd6b573e7db4dd179f6e4b6345c7ebcf17ce1c6647cc6ce39dbac8ba68f8863a98bdc0 ppc-ucontext.patch -db98d710815eb68f1fb025098b04c34b33518750c193e702383ca879e145c52ba4786fa4721f384f01f90231c32be9478d507c1000eb761621751edcd071b966 ppc64-llint.patch" +db98d710815eb68f1fb025098b04c34b33518750c193e702383ca879e145c52ba4786fa4721f384f01f90231c32be9478d507c1000eb761621751edcd071b966 ppc64-llint.patch +1431c6329fb9ef86dbe929a4002881f6a511aa8a2be684a7c96ea7ea48af53b4f0d96bd8e8367289080bed674ba35cab002747cf3820a6831e60f7ab7a53d3cc webkit-offlineasm-warnings-ruby27.patch" diff --git a/user/qt5-qtwebkit/icu-75.patch b/user/qt5-qtwebkit/icu-75.patch new file mode 100644 index 000000000..aaba87abd --- /dev/null +++ b/user/qt5-qtwebkit/icu-75.patch @@ -0,0 +1,55 @@ +Required for compatibility with ICU 75. + +--- qtwebkit-opensource-src-5.212/Source/cmake/OptionsCommon.cmake.old 2020-09-22 06:30:04.000000000 -0500 ++++ qtwebkit-opensource-src-5.212/Source/cmake/OptionsCommon.cmake 2024-08-12 23:20:50.344794822 -0500 +@@ -31,7 +31,7 @@ + if (COMPILER_IS_GCC_OR_CLANG) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing -fno-rtti") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") + endif () + + if (COMPILER_IS_CLANG AND CMAKE_GENERATOR STREQUAL "Ninja") +--- qtwebkit-opensource-src-5.212/Source/WTF/wtf/StdLibExtras.h.old 2020-09-22 06:30:04.000000000 -0500 ++++ qtwebkit-opensource-src-5.212/Source/WTF/wtf/StdLibExtras.h 2024-08-12 23:38:15.214914980 -0500 +@@ -292,7 +292,7 @@ + // This adds various C++14 features for versions of the STL that may not yet have them. + namespace std { + // MSVC 2013 supports std::make_unique already. +-#if !defined(_MSC_VER) || _MSC_VER < 1800 ++#if 0 + template<class T> struct _Unique_if { + typedef unique_ptr<T> _Single_object; + }; +@@ -323,7 +323,7 @@ + #endif + + // MSVC 2015 supports these functions. +-#if !COMPILER(MSVC) || _MSC_VER < 1900 ++#if 0 + // Compile-time integer sequences + // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html + // (Note that we only implement index_sequence, and not the more generic integer_sequence). +--- qtwebkit-opensource-src-5.212/Source/WebCore/xml/XSLTProcessor.h.old 2020-09-22 06:30:04.000000000 -0500 ++++ qtwebkit-opensource-src-5.212/Source/WebCore/xml/XSLTProcessor.h 2024-08-13 00:27:21.354699921 -0500 +@@ -64,7 +64,7 @@ + + void reset(); + +- static void parseErrorFunc(void* userData, xmlError*); ++ static void parseErrorFunc(void* userData, const xmlError*); + static void genericErrorFunc(void* userData, const char* msg, ...); + + // Only for libXSLT callbacks +--- qtwebkit-opensource-src-5.212/Source/WebCore/xml/XSLTProcessorLibxslt.cpp.old 2020-09-22 06:30:04.000000000 -0500 ++++ qtwebkit-opensource-src-5.212/Source/WebCore/xml/XSLTProcessorLibxslt.cpp 2024-08-13 00:28:32.207221034 -0500 +@@ -78,7 +78,7 @@ + // It would be nice to do something with this error message. + } + +-void XSLTProcessor::parseErrorFunc(void* userData, xmlError* error) ++void XSLTProcessor::parseErrorFunc(void* userData, const xmlError* error) + { + PageConsoleClient* console = static_cast<PageConsoleClient*>(userData); + if (!console) diff --git a/user/qt5-qtwebkit/webkit-offlineasm-warnings-ruby27.patch b/user/qt5-qtwebkit/webkit-offlineasm-warnings-ruby27.patch new file mode 100644 index 000000000..d25c3b1d6 --- /dev/null +++ b/user/qt5-qtwebkit/webkit-offlineasm-warnings-ruby27.patch @@ -0,0 +1,46 @@ +From c7d19a492d97f9282a546831beb918e03315f6ef Mon Sep 17 00:00:00 2001 +From: Adrian Perez de Castro <aperez@igalia.com> +Date: Wed, 15 Jan 2020 22:15:38 +0000 +Subject: [PATCH] Offlineasm warnings with newer Ruby versions + https://bugs.webkit.org/show_bug.cgi?id=206233 + +Reviewed by Yusuke Suzuki. + +Avoid a warning about using Object#=~ on Annotation instances, which +has been deprecated in Ruby 2.7. + +* offlineasm/parser.rb: Swap checks to prevent applying the =~ operator +to Annotation instances, which do not define it. + + +Canonical link: https://commits.webkit.org/219400@main +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254637 268f45cc-cd09-0410-ab3c-d52691b4dbfc +--- + Source/JavaScriptCore/ChangeLog | 13 +++++++++++++ + Source/JavaScriptCore/offlineasm/parser.rb | 6 +++--- + 2 files changed, 16 insertions(+), 3 deletions(-) + +diff --git a/Source/JavaScriptCore/offlineasm/parser.rb b/Source/JavaScriptCore/offlineasm/parser.rb +index 791c81a9868d..f14c873e2dbd 100644 +--- a/Source/JavaScriptCore/offlineasm/parser.rb ++++ b/Source/JavaScriptCore/offlineasm/parser.rb +@@ -628,9 +628,7 @@ def parseSequence(final, comment) + firstCodeOrigin = @tokens[@idx].codeOrigin + list = [] + loop { +- if (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) +- break +- elsif @tokens[@idx].is_a? Annotation ++ if @tokens[@idx].is_a? Annotation + # This is the only place where we can encounter a global + # annotation, and hence need to be able to distinguish between + # them. +@@ -644,6 +642,8 @@ def parseSequence(final, comment) + list << Instruction.new(codeOrigin, annotationOpcode, [], @tokens[@idx].string) + @annotation = nil + @idx += 2 # Consume the newline as well. ++ elsif (@idx == @tokens.length and not final) or (final and @tokens[@idx] =~ final) ++ break + elsif @tokens[@idx] == "\n" + # ignore + @idx += 1 diff --git a/user/r/APKBUILD b/user/r/APKBUILD index b41cd4411..25d44ef4d 100644 --- a/user/r/APKBUILD +++ b/user/r/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=r pkgver=4.2.3 -pkgrel=0 +pkgrel=1 pkgdesc="Environment for statistical computing and graphics" url="https://www.r-project.org/" arch="all" diff --git a/user/raptor2/APKBUILD b/user/raptor2/APKBUILD index 2b7d49af2..2f10958cd 100644 --- a/user/raptor2/APKBUILD +++ b/user/raptor2/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=raptor2 pkgver=2.0.15 -pkgrel=2 +pkgrel=3 pkgdesc="RDF parser/serializer toolkit for Redland" url="https://www.librdf.org/raptor" arch="all" @@ -15,6 +15,7 @@ subpackages="$pkgname-dev $pkgname-doc" source="https://download.librdf.org/source/$pkgname-$pkgver.tar.gz CVE-2017-18926.patch CVE-2020-25713.patch + fix-checked-field-issue.patch " prepare() { @@ -48,4 +49,5 @@ package() { sha512sums="563dd01869eb4df8524ec12e2c0a541653874dcd834bd1eb265bc2943bb616968f624121d4688579cdce11b4f00a8ab53b7099f1a0850e256bb0a2c16ba048ee raptor2-2.0.15.tar.gz 82f2f7ea4b72aa2bf444013a81db3cb17fcce2ae650bdb22eaab00d6d5cf7f950f7a550ffff49348db878f90f2753b407e6026d08d543cd0757c1687c6dad159 CVE-2017-18926.patch -6e7297bb786dd490202f9790e148b298380c1e47faa4970cb7efcd85fcea99eaa5f53e1c66627be9f7f42f6f27a3b1df94357c9db51abf8ed14727343d584f08 CVE-2020-25713.patch" +6e7297bb786dd490202f9790e148b298380c1e47faa4970cb7efcd85fcea99eaa5f53e1c66627be9f7f42f6f27a3b1df94357c9db51abf8ed14727343d584f08 CVE-2020-25713.patch +97ab7b8be0471d2b123603a2cf60a07508dcdacc0a14965dcf4dfe42a1b57e8baecd3488471aac7cd39d203cefbbc966c8ec492cfaafda62ebf2c80bf6c85f34 fix-checked-field-issue.patch" diff --git a/user/raptor2/fix-checked-field-issue.patch b/user/raptor2/fix-checked-field-issue.patch new file mode 100644 index 000000000..23f7fb1a7 --- /dev/null +++ b/user/raptor2/fix-checked-field-issue.patch @@ -0,0 +1,19 @@ +diff --git a/src/raptor_libxml.c b/src/raptor_libxml.c +index 538c2c8e..8bcee139 100644 +--- a/src/raptor_libxml.c ++++ b/src/raptor_libxml.c +@@ -246,10 +246,11 @@ raptor_libxml_getEntity(void* user_data, const xmlChar *name) + + ret->owner = 1; + +-#if LIBXML_VERSION >= 20627 ++#if LIBXML_VERSION >= 20627 && LIBXML_VERSION < 21100 + /* Checked field was released in 2.6.27 on 2006-10-25 + * http://git.gnome.org/browse/libxml2/commit/?id=a37a6ad91a61d168ecc4b29263def3363fff4da6 + * ++ * and was later removed in version 2.11.0 + */ + + /* Mark this entity as having been checked - never do this again */ +-- +2.41.0 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/rendercheck/APKBUILD b/user/rendercheck/APKBUILD index 10ba7f50c..daec31c89 100644 --- a/user/rendercheck/APKBUILD +++ b/user/rendercheck/APKBUILD @@ -1,34 +1,30 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=rendercheck -pkgver=1.5 +pkgver=1.6 pkgrel=0 pkgdesc="X11 Render extension testing and debugging utility" url="https://www.X.Org/" arch="all" +options="!check" # no test suite license="MIT" depends="" -makedepends="libx11-dev libxrender-dev util-macros xorgproto-dev" +makedepends="libx11-dev libxrender-dev xorgproto-dev libxext-dev meson" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/rendercheck-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/test/rendercheck-$pkgver.tar.xz" build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var - make -} - -check() { - make check + meson setup \ + -Dprefix=/usr \ + -Dsysconfdir=/etc \ + -Dmandir=/usr/share/man \ + -Dlocalstatedir=/var \ + build + meson compile -C build } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build } -sha512sums="ffa1abf317f85a8bcef3544e3f810b34567553524ac0a784d2a67470e0811854d7983af8600a04aadecf42871ccb83ad5c0e9e25179142fda2a8f5853a07f616 rendercheck-1.5.tar.bz2" +sha512sums="0cc5372a318d4a28d63d82a2efc42f15b810186ce91b226bc5b962520637b628b1ae991a9e7745f8239c4fd100bf8f8eab79bc3803a01cad6827022af49be1a3 rendercheck-1.6.tar.xz" diff --git a/user/rspamd/APKBUILD b/user/rspamd/APKBUILD index a54dba858..e4d36f982 100644 --- a/user/rspamd/APKBUILD +++ b/user/rspamd/APKBUILD @@ -5,11 +5,12 @@ # Contributor: Duncan Bellamy <dunk@denkimushi.com> # Maintainer: Lee Starnes <lee@canned-death.us> pkgname=rspamd -pkgver=3.8.4 +pkgver=3.11.1 pkgrel=0 pkgdesc="Fast, free and open-source spam filtering system" url="https://rspamd.com/" arch="all" +options="!check" # Tests require LuaJIT's ffi module license="Apache-2.0 AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND LGPL-2.1+ AND LGPL-3.0-only AND MIT AND Zlib" pkgusers="rspamd" pkggroups="rspamd" @@ -21,6 +22,7 @@ makedepends=" file-dev glib-dev icu-dev + libarchive-dev libevent-dev libexecinfo-dev libgd-dev @@ -40,24 +42,29 @@ subpackages=" $pkgname-client $pkgname-libs $pkgname-utils::noarch - $pkgname-controller::noarch - $pkgname-fuzzy::noarch - $pkgname-proxy::noarch $pkgname-openrc $pkgname-dbg " +ldpath="/usr/lib/rspamd" source="$pkgname-$pkgver.tar.gz::https://github.com/rspamd/rspamd/archive/$pkgver.tar.gz $pkgname.logrotated $pkgname.initd $pkgname.confd - 10-conf-split-workers.patch " +provides=" + rspamd-controller=$pkgver-r$pkgrel + rspamd-fuzzy=$pkgver-r$pkgrel + rspamd-proxy=$pkgver-r$pkgrel + " + +replaces="rspamd-controller rspamd-fuzzy rspamd-proxy" + build() { if [ "$CBUILD" != "$CHOST" ]; then CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" fi - LDFLAGS="-lexecinfo" cmake -B build \ + LDFLAGS="$LDFLAGS -lexecinfo" cmake -B build \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCONFDIR=/etc/$pkgname \ @@ -67,43 +74,34 @@ build() { -DENABLE_LUAJIT=OFF \ -DLUA_INCLUDE_DIR=/usr/include/lua5.3 \ -DLUA_LIBRARY=/usr/lib/lua5.3/liblua.so \ - -DENABLE_REDIRECTOR=ON \ -DENABLE_URL_INCLUDE=ON \ -DENABLE_BACKWARD=OFF \ -DENABLE_PCRE2=ON \ + -DENABLE_URL_INCLUDE=ON \ -DSYSTEM_ZSTD=ON \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_C_FLAGS="$CFLAGS" \ "$CMAKE_CROSSOPTS" . - make -C build + cmake --build build --target all } check() { - make -C build rspamd-test + cmake --build build --target run-test } package() { - make -C build DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" cmake --install build cd "$pkgdir" - local path=usr/bin - for b in rspamd rspamc rspamadm; - do - rm "$path"/$b - mv "$path"/$b-$pkgver "$path"/$b - done - mv "$path"/rspamd_stats "$path"/rspamd-stats - mkdir -p ./usr/sbin - mv usr/bin/rspamd usr/sbin/ - - mkdir -p usr/share/doc/$pkgname - mv usr/share/$pkgname/www/README.md \ - usr/share/doc/$pkgname/ + install -D usr/share/"$pkgname"/www/README.md \ + usr/share/doc/"$pkgname"/README.md + rm usr/share/"$pkgname"/www/README.md install -Dm 644 "$srcdir"/$pkgname.logrotated etc/logrotate.d/$pkgname install -Dm 755 "$srcdir"/$pkgname.initd etc/init.d/$pkgname install -Dm 644 "$srcdir"/$pkgname.confd etc/conf.d/$pkgname + install -d etc/"$pkgname"/local.d etc/"$pkgname"/override.d mkdir -p etc/$pkgname/local.d \ etc/$pkgname/override.d @@ -120,14 +118,14 @@ client() { pkgdesc="$pkgdesc (console client)" mkdir -p "$subpkgdir/usr/bin" - mv "$pkgdir/usr/bin/rspamc" "$subpkgdir/usr/bin/rspamc" + mv "$pkgdir"/usr/bin/rspamc* "$subpkgdir/usr/bin/" } libs() { pkgdesc="$pkgdesc (libraries)" - mkdir -p "$subpkgdir/usr/lib/$subpkgname" - mv "$pkgdir/usr/lib/$pkgname/"*.so "$subpkgdir/usr/lib/$subpkgname/" + mkdir -p "$subpkgdir/usr/lib/$pkgname" + mv "$pkgdir/usr/lib/$pkgname/"*.so "$subpkgdir/usr/lib/$pkgname/" } utils() { @@ -135,41 +133,10 @@ utils() { depends="perl" mkdir -p "$subpkgdir/usr/bin" - mv "$pkgdir/usr/bin/${pkgname}-stats" "$subpkgdir/usr/bin/" -} - -fuzzy() { - pkgdesc="$pkgdesc (local fuzzy storage)" - license="Apache-2.0" - depends="$pkgname" - - mkdir -p "$subpkgdir/etc/$pkgname/modules.d" - mv "$pkgdir/etc/$pkgname"/worker-fuzzy.* "$subpkgdir/etc/$pkgname/" - mv "$pkgdir/etc/$pkgname"/modules.d/fuzzy_* "$subpkgdir/etc/$pkgname/modules.d/" -} - -controller() { - pkgdesc="$pkgdesc (controller web interface)" - license="MIT" - depends="$pkgname" - - mkdir -p "$subpkgdir/usr/share/$pkgname" - mv "$pkgdir/usr/share/$pkgname/www" "$subpkgdir/usr/share/$pkgname/www" - mkdir -p "$subpkgdir/etc/$pkgname" - mv "$pkgdir/etc/$pkgname"/worker-controller.* "$subpkgdir/etc/$pkgname/" -} - -proxy() { - pkgdesc="$pkgdesc (milter support)" - license="Apache-2.0" - depends="$pkgname" - - mkdir -p "$subpkgdir/etc/$pkgname" - mv "$pkgdir/etc/$pkgname"/worker-proxy.* "$subpkgdir/etc/$pkgname/" + mv "$pkgdir/usr/bin/${pkgname}"_stats "$subpkgdir/usr/bin/" } -sha512sums="dda099dd9a17699d143fc8018b89fbecfa9659eccc26b5fb88bc3f40c47e935993dfc81f1f93bb69880d17af40870e6ea20edbeed7e3f4c12c278f5c12b56a51 rspamd-3.8.4.tar.gz +sha512sums="979aad9d2cc720c12922d55f4ad742b65e18d0ca52ebb764a2432bd3d64e559461c8e1fa87f7ac52e614df71d0a776aa0362a876eaa745cd3f8c21afee52b8ab rspamd-3.11.1.tar.gz 2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287fb3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb rspamd.logrotated -782e1126d32e450a1db0ac822c127b9a763f903093f200bdf603a6a0610a853671b94c89b0bb2d8ebdfb065e0cf62be51c1c7f451e8da34e25f252a276c2b0f3 rspamd.initd -a2003ef0c9d64a44480f59302864a2dfedcbe3a0047fcbb655408bc8aae9014b6ad0ddc6b64d4abeeb21bea0f86678afd30589ac8eed83e07ad7f87710e93702 rspamd.confd -0321c76b42131943f7b53efeb6bbd1c5b732fdec4f796838568af45d245066518f8b2ccd667d5a370df539ba73dda47e66d4ce0eeb211ef6fc5942e96c2e311b 10-conf-split-workers.patch" +c136126e3d3953079939b2b0b9b49f5f921af4c3aa0ad59a206632436ff963a69b5980a3b8e4eb14882d8db31d6fd96045a9e1cd6302ad111d76b8e92fab890e rspamd.initd +a2003ef0c9d64a44480f59302864a2dfedcbe3a0047fcbb655408bc8aae9014b6ad0ddc6b64d4abeeb21bea0f86678afd30589ac8eed83e07ad7f87710e93702 rspamd.confd" diff --git a/user/rspamd/rspamd.initd b/user/rspamd/rspamd.initd index aaa40428b..cf0ea79ab 100644 --- a/user/rspamd/rspamd.initd +++ b/user/rspamd/rspamd.initd @@ -13,7 +13,7 @@ description_reopen="Reopen log files" : ${cfgfile:=${RSPAMD_CONFIG:-/etc/rspamd/rspamd.conf}} : ${startuplog:=${RSPAMD_STARTUPLOG:-/dev/null}} -command="/usr/sbin/rspamd" +command="/usr/bin/rspamd" command_args="--config $cfgfile --no-fork ${command_args:-}" command_background="yes" pidfile="/run/rspamd/$RC_SVCNAME.pid" diff --git a/user/s6-dns/APKBUILD b/user/s6-dns/APKBUILD index 58de23ace..cbccc10cf 100644 --- a/user/s6-dns/APKBUILD +++ b/user/s6-dns/APKBUILD @@ -1,36 +1,34 @@ -# Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-dns -pkgver=2.4.0.0 +pkgver=2.4.1.0 pkgrel=0 pkgdesc="skarnet.org's DNS client libraries and command-line DNS client utilities" url="https://skarnet.org/software/s6-dns/" arch="all" options="!check" license="ISC" -_skalibs_version=2.14.3 +_skalibs_version=2.14.4 depends="" depends_dev="skalibs-dev>=$_skalibs_version" makedepends="$depends_dev" subpackages="$pkgname-dev $pkgname-libs $pkgname-doc" -source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz s6-dns.pc.in" +source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz" build() { ./configure \ --enable-shared \ --disable-allstatic \ --prefix=/usr \ - --libexecdir="/usr/lib/$pkgname" + --libexecdir="/usr/lib/$pkgname" \ + --with-pkgconfig \ + --enable-pkgconfig make } package() { make DESTDIR="$pkgdir" install mkdir -p -m 0755 "$pkgdir/usr/share/doc" - sed -e "s/@@VERSION@@/$pkgver/g; s/@@SKALIBS_VERSION@@/${_skalibs_version}/g;" "$srcdir/$pkgname.pc.in" > "$srcdir/$pkgname.pc" - install -D -m 0644 "$srcdir/$pkgname.pc" "$pkgdir/usr/lib/pkgconfig/$pkgname.pc" cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname" } -sha512sums="6c9eb8ad4501ac20733747ae0065ed1d19abd2c61e29e98fc6d0421367ec9ece951daea287e4ec8c4301a74b6f96b8a0e376b4b3ba046cca515b8b57d69600e2 s6-dns-2.4.0.0.tar.gz -fd93571da2d2a6c2dea00219414f9ee5fe3bc09a4a6a7fd002b9251c22ff682eddfeff4bf9c6c90d8b02681fc8117328a1fd9689839ab457d354870c522bf5e7 s6-dns.pc.in" +sha512sums="48e8c6b0bf0704b674f56267ea3e4b7261bbc6344b121ec87053a9a7e2f4740e5e90ec60eaaa96a1e0fe08f82f4f8ffd8b29d4d097a1a108d9bcbaae0de3905b s6-dns-2.4.1.0.tar.gz" diff --git a/user/s6-dns/s6-dns.pc.in b/user/s6-dns/s6-dns.pc.in deleted file mode 100644 index 1edd81bca..000000000 --- a/user/s6-dns/s6-dns.pc.in +++ /dev/null @@ -1,6 +0,0 @@ -Name: s6-dns -Description: A DNS client library for sync+async single-threaded resolution -URL: https://skarnet.org/software/s6-dns/ -Version: @@VERSION@@ -Requires.private: skalibs >= @@SKALIBS_VERSION@@ -Libs: -ls6dns diff --git a/user/s6-linux-utils/APKBUILD b/user/s6-linux-utils/APKBUILD index c9ca33c70..6dcd1feb8 100644 --- a/user/s6-linux-utils/APKBUILD +++ b/user/s6-linux-utils/APKBUILD @@ -1,14 +1,13 @@ -# Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-linux-utils -pkgver=2.6.2.1 +pkgver=2.6.3.0 pkgrel=0 pkgdesc="skarnet.org's Linux-specific miscellaneous utilities" url="https://skarnet.org/software/s6-linux-utils/" arch="all" options="!check" license="ISC" -_skalibs_version=2.14.3 +_skalibs_version=2.14.4 depends="" makedepends="skalibs-dev>=$_skalibs_version" subpackages="$pkgname-doc" @@ -18,7 +17,9 @@ build() { ./configure \ --disable-allstatic \ --prefix=/usr \ - --with-dynlib=/lib + --with-dynlib=/lib \ + --with-pkgconfig \ + --enable-pkgconfig make } @@ -28,4 +29,4 @@ package() { cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname" } -sha512sums="d3f796c1edc0de6e289b7b82e8c97ea58e80d0bcb2e4731a5c2c25cf4abfbd91318e33ab48956bc6e7b2f188c622bb33def72e96f22f9448778ede5ac829c940 s6-linux-utils-2.6.2.1.tar.gz" +sha512sums="ddd8f96d637b25d3f846d546145325a8cb78a3ba3cbf897649f924ee739c7dbe891907f886dd25f11d0354b40022fe7d16b1907044716d05720e8fd6c0171e60 s6-linux-utils-2.6.3.0.tar.gz" diff --git a/user/s6-networking/APKBUILD b/user/s6-networking/APKBUILD index 75dcd1f64..b6757a898 100644 --- a/user/s6-networking/APKBUILD +++ b/user/s6-networking/APKBUILD @@ -1,23 +1,22 @@ -# Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-networking -pkgver=2.7.0.4 +pkgver=2.7.1.0 pkgrel=0 pkgdesc="skarnet.org's UCSPI TCP and TLS tools, access control tools, and network time management utilities." url="https://skarnet.org/software/s6-networking/" arch="all" options="!check" # No test suite. license="ISC" -_skalibs_version=2.14.3 -_execline_version=2.9.6 -_s6_version=2.13.1 -_s6dns_version=2.4.0 +_skalibs_version=2.14.4 +_execline_version=2.9.7 +_s6_version=2.13.2 +_s6dns_version=2.4.1 _bearssl_version=0.6 depends="execline" depends_dev="skalibs-dev>=$_skalibs_version" makedepends="$depends_dev execline-dev>=$_execline_version s6-dev>=$_s6_version s6-dns-dev>=$_s6dns_version bearssl-dev>=$_bearssl_version" subpackages="$pkgname-dev $pkgname-libs $pkgname-doc" -source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz s6-networking.pc.in" +source="https://skarnet.org/software/$pkgname/$pkgname-$pkgver.tar.gz" build() { ./configure \ @@ -25,17 +24,16 @@ build() { --disable-allstatic \ --prefix=/usr \ --libexecdir="/usr/lib/$pkgname" \ + --with-pkgconfig \ + --enable-pkgconfig \ --enable-ssl=bearssl make } package() { make DESTDIR="$pkgdir" install - sed -e "s/@@VERSION@@/$pkgver/g; s/@@SKALIBS_VERSION@@/${_skalibs_version}/g;" "$srcdir/$pkgname.pc.in" > "$srcdir/$pkgname.pc" - install -D -m 0644 "$srcdir/$pkgname.pc" "$pkgdir/usr/lib/pkgconfig/$pkgname.pc" mkdir -p -m 0755 "$pkgdir/usr/share/doc" cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname" } -sha512sums="2a789cbc2f901e78fffb959fcbddf89c71de75c0d57d3fb1a927418fa8a43f71057c2b50b03e15aa45d5d7ee6521e76b697ae57eef2b7eea760ef9295314dc9b s6-networking-2.7.0.4.tar.gz -d6a17ebe194c4ffb1c402fec7589e34961b2b73cd4b380c2ffe9e7d74667d150f4c200cfc6f2e07e44eb14fbb8c51d0e1d2f39c284553472c5b4ae1137381d9f s6-networking.pc.in" +sha512sums="33741efa5c1908f8e7396929df08c3591e25b7c58335b331a146db17a9b7e5c00b75dd3337aa46114723969b8490fb1b6754a25357003780bdfd0a2fd8e3283c s6-networking-2.7.1.0.tar.gz" diff --git a/user/s6-networking/s6-networking.pc.in b/user/s6-networking/s6-networking.pc.in deleted file mode 100644 index d0a288192..000000000 --- a/user/s6-networking/s6-networking.pc.in +++ /dev/null @@ -1,6 +0,0 @@ -Name: s6-networking -Description: A C interface to some rfc1413 functions -URL: https://skarnet.org/software/s6-networking/ -Version: @@VERSION@@ -Requires.private: skalibs >= @@SKALIBS_VERSION@@ -Libs: -ls6net diff --git a/user/s6-portable-utils/APKBUILD b/user/s6-portable-utils/APKBUILD index 9752d687c..6d0909f02 100644 --- a/user/s6-portable-utils/APKBUILD +++ b/user/s6-portable-utils/APKBUILD @@ -1,14 +1,13 @@ -# Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=s6-portable-utils -pkgver=2.3.0.4 +pkgver=2.3.1.0 pkgrel=0 pkgdesc="skarnet.org's portable miscellaneous utilities" url="https://skarnet.org/software/s6-portable-utils/" arch="all" options="!check" license="ISC" -_skalibs_version=2.14.3 +_skalibs_version=2.14.4 depends="" makedepends="skalibs-dev>=$_skalibs_version" subpackages="$pkgname-doc" @@ -18,7 +17,9 @@ build() { ./configure \ --disable-allstatic \ --prefix=/usr \ - --with-dynlib=/lib + --with-dynlib=/lib \ + --with-pkgconfig \ + --enable-pkgconfig make } @@ -28,4 +29,4 @@ package() { cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname" } -sha512sums="0da4fb637f414d870e0476a01c08448b021d2c20c9a4746ab1c6c700e8eeb055d57f6e8326228694463483cd307e308f8fe148a615232039f32dcf351d5060ec s6-portable-utils-2.3.0.4.tar.gz" +sha512sums="80ab6152d5c3f88449d77924ceb43ccef12a41918d2fd8042ded15423b8f65e612d582c6475d73c500380018a91f7adc48c71740c898015565a046a8fbef1cd5 s6-portable-utils-2.3.1.0.tar.gz" diff --git a/user/sdl/APKBUILD b/user/sdl/APKBUILD index 4c3d0084f..39bde54af 100644 --- a/user/sdl/APKBUILD +++ b/user/sdl/APKBUILD @@ -10,7 +10,7 @@ license="LGPL-2.1+" depends="" depends_dev="libx11-dev" makedepends="$depends_dev libxext-dev libxrender-dev libx11-dev libice-dev - libsm-dev libxrandr-dev mesa-dev alsa-lib-dev glu-dev" + libsm-dev libxrandr-dev libglvnd-dev alsa-lib-dev glu-dev" subpackages="$pkgname-dev $pkgname-doc" source="http://www.libsdl.org/release/SDL-$pkgver.tar.gz SDL-1.2.10-GrabNotViewable.patch diff --git a/user/sdl2/APKBUILD b/user/sdl2/APKBUILD index c7dd81e68..6e380a778 100644 --- a/user/sdl2/APKBUILD +++ b/user/sdl2/APKBUILD @@ -1,8 +1,8 @@ # Contributor: August Klein <amatcoder@gmail.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=sdl2 -pkgver=2.0.12 -pkgrel=0 +pkgver=2.0.22 +pkgrel=1 pkgdesc="Low level audio, keyboard, mouse, joystick and graphics library" url="https://www.libsdl.org/" arch="all" @@ -11,9 +11,11 @@ license="zlib" depends="" makedepends="alsa-lib-dev libx11-dev libxcursor-dev libxext-dev libxi-dev libxkbcommon-dev libxrandr-dev libxrender-dev libusb-dev mesa-dev - libxscrnsaver-dev dbus-dev eudev-dev pulseaudio-dev cmake" + libxscrnsaver-dev dbus-dev eudev-dev pulseaudio-dev libglvnd-dev cmake + libxinerama-dev wayland-dev wayland-protocols" subpackages="$pkgname-dev" source="https://www.libsdl.org/release/SDL2-$pkgver.tar.gz + altivec-detection.patch sdl2-soname.patch " builddir="$srcdir/SDL2-$pkgver" @@ -27,7 +29,7 @@ build() { -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DBUILD_SHARED_LIBS=True \ - -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_FLAGS="$CFLAGS" \ ${CMAKE_CROSSOPTS} -Bbuild make -C build @@ -37,5 +39,6 @@ package() { make DESTDIR="$pkgdir" -C build install } -sha512sums="3f1f04af0f3d9dda9c84a2e9274ae8d83ea0da3fc367970a820036cc4dc1dbf990cfc37e4975ae05f0b45a4ffa739c6c19e470c00bf3f2bce9b8b63717b8b317 SDL2-2.0.12.tar.gz +sha512sums="ca4b690433cd4d9d73b797da98666317128e7e817ab60e874a49d94791ea41e8a6b4fc43649593120daa0702190c0f8a6ed326c908d87375c8da9f369d994f6a SDL2-2.0.22.tar.gz +f7ca983c0450e95a760041c5c329e715bb513100efbd12c2469fd283e7ca4d3643b8180d6d5e64c66075ea03e1e88364853aa76d3db6dbcc8d22e8eb385881d6 altivec-detection.patch 81b5807cd9f2683231c14562e961467fcd7ba257140d1a266932d6a6a5103633e3af896c09b261620b2934d521809e08ed79d3287c0897f4783c6afc1c01a566 sdl2-soname.patch" diff --git a/user/sdl2/altivec-detection.patch b/user/sdl2/altivec-detection.patch new file mode 100644 index 000000000..ccb60a375 --- /dev/null +++ b/user/sdl2/altivec-detection.patch @@ -0,0 +1,22 @@ +Use getauxval on Linux if available. + +--- SDL2-2.0.22/src/cpuinfo/SDL_cpuinfo.c.old 2022-01-08 02:29:52.000000000 +0000 ++++ SDL2-2.0.22/src/cpuinfo/SDL_cpuinfo.c 2025-04-27 18:58:12.097867624 +0000 +@@ -113,7 +113,7 @@ + #define CPU_HAS_AVX512F (1 << 12) + #define CPU_HAS_ARM_SIMD (1 << 13) + +-#if SDL_ALTIVEC_BLITTERS && HAVE_SETJMP && !__MACOSX__ && !__OpenBSD__ && !__FreeBSD__ ++#if SDL_ALTIVEC_BLITTERS && HAVE_SETJMP && !__MACOSX__ && !__OpenBSD__ && !__FreeBSD__ && !__linux__ + /* This is the brute force way of detecting instruction sets... + the idea is borrowed from the libmpeg2 library - thanks! + */ +@@ -333,6 +333,8 @@ + elf_aux_info(AT_HWCAP, &cpufeatures, sizeof(cpufeatures)); + altivec = cpufeatures & PPC_FEATURE_HAS_ALTIVEC; + return altivec; ++#elif defined(__linux__) && defined(__powerpc__) && HAVE_GETAUXVAL ++ altivec = getauxval(AT_HWCAP) & PPC_FEATURE_HAS_ALTIVEC; + #elif SDL_ALTIVEC_BLITTERS && HAVE_SETJMP + void (*handler) (int sig); + handler = signal(SIGILL, illegal_instruction); 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/setxkbmap/APKBUILD b/user/setxkbmap/APKBUILD index 087db5504..1654e9ba5 100644 --- a/user/setxkbmap/APKBUILD +++ b/user/setxkbmap/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=setxkbmap -pkgver=1.3.3 +pkgver=1.3.4 pkgrel=0 pkgdesc="Set keyboard layout in X11" url="https://www.X.Org/" @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="208f07a7f7bce47b573099d4cd8c941a3a4d74b456720bc3ca1cbba298381a2ab98c7500d6e6cd6d5dd61840b7c42cf6521da754ec395f266f8158102a55ad58 setxkbmap-1.3.3.tar.xz" +sha512sums="f4d026e7707656173f54d79b95ff3370ae06eaf252b89b79bc7175edeaf3ef79073d4d7d8a35fdee95608bf85d7d23514d74f00e55b613810ef6c3ccc0cf498b setxkbmap-1.3.4.tar.xz" diff --git a/user/smtpd-starttls-proxy/APKBUILD b/user/smtpd-starttls-proxy/APKBUILD index d0e3a8a8a..7896f97e2 100644 --- a/user/smtpd-starttls-proxy/APKBUILD +++ b/user/smtpd-starttls-proxy/APKBUILD @@ -1,16 +1,15 @@ -# Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=smtpd-starttls-proxy -pkgver=0.0.1.5 +pkgver=0.0.2.0 pkgrel=0 pkgdesc="An SMTP proxy implementing STARTTLS" url="https://skarnet.org/software/smtpd-starttls-proxy/" arch="all" options="!check" # No test suite. license="ISC" -_skalibs_version=2.14.3 -_s6_version=2.13.1 -_s6net_version=2.7.0 +_skalibs_version=2.14.4 +_s6_version=2.13.2 +_s6net_version=2.7.1 depends="s6>=$_s6_version s6-networking>=$_s6net_version" makedepends="skalibs-dev>=$_skalibs_version s6-dev" subpackages="$pkgname-dev $pkgname-doc" @@ -19,7 +18,9 @@ source="https://skarnet.org/software/smtpd-starttls-proxy/smtpd-starttls-proxy-$ build() { ./configure \ --disable-allstatic \ - --prefix=/usr + --prefix=/usr \ + --with-pkgconfig \ + --enable-pkgconfig make } @@ -29,4 +30,4 @@ package() { cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname" } -sha512sums="228b4f15abdf94a814e03c57f3c6eacf604575128710e26921e8010d73c97ed2ff717185bc06b6bfd1e380f34201154a85b9864a7aef4881b3e0329948cc608e smtpd-starttls-proxy-0.0.1.5.tar.gz" +sha512sums="e13bd72c0afdbe6e6673867b1d7354aa7067f755eebd3db32ecbaef2759e3db626954cacf4cb70d8aaea8899bf7c22a997f797f9991978890399ccfcb55de483 smtpd-starttls-proxy-0.0.2.0.tar.gz" diff --git a/user/spack/APKBUILD b/user/spack/APKBUILD index 5f696e7a1..71f7331c3 100644 --- a/user/spack/APKBUILD +++ b/user/spack/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Zach van Rijn <me@zv.io> # Maintainer: Zach van Rijn <me@zv.io> pkgname=spack -pkgver=0.21.0_p1 -pkgrel=5 +pkgver=0.23.0_p1 +pkgrel=0 pkgdesc="A flexible package manager for supercomputers." url="https://spack.io/" arch="all" @@ -17,7 +17,6 @@ subpackages="" # https://git.adelielinux.org/adelie/docs/-/wikis/Developer-Resources/Maintaining-Spack source="https://git.adelielinux.org/adelie/$pkgname/-/archive/adelie-v$pkgver/$pkgname-adelie-v$pkgver.tar.bz2 clingo-explicit-libatomic.patch - archspec-fix-cpu-family-detection.patch openssl-explicit-linux-headers.patch default-no-buildcache.patch @@ -44,10 +43,15 @@ check() { # On first run, Spack >=0.17.0 will bootstrap "clingo", # Spack's new "concretizer". The output from this process # is not kept, however it demonstrates Spack's functionality. + # + # The '--deprecated' flag is to prevent an interactive prompt + # warning about "deprecated" packages and/or versions. Order + # is important; it must come after the 'install' verb. + # export SPACK_DISABLE_LOCAL_CONFIG=true export SPACK_USER_CONFIG_PATH=${builddir}/tmp export SPACK_USER_CACHE_PATH=${builddir}/tmp - bin/spack --debug install zlib + bin/spack --debug install --deprecated zlib rm -fr var/spack/cache rm -fr etc/spack/linux # caches compilers.yaml @@ -67,9 +71,8 @@ package() { install -D -m644 "${srcdir}"/config.yaml "$pkgdir"/etc/spack/config.yaml; } -sha512sums="85ae21de1f6c3d6eb3d3f0edc878820f17bae27236ea89eae0f733fa178eff25da41264960a492a2f34e03bd4f668ba1a2cfc395a814693c23f83b4ac2a80985 spack-adelie-v0.21.0_p1.tar.bz2 -30f6d193971bc6f2941141d0da50d339c459f2b9c6157cc2659a589bd2b546fba35d580cad79dd1bc74bcd9de7db31bc937418598d73b68c69876fee6a1c5c73 clingo-explicit-libatomic.patch -a6503238d116b74ff9c4ecd08a984df90ce02f95c3e10e907481d99917c73339db1cc49f2b473a37875b92a9a6607cac72057c0a7b3d9a57d44c89ebe0ad3915 archspec-fix-cpu-family-detection.patch +sha512sums="c40eb2ce32a7a432474c76ec76cda3a2830b7e9668d1dd76bf491d09d4bea6902e24f1fbff3c39ac67d2c0dd1f89560662a2828f9516ed99df8dc8bbd01afe6d spack-adelie-v0.23.0_p1.tar.bz2 +a84df22016109bb8d86b5215b698251a5b10873042361c8bab79e4235e00f381a2d66cbfd84ce6b7933125971f3248008124ef7f7ad85451bf72b815c5b56aa0 clingo-explicit-libatomic.patch 8ded405082eec192187fb72896c68200985ee1226b2ef7da19ab43f31138972d5b4000cf997cb6e22664a7c100b52b842df07c44e188f87d4250f698d1885ea6 openssl-explicit-linux-headers.patch eec3e7dd818c39daea7b8d63b04a6c71d9eb3af32dd899cddc3642152252f4e2eebfd53c3c95365117f9a4826f6f29553f44373948e5c474388021302c8a5ce9 default-no-buildcache.patch eb09ce82d2c5c63c2cc63b2f82db2888f15ce82100311614f5a73773be2f605337811c4580e0d4eb2f87b730e7ce4afa6dcdc3f3f52321f63a29a2ad533ea5d4 default-adelie-upstream-git.patch diff --git a/user/spack/archspec-fix-cpu-family-detection.patch b/user/spack/archspec-fix-cpu-family-detection.patch deleted file mode 100644 index a3979ec95..000000000 --- a/user/spack/archspec-fix-cpu-family-detection.patch +++ /dev/null @@ -1,16 +0,0 @@ -See also: https://github.com/archspec/archspec/issues/102 - -diff --git a/lib/spack/external/archspec/cpu/detect.py b/lib/spack/external/archspec/cpu/detect.py -index a7cc4481f6..cadd593ca2 100644 ---- a/lib/spack/external/archspec/cpu/detect.py -+++ b/lib/spack/external/archspec/cpu/detect.py -@@ -92,7 +92,8 @@ def _machine(): - - # If we are not on Darwin, trust what Python tells us - if operating_system != "Darwin": -- return platform.machine() -+ machine = platform.machine() -+ return TARGETS[machine].family.name if machine in TARGETS else machine - - # On Darwin it might happen that we are on M1, but using an interpreter - # built for x86_64. In that case "platform.machine() == 'x86_64'", so we diff --git a/user/spack/clingo-explicit-libatomic.patch b/user/spack/clingo-explicit-libatomic.patch index 6a1d1a0aa..60bf83c5d 100644 --- a/user/spack/clingo-explicit-libatomic.patch +++ b/user/spack/clingo-explicit-libatomic.patch @@ -1,12 +1,12 @@ diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py -index ab5fe9a043..8a31208850 100644 +index 73ff2b1769..40c2c61dfc 100644 --- a/var/spack/repos/builtin/packages/clingo/package.py +++ b/var/spack/repos/builtin/packages/clingo/package.py -@@ -120,6 +120,7 @@ def cmake_args(self): - "-DCLINGO_BUILD_WITH_PYTHON=ON", - "-DPYCLINGO_USER_INSTALL=OFF", - "-DPYCLINGO_USE_INSTALL_PREFIX=ON", -+ "-DCMAKE_CXX_STANDARD_LIBRARIES=-latomic", +@@ -118,6 +118,7 @@ def cmake_args(self): + self.define("PYCLINGO_USE_INSTALL_PREFIX", True), + self.define("PYCLINGO_INSTALL_DIR", python_platlib), + self.define("PYCLINGO_SUFFIX", suffix), ++ self.define("CMAKE_CXX_STANDARD_LIBRARIES", "-latomic"), self.cmake_py_shared, ] - if self.spec["cmake"].satisfies("@3.16.0:"): + else: diff --git a/user/spice-gtk/APKBUILD b/user/spice-gtk/APKBUILD index dae9a0eca..f1fd970a8 100644 --- a/user/spice-gtk/APKBUILD +++ b/user/spice-gtk/APKBUILD @@ -19,7 +19,9 @@ makedepends="$depends_dev acl-dev bash cyrus-sasl-dev eudev-dev zlib-dev" subpackages="$pkgname-dev $pkgname-doc $pkgname-lang spicy spice-glib:glib" -source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.xz" +source="https://www.spice-space.org/download/gtk/$pkgname-$pkgver.tar.xz + fix-dirty-spicy-corruption.patch + " build() { # Note: pulseaudio support is disabled because it's deprecated. @@ -64,4 +66,5 @@ glib() { "$subpkgdir"/usr/lib/girepository-1.0/ } -sha512sums="fd567e35f6d4ebfe6ef004f358dca4c41254336f55f7dd26cf67b62b2acb4866907186bd0526b7cb52b0c24020cdc8809251127498a8d357555bb0c5d3b8f137 spice-gtk-0.42.tar.xz" +sha512sums="fd567e35f6d4ebfe6ef004f358dca4c41254336f55f7dd26cf67b62b2acb4866907186bd0526b7cb52b0c24020cdc8809251127498a8d357555bb0c5d3b8f137 spice-gtk-0.42.tar.xz +4da61b94db02f4db400be45933bb6d3d3aa05137dfba78dcbc1757d9709c4252984e12f61f88c953597925e3145f5637fde1e76422513e0d1808b53c61c521c7 fix-dirty-spicy-corruption.patch" diff --git a/user/spice-gtk/fix-dirty-spicy-corruption.patch b/user/spice-gtk/fix-dirty-spicy-corruption.patch new file mode 100644 index 000000000..44397fc67 --- /dev/null +++ b/user/spice-gtk/fix-dirty-spicy-corruption.patch @@ -0,0 +1,23 @@ +diff -ur a/build-aux/git-version-gen b/build-aux/git-version-gen +--- a/build-aux/git-version-gen 2024-12-10 15:40:58.099527209 +0000 ++++ b/build-aux/git-version-gen 2024-12-10 15:44:18.316014690 +0000 +@@ -133,19 +133,6 @@ + + v=`echo "$v" |sed 's/^v//'` + +-# Don't declare a version "dirty" merely because a time stamp has changed. +-git update-index --refresh > /dev/null 2>&1 +- +-dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty= +-case "$dirty" in +- '') ;; +- *) # Append the suffix only if there isn't one already. +- case $v in +- *-dirty) ;; +- *) v="$v-dirty" ;; +- esac ;; +-esac +- + # Omit the trailing newline, so that m4_esyscmd can use the result directly. + echo "$v" | tr -d "$nl" + diff --git a/user/spirv-headers/APKBUILD b/user/spirv-headers/APKBUILD new file mode 100644 index 000000000..06f2234db --- /dev/null +++ b/user/spirv-headers/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=spirv-headers +pkgver=1.3.290.0 +pkgrel=0 +pkgdesc="Headers for translation between SPIR-V and LLVM IR" +url="https://github.com/KhronosGroup/SPIRV-Headers" +arch="noarch" +license="MIT" +depends="" +makedepends="cmake" +subpackages="" +source="spirv-headers-$pkgver.tar.gz::https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-$pkgver.tar.gz" +builddir="$srcdir/SPIRV-Headers-vulkan-sdk-$pkgver" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + ${CMAKE_CROSSOPTS} \ + . + make +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="d3328cd4ddf87d075afacfb7ada01dbd16a3ff39b831e9ebe4ce3c32af0ff0c8822811b0e0d273a54b4acaba29b63b099efcf0150424bd9074d24d04a9974d89 spirv-headers-1.3.290.0.tar.gz" diff --git a/user/spirv-tools/APKBUILD b/user/spirv-tools/APKBUILD new file mode 100644 index 000000000..874d2de0a --- /dev/null +++ b/user/spirv-tools/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=spirv-tools +pkgver=2024.3 +pkgrel=0 +pkgdesc="Utilities for working with SPIR-V modules " +url="https://github.com/KhronosGroup/SPIRV-Tools" +arch="all" +license="Apache-2.0" +depends="" +depends_dev="spirv-headers" +makedepends="$depends_dev cmake python3" +subpackages="$pkgname-dev" +source="spirv-tools-$pkgver.tar.gz::https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v$pkgver.tar.gz + endian.patch + remove-copyright-check-test.patch + " +builddir="$srcdir/SPIRV-Tools-$pkgver" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DSPIRV-Headers_SOURCE_DIR="/usr" \ + -DSPIRV_TOOLS_BUILD_STATIC=off \ + ${CMAKE_CROSSOPTS} \ + . + make +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="804e2a076025a9afde2d7b0b6950fa7b7289b9aa911348b10aad45cc3515116b7484e886d49b524315f75e8d1a2009c2f26310352c154d1b23a58864e8535324 spirv-tools-2024.3.tar.gz +d31f1650a9f1d35b4ee95eddd6bd6aceb3490591e269f283b71589cfd3ca69b77467cabf659fdc42ee96433092434137a3be55c69b60b7edbcc40d5ed76357b1 endian.patch +a04f1a4d60d6206cbbd5e97dda58ca05689835520617dfe7bdfe29d66ab987f68080fbee85c039aecab554e01d94b16a99acfc2ffd29d9ef5861d3dd2e2dccb1 remove-copyright-check-test.patch" diff --git a/user/spirv-tools/endian.patch b/user/spirv-tools/endian.patch new file mode 100644 index 000000000..82a2812ad --- /dev/null +++ b/user/spirv-tools/endian.patch @@ -0,0 +1,283 @@ +From 4826b6eabc6102e49562c48effcabb7b87ceb041 Mon Sep 17 00:00:00 2001 +From: Hugo Devillers <hugo@xol.io> +Date: Sat, 1 Jul 2023 11:33:17 +0200 +Subject: [PATCH 1/6] remove dead code dealing with operand endianness + +--- + source/binary.cpp | 21 ++++++--------------- + 1 file changed, 6 insertions(+), 15 deletions(-) + +diff --git a/source/binary.cpp b/source/binary.cpp +index 207d4a9b37..b1e1922445 100644 +--- a/source/binary.cpp ++++ b/source/binary.cpp +@@ -440,10 +440,6 @@ spv_result_t Parser::parseOperand(size_t inst_offset, + + const uint32_t word = peek(); + +- // Do the words in this operand have to be converted to native endianness? +- // True for all but literal strings. +- bool convert_operand_endianness = true; +- + switch (type) { + case SPV_OPERAND_TYPE_TYPE_ID: + if (!word) +@@ -752,17 +748,12 @@ spv_result_t Parser::parseOperand(size_t inst_offset, + + if (_.requires_endian_conversion) { + // Copy instruction words. Translate to native endianness as needed. +- if (convert_operand_endianness) { +- const spv_endianness_t endianness = _.endian; +- std::transform(_.words + _.word_index, _.words + index_after_operand, +- std::back_inserter(*words), +- [endianness](const uint32_t raw_word) { +- return spvFixWord(raw_word, endianness); +- }); +- } else { +- words->insert(words->end(), _.words + _.word_index, +- _.words + index_after_operand); +- } ++ const spv_endianness_t endianness = _.endian; ++ std::transform(_.words + _.word_index, _.words + index_after_operand, ++ std::back_inserter(*words), ++ [endianness](const uint32_t raw_word) { ++ return spvFixWord(raw_word, endianness); ++ }); + } + + // Advance past the operand. + +From 39a63f822f0d1d93cabba4f4f3d980bc6ec1737b Mon Sep 17 00:00:00 2001 +From: Hugo Devillers <hugo@xol.io> +Date: Sat, 1 Jul 2023 11:50:03 +0200 +Subject: [PATCH 2/6] perform endianness conversion eagerly + +--- + source/binary.cpp | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git a/source/binary.cpp b/source/binary.cpp +index b1e1922445..d46dbc1d9e 100644 +--- a/source/binary.cpp ++++ b/source/binary.cpp +@@ -207,6 +207,10 @@ class Parser { + operands.reserve(25); + endian_converted_words.reserve(25); + expected_operands.reserve(25); ++ ++ native_words = std::make_unique<uint32_t[]>(num_words); ++ for (size_t i = 0; i < num_words; i++) ++ native_words[i] = spvFixWord(words[i], endian); + } + State() : State(0, 0, nullptr) {} + const uint32_t* words; // Words in the binary SPIR-V module. +@@ -218,6 +222,7 @@ class Parser { + // Is the SPIR-V binary in a different endianness from the host native + // endianness? + bool requires_endian_conversion; ++ std::unique_ptr<uint32_t[]> native_words; + + // Maps a result ID to its type ID. By convention: + // - a result ID that is a type definition maps to itself. +@@ -748,12 +753,8 @@ spv_result_t Parser::parseOperand(size_t inst_offset, + + if (_.requires_endian_conversion) { + // Copy instruction words. Translate to native endianness as needed. +- const spv_endianness_t endianness = _.endian; +- std::transform(_.words + _.word_index, _.words + index_after_operand, +- std::back_inserter(*words), +- [endianness](const uint32_t raw_word) { +- return spvFixWord(raw_word, endianness); +- }); ++ words->insert(words->end(), _.native_words.get() + _.word_index, ++ _.native_words.get() + index_after_operand); + } + + // Advance past the operand. + +From e6005633e64f4dac33aa2c4de42fe6bd3fb648ca Mon Sep 17 00:00:00 2001 +From: Hugo Devillers <hugo@xol.io> +Date: Sat, 1 Jul 2023 11:51:37 +0200 +Subject: [PATCH 3/6] fix string literals when file has non-native endianness + +--- + source/binary.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/binary.cpp b/source/binary.cpp +index d46dbc1d9e..34cb608abe 100644 +--- a/source/binary.cpp ++++ b/source/binary.cpp +@@ -591,7 +591,7 @@ spv_result_t Parser::parseOperand(size_t inst_offset, + case SPV_OPERAND_TYPE_OPTIONAL_LITERAL_STRING: { + const size_t max_words = _.num_words - _.word_index; + std::string string = +- spvtools::utils::MakeString(_.words + _.word_index, max_words, false); ++ spvtools::utils::MakeString(_.native_words.get() + _.word_index, max_words, false); + + if (string.length() == max_words * 4) + return exhaustedInputDiagnostic(inst_offset, opcode, type); + +From 3ccc744e814609fe63b755e37240e03cf07e2f2b Mon Sep 17 00:00:00 2001 +From: Hugo Devillers <hugo@xol.io> +Date: Sat, 1 Jul 2023 12:24:16 +0200 +Subject: [PATCH 4/6] don't convert endianness if not required + +--- + source/binary.cpp | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/source/binary.cpp b/source/binary.cpp +index 34cb608abe..69bd082598 100644 +--- a/source/binary.cpp ++++ b/source/binary.cpp +@@ -207,10 +207,6 @@ class Parser { + operands.reserve(25); + endian_converted_words.reserve(25); + expected_operands.reserve(25); +- +- native_words = std::make_unique<uint32_t[]>(num_words); +- for (size_t i = 0; i < num_words; i++) +- native_words[i] = spvFixWord(words[i], endian); + } + State() : State(0, 0, nullptr) {} + const uint32_t* words; // Words in the binary SPIR-V module. +@@ -267,6 +263,9 @@ spv_result_t Parser::parseModule() { + << _.words[0] << "'."; + } + _.requires_endian_conversion = !spvIsHostEndian(_.endian); ++ _.native_words = std::make_unique<uint32_t[]>(_.num_words); ++ for (size_t i = 0; i < _.num_words; i++) ++ _.native_words[i] = _.requires_endian_conversion ? spvFixWord(_.words[i], _.endian) : _.words[i]; + + // Process the header. + spv_header_t header; + +From 74df3cf1b49c9ae296ebbb16cf8e2e7b45584454 Mon Sep 17 00:00:00 2001 +From: Hugo Devillers <hugo@xol.io> +Date: Sat, 1 Jul 2023 12:42:04 +0200 +Subject: [PATCH 5/6] use native_words as a cache for spvFixWord + +--- + source/binary.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/binary.cpp b/source/binary.cpp +index 69bd082598..01322be0af 100644 +--- a/source/binary.cpp ++++ b/source/binary.cpp +@@ -173,7 +173,7 @@ class Parser { + // Returns the endian-corrected word at the given position. + uint32_t peekAt(size_t index) const { + assert(index < _.num_words); +- return spvFixWord(_.words[index], _.endian); ++ return _.native_words[index]; + } + + // Data members + +From 458eb86f866b489e93d17eee12f76207b93dd60d Mon Sep 17 00:00:00 2001 +From: Hugo Devillers <hugo@xol.io> +Date: Sat, 1 Jul 2023 16:59:06 +0200 +Subject: [PATCH 6/6] simplify and fix mismatched endian string parsing for + extract_source.cpp + +--- + tools/objdump/extract_source.cpp | 58 ++++---------------------------- + 1 file changed, 7 insertions(+), 51 deletions(-) + +diff --git a/tools/objdump/extract_source.cpp b/tools/objdump/extract_source.cpp +index 02959525c6..a179c722a0 100644 +--- a/tools/objdump/extract_source.cpp ++++ b/tools/objdump/extract_source.cpp +@@ -23,45 +23,12 @@ + #include "spirv-tools/libspirv.hpp" + #include "spirv/unified1/spirv.hpp" + #include "tools/util/cli_consumer.h" ++#include "source/binary.h" + + namespace { + + constexpr auto kDefaultEnvironment = SPV_ENV_UNIVERSAL_1_6; + +-// Extract a string literal from a given range. +-// Copies all the characters from `begin` to the first '\0' it encounters, while +-// removing escape patterns. +-// Not finding a '\0' before reaching `end` fails the extraction. +-// +-// Returns `true` if the extraction succeeded. +-// `output` value is undefined if false is returned. +-spv_result_t ExtractStringLiteral(const spv_position_t& loc, const char* begin, +- const char* end, std::string* output) { +- size_t sourceLength = std::distance(begin, end); +- std::string escapedString; +- escapedString.resize(sourceLength); +- +- size_t writeIndex = 0; +- size_t readIndex = 0; +- for (; readIndex < sourceLength; writeIndex++, readIndex++) { +- const char read = begin[readIndex]; +- if (read == '\0') { +- escapedString.resize(writeIndex); +- output->append(escapedString); +- return SPV_SUCCESS; +- } +- +- if (read == '\\') { +- ++readIndex; +- } +- escapedString[writeIndex] = begin[readIndex]; +- } +- +- spvtools::Error(spvtools::utils::CLIMessageConsumer, "", loc, +- "Missing NULL terminator for literal string."); +- return SPV_ERROR_INVALID_BINARY; +-} +- + spv_result_t extractOpString(const spv_position_t& loc, + const spv_parsed_instruction_t& instruction, + std::string* output) { +@@ -73,12 +40,8 @@ spv_result_t extractOpString(const spv_position_t& loc, + return SPV_ERROR_INVALID_BINARY; + } + +- const auto& operand = instruction.operands[1]; +- const char* stringBegin = +- reinterpret_cast<const char*>(instruction.words + operand.offset); +- const char* stringEnd = reinterpret_cast<const char*>( +- instruction.words + operand.offset + operand.num_words); +- return ExtractStringLiteral(loc, stringBegin, stringEnd, output); ++ *output = spvDecodeLiteralStringOperand(instruction, 1); ++ return SPV_SUCCESS; + } + + spv_result_t extractOpSourceContinued( +@@ -92,12 +55,8 @@ spv_result_t extractOpSourceContinued( + return SPV_ERROR_INVALID_BINARY; + } + +- const auto& operand = instruction.operands[0]; +- const char* stringBegin = +- reinterpret_cast<const char*>(instruction.words + operand.offset); +- const char* stringEnd = reinterpret_cast<const char*>( +- instruction.words + operand.offset + operand.num_words); +- return ExtractStringLiteral(loc, stringBegin, stringEnd, output); ++ *output = *output + spvDecodeLiteralStringOperand(instruction, 0); ++ return SPV_SUCCESS; + } + + spv_result_t extractOpSource(const spv_position_t& loc, +@@ -123,11 +82,8 @@ spv_result_t extractOpSource(const spv_position_t& loc, + return SPV_SUCCESS; + } + +- const char* stringBegin = +- reinterpret_cast<const char*>(instruction.words + 4); +- const char* stringEnd = +- reinterpret_cast<const char*>(instruction.words + instruction.num_words); +- return ExtractStringLiteral(loc, stringBegin, stringEnd, code); ++ *code = spvDecodeLiteralStringOperand(instruction, 3); ++ return SPV_SUCCESS; + } + + } // namespace diff --git a/user/spirv-tools/remove-copyright-check-test.patch b/user/spirv-tools/remove-copyright-check-test.patch new file mode 100644 index 000000000..7cd1cf879 --- /dev/null +++ b/user/spirv-tools/remove-copyright-check-test.patch @@ -0,0 +1,16 @@ +diff '--color=auto' -Nurd SPIRV-Tools-2024.3/CMakeLists.txt SPIRV-Tools-2024.3.new/CMakeLists.txt +--- SPIRV-Tools-2024.3/CMakeLists.txt 2024-06-20 07:29:42.000000000 -0700 ++++ SPIRV-Tools-2024.3.new/CMakeLists.txt 2024-08-27 20:52:51.548196076 -0700 +@@ -376,12 +376,6 @@ + ${CMAKE_INSTALL_INCLUDEDIR}/spirv-tools/) + endif(ENABLE_SPIRV_TOOLS_INSTALL) + +-if (NOT "${SPIRV_SKIP_TESTS}") +- add_test(NAME spirv-tools-copyrights +- COMMAND Python3::Interpreter utils/check_copyright.py +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +-endif() +- + set(SPIRV_LIBRARIES "-lSPIRV-Tools-opt -lSPIRV-Tools -lSPIRV-Tools-link") + set(SPIRV_SHARED_LIBRARIES "-lSPIRV-Tools-shared") + diff --git a/user/supertux/APKBUILD b/user/supertux/APKBUILD index 035119725..4e6b1c20d 100644 --- a/user/supertux/APKBUILD +++ b/user/supertux/APKBUILD @@ -9,7 +9,7 @@ arch="all" license="GPL-3.0+" depends="" makedepends="boost-dev cmake curl-dev glew-dev libogg-dev libvorbis-dev zlib-dev - mesa-dev openal-soft-dev physfs-dev sdl2-dev sdl2_image-dev doxygen + libglvnd-dev openal-soft-dev physfs-dev sdl2-dev sdl2_image-dev doxygen freetype-dev glm libpng-dev" subpackages="$pkgname-doc" source="https://github.com/SuperTux/supertux/releases/download/v$pkgver/SuperTux-v$pkgver-Source.tar.gz diff --git a/user/sway/APKBUILD b/user/sway/APKBUILD new file mode 100644 index 000000000..16a8b3992 --- /dev/null +++ b/user/sway/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=sway +pkgver=1.10 +pkgrel=0 +pkgdesc="tiling Wayland compositor like i3" +url="https://swaywm.org" +arch="all" +license="MIT" +depends="wlroots-0.18 swaybg" +makedepends="cairo-dev gdk-pixbuf-dev json-c-dev meson libevdev-dev + libinput-dev>=1.26.0 libxkbcommon>=1.5.0 pango-dev pcre2-dev scdoc + wayland-protocols wlroots-0.18-dev" +subpackages="$pkgname-doc" +source="https://github.com/swaywm/sway/releases/download/$pkgver/sway-$pkgver.tar.gz" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + --wrap-mode=nofallback \ + . output + meson compile -C output +} + +check() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="f75a80506d2dcae722ea64c47fa423b9713bcfaa6541ffc353abd413238abb9ab7c88490d54e30ef09dc003215aa6a0005e5b425c9c943f982d5ff3c7cfad440 sway-1.10.tar.gz" diff --git a/user/sway/license.txt b/user/sway/license.txt new file mode 100644 index 000000000..3a62bb416 --- /dev/null +++ b/user/sway/license.txt @@ -0,0 +1,472 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: FIXME +Upstream-Contact: FIXME +Source: FIXME +Disclaimer: Autogenerated by licensecheck + +Files: src/sway-1.9/.builds/alpine.yml + src/sway-1.9/.builds/archlinux.yml + src/sway-1.9/.builds/freebsd.yml + src/sway-1.9/.editorconfig + src/sway-1.9/.github/ISSUE_TEMPLATE/bug_report.md + src/sway-1.9/.github/ISSUE_TEMPLATE/config.yml + src/sway-1.9/.github/ISSUE_TEMPLATE/enhancement.md + src/sway-1.9/.github/ISSUE_TEMPLATE/i3_compat.md + src/sway-1.9/.mailmap + src/sway-1.9/CONTRIBUTING.md + src/sway-1.9/README.ar.md + src/sway-1.9/README.cs.md + src/sway-1.9/README.de.md + src/sway-1.9/README.dk.md + src/sway-1.9/README.es.md + src/sway-1.9/README.fr.md + src/sway-1.9/README.ge.md + src/sway-1.9/README.gr.md + src/sway-1.9/README.hi.md + src/sway-1.9/README.hu.md + src/sway-1.9/README.ir.md + src/sway-1.9/README.it.md + src/sway-1.9/README.ja.md + src/sway-1.9/README.ko.md + src/sway-1.9/README.md + src/sway-1.9/README.nl.md + src/sway-1.9/README.no.md + src/sway-1.9/README.pl.md + src/sway-1.9/README.pt.md + src/sway-1.9/README.ro.md + src/sway-1.9/README.ru.md + src/sway-1.9/README.sv.md + src/sway-1.9/README.tr.md + src/sway-1.9/README.uk.md + src/sway-1.9/README.zh-CN.md + src/sway-1.9/README.zh-TW.md + src/sway-1.9/assets/Sway_Logo+Text_Ver1.svg + src/sway-1.9/assets/Sway_Logo+Text_Ver1_1500x716.png + src/sway-1.9/assets/Sway_Logo+Text_Ver2.png + src/sway-1.9/assets/Sway_Logo+Text_Ver2.svg + src/sway-1.9/assets/Sway_Logo+Text_Ver3.svg + src/sway-1.9/assets/Sway_Logo+Text_Ver4.png + src/sway-1.9/assets/Sway_Logo+Text_Ver4.svg + src/sway-1.9/assets/Sway_Tree.png + src/sway-1.9/assets/Sway_Tree.svg + src/sway-1.9/assets/Sway_Wallpaper_Blue_1136x640.png + src/sway-1.9/assets/Sway_Wallpaper_Blue_1136x640_Portrait.png + src/sway-1.9/assets/Sway_Wallpaper_Blue_2048x1536.png + src/sway-1.9/assets/Sway_Wallpaper_Blue_768x1024.png + src/sway-1.9/assets/Sway_Wallpaper_Blue_768x1024_Portrait.png + src/sway-1.9/client/meson.build + src/sway-1.9/client/pool-buffer.c + src/sway-1.9/common/background-image.c + src/sway-1.9/common/cairo.c + src/sway-1.9/common/gesture.c + src/sway-1.9/common/ipc-client.c + src/sway-1.9/common/list.c + src/sway-1.9/common/log.c + src/sway-1.9/common/loop.c + src/sway-1.9/common/meson.build + src/sway-1.9/common/pango.c + src/sway-1.9/common/stringop.c + src/sway-1.9/common/util.c + src/sway-1.9/completions/bash/sway + src/sway-1.9/completions/bash/swaybar + src/sway-1.9/completions/bash/swaymsg + src/sway-1.9/completions/fish/sway.fish + src/sway-1.9/completions/fish/swaymsg.fish + src/sway-1.9/completions/fish/swaynag.fish + src/sway-1.9/completions/meson.build + src/sway-1.9/completions/zsh/_sway + src/sway-1.9/completions/zsh/_swaybar + src/sway-1.9/completions/zsh/_swaymsg + src/sway-1.9/config.in + src/sway-1.9/include/background-image.h + src/sway-1.9/include/cairo_util.h + src/sway-1.9/include/gesture.h + src/sway-1.9/include/ipc-client.h + src/sway-1.9/include/ipc.h + src/sway-1.9/include/list.h + src/sway-1.9/include/log.h + src/sway-1.9/include/loop.h + src/sway-1.9/include/meson.build + src/sway-1.9/include/pango.h + src/sway-1.9/include/pool-buffer.h + src/sway-1.9/include/stringop.h + src/sway-1.9/include/sway/commands.h + src/sway-1.9/include/sway/config.h + src/sway-1.9/include/sway/criteria.h + src/sway-1.9/include/sway/decoration.h + src/sway-1.9/include/sway/desktop.h + src/sway-1.9/include/sway/desktop/idle_inhibit_v1.h + src/sway-1.9/include/sway/desktop/launcher.h + src/sway-1.9/include/sway/desktop/transaction.h + src/sway-1.9/include/sway/input/cursor.h + src/sway-1.9/include/sway/input/input-manager.h + src/sway-1.9/include/sway/input/keyboard.h + src/sway-1.9/include/sway/input/libinput.h + src/sway-1.9/include/sway/input/seat.h + src/sway-1.9/include/sway/input/switch.h + src/sway-1.9/include/sway/input/tablet.h + src/sway-1.9/include/sway/input/text_input.h + src/sway-1.9/include/sway/ipc-json.h + src/sway-1.9/include/sway/ipc-server.h + src/sway-1.9/include/sway/layers.h + src/sway-1.9/include/sway/output.h + src/sway-1.9/include/sway/server.h + src/sway-1.9/include/sway/surface.h + src/sway-1.9/include/sway/swaynag.h + src/sway-1.9/include/sway/tree/arrange.h + src/sway-1.9/include/sway/tree/container.h + src/sway-1.9/include/sway/tree/node.h + src/sway-1.9/include/sway/tree/root.h + src/sway-1.9/include/sway/tree/view.h + src/sway-1.9/include/sway/tree/workspace.h + src/sway-1.9/include/sway/xdg_decoration.h + src/sway-1.9/include/sway/xwayland.h + src/sway-1.9/include/swaybar/bar.h + src/sway-1.9/include/swaybar/config.h + src/sway-1.9/include/swaybar/i3bar.h + src/sway-1.9/include/swaybar/input.h + src/sway-1.9/include/swaybar/ipc.h + src/sway-1.9/include/swaybar/render.h + src/sway-1.9/include/swaybar/status_line.h + src/sway-1.9/include/swaybar/tray/host.h + src/sway-1.9/include/swaybar/tray/icon.h + src/sway-1.9/include/swaybar/tray/item.h + src/sway-1.9/include/swaybar/tray/tray.h + src/sway-1.9/include/swaybar/tray/watcher.h + src/sway-1.9/include/swaynag/config.h + src/sway-1.9/include/swaynag/render.h + src/sway-1.9/include/swaynag/swaynag.h + src/sway-1.9/include/swaynag/types.h + src/sway-1.9/include/util.h + src/sway-1.9/meson_options.txt + src/sway-1.9/protocols/meson.build + src/sway-1.9/protocols/wlr-output-power-management-unstable-v1.xml + src/sway-1.9/sway.desktop + src/sway-1.9/sway/commands.c + src/sway-1.9/sway/commands/assign.c + src/sway-1.9/sway/commands/bar.c + src/sway-1.9/sway/commands/bar/bind.c + src/sway-1.9/sway/commands/bar/binding_mode_indicator.c + src/sway-1.9/sway/commands/bar/colors.c + src/sway-1.9/sway/commands/bar/font.c + src/sway-1.9/sway/commands/bar/gaps.c + src/sway-1.9/sway/commands/bar/height.c + src/sway-1.9/sway/commands/bar/hidden_state.c + src/sway-1.9/sway/commands/bar/icon_theme.c + src/sway-1.9/sway/commands/bar/id.c + src/sway-1.9/sway/commands/bar/mode.c + src/sway-1.9/sway/commands/bar/modifier.c + src/sway-1.9/sway/commands/bar/output.c + src/sway-1.9/sway/commands/bar/pango_markup.c + src/sway-1.9/sway/commands/bar/position.c + src/sway-1.9/sway/commands/bar/separator_symbol.c + src/sway-1.9/sway/commands/bar/status_command.c + src/sway-1.9/sway/commands/bar/status_edge_padding.c + src/sway-1.9/sway/commands/bar/status_padding.c + src/sway-1.9/sway/commands/bar/strip_workspace_name.c + src/sway-1.9/sway/commands/bar/strip_workspace_numbers.c + src/sway-1.9/sway/commands/bar/swaybar_command.c + src/sway-1.9/sway/commands/bar/tray_bind.c + src/sway-1.9/sway/commands/bar/tray_output.c + src/sway-1.9/sway/commands/bar/tray_padding.c + src/sway-1.9/sway/commands/bar/workspace_buttons.c + src/sway-1.9/sway/commands/bar/workspace_min_width.c + src/sway-1.9/sway/commands/bar/wrap_scroll.c + src/sway-1.9/sway/commands/bind.c + src/sway-1.9/sway/commands/border.c + src/sway-1.9/sway/commands/client.c + src/sway-1.9/sway/commands/create_output.c + src/sway-1.9/sway/commands/default_border.c + src/sway-1.9/sway/commands/default_floating_border.c + src/sway-1.9/sway/commands/default_orientation.c + src/sway-1.9/sway/commands/exec.c + src/sway-1.9/sway/commands/exec_always.c + src/sway-1.9/sway/commands/exit.c + src/sway-1.9/sway/commands/floating.c + src/sway-1.9/sway/commands/floating_minmax_size.c + src/sway-1.9/sway/commands/floating_modifier.c + src/sway-1.9/sway/commands/focus.c + src/sway-1.9/sway/commands/focus_follows_mouse.c + src/sway-1.9/sway/commands/focus_on_window_activation.c + src/sway-1.9/sway/commands/focus_wrapping.c + src/sway-1.9/sway/commands/font.c + src/sway-1.9/sway/commands/for_window.c + src/sway-1.9/sway/commands/force_display_urgency_hint.c + src/sway-1.9/sway/commands/force_focus_wrapping.c + src/sway-1.9/sway/commands/fullscreen.c + src/sway-1.9/sway/commands/gaps.c + src/sway-1.9/sway/commands/gesture.c + src/sway-1.9/sway/commands/hide_edge_borders.c + src/sway-1.9/sway/commands/include.c + src/sway-1.9/sway/commands/inhibit_idle.c + src/sway-1.9/sway/commands/input.c + src/sway-1.9/sway/commands/input/accel_profile.c + src/sway-1.9/sway/commands/input/calibration_matrix.c + src/sway-1.9/sway/commands/input/click_method.c + src/sway-1.9/sway/commands/input/drag.c + src/sway-1.9/sway/commands/input/drag_lock.c + src/sway-1.9/sway/commands/input/dwt.c + src/sway-1.9/sway/commands/input/dwtp.c + src/sway-1.9/sway/commands/input/events.c + src/sway-1.9/sway/commands/input/left_handed.c + src/sway-1.9/sway/commands/input/map_from_region.c + src/sway-1.9/sway/commands/input/map_to_output.c + src/sway-1.9/sway/commands/input/map_to_region.c + src/sway-1.9/sway/commands/input/middle_emulation.c + src/sway-1.9/sway/commands/input/natural_scroll.c + src/sway-1.9/sway/commands/input/pointer_accel.c + src/sway-1.9/sway/commands/input/repeat_delay.c + src/sway-1.9/sway/commands/input/repeat_rate.c + src/sway-1.9/sway/commands/input/rotation_angle.c + src/sway-1.9/sway/commands/input/scroll_button.c + src/sway-1.9/sway/commands/input/scroll_button_lock.c + src/sway-1.9/sway/commands/input/scroll_factor.c + src/sway-1.9/sway/commands/input/scroll_method.c + src/sway-1.9/sway/commands/input/tap.c + src/sway-1.9/sway/commands/input/tap_button_map.c + src/sway-1.9/sway/commands/input/tool_mode.c + src/sway-1.9/sway/commands/input/xkb_capslock.c + src/sway-1.9/sway/commands/input/xkb_file.c + src/sway-1.9/sway/commands/input/xkb_layout.c + src/sway-1.9/sway/commands/input/xkb_model.c + src/sway-1.9/sway/commands/input/xkb_numlock.c + src/sway-1.9/sway/commands/input/xkb_options.c + src/sway-1.9/sway/commands/input/xkb_rules.c + src/sway-1.9/sway/commands/input/xkb_switch_layout.c + src/sway-1.9/sway/commands/input/xkb_variant.c + src/sway-1.9/sway/commands/kill.c + src/sway-1.9/sway/commands/layout.c + src/sway-1.9/sway/commands/mark.c + src/sway-1.9/sway/commands/max_render_time.c + src/sway-1.9/sway/commands/mode.c + src/sway-1.9/sway/commands/mouse_warping.c + src/sway-1.9/sway/commands/move.c + src/sway-1.9/sway/commands/new_float.c + src/sway-1.9/sway/commands/new_window.c + src/sway-1.9/sway/commands/no_focus.c + src/sway-1.9/sway/commands/nop.c + src/sway-1.9/sway/commands/opacity.c + src/sway-1.9/sway/commands/output.c + src/sway-1.9/sway/commands/output/adaptive_sync.c + src/sway-1.9/sway/commands/output/background.c + src/sway-1.9/sway/commands/output/disable.c + src/sway-1.9/sway/commands/output/dpms.c + src/sway-1.9/sway/commands/output/enable.c + src/sway-1.9/sway/commands/output/max_render_time.c + src/sway-1.9/sway/commands/output/mode.c + src/sway-1.9/sway/commands/output/position.c + src/sway-1.9/sway/commands/output/power.c + src/sway-1.9/sway/commands/output/render_bit_depth.c + src/sway-1.9/sway/commands/output/scale.c + src/sway-1.9/sway/commands/output/scale_filter.c + src/sway-1.9/sway/commands/output/subpixel.c + src/sway-1.9/sway/commands/output/toggle.c + src/sway-1.9/sway/commands/output/transform.c + src/sway-1.9/sway/commands/output/unplug.c + src/sway-1.9/sway/commands/popup_during_fullscreen.c + src/sway-1.9/sway/commands/primary_selection.c + src/sway-1.9/sway/commands/reload.c + src/sway-1.9/sway/commands/rename.c + src/sway-1.9/sway/commands/resize.c + src/sway-1.9/sway/commands/scratchpad.c + src/sway-1.9/sway/commands/seat.c + src/sway-1.9/sway/commands/seat/attach.c + src/sway-1.9/sway/commands/seat/cursor.c + src/sway-1.9/sway/commands/seat/fallback.c + src/sway-1.9/sway/commands/seat/hide_cursor.c + src/sway-1.9/sway/commands/seat/idle.c + src/sway-1.9/sway/commands/seat/keyboard_grouping.c + src/sway-1.9/sway/commands/seat/pointer_constraint.c + src/sway-1.9/sway/commands/seat/shortcuts_inhibitor.c + src/sway-1.9/sway/commands/seat/xcursor_theme.c + src/sway-1.9/sway/commands/set.c + src/sway-1.9/sway/commands/shortcuts_inhibitor.c + src/sway-1.9/sway/commands/show_marks.c + src/sway-1.9/sway/commands/smart_borders.c + src/sway-1.9/sway/commands/smart_gaps.c + src/sway-1.9/sway/commands/split.c + src/sway-1.9/sway/commands/sticky.c + src/sway-1.9/sway/commands/swap.c + src/sway-1.9/sway/commands/swaybg_command.c + src/sway-1.9/sway/commands/swaynag_command.c + src/sway-1.9/sway/commands/tiling_drag.c + src/sway-1.9/sway/commands/tiling_drag_threshold.c + src/sway-1.9/sway/commands/title_align.c + src/sway-1.9/sway/commands/title_format.c + src/sway-1.9/sway/commands/titlebar_border_thickness.c + src/sway-1.9/sway/commands/titlebar_padding.c + src/sway-1.9/sway/commands/unmark.c + src/sway-1.9/sway/commands/urgent.c + src/sway-1.9/sway/commands/workspace.c + src/sway-1.9/sway/commands/workspace_layout.c + src/sway-1.9/sway/commands/ws_auto_back_and_forth.c + src/sway-1.9/sway/commands/xwayland.c + src/sway-1.9/sway/config.c + src/sway-1.9/sway/config/bar.c + src/sway-1.9/sway/config/input.c + src/sway-1.9/sway/config/output.c + src/sway-1.9/sway/config/seat.c + src/sway-1.9/sway/criteria.c + src/sway-1.9/sway/decoration.c + src/sway-1.9/sway/desktop/desktop.c + src/sway-1.9/sway/desktop/idle_inhibit_v1.c + src/sway-1.9/sway/desktop/launcher.c + src/sway-1.9/sway/desktop/layer_shell.c + src/sway-1.9/sway/desktop/output.c + src/sway-1.9/sway/desktop/render.c + src/sway-1.9/sway/desktop/surface.c + src/sway-1.9/sway/desktop/transaction.c + src/sway-1.9/sway/desktop/xdg_shell.c + src/sway-1.9/sway/desktop/xwayland.c + src/sway-1.9/sway/input/cursor.c + src/sway-1.9/sway/input/input-manager.c + src/sway-1.9/sway/input/keyboard.c + src/sway-1.9/sway/input/libinput.c + src/sway-1.9/sway/input/seat.c + src/sway-1.9/sway/input/seatop_default.c + src/sway-1.9/sway/input/seatop_down.c + src/sway-1.9/sway/input/seatop_move_floating.c + src/sway-1.9/sway/input/seatop_move_tiling.c + src/sway-1.9/sway/input/seatop_resize_floating.c + src/sway-1.9/sway/input/seatop_resize_tiling.c + src/sway-1.9/sway/input/switch.c + src/sway-1.9/sway/input/tablet.c + src/sway-1.9/sway/input/text_input.c + src/sway-1.9/sway/ipc-json.c + src/sway-1.9/sway/ipc-server.c + src/sway-1.9/sway/lock.c + src/sway-1.9/sway/main.c + src/sway-1.9/sway/meson.build + src/sway-1.9/sway/realtime.c + src/sway-1.9/sway/server.c + src/sway-1.9/sway/sway-bar.5.scd + src/sway-1.9/sway/sway-input.5.scd + src/sway-1.9/sway/sway-ipc.7.scd + src/sway-1.9/sway/sway-output.5.scd + src/sway-1.9/sway/sway.1.scd + src/sway-1.9/sway/sway.5.scd + src/sway-1.9/sway/swaynag.c + src/sway-1.9/sway/tree/arrange.c + src/sway-1.9/sway/tree/container.c + src/sway-1.9/sway/tree/node.c + src/sway-1.9/sway/tree/output.c + src/sway-1.9/sway/tree/root.c + src/sway-1.9/sway/tree/view.c + src/sway-1.9/sway/tree/workspace.c + src/sway-1.9/sway/xdg_activation_v1.c + src/sway-1.9/sway/xdg_decoration.c + src/sway-1.9/swaybar/bar.c + src/sway-1.9/swaybar/config.c + src/sway-1.9/swaybar/i3bar.c + src/sway-1.9/swaybar/input.c + src/sway-1.9/swaybar/ipc.c + src/sway-1.9/swaybar/main.c + src/sway-1.9/swaybar/meson.build + src/sway-1.9/swaybar/render.c + src/sway-1.9/swaybar/status_line.c + src/sway-1.9/swaybar/swaybar-protocol.7.scd + src/sway-1.9/swaybar/tray/host.c + src/sway-1.9/swaybar/tray/icon.c + src/sway-1.9/swaybar/tray/item.c + src/sway-1.9/swaybar/tray/tray.c + src/sway-1.9/swaybar/tray/watcher.c + src/sway-1.9/swaymsg/main.c + src/sway-1.9/swaymsg/meson.build + src/sway-1.9/swaymsg/swaymsg.1.scd + src/sway-1.9/swaynag/config.c + src/sway-1.9/swaynag/main.c + src/sway-1.9/swaynag/meson.build + src/sway-1.9/swaynag/render.c + src/sway-1.9/swaynag/swaynag.1.scd + src/sway-1.9/swaynag/swaynag.5.scd + src/sway-1.9/swaynag/swaynag.c + src/sway-1.9/swaynag/types.c +Copyright: 2019, Purism SPC +License: UNKNOWN + FIXME + +Files: src/sway-1.9/LICENSE + src/sway-1.9/meson.build +Copyright: 2016-2017, Drew DeVault +License: Expat + FIXME + +Files: src/sway-1.9/protocols/wlr-input-inhibitor-unstable-v1.xml + src/sway-1.9/protocols/wlr-layer-shell-unstable-v1.xml +Copyright: 2017, Drew DeVault + 2018, Drew DeVault +License: HPND-sell-variant and/or NTP~disclaimer + FIXME + +Files: src/sway-1.9/assets/LICENSE +Copyright: NONE +License: CC0-1.0 + FIXME + +Files: src/sway-1.9/protocols/idle.xml +Copyright: 2015, Martin GräÃlin +License: LGPL-2.1+ + FIXME + +Files: src/sway-1.9/assets/Sway_Tree_1000x934.png +Copyright: ÂÂ
$I2Ã%I0?öÃÂÂÂÂZÃ%H¤2º$IZ + Ãâv¬ÂTp}ð>BÂ$ãÃ@¤ú ¤òÂ`q¤Â«Ã1ÂÂÂIÂnÂQÂè¤Ã-x³4Ã`N¤Â#uÂ$éÂ=Ãe Kª0 + Ãcu¤Â§fêçS´ÂÂ.Ij ]p9¢Ã¤Âq + ª0 Â'pÃ8sÃ¥héáø + $Ã@Â$IjÂÂpÃÃ27ÂÃÂHÃ
$I2Ã%IÃB÷âkÂ2mh16¾K + R] + 1¦Ãûlø56Ã
î8ÂâÂxoâ+Ã"ZÃ8|ÂÃñ$îÃõ¸ + 1Ãâ÷¸ + eèÂ$uÃ
ÂÂÂô_b_´E*¶Xgà Â$ÃÃ4ìÂÃ| + n³á<LC´ý© ºc0&Ã÷ZÂt¦qn ÃÂ$éøÃê4©à æÃ
E¨AÂÂ$iDÂÂ.Iª[/ÃÂPÃ
ÃÂTÂãÃ"JAÂ4¿CÂÂ.I±*ìÂqùz+[ÂbBÂTX/c $è¤[÷#2Cs ÂÃÂgô[ê¿ÿ%8rñ⽧¤ÂÃ)O + rºà ¸ + uèÂ$ÃÂýñ"¢Ã.B5RÂTábDÂ
H´ÂÂÃò$IZ + yµÃ
ÃxÂ[^s(¢HÂô%:èÂ$5ÂN8 + Âø_! + ÂÃý88o KÂT)ãx¼Â(©«!Âà'~ÂM±#ÃÂ{ð>Ã
$D#ISñ4NÃzèÂ$]¤Â0vÃHDI Ã¥ÂÃba¬Âþ8Â1։e|Âi©&à ~ + ÂI]'IÃã¨ÂÂ.I + ÂFãPtER¯}uÂ$é»ú.ÂÂÂ.I[#¤zøÂ£üÃÂDÃA¤W± + ¡d KÃÃIOcm¤:©/¦"þÂ$I±RcÃ@¤UÂ>Ã6³¼ÂU+â{ÃÿÂ$éU,ÂÃX2Ã%é<D©i + £¥¤©Â¹Â4Kðb:I¾ÃÂd KRSÂÂ(%ÃÂ
Â¥ÂToW!¦Â$é~ÃÂ$]ÂÂáÂRð!RÂh?$IÂÂÂý³Eº$Â@ÂÂ>ÃîhÂà ZÂá÷Â$é¬Â$]ÂÂÃÃÂBîH + ¨:`"B¤ÂÂ9 + ¹H + ä.èÂ
°&úb+ìÂÂ8gà "Âá¸#ñ^ÃkøÂ` + ÃÃÂÂ(ékÂÂEÂr¢-¶ÃÃÂÃÂ$ + ÃÂ~"Ã^Aú¾:¦!ÂÂ
d¯Â)èÂvÃ8DÂ|ÂvùrfÃÂú[ + ÃÂ~¢b$=Â}0 + ÃÂ%±þÂ8Cp+Fâ + Ã.E´*Ãà ,¤ÂÂÂ$yj.]Â*ÃÂÂV¡Â¸ Sa®nÂÂ(IÃOà + þÃÃÂèÂ$]Â4kÂq="÷ô»ÂúuÂÃòÃm·ÃWÂÂÂ?à Ã`ÃÿÂEÿÿ{ IªÃ
¿ÃUH2Ã%Iõ³(^A¨Â-i ?¨®pÂÃü=.¿`¿8}ðÂq豿)ã÷Â$ÂÃ
yXIº$©a6ÃwÃt(i ¿ÂÃÃqïúÃqÃÃ;~Ãÿû1!Iôvֻ4]Ry,Â?áÂÂ[1rºÂpÃÃÂXÃqªz9Ã*ÂWJçm0ÂQ·#!M_´Ãexã9#Ip%VAÂÂ.©ÃÃ~Â/ +License: UNKNOWN + FIXME + +Files: src/sway-1.9/assets/Sway_Wallpaper_Blue_2048x1536_Portrait.png +Copyright: @ÂqÃê RÂE[ÂÃA©Ã¢.Ãk+ê9ì¸A³-¬2¸uÃG`Ã
Ã¥cyH)Ã[°ù¿|ýÃÃÂ
ÃÂÂô´«Ãéòÿ:ÃãMµÂ
v9Â÷á + I#`à ;°g1áS{RõÃÂÃKø~Ãá-7µë¯'Â@øÃoyÂÂà Ã+j6ðã3@Ã%^Zèòò²{ÃVlBìÂÃÂ4,WÃtÂRÂ`5ö&Cl33Â$UÃìéùÂF¬Â=ÂçÃÃÃpÃäüôø4Ã"+ê7¹h=èú ZQ(iµFö + rÂu¹Ãa + ÃEà +License: UNKNOWN + FIXME + +Files: src/sway-1.9/assets/Sway_Wallpaper_Blue_1920x1080.png +Copyright: ZãÃÃiÂÂW8Ãdªê.ÂÂ¥ÂÃÃêdv<ñüÃ-¶ºÃÃþa/Q²¶(ðS¢4ÂëUòÂÂuWÂ<H~jVÂÃ
^Ã#`f^SÂÃ1Ã6 + Âz[#ò¡Â¸èÃë%÷pwÂðÂêÂ4þÃóiÂöp6ÃÃ¥Â!1ò]ÃÂ)øB Ã:63ÂJmÂ1ÃÂe«ãtªzîÂÃñ9LbQ Âe(ÃÃ2&aÂì ÃùÂÃT_Â:d«w+Ãô +License: UNKNOWN + FIXME + +Files: src/sway-1.9/assets/Sway_Logo+Text_Ver3.png +Copyright: $§,ÂÂà ,Nz + ÂKÃdÃ4ëÂä%>*´áÂÃ,¨ÂÃNÃvÃ,%"â§ÿÂMª#åá +License: UNKNOWN + FIXME + +Files: src/sway-1.9/assets/Sway_Wallpaper_Blue_1366x768.png +Copyright: ÂÂý¤X-Ãëõ÷³ç³L-ÂÃ!ÂéÃ&LJÃú'°ÂúÃ3Ã
þòòÃDõIÂá=Ã¥ÃÂ%iÃb¬g- ï¹Â:Ã!MÃ=°Â{à + ¨Ixs¡S0HÂÃeÂÃÃÂ],ÂqêPÂÂn!3_³0S»ÃÃ[8/ XCëêõéAIÂ(iÂÃ` + ®äûÂ)û0ÃÃSñt<Â
°ºdñÃõ2GÃl('Ã5éÂÃLÂ1¨´ÂÃÃÃÂ:¦ÂH^1ÂÃhÃg*©Ã0 + ÃK¦Ãà ÃãéhÃ5Ã!ÃG£«$Â4ÂC,Âf¯RÃGþHÂ>ÃÃæ³:ÃE%Ãæ + Ã(kü)êÃÂÂjoä±ýÂgàvGn]IÃìXÂõÃx©ªÂ¢n4'³n5n7[Ãà ÃÂ|ý$`hTóæë + âÂù¾Â DðöP$ÃÂÃ
Ãñ#Â4ô +License: UNKNOWN + FIXME + diff --git a/user/swaybg/APKBUILD b/user/swaybg/APKBUILD new file mode 100644 index 000000000..9c7582585 --- /dev/null +++ b/user/swaybg/APKBUILD @@ -0,0 +1,36 @@ +# Contributor Síle Ekaterin Liszka <sheila@vulpine.house>: +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=swaybg +pkgver=1.2.1 +pkgrel=0 +pkgdesc="Wallpaper tool for Wayland compositors" +url="https://swaywm.org" +arch="all" +license="MIT" +depends="" +makedepends="cairo-dev gdk-pixbuf-dev meson scdoc wayland-dev + wayland-protocols" +subpackages="$pkgname-doc" +source="https://github.com/swaywm/swaybg/releases/download/v$pkgver/swaybg-$pkgver.tar.gz" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + --wrap-mode=nofallback \ + . output + meson compile -C output +} + +check() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="57b911c11055374079645b8acf5b81cb3481a6d290f6e1a7e18a8e52202edfc3f3a71cc09fbe8a0500223f3b28091a8c979ccdd917861321cb5b8201887a014a swaybg-1.2.1.tar.gz" diff --git a/user/sword/APKBUILD b/user/sword/APKBUILD index f436941ec..4cbe32615 100644 --- a/user/sword/APKBUILD +++ b/user/sword/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=sword pkgver=1.9.0 -pkgrel=0 +pkgrel=1 pkgdesc="Cross-platform library for accessing and searching OSIS books" url="http://www.crosswire.org/sword/index.jsp" arch="all" 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..991c64f2a 100644 --- a/user/thunar/APKBUILD +++ b/user/thunar/APKBUILD @@ -1,13 +1,13 @@ # Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=thunar -pkgver=4.18.10 -pkgrel=0 +pkgver=4.20.0 +pkgrel=1 pkgdesc="File manager for the XFCE desktop environment" url="https://xfce.org" arch="all" license="LGPL-2.0+ AND GPL-2.0+" -depends="" +depends="gvfs" makedepends="intltool gtk+3.0-dev exo-dev libxfce4ui-dev>=${pkgver%.*} vala-dev gobject-introspection-dev libsm-dev libgudev-dev libnotify-dev libexif-dev" @@ -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/thunderbird/APKBUILD b/user/thunderbird/APKBUILD index 9dc8d646b..21b415dc6 100644 --- a/user/thunderbird/APKBUILD +++ b/user/thunderbird/APKBUILD @@ -1,8 +1,8 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=thunderbird -pkgver=91.13.0 -pkgrel=3 -_llvmver=14 +pkgver=128.10.1 +pkgrel=0 +_llvmver=18 pkgdesc="Email client from Mozilla" url="https://www.thunderbird.net/" arch="all !ppc" # #837 @@ -24,29 +24,26 @@ makedepends=" libxrender-dev libxt-dev nasm nss-static sqlite-dev startup-notification-dev unzip yasm zip gtk+2.0-dev " -source="https://archive.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz +_tbver="$pkgver"'esr' +source="https://archive.mozilla.org/pub/thunderbird/releases/$_tbver/source/thunderbird-$_tbver.source.tar.xz mozconfig bad-google-code.patch - BTS-1074.patch - disable-arm-flac.patch fix-mutex-build.patch fix-seccomp-bpf.patch - gcc89074.patch + icu-75.patch jpeg-link.patch + js-endian.patch mozilla-build-arm.patch - newer-cbindgen.patch pmmx-double-format.patch ppc32-fix.patch - python3.11-open-U.patch - python3.11-regex-inline-flags.patch rust-32bit.patch shut-up-warning.patch + skia-endian.patch skia-unified.patch stackwalk-x86-ppc.patch - triplet-vendor-support.patch webrender.patch - gcc13.patch + without-jit.patch thunderbird.desktop " @@ -54,6 +51,7 @@ somask="liblgpllibs.so libmozgtk.so libmozsandbox.so libmozsqlite3.so + libmozwayland.so libxul.so " _mozappdir=/usr/lib/thunderbird @@ -90,7 +88,7 @@ prepare() { # arch-specific configuration case "$CARCH" in - pmmx|x86*|arm*) + pmmx|x86*|arm*|aarch64) echo "ac_add_options --disable-elf-hack" >> "$builddir"/mozconfig ;; s390x) @@ -111,12 +109,14 @@ prepare() { } build() { + export CFLAGS="$CFLAGS -Wno-dangling-pointer -Wno-array-bounds -Wno-comment -Wno-maybe-uninitialized -Wno-misleading-indentation" + export CXXFLAGS="$CFLAGS -Wno-class-memaccess -Wno-changes-meaning" export PATH="/usr/lib/llvm${_llvmver}/bin:${PATH}" #1230 export SHELL=/bin/sh export BUILD_OFFICIAL=1 export MOZILLA_OFFICIAL=1 export USE_SHORT_LIBNAME=1 - export MACH_USE_SYSTEM_PYTHON=1 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system # set rpath so linker finds the libs export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}" @@ -135,7 +135,7 @@ run() { } package() { - export MACH_USE_SYSTEM_PYTHON=1 + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system DESTDIR="$pkgdir" ./mach install install -m755 -d ${pkgdir}/usr/share/applications @@ -154,26 +154,22 @@ package() { ${pkgdir}/usr/share/applications/thunderbird.desktop } -sha512sums="e73d3db4333ad659ec1ab249bd261e8c28301c125d0c39b473c83f8fccace6d4916a2bfef14fc20c065055ff6bbd3ca618b5aab178241b53509543640dcd541a thunderbird-91.13.0.source.tar.xz -afc87cdd19500f8b6b0bedabe98339cca9e6af86edb45e673c6ee0a49bdb3a48b1816f6f5f8790cab86cca428ab7f142cbeb6462079fe293f5f13563a7761896 mozconfig -ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch -df76bae9deaaae98afa9e1e853de5d41a4f84db65057bfe70de3ae172515bdef58a5f9ee0b2303493dc67e9a6aad54af4c9931166de1144737a5867f24b51a4f BTS-1074.patch -b44c55fb38b856791dd6966c5af24b657c0516d4f747fc0595eb470f58aa4b6e28c4304892589c6f9d623daba2e0fadc338303da409c4542a98d369339438ebe disable-arm-flac.patch -c0b2bf43206c2a5154e560ef30189a1062ae856861b39f52ce69002390ff9972d43e387bfd2bf8d2ab3cac621987bc042c8c0a8b4cf90ae05717ca7705271880 fix-mutex-build.patch -70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch -6eb7fb134760f5d232710c56f18f14de4f533e41e269531edd01f5650f6d641513e34a8d2294af5ad6fd184736f674c734efb4cc003636a75e14a8fdba2fe3b0 gcc89074.patch -240d6c9290a20e2c9ccfa2d15c9a636fc1b09b62f09285eb688974d888390da2a84271f14c397570b58ccdcf29b99370f7183cc0dbbbe581bf6e7d7ee8dcabd2 jpeg-link.patch -e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch -eb158bf2e4b9d513ae36f3c977a3b110ea8c4801c3c94841bc3ad4cdca3bdfc96d4a662e5a2e662fe7a01b0f1af097280097b16f5d0e83d29b4a7e6cbb8c7396 newer-cbindgen.patch -573b90c73512d2b9971e466b138ffeea94b28f9a20e11e75ee1121e3f6a14fb4bf1a30622da6d48f67e5ea0bc58b200ba5fc3e930bae52f83b2f25f6c10806dd pmmx-double-format.patch +sha512sums="09b54450928c6e0d948cd79a56c28bdb5fe5a81d7c710470a1ec195dd295c433b872682102c74930f19b1184391c30115293dadcd7dc8a08ae8baeb12770ef9c thunderbird-128.10.1esr.source.tar.xz +fec4e343db973f90a38cc86e145c8ab0c8bec8f6eed36ff47f9986b154ea44f0e72ea1b5c9862e772505b3371dc0a9265fa1a6bed59007a5845a1dc622fce4e8 mozconfig +1fff71be77aa34791ef8aa972b5dc5f131d79f4b895ebbfb59bc223078764d6f79c82a3a4e4c717a3893ecbe4907d556f27e97d2692e41f02365f06da759a71a bad-google-code.patch +5e6c3fa027052cc43ba161cf5c12016b07723e7c0b002a42431bbd5d716d512d5245ab6befbb56c37c7d244441533f810f4e7b583f83bbe965981931f1435a94 fix-mutex-build.patch +9f2892eff9d09f3eed1f9a9ee98ba9c6a6826c30ccdeabfefb8733abc98e7b612418827262423568e830c6354a2b8242f471bc200b7079f21862bb00947da716 fix-seccomp-bpf.patch +0a84e8cb6604fdb7601745b60c04ee74733632ada32bfd85eb32db8fee095cfb79c82033e5e3cf3bbc7b7f4df753e86ffe18e26e63a6603a93c3bb5a459aabd3 icu-75.patch +a2400c8df888637d9ebe33d82dc2fb95792685c9938b5486230a5c15bc819cbb850a2bdcb54a775516652fc8ffd6b40f8c591ab7941211f9516064101380ebbf jpeg-link.patch +d40e6c1a6e62d5e1dc350dc0bbaf2b8488b19ea0911532784f1df1199a7a5af0aae81b0b0d77c4398a2d903d86b5560f4442386eb446d9af8d58e73eea475e4f js-endian.patch +9f5730ee3a29b86786089abcfffab32bf2210f1a1ec43260ae824a08acda687dbfa37306b82a4978dd022bcf747eab155f7f3c5f73a1375f1c3c4fcd106dae3e mozilla-build-arm.patch +1864c6c63c647f3ed1b3ca4df7f52a2c7ec4c65f2e067a9842d24a242f01e047d59ffbf88ad3740d830df1eb0bade929e245e640db135fe14f4c0d879269cb7e pmmx-double-format.patch 06a3f4ee6d3726adf3460952fcbaaf24bb15ef8d15b3357fdd1766c7a62b00bd53a1e943b5df7f4e1a69f4fae0d44b64fae1e027d7812499c77894975969ea10 ppc32-fix.patch -07c311921e50fdb86c587000418306292548117f32a69b78db9d8ebd3a1b08196774a3d284b7e2898a2f1fbb9987b2367092f33957824514fd3d7c7b618a83e2 python3.11-open-U.patch -c9c5610b99e73a1eedd3510e73921cba84f8c6d0c58fc7fe5b4a7ec261bd5fe530560856fba46d6b37f84c6e467d5b43946968dc8230b5491bba976b0b5ae33c python3.11-regex-inline-flags.patch -153f955169e1489d49867be90f68e8a4722cad8edb3a9d1ddb6161e34399e1b4e9e82dc8d72aaba1d5f585bca7c4852433e8ecb068be1583df7155c7cce0223b rust-32bit.patch -39ddb15d1453a8412275c36fc8db3befc69dffd4a362e932d280fb7fd1190db595a2af9b468ee49e0714f5e9df6e48eb5794122a64fa9f30d689de8693acbb15 shut-up-warning.patch -961fa1c856e97e4d08da4682f520ecf23075571a532a781c5e14dbec4915130b02a8199caf6602013ea904d347c4f06d086b0fe84a3850dd6910d351232da599 skia-unified.patch -452b47b825294779f98ed46bc1065dad76b79ff453521ef049934a120f349c84a1c863b16af1828fe053059823da9690ec917c055ae02dcc5c80c54cad732448 stackwalk-x86-ppc.patch -8c6160975f181ea0ab257134672e696d895b99c7bb00a260deedb38e3374510e848bf943197e0ab7f684a18496a898175159845b0e7325183c37748183418053 triplet-vendor-support.patch -b7c1ac21cd03b7cdc887e005ed970cf13ff95643c7651decf1e6d42094cda6a0464dc2ba3cded3827f6d0f3682c2c9b081a7667f386133aa6e3072d0464e72e8 webrender.patch -bb57b3ed998543f9a2edcc379a0c5e2d7e855a0d6f538547f18cdfce56f6c91a3c26a8b1505824628fdd394f0f75a8e98c7fb559ef79eac803d4028e5e9827e5 gcc13.patch +e1c8a85c46a9cc804eb6b5946d35b63fa2cfc7ad8b4f250c5eaf1b590b139a66d9a833246bc26ae2e340fffb81b6761cf51c600181895bd49feb9a3b8fbfe331 rust-32bit.patch +c2248297df00633771da7e6b9f2caba3dd5108d93617f652fa8b2fb4e6975821e5fee866c00713f8fce08e760fa456e2dd19a8ef7370e5a2c65dc09614526be9 shut-up-warning.patch +11f7ce86376b54281082fa5b9d3fefee8046eabe38a0ec17266764b4f62cb90f4744245c1ca93d73ed74cf81c066dab7ddcb3fe9704be8f91e0a2a4f664b203a skia-endian.patch +a6a14104ee6985867efb1937a262aba1538ed4b069bba56e400d75f51d84d29363d8bbb2183ee27785758ad3a8b8ae4350e23dc854d50c92cb2147eddf83b9bb skia-unified.patch +9df89366bd51670f534591e4c169186703ad3166a493f522e58f129fb79af375d71baaf0f6b238126792118a2d3ed0f011b010e39497ab5901ee5bea63a84fa2 stackwalk-x86-ppc.patch +7d6c5f3cafd29eae4e7c5433b14f49cc679eebdcb4e602af18819f685500747a6daa8d38fbb0f91878331b14ce299ca8b731f62ab013b69e579fc450b29fe743 webrender.patch +ed78e15030d79b10026ebae26e44a68d16c2a8567082072b5099b0dde4f79ae217a21737e0d9c7ec6a3cc99de3ab3c9083cca7d82889d559bb18cc15fa7e6f2a without-jit.patch 95a2b1deb4f6c90750fdd2bfe8ca0a7879a5b267965091705a6beb0a0a4b1ccad75d11df7b9885543ca4232ff704e975c6946f4c11804cb71c471e06f9576001 thunderbird.desktop" diff --git a/user/thunderbird/BTS-1074.patch b/user/thunderbird/BTS-1074.patch deleted file mode 100644 index ac851038d..000000000 --- a/user/thunderbird/BTS-1074.patch +++ /dev/null @@ -1,62 +0,0 @@ -gas(1) under binutils-2.41 no longer allows invalid negative shifts. - -This patch fixes the bundled FFmpeg in Thunderbird to not use them. - ---- thunderbird-91.13.0/media/ffvpx/libavcodec/x86/mathops.h.old 2023-10-03 22:15:24.440738743 -0500 -+++ thunderbird-91.13.0/media/ffvpx/libavcodec/x86/mathops.h 2023-10-03 22:15:41.458911245 -0500 -@@ -35,12 +35,20 @@ - static av_always_inline av_const int MULL(int a, int b, unsigned shift) - { - int rt, dummy; -+ if (__builtin_constant_p(shift)) - __asm__ ( - "imull %3 \n\t" - "shrdl %4, %%edx, %%eax \n\t" - :"=a"(rt), "=d"(dummy) -- :"a"(a), "rm"(b), "ci"((uint8_t)shift) -+ :"a"(a), "rm"(b), "i"(shift & 0x1F) - ); -+ else -+ __asm__ ( -+ "imull %3 \n\t" -+ "shrdl %4, %%edx, %%eax \n\t" -+ :"=a"(rt), "=d"(dummy) -+ :"a"(a), "rm"(b), "c"((uint8_t)shift) -+ ); - return rt; - } - -@@ -113,19 +121,31 @@ - // avoid +32 for shift optimization (gcc should do that ...) - #define NEG_SSR32 NEG_SSR32 - static inline int32_t NEG_SSR32( int32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("sarl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("sarl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - - #define NEG_USR32 NEG_USR32 - static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("shrl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("shrl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - diff --git a/user/thunderbird/bad-google-code.patch b/user/thunderbird/bad-google-code.patch index e214af432..31659370d 100644 --- a/user/thunderbird/bad-google-code.patch +++ b/user/thunderbird/bad-google-code.patch @@ -1,6 +1,6 @@ --- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc +++ firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc -@@ -45,6 +45,7 @@ +@@ -47,6 +47,7 @@ #include <sys/mman.h> #include <sys/stat.h> #include <unistd.h> @@ -34,7 +34,7 @@ --- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h +++ firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h -@@ -1134,6 +1134,12 @@ struct kernel_statfs { +@@ -1246,6 +1246,12 @@ struct kernel_statfs { #ifndef __NR_fallocate #define __NR_fallocate 285 #endif diff --git a/user/thunderbird/disable-arm-flac.patch b/user/thunderbird/disable-arm-flac.patch deleted file mode 100644 index dff387361..000000000 --- a/user/thunderbird/disable-arm-flac.patch +++ /dev/null @@ -1,15 +0,0 @@ -32-bit ARM assembler is mostly for Android32 accel anyway. - -It doesn't link properly on musl (TEXTRELs). - ---- thunderbird-91.13.0/toolkit/moz.configure.old 2023-10-09 10:40:18.231733637 +0000 -+++ thunderbird-91.13.0/toolkit/moz.configure 2023-10-10 02:22:34.743712070 +0000 -@@ -1894,7 +1894,7 @@ - flac_only = True - elif target.cpu == "x86_64": - flags = ["-D__x86_64__", "-DPIC", "-DELF", "-Pconfig_unix64.asm"] -- elif target.cpu in ("x86", "arm", "aarch64"): -+ elif target.cpu in ("x86", "aarch64"): - flac_only = True - else: - enable = False diff --git a/user/thunderbird/fix-mutex-build.patch b/user/thunderbird/fix-mutex-build.patch index a569e5aa7..1d1d0772b 100644 --- a/user/thunderbird/fix-mutex-build.patch +++ b/user/thunderbird/fix-mutex-build.patch @@ -1,18 +1,18 @@ --- firefox-60.3.0/memory/build/Mutex.h.old 2018-10-17 20:39:32.000000000 +0000 +++ firefox-60.3.0/memory/build/Mutex.h 2018-10-26 05:22:54.980000000 +0000 -@@ -39,7 +39,7 @@ +@@ -57,7 +57,7 @@ } #elif defined(XP_DARWIN) - mMutex = OS_SPINLOCK_INIT; + mMutex = OS_UNFAIR_LOCK_INIT; -#elif defined(XP_LINUX) && !defined(ANDROID) +#elif defined(XP_LINUX) && defined(__GLIBC__) pthread_mutexattr_t attr; if (pthread_mutexattr_init(&attr) != 0) { return false; -@@ -107,7 +107,7 @@ +@@ -142,7 +142,7 @@ # if defined(XP_DARWIN) - # define STATIC_MUTEX_INIT OS_SPINLOCK_INIT + # define STATIC_MUTEX_INIT OS_UNFAIR_LOCK_INIT -# elif defined(XP_LINUX) && !defined(ANDROID) +# elif defined(XP_LINUX) && defined(__GLIBC__) # define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP diff --git a/user/thunderbird/fix-seccomp-bpf.patch b/user/thunderbird/fix-seccomp-bpf.patch index 47cde56c7..08068b5f5 100644 --- a/user/thunderbird/fix-seccomp-bpf.patch +++ b/user/thunderbird/fix-seccomp-bpf.patch @@ -1,8 +1,8 @@ --- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2015-09-23 09:10:08.812740571 +0200 +++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-09-23 09:11:38.404746155 +0200 -@@ -23,6 +23,11 @@ - #include "sandbox/linux/services/android_ucontext.h" - #endif +@@ -25,6 +25,11 @@ + #include "sandbox/linux/system_headers/linux_seccomp.h" + #include "sandbox/linux/system_headers/linux_signal.h" +// musl libc defines siginfo_t __si_fields instead of _sifields +#if defined(OS_LINUX) && !defined(__GLIBC__) diff --git a/user/thunderbird/gcc13.patch b/user/thunderbird/gcc13.patch deleted file mode 100644 index 1c4f085e0..000000000 --- a/user/thunderbird/gcc13.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- firefox-91.13.0/gfx/2d/Rect.h.old 2022-08-15 13:04:38.000000000 -0500 -+++ firefox-91.13.0/gfx/2d/Rect.h 2024-05-28 20:50:50.230975904 -0500 -@@ -15,6 +15,7 @@ - #include "mozilla/Maybe.h" - - #include <cmath> -+#include <cstdint> - - namespace mozilla { - diff --git a/user/thunderbird/gcc89074.patch b/user/thunderbird/gcc89074.patch deleted file mode 100644 index e9713193c..000000000 --- a/user/thunderbird/gcc89074.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream-URL: https://bugzilla.mozilla.org/show_bug.cgi?id=1688122 -Upstream-URL: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89074 - -Valid code, but only used for debugging. GCC 12 fixed this. -Moz upstream not interested. - ---- firefox-91.13.0/dom/base/nsTreeSanitizer.cpp.old 2022-08-15 13:04:32.000000000 -0500 -+++ firefox-91.13.0/dom/base/nsTreeSanitizer.cpp 2022-11-19 00:42:15.892580023 -0600 -@@ -632,15 +632,6 @@ - constexpr const nsStaticAtom* const kURLAttributesSVG[] = {nsGkAtoms::href, - nullptr}; - --static_assert(AllOf(std::begin(kURLAttributesSVG), std::end(kURLAttributesSVG), -- [](auto aURLAttributeSVG) { -- return AnyOf(std::begin(kAttributesSVG), -- std::end(kAttributesSVG), -- [&](auto aAttributeSVG) { -- return aAttributeSVG == aURLAttributeSVG; -- }); -- })); -- - const nsStaticAtom* const kElementsMathML[] = { - nsGkAtoms::abs_, // abs - nsGkAtoms::_and, // and diff --git a/user/thunderbird/icu-75.patch b/user/thunderbird/icu-75.patch new file mode 100644 index 000000000..617dd76a9 --- /dev/null +++ b/user/thunderbird/icu-75.patch @@ -0,0 +1,41 @@ +https://bugs.gentoo.org/917599 +https://bugzilla.mozilla.org/show_bug.cgi?id=1862601 +https://hg.mozilla.org/try/rev/d5f3b0c4f08a426ce00a153c04e177eecb6820e2 + +# HG changeset patch +# User André Bargull <andre.bargull@gmail.com> +# Date 1697435923 -7200 +# Node ID d5f3b0c4f08a426ce00a153c04e177eecb6820e2 +# Parent c63994f8259efdf6e745c960aa9e1409d5477049 +Bug xxx - Part 12: Add new line break classes. r? + +diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp +--- a/intl/lwbrk/LineBreaker.cpp ++++ b/intl/lwbrk/LineBreaker.cpp +@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB + /* JT = 34, [JT] */ CLASS_CHARACTER, + /* JV = 35, [JV] */ CLASS_CHARACTER, + /* CLOSE_PARENTHESIS = 36, [CP] */ CLASS_CLOSE_LIKE_CHARACTER, + /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE, + /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER, + /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER, + /* E_BASE = 40, [EB] */ CLASS_BREAKABLE, + /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER, +- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER}; ++ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER, ++ /* AKSARA = 43, [AK] */ CLASS_CHARACTER, ++ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER, ++ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER, ++ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER, ++ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER, ++ }; + + static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass), + "Gecko vs ICU LineBreak class mismatch"); + + auto cls = GetLineBreakClass(u); + MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass)); + + // Overrides based on rules for the different line-break values given in + + diff --git a/user/thunderbird/jpeg-link.patch b/user/thunderbird/jpeg-link.patch index a04d924d4..724bc76fb 100644 --- a/user/thunderbird/jpeg-link.patch +++ b/user/thunderbird/jpeg-link.patch @@ -1,6 +1,6 @@ --- firefox-91.13.0/toolkit/moz.configure.old 2022-08-15 13:05:59.000000000 -0500 +++ firefox-91.13.0/toolkit/moz.configure 2022-11-15 01:26:57.874201494 -0600 -@@ -1758,14 +1758,14 @@ +@@ -2274,14 +2274,14 @@ ) with only_when("--with-system-jpeg"): diff --git a/user/thunderbird/js-endian.patch b/user/thunderbird/js-endian.patch new file mode 100644 index 000000000..44f21d2d1 --- /dev/null +++ b/user/thunderbird/js-endian.patch @@ -0,0 +1,33 @@ +# HG changeset patch +# User A. Wilcox <AWilcox@Wilcox-Tech.com> +# Date 1729710191 18000 +# Wed Oct 23 14:03:11 2024 -0500 +# Node ID 6102585e0d752de1729135d4c7d917e751b268c5 +# Parent 61f7d9c0998e2ce8008cd15b187f86dfdba21a26 +Bug 1926667 - Ensure JSStructuredCloneReader::readTransferMap respects endianness r?sfink + +Differential Revision: https://phabricator.services.mozilla.com/D226707 + +diff --git a/js/src/vm/StructuredClone.cpp b/js/src/vm/StructuredClone.cpp +--- a/js/src/vm/StructuredClone.cpp ++++ b/js/src/vm/StructuredClone.cpp +@@ -3387,7 +3387,8 @@ bool JSStructuredCloneReader::readTransf + } + + headerPos.write( +- PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRING)); ++ NativeEndian::swapToLittleEndian( ++ PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRING))); + + uint64_t numTransferables; + MOZ_ALWAYS_TRUE(in.readPair(&tag, &data)); +@@ -3512,7 +3513,8 @@ bool JSStructuredCloneReader::readTransf + MOZ_ASSERT(TransferableMapHeader(data) == SCTAG_TM_TRANSFERRING); + #endif + headerPos.write( +- PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRED)); ++ NativeEndian::swapToLittleEndian( ++ PairToUInt64(SCTAG_TRANSFER_MAP_HEADER, SCTAG_TM_TRANSFERRED))); + + return true; + } diff --git a/user/thunderbird/mozconfig b/user/thunderbird/mozconfig index 9f77cf649..e236baa3e 100644 --- a/user/thunderbird/mozconfig +++ b/user/thunderbird/mozconfig @@ -23,3 +23,4 @@ ac_add_options --with-system-nss ac_add_options --with-system-pixman ac_add_options --with-system-png ac_add_options --with-system-zlib +ac_add_options --without-wasm-sandboxed-libraries diff --git a/user/thunderbird/mozilla-build-arm.patch b/user/thunderbird/mozilla-build-arm.patch index dcf2f6d8a..17c95d01d 100644 --- a/user/thunderbird/mozilla-build-arm.patch +++ b/user/thunderbird/mozilla-build-arm.patch @@ -1,10 +1,10 @@ --- ./gfx/ycbcr/moz.build.orig 2014-04-03 13:50:38.990296661 +0000 +++ ./gfx/ycbcr/moz.build 2014-04-03 13:52:26.878268547 +0000 -@@ -59,7 +59,7 @@ +@@ -53,7 +53,7 @@ 'yuv_row_other.cpp', ] --if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']: +-if CONFIG['TARGET_CPU'] == 'arm' and CONFIG['HAVE_ARM_NEON']: +if CONFIG['HAVE_ARM_NEON']: SOURCES += [ 'yuv_row_arm.s', diff --git a/user/thunderbird/newer-cbindgen.patch b/user/thunderbird/newer-cbindgen.patch deleted file mode 100644 index 9829237ee..000000000 --- a/user/thunderbird/newer-cbindgen.patch +++ /dev/null @@ -1,17 +0,0 @@ -Description: Remove an extra constant definition that is now being - generated by newer versions of cbindgen (0.24), and causing - build failures because it is defined in several places. -Author: Olivier Tilloy <olivier.tilloy@canonical.com> -Upstream-URL: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259 - ---- a/gfx/webrender_bindings/webrender_ffi.h -+++ b/gfx/webrender_bindings/webrender_ffi.h -@@ -77,8 +77,6 @@ struct WrPipelineInfo; - struct WrPipelineIdAndEpoch; - using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>; - --const uint64_t ROOT_CLIP_CHAIN = ~0; -- - } // namespace wr - } // namespace mozilla - diff --git a/user/thunderbird/pmmx-double-format.patch b/user/thunderbird/pmmx-double-format.patch index 4b2289fab..e520987b3 100644 --- a/user/thunderbird/pmmx-double-format.patch +++ b/user/thunderbird/pmmx-double-format.patch @@ -12,5 +12,5 @@ index 51d79f9c2ec59..fafd7d6fc1e0d 100644 typedef double __double_t; +#endif typedef __double_t double_t; + typedef float __float_t; - /* diff --git a/user/thunderbird/python3.11-open-U.patch b/user/thunderbird/python3.11-open-U.patch deleted file mode 100644 index 8cbab9c0a..000000000 --- a/user/thunderbird/python3.11-open-U.patch +++ /dev/null @@ -1,102 +0,0 @@ ---- thunderbird-91.11.0/dom/base/usecounters.py.python-open-U 2022-06-28 04:37:00.000000000 +0200 -+++ thunderbird-91.11.0/dom/base/usecounters.py 2022-07-11 19:17:46.266517761 +0200 -@@ -8,7 +8,7 @@ import re - - def read_conf(conf_filename): - # Can't read/write from a single StringIO, so make a new one for reading. -- stream = open(conf_filename, "rU") -+ stream = open(conf_filename, "r") - - def parse_counters(stream): - for line_num, line in enumerate(stream): ---- thunderbird-91.11.0/python/mozbuild/mozbuild/action/process_define_files.py.python-open-U 2022-06-28 04:37:39.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/action/process_define_files.py 2022-07-11 19:18:24.056417112 +0200 -@@ -36,7 +36,7 @@ def process_define_file(output, input): - ) and not config.substs.get("JS_STANDALONE"): - config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src")) - -- with open(path, "rU") as input: -+ with open(path, "r") as input: - r = re.compile( - "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U - ) ---- thunderbird-91.11.0/python/mozbuild/mozbuild/backend/base.py.python-open-U 2022-06-28 04:37:39.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/backend/base.py 2022-07-11 19:18:34.165390187 +0200 -@@ -272,7 +272,7 @@ class BuildBackend(LoggingMixin): - return status - - @contextmanager -- def _write_file(self, path=None, fh=None, readmode="rU"): -+ def _write_file(self, path=None, fh=None, readmode="r"): - """Context manager to write a file. - - This is a glorified wrapper around FileAvoidWrite with integration to ---- thunderbird-91.11.0/python/mozbuild/mozbuild/preprocessor.py.python-open-U 2022-06-28 04:37:20.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/preprocessor.py 2022-07-11 19:19:30.677239685 +0200 -@@ -531,7 +531,7 @@ class Preprocessor: - - if args: - for f in args: -- with io.open(f, "rU", encoding="utf-8") as input: -+ with io.open(f, "r", encoding="utf-8") as input: - self.processFile(input=input, output=out) - if depfile: - mk = Makefile() -@@ -860,7 +860,7 @@ class Preprocessor: - args = self.applyFilters(args) - if not os.path.isabs(args): - args = os.path.join(self.curdir, args) -- args = io.open(args, "rU", encoding="utf-8") -+ args = io.open(args, "r", encoding="utf-8") - except Preprocessor.Error: - raise - except Exception: -@@ -914,7 +914,7 @@ class Preprocessor: - def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"): - pp = Preprocessor(defines=defines, marker=marker) - for f in includes: -- with io.open(f, "rU", encoding="utf-8") as input: -+ with io.open(f, "r", encoding="utf-8") as input: - pp.processFile(input=input, output=output) - return pp.includes - ---- thunderbird-91.11.0/python/mozbuild/mozbuild/util.py.python-open-U 2022-06-28 04:37:40.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozbuild/util.py 2022-07-11 19:19:19.903268374 +0200 -@@ -225,7 +225,7 @@ class FileAvoidWrite(BytesIO): - still occur, as well as diff capture if requested. - """ - -- def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"): -+ def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"): - BytesIO.__init__(self) - self.name = filename - assert type(capture_diff) == bool -@@ -1447,7 +1447,7 @@ def patch_main(): - - def my_get_command_line(): - with open( -- os.path.join(os.path.dirname(__file__), "fork_interpose.py"), "rU" -+ os.path.join(os.path.dirname(__file__), "fork_interpose.py"), "r" - ) as fork_file: - fork_code = fork_file.read() - # Add our relevant globals. ---- thunderbird-91.11.0/python/mozbuild/mozpack/files.py.python-open-U 2022-06-28 04:37:40.000000000 +0200 -+++ thunderbird-91.11.0/python/mozbuild/mozpack/files.py 2022-07-11 19:19:40.372213866 +0200 -@@ -574,7 +574,7 @@ class PreprocessedFile(BaseFile): - pp = Preprocessor(defines=self.defines, marker=self.marker) - pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) - -- with _open(self.path, "rU") as input: -+ with _open(self.path, "r") as input: - with _open(os.devnull, "w") as output: - pp.processFile(input=input, output=output) - -@@ -631,7 +631,7 @@ class PreprocessedFile(BaseFile): - pp = Preprocessor(defines=self.defines, marker=self.marker) - pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) - -- with _open(self.path, "rU") as input: -+ with _open(self.path, "r") as input: - pp.processFile(input=input, output=dest, depfile=deps_out) - - dest.close() diff --git a/user/thunderbird/python3.11-regex-inline-flags.patch b/user/thunderbird/python3.11-regex-inline-flags.patch deleted file mode 100644 index 39481ec01..000000000 --- a/user/thunderbird/python3.11-regex-inline-flags.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- thunderbird-91.11.0/xpcom/idl-parser/xpidl/xpidl.py.python-inline-flags 2022-06-28 04:39:56.000000000 +0200 -+++ thunderbird-91.11.0/xpcom/idl-parser/xpidl/xpidl.py 2022-07-11 21:55:05.287553042 +0200 -@@ -1563,13 +1563,13 @@ class IDLParser(object): - t_ignore = " \t" - - def t_multilinecomment(self, t): -- r"/\*(?s).*?\*/" -+ r"/\*(?s:.*?)\*/" - t.lexer.lineno += t.value.count("\n") - if t.value.startswith("/**"): - self._doccomments.append(t.value) - - def t_singlelinecomment(self, t): -- r"(?m)//.*?$" -+ r"(?m://.*?$)" - - def t_IID(self, t): - return t -@@ -1582,7 +1582,7 @@ class IDLParser(object): - return t - - def t_LCDATA(self, t): -- r"(?s)%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?" -+ r"(?s:%\{[ ]*C\+\+[ ]*\n(?P<cdata>.*?\n?)%\}[ ]*(C\+\+)?)" - t.type = "CDATA" - t.value = t.lexer.lexmatch.group("cdata") - t.lexer.lineno += t.value.count("\n") diff --git a/user/thunderbird/rust-32bit.patch b/user/thunderbird/rust-32bit.patch index cff36e90b..4829e44bf 100644 --- a/user/thunderbird/rust-32bit.patch +++ b/user/thunderbird/rust-32bit.patch @@ -1,32 +1,30 @@ ---- firefox-91.13.0/config/makefiles/rust.mk.old 2022-08-15 13:04:32.000000000 -0500 -+++ firefox-91.13.0/config/makefiles/rust.mk 2022-11-15 01:35:10.150096648 -0600 -@@ -64,19 +64,19 @@ +LTO kills the build on 32-bit architectures. + +--- firefox-128.0/config/makefiles/rust.mk.old 2024-07-04 11:20:25.000000000 -0500 ++++ firefox-128.0/config/makefiles/rust.mk 2024-08-04 03:20:25.375459833 -0500 +@@ -82,25 +82,6 @@ # These flags are passed via `cargo rustc` and only apply to the final rustc # invocation (i.e., only the top-level crate, not its dependencies). cargo_rustc_flags = $(CARGO_RUSTCFLAGS) -ifndef DEVELOPER_OPTIONS -ifndef MOZ_DEBUG_RUST -+#ifndef DEVELOPER_OPTIONS -+#ifndef MOZ_DEBUG_RUST - # Enable link-time optimization for release builds, but not when linking - # gkrust_gtest. And not when doing cross-language LTO. +-# Enable link-time optimization for release builds, but not when linking +-# gkrust_gtest. And not when doing cross-language LTO. -ifndef MOZ_LTO_RUST_CROSS +-# Never enable when sancov is enabled to work around https://github.com/rust-lang/rust/issues/90300. +-ifndef rustflags_sancov +-# Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045. +-ifndef MOZ_CODE_COVERAGE -ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) --cargo_rustc_flags += -Clto +-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat) -endif -+#ifndef MOZ_LTO_RUST_CROSS -+#ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE))) -+#cargo_rustc_flags += -Clto -+#endif - # We need -Cembed-bitcode=yes for all crates when using -Clto. +-# We need -Cembed-bitcode=yes for all crates when using -Clto. -RUSTFLAGS += -Cembed-bitcode=yes -endif -endif -endif -+#RUSTFLAGS += -Cembed-bitcode=yes -+#endif -+#endif -+#endif +-endif +-endif ifdef CARGO_INCREMENTAL export CARGO_INCREMENTAL diff --git a/user/thunderbird/shut-up-warning.patch b/user/thunderbird/shut-up-warning.patch index 8df045af1..bc90b6e2b 100644 --- a/user/thunderbird/shut-up-warning.patch +++ b/user/thunderbird/shut-up-warning.patch @@ -1,6 +1,6 @@ --- firefox-68.0.1/gfx/2d/HelpersCairo.h.old 2019-07-17 20:51:26.000000000 +0000 +++ firefox-68.0.1/gfx/2d/HelpersCairo.h 2019-08-10 11:38:36.047380153 +0000 -@@ -147,7 +147,7 @@ +@@ -149,7 +149,7 @@ case SurfaceFormat::R5G6B5_UINT16: return CAIRO_FORMAT_RGB16_565; default: diff --git a/user/thunderbird/skia-endian.patch b/user/thunderbird/skia-endian.patch new file mode 100644 index 000000000..7a88b0869 --- /dev/null +++ b/user/thunderbird/skia-endian.patch @@ -0,0 +1,112 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1888396 + +--- firefox-128.0/gfx/skia/skia/include/private/SkColorData.h ++++ firefox-128.0/gfx/skia/skia/include/private/SkColorData.h +@@ -12,6 +12,13 @@ #include "include/core/SkColor.h" + #include "include/core/SkColorPriv.h" + #include "include/private/base/SkTo.h" + ++/* Macro to covert between big endian and little endian memory order. */ ++#ifdef SK_CPU_BENDIAN ++#define BE_CONVERT(c) ((((c) & 0xff)<<24) | (((c) & 0xff00)<<8) | (((c) & 0xff0000)>>8) | (((c) & 0xff000000)>>24)) ++#else ++#define BE_CONVERT(c) c ++#endif ++ + //////////////////////////////////////////////////////////////////////////////////////////// + // Convert a 16bit pixel to a 32bit pixel + +--- firefox-128.0/gfx/skia/skia/src/core/SkBlitRow_D32.cpp ++++ firefox-128.0/gfx/skia/skia/src/core/SkBlitRow_D32.cpp +@@ -555,7 +555,7 @@ } + void SkBlitRow::Color32(SkPMColor dst[], int count, SkPMColor color) { + switch (SkGetPackedA32(color)) { + case 0: /* Nothing to do */ return; +- case 255: SkOpts::memset32(dst, color, count); return; ++ case 255: SkOpts::memset32(dst, BE_CONVERT(color), count); return; + } +- return SkOpts::blit_row_color32(dst, count, color); ++ return SkOpts::blit_row_color32(dst, count, BE_CONVERT(color)); + } +--- firefox-128.0/gfx/skia/skia/src/core/SkBlitter_ARGB32.cpp ++++ firefox-128.0/gfx/skia/skia/src/core/SkBlitter_ARGB32.cpp +@@ -1487,7 +1487,7 @@ } + unsigned aa = antialias[0]; + if (aa) { + if ((opaqueMask & aa) == 255) { +- SkOpts::memset32(device, color, count); ++ SkOpts::memset32(device, BE_CONVERT(color), count); + } else { + uint32_t sc = SkAlphaMulQ(color, SkAlpha255To256(aa)); + SkBlitRow::Color32(device, count, sc); +@@ -1503,17 +1503,17 @@ void SkARGB32_Blitter::blitAntiH2(int x, + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x + 1, y);) + +- device[0] = SkBlendARGB32(fPMColor, device[0], a0); +- device[1] = SkBlendARGB32(fPMColor, device[1], a1); ++ device[0] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[0]), a0)); ++ device[1] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[1]), a1)); + } + + void SkARGB32_Blitter::blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) { + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x, y + 1);) + +- device[0] = SkBlendARGB32(fPMColor, device[0], a0); ++ device[0] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[0]), a0)); + device = (uint32_t*)((char*)device + fDevice.rowBytes()); +- device[0] = SkBlendARGB32(fPMColor, device[0], a1); ++ device[0] = BE_CONVERT(SkBlendARGB32(fPMColor, BE_CONVERT(device[0]), a1)); + } + + ////////////////////////////////////////////////////////////////////////////////////// +@@ -1604,17 +1604,17 @@ void SkARGB32_Opaque_Blitter::blitAntiH2 + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x + 1, y);) + +- device[0] = SkFastFourByteInterp(fPMColor, device[0], a0); +- device[1] = SkFastFourByteInterp(fPMColor, device[1], a1); ++ device[0] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[0]), a0)); ++ device[1] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[1]), a1)); + } + + void SkARGB32_Opaque_Blitter::blitAntiV2(int x, int y, U8CPU a0, U8CPU a1) { + uint32_t* device = fDevice.writable_addr32(x, y); + SkDEBUGCODE((void)fDevice.writable_addr32(x, y + 1);) + +- device[0] = SkFastFourByteInterp(fPMColor, device[0], a0); ++ device[0] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[0]), a0)); + device = (uint32_t*)((char*)device + fDevice.rowBytes()); +- device[0] = SkFastFourByteInterp(fPMColor, device[0], a1); ++ device[0] = BE_CONVERT(SkFastFourByteInterp(fPMColor, BE_CONVERT(device[0]), a1)); + } + + /////////////////////////////////////////////////////////////////////////////// +@@ -1634,7 +1634,7 @@ } + unsigned dst_scale = SkAlpha255To256(255 - SkGetPackedA32(color)); + size_t rowBytes = fDevice.rowBytes(); + while (--height >= 0) { +- device[0] = color + SkAlphaMulQ(device[0], dst_scale); ++ device[0] = BE_CONVERT(color + SkAlphaMulQ(BE_CONVERT(device[0]), dst_scale)); + device = (uint32_t*)((char*)device + rowBytes); + } + } +@@ -1651,7 +1651,7 @@ uint32_t color = fPMColor; + size_t rowBytes = fDevice.rowBytes(); + + if (SkGetPackedA32(fPMColor) == 0xFF) { +- SkOpts::rect_memset32(device, color, width, rowBytes, height); ++ SkOpts::rect_memset32(device, BE_CONVERT(color), width, rowBytes, height); + } else { + while (height --> 0) { + SkBlitRow::Color32(device, width, color); +@@ -1680,7 +1680,7 @@ } + unsigned aa = antialias[0]; + if (aa) { + if (aa == 255) { +- SkOpts::memset32(device, black, count); ++ SkOpts::memset32(device, BE_CONVERT(black), count); + } else { + SkPMColor src = aa << SK_A32_SHIFT; + unsigned dst_scale = 256 - aa; diff --git a/user/thunderbird/skia-unified.patch b/user/thunderbird/skia-unified.patch index 77bc56299..cacfe3451 100644 --- a/user/thunderbird/skia-unified.patch +++ b/user/thunderbird/skia-unified.patch @@ -1,69 +1,786 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=1344659 +This patch is not complete. ---- firefox-102.1.0/gfx/2d/Types.h -+++ firefox-102.1.0/gfx/2d/Types.h -@@ -91,15 +91,8 @@ UNKNOWN, - // The following values are endian-independent synonyms. The _UINT32 suffix - // indicates that the name reflects the layout when viewed as a uint32_t - // value. --#if MOZ_LITTLE_ENDIAN() - A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB - X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB --#elif MOZ_BIG_ENDIAN() -- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB -- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB --#else --# error "bad endianness" --#endif +It attempts to completely remove endian-specific surface formats from the +entire tree, then replace it with a single swizzle in Skia. - // The following values are OS and endian-independent synonyms. - // +Most things are working, including most Web sites and graphics. However, +notably, native widgets (like menus, or 'Remember password?' popups) cause +an assertion failure. +We need to ship beta6 and this gets people a browser with many unfortunate +caveats, which is better than no browser at all. -https://bugzilla.mozilla.org/show_bug.cgi?id=1325259 +I intend to remain working with upstream on finding a way forward with the +overall idea of this patch and hope to land something eventually. ---- firefox-102.1.0/gfx/2d/DrawTargetSkia.cpp -+++ firefox-102.1.0/gfx/2d/DrawTargetSkia.cpp -@@ -154,8 +154,12 @@ } - return surfaceBounds.Intersect(bounds); +diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp +--- a/dom/canvas/CanvasRenderingContext2D.cpp ++++ b/dom/canvas/CanvasRenderingContext2D.cpp +@@ -383,7 +383,7 @@ class AdjustedTargetForFilter { + } + + if (!mFinalTarget->CanCreateSimilarDrawTarget(mSourceGraphicRect.Size(), +- SurfaceFormat::B8G8R8A8)) { ++ SurfaceFormat::OS_RGBA)) { + mTarget = mFinalTarget; + mCtx = nullptr; + mFinalTarget = nullptr; +@@ -391,7 +391,7 @@ class AdjustedTargetForFilter { + } + + mTarget = mFinalTarget->CreateSimilarDrawTarget(mSourceGraphicRect.Size(), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + + if (mTarget) { + // See bug 1524554. +@@ -419,7 +419,7 @@ class AdjustedTargetForFilter { + } + + RefPtr<DrawTarget> dt = mFinalTarget->CreateSimilarDrawTarget( +- aRect.Size(), SurfaceFormat::B8G8R8A8); ++ aRect.Size(), SurfaceFormat::OS_RGBA); + + if (dt) { + // See bug 1524554. +@@ -516,7 +516,7 @@ class AdjustedTargetForShadow { + bounds.RoundOut(); + if (!bounds.ToIntRect(&mTempRect) || + !mFinalTarget->CanCreateSimilarDrawTarget(mTempRect.Size(), +- SurfaceFormat::B8G8R8A8)) { ++ SurfaceFormat::OS_RGBA)) { + mTarget = mFinalTarget; + mCtx = nullptr; + mFinalTarget = nullptr; +@@ -524,7 +524,7 @@ class AdjustedTargetForShadow { + } + + mTarget = mFinalTarget->CreateShadowDrawTarget( +- mTempRect.Size(), SurfaceFormat::B8G8R8A8, mSigma); ++ mTempRect.Size(), SurfaceFormat::OS_RGBA, mSigma); + + if (mTarget) { + // See bug 1524554. +@@ -2117,7 +2117,7 @@ CanvasRenderingContext2D::GetOptimizedSn + } + + SurfaceFormat CanvasRenderingContext2D::GetSurfaceFormat() const { +- return mOpaque ? SurfaceFormat::B8G8R8X8 : SurfaceFormat::B8G8R8A8; ++ return mOpaque ? SurfaceFormat::OS_RGBX : SurfaceFormat::OS_RGBA; } -+#if __sparc -+static const int kARGBAlphaOffset = 0; -+#else - static const int kARGBAlphaOffset = - SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0; + // +@@ -5295,7 +5295,7 @@ static already_AddRefed<SourceSurface> E + } + + RefPtr<DrawTarget> subrectDT = aTargetDT->CreateSimilarDrawTarget( +- roundedOutSourceRectInt.Size(), SurfaceFormat::B8G8R8A8); ++ roundedOutSourceRectInt.Size(), SurfaceFormat::OS_RGBA); + + if (subrectDT) { + // See bug 1524554. +@@ -6061,7 +6061,7 @@ void CanvasRenderingContext2D::DrawWindo + } + } + drawDT = gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- dtSize, SurfaceFormat::B8G8R8A8); ++ dtSize, SurfaceFormat::OS_RGBA); + if (!drawDT || !drawDT->IsValid()) { + aError.Throw(NS_ERROR_FAILURE); + return; +@@ -6315,7 +6315,7 @@ void CanvasRenderingContext2D::EnsureErr + + RefPtr<DrawTarget> errorTarget = + gfxPlatform::GetPlatform()->CreateOffscreenCanvasDrawTarget( +- IntSize(1, 1), SurfaceFormat::B8G8R8A8); ++ IntSize(1, 1), SurfaceFormat::OS_RGBA); + MOZ_ASSERT(errorTarget, "Failed to allocate the error target!"); + + sErrorTarget.set(errorTarget.forget().take()); +@@ -6437,7 +6437,7 @@ void CanvasRenderingContext2D::PutImageD + dstData = lockedBits + dirtyRect.y * dstStride + dirtyRect.x * 4; + } else { + sourceSurface = Factory::CreateDataSourceSurface( +- dirtyRect.Size(), SurfaceFormat::B8G8R8A8, false); ++ dirtyRect.Size(), SurfaceFormat::OS_RGBA, false); + + // In certain scenarios, requesting larger than 8k image fails. Bug + // 803568 covers the details of how to run into it, but the full +diff --git a/dom/canvas/ImageBitmap.cpp b/dom/canvas/ImageBitmap.cpp +--- a/dom/canvas/ImageBitmap.cpp ++++ b/dom/canvas/ImageBitmap.cpp +@@ -227,7 +227,7 @@ static already_AddRefed<DataSourceSurfac + // this rectangle are outside the area where the input bitmap was placed, then + // they will be transparent black in output." + // So, instead, we force the output format to be SurfaceFormat::B8G8R8A8. +- const SurfaceFormat format = SurfaceFormat::B8G8R8A8; ++ const SurfaceFormat format = SurfaceFormat::OS_RGBA; + const int bytesPerPixel = BytesPerPixel(format); + const IntSize dstSize = + IntSize(positiveCropRect.width, positiveCropRect.height); +@@ -500,6 +500,11 @@ static already_AddRefed<layers::Image> C + + // Convert RGBA to BGRA + RefPtr<DataSourceSurface> rgbaDataSurface = rgbaSurface->GetDataSurface(); ++ ++ if (SurfaceFormat::OS_RGBA == SurfaceFormat::R8G8B8A8) { ++ return CreateImageFromSurface(rgbaDataSurface); ++ } ++ + DataSourceSurface::ScopedMap rgbaMap(rgbaDataSurface, + DataSourceSurface::READ); + if (NS_WARN_IF(!rgbaMap.IsMapped())) { +@@ -724,7 +729,7 @@ SurfaceFromElementResult ImageBitmap::Su + bool requiresCrop = !allowUncropped && hasCropRect; + if (wantExactSize || requiresPremult || requiresCrop || mSurface) { + RefPtr<DrawTarget> dt = Factory::CreateDrawTarget( +- BackendType::SKIA, IntSize(1, 1), SurfaceFormat::B8G8R8A8); ++ BackendType::SKIA, IntSize(1, 1), SurfaceFormat::OS_RGBA); + sfer.mSourceSurface = PrepareForDrawTarget(dt); + + if (!sfer.mSourceSurface) { +@@ -831,7 +836,7 @@ already_AddRefed<SourceSurface> ImageBit + // black, even if the surface is opaque, so force to an alpha format in + // that case. + if (!surfPortion.IsEqualEdges(mPictureRect) && isOpaque) { +- format = SurfaceFormat::B8G8R8A8; ++ format = SurfaceFormat::OS_RGBA; + } + + // If we need to pre-multiply the alpha, then we need to be able to +diff --git a/dom/canvas/OffscreenCanvasDisplayHelper.cpp b/dom/canvas/OffscreenCanvasDisplayHelper.cpp +--- a/dom/canvas/OffscreenCanvasDisplayHelper.cpp ++++ b/dom/canvas/OffscreenCanvasDisplayHelper.cpp +@@ -181,7 +181,7 @@ bool OffscreenCanvasDisplayHelper::Commi + + MutexAutoLock lock(mMutex); + +- gfx::SurfaceFormat format = gfx::SurfaceFormat::B8G8R8A8; ++ gfx::SurfaceFormat format = gfx::SurfaceFormat::OS_RGBA; + layers::TextureFlags flags = layers::TextureFlags::IMMUTABLE; + + if (!mCanvasElement) { +@@ -207,7 +207,7 @@ bool OffscreenCanvasDisplayHelper::Commi + + if (mData.mIsOpaque) { + flags |= layers::TextureFlags::IS_OPAQUE; +- format = gfx::SurfaceFormat::B8G8R8X8; ++ format = gfx::SurfaceFormat::OS_RGBX; + } else if (!mData.mIsAlphaPremult) { + flags |= layers::TextureFlags::NON_PREMULTIPLIED; + } +diff --git a/gfx/2d/HelpersSkia.h b/gfx/2d/HelpersSkia.h +--- a/gfx/2d/HelpersSkia.h ++++ b/gfx/2d/HelpersSkia.h +@@ -26,6 +26,9 @@ namespace gfx { + static inline SkColorType GfxFormatToSkiaColorType(SurfaceFormat format) { + switch (format) { + case SurfaceFormat::B8G8R8A8: ++#if MOZ_BIG_ENDIAN() ++ //MOZ_DIAGNOSTIC_ASSERT(false, "wrong way unsupported by Skia"); ++#endif + return kBGRA_8888_SkColorType; + case SurfaceFormat::B8G8R8X8: + // We probably need to do something here. +@@ -37,7 +40,9 @@ static inline SkColorType GfxFormatToSki + case SurfaceFormat::R8G8B8A8: + return kRGBA_8888_SkColorType; + case SurfaceFormat::A8R8G8B8: ++#if MOZ_LITTLE_ENDIAN() + MOZ_DIAGNOSTIC_ASSERT(false, "A8R8G8B8 unsupported by Skia"); +#endif + return kRGBA_8888_SkColorType; + default: + MOZ_DIAGNOSTIC_ASSERT(false, "Unknown surface format"); +@@ -49,20 +54,20 @@ static inline SurfaceFormat SkiaColorTyp + SkColorType aColorType, SkAlphaType aAlphaType = kPremul_SkAlphaType) { + switch (aColorType) { + case kBGRA_8888_SkColorType: +- return aAlphaType == kOpaque_SkAlphaType ? SurfaceFormat::B8G8R8X8 +- : SurfaceFormat::B8G8R8A8; ++ return aAlphaType == kOpaque_SkAlphaType ? SurfaceFormat::OS_RGBX ++ : SurfaceFormat::OS_RGBA; + case kRGB_565_SkColorType: + return SurfaceFormat::R5G6B5_UINT16; + case kAlpha_8_SkColorType: + return SurfaceFormat::A8; + default: +- return SurfaceFormat::B8G8R8A8; ++ return SurfaceFormat::OS_RGBA; + } + } - static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize, - const int32_t aStride, SurfaceFormat aFormat) { -# HG changeset patch -# Parent 46ea866ca3acb8bb5e1709ceb799b9c94f591dec -Problem description: Tab-titles that are too long to fit into a tab get faded out. - On big endian this is broken and instead of fading out, the - tab gets white and the font transparent, leading to an unreadable - tab-title -Solution: This is not a real solution, but a hack. The real solution would have been - to byte-swap the correct buffer, but I could not find it. - So the next best thing is to deactivate the fading-effect. Now all tab-titles - are readable, albeit not as pretty to look at as they could be. -Side-effects: I have not yet found an unwanted side-effect. - -diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp ---- a/gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200 -+++ b/gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100 -@@ -1861,6 +1861,14 @@ - SkCanvas::kPreserveLCDText_SaveLayerFlag | - (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0)); - -+#if MOZ_BIG_ENDIAN -+ // Pushing a layer where an aMask is defined produces wrong output. -+ // We _should_ endian swap the data, but I couldn't find a workable way to do so -+ // Therefore I deactivate those layers in the meantime. -+ // The result is: Tab-titles that are longer than the available space should be faded out. -+ // The fading doesn't work, so we deactivate the fading-effect here. -+ if (!aMask) + static inline SkAlphaType GfxFormatToSkiaAlphaType(SurfaceFormat format) { + switch (format) { +- case SurfaceFormat::B8G8R8X8: ++ case SurfaceFormat::OS_RGBX: + case SurfaceFormat::R5G6B5_UINT16: + return kOpaque_SkAlphaType; + default: +diff --git a/gfx/ipc/CrossProcessPaint.cpp b/gfx/ipc/CrossProcessPaint.cpp +--- a/gfx/ipc/CrossProcessPaint.cpp ++++ b/gfx/ipc/CrossProcessPaint.cpp +@@ -107,7 +107,7 @@ PaintFragment PaintFragment::Record(dom: + nsContentUtils::FlushLayoutForTree(ds->GetWindow()); + + // Initialize the recorder +- SurfaceFormat format = SurfaceFormat::B8G8R8A8; ++ SurfaceFormat format = SurfaceFormat::OS_RGBA; + RefPtr<DrawTarget> referenceDt = Factory::CreateDrawTarget( + gfxPlatform::GetPlatform()->GetSoftwareBackend(), IntSize(1, 1), format); + +@@ -254,7 +254,7 @@ bool CrossProcessPaint::Start(dom::Windo + // Create the destination draw target + RefPtr<DrawTarget> drawTarget = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- root->mSize, SurfaceFormat::B8G8R8A8); ++ root->mSize, SurfaceFormat::OS_RGBA); + if (!drawTarget || !drawTarget->IsValid()) { + CPP_LOG("Couldn't create (%d x %d) surface for fragment %" PRIu64 + ".\n", +diff --git a/gfx/ipc/GfxMessageUtils.h b/gfx/ipc/GfxMessageUtils.h +--- a/gfx/ipc/GfxMessageUtils.h ++++ b/gfx/ipc/GfxMessageUtils.h +@@ -677,7 +677,7 @@ struct ParamTraits<GeckoProcessType> + template <> + struct ParamTraits<mozilla::gfx::SurfaceFormat> + : public ContiguousEnumSerializer<mozilla::gfx::SurfaceFormat, +- mozilla::gfx::SurfaceFormat::B8G8R8A8, ++ mozilla::gfx::SurfaceFormat::OS_RGBA, + mozilla::gfx::SurfaceFormat::UNKNOWN> {}; + + template <> +diff --git a/gfx/layers/Compositor.cpp b/gfx/layers/Compositor.cpp +--- a/gfx/layers/Compositor.cpp ++++ b/gfx/layers/Compositor.cpp +@@ -36,7 +36,7 @@ class CompositorRecordedFrame final : pu + gfx::IntSize size = mBuffer->GetSize(); + + mSurface = gfx::Factory::CreateDataSourceSurface( +- size, gfx::SurfaceFormat::B8G8R8A8, ++ size, gfx::SurfaceFormat::OS_RGBA, + /* aZero = */ false); + + if (!mBuffer->MapAndCopyInto(mSurface, size)) { +diff --git a/gfx/layers/ImageDataSerializer.cpp b/gfx/layers/ImageDataSerializer.cpp +--- a/gfx/layers/ImageDataSerializer.cpp ++++ b/gfx/layers/ImageDataSerializer.cpp +@@ -288,16 +288,16 @@ already_AddRefed<DataSourceSurface> Data + RefPtr<DataSourceSurface> result; + if (aSurface) { + MOZ_ASSERT(aSurface->GetSize() == size); +- MOZ_ASSERT(aSurface->GetFormat() == gfx::SurfaceFormat::B8G8R8X8); ++ MOZ_ASSERT(aSurface->GetFormat() == gfx::SurfaceFormat::OS_RGBX); + if (aSurface->GetSize() == size && +- aSurface->GetFormat() == gfx::SurfaceFormat::B8G8R8X8) { ++ aSurface->GetFormat() == gfx::SurfaceFormat::OS_RGBX) { + result = aSurface; + } + } + + if (!result) { + result = +- Factory::CreateDataSourceSurface(size, gfx::SurfaceFormat::B8G8R8X8); ++ Factory::CreateDataSourceSurface(size, gfx::SurfaceFormat::OS_RGBX); + } + if (NS_WARN_IF(!result)) { + return nullptr; +@@ -320,7 +320,7 @@ already_AddRefed<DataSourceSurface> Data + ycbcrData.mChromaSubsampling = aDescriptor.chromaSubsampling(); + +- gfx::ConvertYCbCrToRGB(ycbcrData, gfx::SurfaceFormat::B8G8R8X8, size, ++ gfx::ConvertYCbCrToRGB(ycbcrData, gfx::SurfaceFormat::OS_RGBX, size, + map.mData, map.mStride); + + result->Unmap(); + return result.forget(); +diff --git a/gfx/layers/composite/TextureHost.cpp b/gfx/layers/composite/TextureHost.cpp +--- a/gfx/layers/composite/TextureHost.cpp ++++ b/gfx/layers/composite/TextureHost.cpp +@@ -182,7 +182,7 @@ already_AddRefed<TextureHost> CreateDumm + aFlags &= ~TextureFlags::DEALLOCATE_CLIENT; + aFlags |= TextureFlags::DUMMY_TEXTURE; + UniquePtr<TextureData> textureData(BufferTextureData::Create( +- gfx::IntSize(1, 1), gfx::SurfaceFormat::B8G8R8A8, gfx::BackendType::SKIA, ++ gfx::IntSize(1, 1), gfx::SurfaceFormat::OS_RGBA, gfx::BackendType::SKIA, + aBackend, aFlags, TextureAllocationFlags::ALLOC_DEFAULT, nullptr)); + SurfaceDescriptor surfDesc; + textureData->Serialize(surfDesc); +diff --git a/gfx/layers/ipc/SharedSurfacesChild.cpp b/gfx/layers/ipc/SharedSurfacesChild.cpp +--- a/gfx/layers/ipc/SharedSurfacesChild.cpp ++++ b/gfx/layers/ipc/SharedSurfacesChild.cpp +@@ -241,7 +241,7 @@ nsresult SharedSurfacesChild::ShareInter + + SurfaceFormat format = aSurface->GetFormat(); + MOZ_RELEASE_ASSERT( +- format == SurfaceFormat::B8G8R8X8 || format == SurfaceFormat::B8G8R8A8, ++ format == SurfaceFormat::OS_RGBX || format == SurfaceFormat::OS_RGBA, + "bad format"); + + data->MarkShared(manager->GetNextExternalImageId()); +diff --git a/gfx/layers/wr/WebRenderLayerManager.cpp b/gfx/layers/wr/WebRenderLayerManager.cpp +--- a/gfx/layers/wr/WebRenderLayerManager.cpp ++++ b/gfx/layers/wr/WebRenderLayerManager.cpp +@@ -512,7 +512,7 @@ void WebRenderLayerManager::MakeSnapshot + #ifdef MOZ_WIDGET_ANDROID + SurfaceFormat::R8G8B8A8; + #else +- SurfaceFormat::B8G8R8A8; ++ SurfaceFormat::OS_RGBA; + #endif + RefPtr<TextureClient> texture = TextureClient::CreateForRawBufferAccess( + WrBridge(), format, aSize.ToUnknownSize(), BackendType::SKIA, +diff --git a/gfx/layers/wr/WebRenderTextureHost.cpp b/gfx/layers/wr/WebRenderTextureHost.cpp +--- a/gfx/layers/wr/WebRenderTextureHost.cpp ++++ b/gfx/layers/wr/WebRenderTextureHost.cpp +@@ -159,7 +159,7 @@ int32_t WebRenderTextureHost::GetRGBStri + // XXX this stride is used until yuv image rendering by webrender is used. + // Software converted RGB buffers strides are aliened to 16 + return gfx::GetAlignedStride<16>( +- GetSize().width, BytesPerPixel(gfx::SurfaceFormat::B8G8R8A8)); ++ GetSize().width, BytesPerPixel(gfx::SurfaceFormat::OS_RGBA)); + } + return ImageDataSerializer::ComputeRGBStride(format, GetSize().width); + } +diff --git a/gfx/thebes/gfx2DGlue.h b/gfx/thebes/gfx2DGlue.h +--- a/gfx/thebes/gfx2DGlue.h ++++ b/gfx/thebes/gfx2DGlue.h +@@ -68,9 +68,9 @@ inline gfxRect ThebesRect(const RectDoub + + inline gfxImageFormat SurfaceFormatToImageFormat(SurfaceFormat aFormat) { + switch (aFormat) { +- case SurfaceFormat::B8G8R8A8: ++ case SurfaceFormat::OS_RGBA: + return SurfaceFormat::A8R8G8B8_UINT32; +- case SurfaceFormat::B8G8R8X8: ++ case SurfaceFormat::OS_RGBX: + return SurfaceFormat::X8R8G8B8_UINT32; + case SurfaceFormat::R5G6B5_UINT16: + return SurfaceFormat::R5G6B5_UINT16; +@@ -84,16 +84,16 @@ inline gfxImageFormat SurfaceFormatToIma + inline SurfaceFormat ImageFormatToSurfaceFormat(gfxImageFormat aFormat) { + switch (aFormat) { + case SurfaceFormat::A8R8G8B8_UINT32: +- return SurfaceFormat::B8G8R8A8; ++ return SurfaceFormat::OS_RGBA; + case SurfaceFormat::X8R8G8B8_UINT32: +- return SurfaceFormat::B8G8R8X8; ++ return SurfaceFormat::OS_RGBX; + case SurfaceFormat::R5G6B5_UINT16: + return SurfaceFormat::R5G6B5_UINT16; + case SurfaceFormat::A8: + return SurfaceFormat::A8; + default: + case SurfaceFormat::UNKNOWN: +- return SurfaceFormat::B8G8R8A8; ++ return SurfaceFormat::OS_RGBA; + } + } + +@@ -102,9 +102,11 @@ inline gfxContentType ContentForFormat(c + case SurfaceFormat::R5G6B5_UINT16: + case SurfaceFormat::B8G8R8X8: + case SurfaceFormat::R8G8B8X8: ++ case SurfaceFormat::X8R8G8B8: + return gfxContentType::COLOR; + case SurfaceFormat::A8: + return gfxContentType::ALPHA; ++ case SurfaceFormat::A8R8G8B8: + case SurfaceFormat::B8G8R8A8: + case SurfaceFormat::R8G8B8A8: + default: +diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp +--- a/gfx/thebes/gfxPlatform.cpp ++++ b/gfx/thebes/gfxPlatform.cpp +@@ -987,7 +987,7 @@ void gfxPlatform::Init() { + + gPlatform->mScreenReferenceDrawTarget = + gPlatform->CreateOffscreenContentDrawTarget(IntSize(1, 1), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + if (!gPlatform->mScreenReferenceDrawTarget || + !gPlatform->mScreenReferenceDrawTarget->IsValid()) { + // If TDR is detected, create a draw target with software backend +diff --git a/gfx/thebes/gfxPlatformWorker.cpp b/gfx/thebes/gfxPlatformWorker.cpp +--- a/gfx/thebes/gfxPlatformWorker.cpp ++++ b/gfx/thebes/gfxPlatformWorker.cpp +@@ -64,7 +64,7 @@ RefPtr<mozilla::gfx::DrawTarget> + gfxPlatformWorker::ScreenReferenceDrawTarget() { + if (!mScreenReferenceDrawTarget) { + mScreenReferenceDrawTarget = Factory::CreateDrawTarget( +- BackendType::SKIA, IntSize(1, 1), SurfaceFormat::B8G8R8A8); ++ BackendType::SKIA, IntSize(1, 1), SurfaceFormat::OS_RGBA); + } + return mScreenReferenceDrawTarget; + } +diff --git a/gfx/thebes/gfxUtils.cpp b/gfx/thebes/gfxUtils.cpp +--- a/gfx/thebes/gfxUtils.cpp ++++ b/gfx/thebes/gfxUtils.cpp +@@ -1082,10 +1082,10 @@ nsresult gfxUtils::EncodeSourceSurfaceAs + } + + RefPtr<DataSourceSurface> dataSurface; +- if (aSurface->GetFormat() != SurfaceFormat::B8G8R8A8) { ++ if (aSurface->GetFormat() != SurfaceFormat::OS_RGBA) { + // FIXME bug 995807 (B8G8R8X8), bug 831898 (R5G6B5) + dataSurface = gfxUtils::CopySurfaceToDataSourceSurfaceWithFormat( +- aSurface, SurfaceFormat::B8G8R8A8); ++ aSurface, SurfaceFormat::OS_RGBA); + } else { + dataSurface = aSurface->GetDataSurface(); + } +diff --git a/gfx/webrender_bindings/RenderCompositorSWGL.cpp b/gfx/webrender_bindings/RenderCompositorSWGL.cpp +--- a/gfx/webrender_bindings/RenderCompositorSWGL.cpp ++++ b/gfx/webrender_bindings/RenderCompositorSWGL.cpp +@@ -7,6 +7,7 @@ + #include "RenderCompositorSWGL.h" + + #include "mozilla/gfx/Logging.h" ++#include "mozilla/gfx/Swizzle.h" + #include "mozilla/widget/CompositorWidget.h" + + #ifdef MOZ_WIDGET_GTK +@@ -92,8 +93,8 @@ bool RenderCompositorSWGL::AllocateMappe + gfx::SurfaceFormat format = gfx::SurfaceFormat::UNKNOWN; + if (bufferMode != layers::BufferMode::BUFFERED && !mSurface && + mDT->LockBits(&data, &size, &stride, &format) && +- (format != gfx::SurfaceFormat::B8G8R8A8 && +- format != gfx::SurfaceFormat::B8G8R8X8)) { ++ (format != gfx::SurfaceFormat::OS_RGBA && ++ format != gfx::SurfaceFormat::OS_RGBX)) { + // We tried to lock the DT and it succeeded, but the size or format + // of the data is not compatible, so just release it and fall back below... + mDT->ReleaseBits(data); +@@ -127,7 +128,7 @@ bool RenderCompositorSWGL::AllocateMappe + size = bounds.Size().ToUnknownSize(); + if (!mSurface || mSurface->GetSize() != size) { + mSurface = gfx::Factory::CreateDataSourceSurface( +- size, gfx::SurfaceFormat::B8G8R8A8); ++ size, gfx::SurfaceFormat::OS_RGBA); + } + gfx::DataSourceSurface::MappedSurface map = {nullptr, 0}; + if (!mSurface || !mSurface->Map(gfx::DataSourceSurface::READ_WRITE, &map)) { +@@ -242,6 +243,12 @@ void RenderCompositorSWGL::CommitMappedB + } + mDT->Flush(); + ++#if MOZ_BIG_ENDIAN() ++ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, ++ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, ++ mDT->GetSize()); +#endif - mCanvas->saveLayer(saveRec); ++ + // Done with the DT. Hand it back to the widget and clear out any trace of it. + mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion); + mDirtyRegion.SetEmpty(); +diff --git a/gfx/webrender_bindings/RenderTextureHostSWGL.cpp b/gfx/webrender_bindings/RenderTextureHostSWGL.cpp +--- a/gfx/webrender_bindings/RenderTextureHostSWGL.cpp ++++ b/gfx/webrender_bindings/RenderTextureHostSWGL.cpp +@@ -36,8 +36,8 @@ bool RenderTextureHostSWGL::UpdatePlanes + } + GLenum internalFormat = 0; + switch (format) { +- case gfx::SurfaceFormat::B8G8R8A8: +- case gfx::SurfaceFormat::B8G8R8X8: ++ case gfx::SurfaceFormat::OS_RGBA: ++ case gfx::SurfaceFormat::OS_RGBX: + MOZ_ASSERT(colorDepth == gfx::ColorDepth::COLOR_8); + internalFormat = LOCAL_GL_RGBA8; + break; +diff --git a/gfx/webrender_bindings/WebRenderTypes.h b/gfx/webrender_bindings/WebRenderTypes.h +--- a/gfx/webrender_bindings/WebRenderTypes.h ++++ b/gfx/webrender_bindings/WebRenderTypes.h +@@ -105,7 +105,7 @@ inline Maybe<wr::ImageFormat> SurfaceFor + inline gfx::SurfaceFormat ImageFormatToSurfaceFormat(ImageFormat aFormat) { + switch (aFormat) { + case ImageFormat::BGRA8: +- return gfx::SurfaceFormat::B8G8R8A8; ++ return gfx::SurfaceFormat::OS_RGBA; + case ImageFormat::R8: + return gfx::SurfaceFormat::A8; + case ImageFormat::R16: +diff --git a/image/imgTools.cpp b/image/imgTools.cpp +--- a/image/imgTools.cpp ++++ b/image/imgTools.cpp +@@ -425,8 +425,8 @@ static nsresult EncodeImageData(DataSour + const nsACString& aMimeType, + const nsAString& aOutputOptions, + nsIInputStream** aStream) { +- MOZ_ASSERT(aDataSurface->GetFormat() == SurfaceFormat::B8G8R8A8 || +- aDataSurface->GetFormat() == SurfaceFormat::B8G8R8X8, ++ MOZ_ASSERT(aDataSurface->GetFormat() == SurfaceFormat::OS_RGBA || ++ aDataSurface->GetFormat() == SurfaceFormat::OS_RGBX, + "We're assuming B8G8R8A8/X8"); + + // Get an image encoder for the media type +@@ -474,13 +474,13 @@ imgTools::EncodeImage(imgIContainer* aCo + + RefPtr<DataSourceSurface> dataSurface; + +- if (frame->GetFormat() == SurfaceFormat::B8G8R8A8 || +- frame->GetFormat() == SurfaceFormat::B8G8R8X8) { ++ if (frame->GetFormat() == SurfaceFormat::OS_RGBA || ++ frame->GetFormat() == SurfaceFormat::OS_RGBX) { + dataSurface = frame->GetDataSurface(); + } else { + // Convert format to SurfaceFormat::B8G8R8A8 + dataSurface = gfxUtils::CopySurfaceToDataSourceSurfaceWithFormat( +- frame, SurfaceFormat::B8G8R8A8); ++ frame, SurfaceFormat::OS_RGBA); + } + + NS_ENSURE_TRUE(dataSurface, NS_ERROR_FAILURE); +@@ -522,8 +522,8 @@ imgTools::EncodeScaledImage(imgIContaine + + // If the given surface is the right size/format, we can encode it directly. + if (scaledSize == frame->GetSize() && +- (frame->GetFormat() == SurfaceFormat::B8G8R8A8 || +- frame->GetFormat() == SurfaceFormat::B8G8R8X8)) { ++ (frame->GetFormat() == SurfaceFormat::OS_RGBA || ++ frame->GetFormat() == SurfaceFormat::OS_RGBX)) { + RefPtr<DataSourceSurface> dataSurface = frame->GetDataSurface(); + if (dataSurface) { + return EncodeImageData(dataSurface, aMimeType, aOutputOptions, aStream); +@@ -533,7 +533,7 @@ imgTools::EncodeScaledImage(imgIContaine + // Otherwise we need to scale it using a draw target. + // Ensure the surface is initialized to clear in case we need to blend to it. + RefPtr<DataSourceSurface> dataSurface = Factory::CreateDataSourceSurface( +- scaledSize, SurfaceFormat::B8G8R8A8, true); ++ scaledSize, SurfaceFormat::OS_RGBA, true); + if (NS_WARN_IF(!dataSurface)) { + return NS_ERROR_FAILURE; + } +@@ -545,7 +545,7 @@ imgTools::EncodeScaledImage(imgIContaine + + RefPtr<DrawTarget> dt = Factory::CreateDrawTargetForData( + BackendType::SKIA, map.GetData(), dataSurface->GetSize(), map.GetStride(), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + if (!dt) { + gfxWarning() << "imgTools::EncodeImage failed in CreateDrawTargetForData"; + return NS_ERROR_OUT_OF_MEMORY; +@@ -603,7 +603,7 @@ imgTools::EncodeCroppedImage(imgIContain + frameHeight >= aOffsetY + aHeight); + + RefPtr<DataSourceSurface> dataSurface = Factory::CreateDataSourceSurface( +- IntSize(aWidth, aHeight), SurfaceFormat::B8G8R8A8, ++ IntSize(aWidth, aHeight), SurfaceFormat::OS_RGBA, + /* aZero = */ true); + if (NS_WARN_IF(!dataSurface)) { + return NS_ERROR_FAILURE; +@@ -616,7 +616,7 @@ imgTools::EncodeCroppedImage(imgIContain + + RefPtr<DrawTarget> dt = Factory::CreateDrawTargetForData( + BackendType::SKIA, map.GetData(), dataSurface->GetSize(), map.GetStride(), +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + if (!dt) { + gfxWarning() + << "imgTools::EncodeCroppedImage failed in CreateDrawTargetForData"; +diff --git a/layout/base/PresShell.cpp b/layout/base/PresShell.cpp +--- a/layout/base/PresShell.cpp ++++ b/layout/base/PresShell.cpp +@@ -5124,7 +5124,7 @@ already_AddRefed<SourceSurface> PresShel + + RefPtr<DrawTarget> dt = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- IntSize(pixelArea.width, pixelArea.height), SurfaceFormat::B8G8R8A8); ++ IntSize(pixelArea.width, pixelArea.height), SurfaceFormat::OS_RGBA); + if (!dt || !dt->IsValid()) { + return nullptr; + } +diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp +--- a/layout/base/nsLayoutUtils.cpp ++++ b/layout/base/nsLayoutUtils.cpp +@@ -7022,9 +7022,9 @@ SurfaceFromElementResult nsLayoutUtils:: + result.mAlphaType = gfxAlphaType::Opaque; + RefPtr<DrawTarget> ref = + aTarget ? aTarget : gfxPlatform::ThreadLocalScreenReferenceDrawTarget(); +- if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8)) { ++ if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA)) { + RefPtr<DrawTarget> dt = +- ref->CreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8); ++ ref->CreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA); + if (dt) { + result.mSourceSurface = dt->Snapshot(); + } +@@ -7102,12 +7102,12 @@ SurfaceFromElementResult nsLayoutUtils:: + : gfxPlatform::GetPlatform() + ->ThreadLocalScreenReferenceDrawTarget(); + if (!ref->CanCreateSimilarDrawTarget(displaySize, +- SurfaceFormat::B8G8R8A8)) { ++ SurfaceFormat::OS_RGBA)) { + return result; + } + + RefPtr<DrawTarget> dt = +- ref->CreateSimilarDrawTarget(displaySize, SurfaceFormat::B8G8R8A8); ++ ref->CreateSimilarDrawTarget(displaySize, SurfaceFormat::OS_RGBA); + if (!dt) { + return result; + } +@@ -7380,9 +7380,9 @@ SurfaceFromElementResult nsLayoutUtils:: + RefPtr<DrawTarget> ref = + aTarget ? aTarget + : gfxPlatform::GetPlatform()->ScreenReferenceDrawTarget(); +- if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8)) { ++ if (ref->CanCreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA)) { + RefPtr<DrawTarget> dt = +- ref->CreateSimilarDrawTarget(size, SurfaceFormat::B8G8R8A8); ++ ref->CreateSimilarDrawTarget(size, SurfaceFormat::OS_RGBA); + if (dt) { + result.mSourceSurface = dt->Snapshot(); + } +diff --git a/layout/painting/nsCSSRenderingGradients.cpp b/layout/painting/nsCSSRenderingGradients.cpp +--- a/layout/painting/nsCSSRenderingGradients.cpp ++++ b/layout/painting/nsCSSRenderingGradients.cpp +@@ -1160,7 +1160,7 @@ bool nsCSSGradientRenderer::TryPaintTile + { + RefPtr<gfx::DrawTarget> tileTarget = + aContext.GetDrawTarget()->CreateSimilarDrawTarget( +- tileSize, gfx::SurfaceFormat::B8G8R8A8); ++ tileSize, gfx::SurfaceFormat::OS_RGBA); + if (!tileTarget || !tileTarget->IsValid()) { + return false; + } +diff --git a/layout/painting/nsDisplayList.cpp b/layout/painting/nsDisplayList.cpp +--- a/layout/painting/nsDisplayList.cpp ++++ b/layout/painting/nsDisplayList.cpp +@@ -5043,7 +5043,7 @@ void nsDisplayBlendMode::Paint(nsDisplay + // we're going to draw to. This will include the same transform as + // is currently on |dt|. + RefPtr<DrawTarget> temp = +- dt->CreateClippedDrawTarget(rect, SurfaceFormat::B8G8R8A8); ++ dt->CreateClippedDrawTarget(rect, SurfaceFormat::OS_RGBA); + if (!temp) { + return; + } +@@ -6870,7 +6870,7 @@ void nsDisplayTransform::Paint(nsDisplay + RefPtr<DrawTarget> untransformedDT = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( + IntSize(pixelBounds.Width(), pixelBounds.Height()), +- SurfaceFormat::B8G8R8A8, true); ++ SurfaceFormat::OS_RGBA, true); + if (!untransformedDT || !untransformedDT->IsValid()) { + return; + } +diff --git a/layout/painting/nsImageRenderer.cpp b/layout/painting/nsImageRenderer.cpp +--- a/layout/painting/nsImageRenderer.cpp ++++ b/layout/painting/nsImageRenderer.cpp +@@ -469,7 +469,7 @@ ImgDrawResult nsImageRenderer::Draw(nsPr + return ImgDrawResult::SUCCESS; + } + RefPtr<DrawTarget> tempDT = ctx->GetDrawTarget()->CreateSimilarDrawTarget( +- tmpDTRect.Size(), SurfaceFormat::B8G8R8A8); ++ tmpDTRect.Size(), SurfaceFormat::OS_RGBA); + if (!tempDT || !tempDT->IsValid()) { + gfxDevCrash(LogReason::InvalidContext) + << "ImageRenderer::Draw problem " << gfx::hexa(tempDT); +diff --git a/layout/svg/FilterInstance.cpp b/layout/svg/FilterInstance.cpp +--- a/layout/svg/FilterInstance.cpp ++++ b/layout/svg/FilterInstance.cpp +@@ -666,7 +666,7 @@ void FilterInstance::BuildSourcePaint(So + + RefPtr<DrawTarget> offscreenDT = + gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget( +- neededRect.Size(), SurfaceFormat::B8G8R8A8); ++ neededRect.Size(), SurfaceFormat::OS_RGBA); + if (!offscreenDT || !offscreenDT->IsValid()) { + return; + } +@@ -714,7 +714,7 @@ void FilterInstance::BuildSourceImage(Dr + } + + RefPtr<DrawTarget> offscreenDT; +- SurfaceFormat format = SurfaceFormat::B8G8R8A8; ++ SurfaceFormat format = SurfaceFormat::OS_RGBA; + if (aDest->CanCreateSimilarDrawTarget(neededRect.Size(), format)) { + offscreenDT = aDest->CreateSimilarDrawTargetForFilter( + neededRect.Size(), format, aFilter, aSource, aSourceRect, Point(0, 0)); +diff --git a/layout/svg/SVGMaskFrame.cpp b/layout/svg/SVGMaskFrame.cpp +--- a/layout/svg/SVGMaskFrame.cpp ++++ b/layout/svg/SVGMaskFrame.cpp +@@ -68,7 +68,7 @@ already_AddRefed<SourceSurface> SVGMaskF + RefPtr<DrawTarget> maskDT; + if (maskType == StyleMaskType::Luminance) { + maskDT = aParams.dt->CreateClippedDrawTarget(maskSurfaceRect, +- SurfaceFormat::B8G8R8A8); ++ SurfaceFormat::OS_RGBA); + } else { + maskDT = + aParams.dt->CreateClippedDrawTarget(maskSurfaceRect, SurfaceFormat::A8); +diff --git a/layout/svg/SVGPatternFrame.cpp b/layout/svg/SVGPatternFrame.cpp +--- a/layout/svg/SVGPatternFrame.cpp ++++ b/layout/svg/SVGPatternFrame.cpp +@@ -370,7 +370,7 @@ already_AddRefed<SourceSurface> SVGPatte + } + + RefPtr<DrawTarget> dt = aDrawTarget->CreateSimilarDrawTargetWithBacking( +- surfaceSize, SurfaceFormat::B8G8R8A8); ++ surfaceSize, SurfaceFormat::OS_RGBA); + if (!dt || !dt->IsValid()) { + return nullptr; + } +diff --git a/layout/svg/SVGUtils.cpp b/layout/svg/SVGUtils.cpp +--- a/layout/svg/SVGUtils.cpp ++++ b/layout/svg/SVGUtils.cpp +@@ -488,7 +488,7 @@ class MixModeBlender { + + RefPtr<DrawTarget> targetDT = + mSourceCtx->GetDrawTarget()->CreateSimilarDrawTarget( +- drawRect.Size(), SurfaceFormat::B8G8R8A8); ++ drawRect.Size(), SurfaceFormat::OS_RGBA); + if (!targetDT || !targetDT->IsValid()) { + return nullptr; + } +diff --git a/widget/gtk/DMABufSurface.cpp b/widget/gtk/DMABufSurface.cpp +--- a/widget/gtk/DMABufSurface.cpp ++++ b/widget/gtk/DMABufSurface.cpp +@@ -948,8 +948,8 @@ bool DMABufSurfaceRGBA::HasAlpha() { + } + + gfx::SurfaceFormat DMABufSurfaceRGBA::GetFormat() { +- return HasAlpha() ? gfx::SurfaceFormat::B8G8R8A8 +- : gfx::SurfaceFormat::B8G8R8X8; ++ return HasAlpha() ? gfx::SurfaceFormat::OS_RGBA ++ : gfx::SurfaceFormat::OS_RGBX; + } + + // GL uses swapped R and B components so report accordingly. +@@ -1662,7 +1662,7 @@ DMABufSurfaceYUV::GetAsSourceSurface() { + LOGDMABUF(("DMABufSurfaceYUV::GetAsSourceSurface UID %d", mUID)); + + gfx::IntSize size(GetWidth(), GetHeight()); +- const auto format = gfx::SurfaceFormat::B8G8R8A8; ++ const auto format = gfx::SurfaceFormat::OS_RGBA; + RefPtr<gfx::DataSourceSurface> source = + gfx::Factory::CreateDataSourceSurface(size, format); + if (NS_WARN_IF(!source)) { +@@ -1692,7 +1692,7 @@ nsresult DMABufSurfaceYUV::BuildSurfaceD + LOGDMABUF(("DMABufSurfaceYUV::BuildSurfaceDescriptorBuffer UID %d", mUID)); + + gfx::IntSize size(GetWidth(), GetHeight()); +- const auto format = gfx::SurfaceFormat::B8G8R8A8; ++ const auto format = gfx::SurfaceFormat::OS_RGBA; - SetPermitSubpixelAA(aOpaque); + uint8_t* buffer = nullptr; + int32_t stride = 0; +diff --git a/widget/gtk/WindowSurfaceX11.cpp b/widget/gtk/WindowSurfaceX11.cpp +--- a/widget/gtk/WindowSurfaceX11.cpp ++++ b/widget/gtk/WindowSurfaceX11.cpp +@@ -24,13 +24,13 @@ gfx::SurfaceFormat WindowSurfaceX11::Get + case 32: + if (aVisual->red_mask == 0xff0000 && aVisual->green_mask == 0xff00 && + aVisual->blue_mask == 0xff) { +- return gfx::SurfaceFormat::B8G8R8A8; ++ return gfx::SurfaceFormat::OS_RGBA; + } + break; + case 24: + if (aVisual->red_mask == 0xff0000 && aVisual->green_mask == 0xff00 && + aVisual->blue_mask == 0xff) { +- return gfx::SurfaceFormat::B8G8R8X8; ++ return gfx::SurfaceFormat::OS_RGBX; + } + break; + case 16: diff --git a/user/thunderbird/stackwalk-x86-ppc.patch b/user/thunderbird/stackwalk-x86-ppc.patch index eed7a0956..df9ebfd94 100644 --- a/user/thunderbird/stackwalk-x86-ppc.patch +++ b/user/thunderbird/stackwalk-x86-ppc.patch @@ -1,16 +1,16 @@ --- thunderbird-52.6.0/mozglue/misc/StackWalk.cpp +++ thunderbird-52.6.0/mozglue/misc/StackWalk.cpp -@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress; - #define MOZ_STACKWALK_SUPPORTS_MACOSX 0 +@@ -50,13 +50,6 @@ static CriticalAddress gCriticalAddress; + # define HAVE___LIBC_STACK_END 0 #endif -#if (defined(linux) && \ - ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \ -- defined(HAVE__UNWIND_BACKTRACE))) +- defined(HAVE__UNWIND_BACKTRACE)) && \ +- (HAVE___LIBC_STACK_END || ANDROID)) -# define MOZ_STACKWALK_SUPPORTS_LINUX 1 -#else # define MOZ_STACKWALK_SUPPORTS_LINUX 0 -#endif - - #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) - #define HAVE___LIBC_STACK_END 1 + + #if HAVE___LIBC_STACK_END diff --git a/user/thunderbird/triplet-vendor-support.patch b/user/thunderbird/triplet-vendor-support.patch deleted file mode 100644 index 84236b8ba..000000000 --- a/user/thunderbird/triplet-vendor-support.patch +++ /dev/null @@ -1,316 +0,0 @@ -Squashed version of https://github.com/bytecodealliance/target-lexicon/pull/35 - -diff -Naur thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/build.rs thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/build.rs ---- thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/build.rs 2022-08-15 13:05:59.000000000 -0500 -+++ thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/build.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -32,6 +32,7 @@ - } - } - -+use self::targets::Vendor; - use self::triple::Triple; - - fn main() { -@@ -52,6 +53,8 @@ - writeln!(out, "use crate::Aarch64Architecture::*;")?; - writeln!(out, "#[allow(unused_imports)]")?; - writeln!(out, "use crate::ArmArchitecture::*;")?; -+ writeln!(out, "#[allow(unused_imports)]")?; -+ writeln!(out, "use crate::CustomVendor;")?; - writeln!(out)?; - writeln!(out, "/// The `Triple` of the current host.")?; - writeln!(out, "pub const HOST: Triple = Triple {{")?; -@@ -60,7 +63,7 @@ - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!(out, " vendor: {},", vendor_display(&triple.vendor))?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -90,7 +93,7 @@ - writeln!(out, "impl Vendor {{")?; - writeln!(out, " /// Return the vendor for the current host.")?; - writeln!(out, " pub const fn host() -> Self {{")?; -- writeln!(out, " Vendor::{:?}", triple.vendor)?; -+ writeln!(out, " {}", vendor_display(&triple.vendor))?; - writeln!(out, " }}")?; - writeln!(out, "}}")?; - writeln!(out)?; -@@ -138,7 +141,11 @@ - " architecture: Architecture::{:?},", - triple.architecture - )?; -- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?; -+ writeln!( -+ out, -+ " vendor: {},", -+ vendor_display(&triple.vendor) -+ )?; - writeln!( - out, - " operating_system: OperatingSystem::{:?},", -@@ -160,3 +167,13 @@ - - Ok(()) - } -+ -+fn vendor_display(vendor: &Vendor) -> String { -+ match vendor { -+ Vendor::Custom(custom) => format!( -+ "Vendor::Custom(CustomVendor::Static({:?}))", -+ custom.as_str() -+ ), -+ known => format!("Vendor::{:?}", known), -+ } -+} -diff -Naur thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/lib.rs thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/src/lib.rs ---- thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/lib.rs 2022-08-15 13:05:37.000000000 -0500 -+++ thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/src/lib.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -28,7 +28,7 @@ - pub use self::host::HOST; - pub use self::parse_error::ParseError; - pub use self::targets::{ -- Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, Environment, OperatingSystem, -- Vendor, -+ Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, CustomVendor, Environment, -+ OperatingSystem, Vendor, - }; - pub use self::triple::{CallingConvention, Endianness, PointerWidth, Triple}; -diff -Naur thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/targets.rs thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/src/targets.rs ---- thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/targets.rs 2022-08-15 13:05:42.000000000 -0500 -+++ thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/src/targets.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -1,7 +1,10 @@ - // This file defines all the identifier enums and target-aware logic. - - use crate::triple::{Endianness, PointerWidth, Triple}; -+use alloc::boxed::Box; -+use alloc::string::String; - use core::fmt; -+use core::hash::{Hash, Hasher}; - use core::str::FromStr; - - /// The "architecture" field, which in some cases also specifies a specific -@@ -290,9 +293,42 @@ - } - } - -+/// A string for a `Vendor::Custom` that can either be used in `const` -+/// contexts or hold dynamic strings. -+#[derive(Clone, Debug, Eq)] -+pub enum CustomVendor { -+ /// An owned `String`. This supports the general case. -+ Owned(Box<String>), -+ /// A static `str`, so that `CustomVendor` can be constructed in `const` -+ /// contexts. -+ Static(&'static str), -+} -+ -+impl CustomVendor { -+ /// Extracts a string slice. -+ pub fn as_str(&self) -> &str { -+ match self { -+ CustomVendor::Owned(s) => s, -+ CustomVendor::Static(s) => s, -+ } -+ } -+} -+ -+impl PartialEq for CustomVendor { -+ fn eq(&self, other: &Self) -> bool { -+ self.as_str() == other.as_str() -+ } -+} -+ -+impl Hash for CustomVendor { -+ fn hash<H: Hasher>(&self, state: &mut H) { -+ self.as_str().hash(state) -+ } -+} -+ - /// The "vendor" field, which in practice is little more than an arbitrary - /// modifier. --#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] -+#[derive(Clone, Debug, PartialEq, Eq, Hash)] - #[allow(missing_docs)] - pub enum Vendor { - Unknown, -@@ -306,6 +342,15 @@ - Sun, - Uwp, - Wrs, -+ -+ /// A custom vendor. "Custom" in this context means that the vendor is -+ /// not specifically recognized by upstream Autotools, LLVM, Rust, or other -+ /// relevant authorities on triple naming. It's useful for people building -+ /// and using locally patched toolchains. -+ /// -+ /// Outside of such patched environments, users of `target-lexicon` should -+ /// treat `Custom` the same as `Unknown` and ignore the string. -+ Custom(CustomVendor), - } - - /// The "operating system" field, which sometimes implies an environment, and -@@ -717,6 +762,7 @@ - Vendor::Sun => "sun", - Vendor::Uwp => "uwp", - Vendor::Wrs => "wrs", -+ Vendor::Custom(ref name) => name.as_str(), - }; - f.write_str(s) - } -@@ -738,7 +784,43 @@ - "sun" => Vendor::Sun, - "uwp" => Vendor::Uwp, - "wrs" => Vendor::Wrs, -- _ => return Err(()), -+ custom => { -+ use alloc::borrow::ToOwned; -+ -+ // A custom vendor. Since triple syntax is so loosely defined, -+ // be as conservative as we can to avoid potential ambiguities. -+ // We err on the side of being too strict here, as we can -+ // always relax it if needed. -+ -+ // Don't allow empty string names. -+ if custom.is_empty() { -+ return Err(()); -+ } -+ -+ // Don't allow any other recognized name as a custom vendor, -+ // since vendors can be omitted in some contexts. -+ if Architecture::from_str(custom).is_ok() -+ || OperatingSystem::from_str(custom).is_ok() -+ || Environment::from_str(custom).is_ok() -+ || BinaryFormat::from_str(custom).is_ok() -+ { -+ return Err(()); -+ } -+ -+ // Require the first character to be an ascii lowercase. -+ if !custom.chars().nth(0).unwrap().is_ascii_lowercase() { -+ return Err(()); -+ } -+ -+ // Restrict the set of characters permitted in a custom vendor. -+ if custom.chars().any(|c: char| { -+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.') -+ }) { -+ return Err(()); -+ } -+ -+ Vendor::Custom(CustomVendor::Owned(Box::new(custom.to_owned()))) -+ } - }) - } - } -@@ -1120,4 +1202,87 @@ - assert_eq!(t.environment, Environment::Eabihf); - assert_eq!(t.binary_format, BinaryFormat::Elf); - } -+ -+ #[test] -+ fn custom_vendors() { -+ // Test various invalid cases. -+ assert!(Triple::from_str("x86_64--linux").is_err()); -+ assert!(Triple::from_str("x86_64-42-linux").is_err()); -+ assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err()); -+ assert!(Triple::from_str("x86_64-^-linux").is_err()); -+ assert!(Triple::from_str("x86_64- -linux").is_err()); -+ assert!(Triple::from_str("x86_64-CustomVendor-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-linux").is_err()); -+ assert!(Triple::from_str("x86_64-x86_64-linux").is_err()); -+ assert!(Triple::from_str("x86_64-elf-linux").is_err()); -+ assert!(Triple::from_str("x86_64-gnu-linux").is_err()); -+ assert!(Triple::from_str("x86_64-linux-customvendor").is_err()); -+ assert!(Triple::from_str("customvendor").is_err()); -+ assert!(Triple::from_str("customvendor-x86_64").is_err()); -+ assert!(Triple::from_str("x86_64-").is_err()); -+ assert!(Triple::from_str("x86_64--").is_err()); -+ -+ // Test various Unicode things. -+ assert!( -+ Triple::from_str("x86_64-𝓬𝓾𝓼𝓽𝓸𝓶𝓿𝓮𝓷𝓭𝓸𝓻-linux").is_err(), -+ "unicode font hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-ćúśtőḿvéńdőŕ-linux").is_err(), -+ "diacritical mark stripping hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-customvendοr-linux").is_err(), -+ "homoglyph hazard" -+ ); -+ assert!(Triple::from_str("x86_64-customvendor-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-ffi-linux").is_err(), -+ "normalization hazard" -+ ); -+ assert!(Triple::from_str("x86_64-ffi-linux").is_ok()); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "zero-width character hazard" -+ ); -+ assert!( -+ Triple::from_str("x86_64-customvendor-linux").is_err(), -+ "BOM hazard" -+ ); -+ -+ // Test some valid cases. -+ let t = Triple::from_str("x86_64-customvendor-linux") -+ .expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(CustomVendor::Static("customvendor")) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Linux); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Elf); -+ assert_eq!(t.to_string(), "x86_64-customvendor-linux"); -+ -+ let t = -+ Triple::from_str("x86_64-customvendor").expect("can't parse target with custom vendor"); -+ assert_eq!(t.architecture, Architecture::X86_64); -+ assert_eq!( -+ t.vendor, -+ Vendor::Custom(CustomVendor::Static("customvendor")) -+ ); -+ assert_eq!(t.operating_system, OperatingSystem::Unknown); -+ assert_eq!(t.environment, Environment::Unknown); -+ assert_eq!(t.binary_format, BinaryFormat::Unknown); -+ -+ assert_eq!( -+ Triple::from_str("unknown-foo"), -+ Ok(Triple { -+ architecture: Architecture::Unknown, -+ vendor: Vendor::Custom(CustomVendor::Static("foo")), -+ operating_system: OperatingSystem::Unknown, -+ environment: Environment::Unknown, -+ binary_format: BinaryFormat::Unknown, -+ }) -+ ); -+ } - } -diff -Naur thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/triple.rs thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/src/triple.rs ---- thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/src/triple.rs 2022-08-15 13:05:59.000000000 -0500 -+++ thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/src/triple.rs 2022-11-23 00:35:04.697192794 -0600 -@@ -323,10 +323,6 @@ - Err(ParseError::UnrecognizedArchitecture("foo".to_owned())) - ); - assert_eq!( -- Triple::from_str("unknown-foo"), -- Err(ParseError::UnrecognizedVendor("foo".to_owned())) -- ); -- assert_eq!( - Triple::from_str("unknown-unknown-foo"), - Err(ParseError::UnrecognizedOperatingSystem("foo".to_owned())) - ); -diff -Naur thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/.cargo-checksum.json thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json ---- thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0_orig/.cargo-checksum.json 2022-08-15 13:05:38.000000000 -0500 -+++ thunderbird-91.13.0/third_party/rust/target-lexicon-0.9.0/.cargo-checksum.json 2022-11-23 01:16:14.304912521 -0600 -@@ -1 +1 @@ --{"files":{"Cargo.lock":"a1a162e6ce8fc2234a6ddf7090410006a1920ace8738772e32a5b50e4780c19d","Cargo.toml":"f3b545fa0f184fd0d3624e6e5c205fcbdf1ad0934a2e08406549ad53c2a62ac3","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"c3467056d91be3f59562158ee9604c729b5b5f473efbefb036032803eb76809e","build.rs":"723100e9cdc30cd8c48407233c2cffa10f5b10703a0a11bac1230d8b86e49ccf","examples/host.rs":"503bafddfb372123fe4dc0e7b8037808beb5bfe6df60c00d3315922bd3792c6c","examples/misc.rs":"49a579845450b7b020ed5c97dca142fc548725893cbc82f6f750ee0caab2beca","newlist":"89564342916321c5bc35e772d374a7f0af22cc9ae6dcc0027eca48d2269f18cb","src/host.rs":"fb543df4f362e9119a58523563e453110f4e3a426f0995911d0ca386657cf1d9","src/lib.rs":"4414353c30f25d44df6cc14f7f9eea9991222289c6aa662b74406f6923235970","src/parse_error.rs":"b3735eabc0fd0a9dfdd6375662f20ec96a79852a00a05a98fb2e421545285e53","src/targets.rs":"9ccc0849cff06d8906dacbdc15136cc47fab85ccd795033ddfdde1397dfcfe32","src/triple.rs":"949bd83b043b53b18f643ebc3fbebbfe02a13998b787fda432a5d36aa27d20bd","test.sh":"22e3c630a6c84e90d5c70c367a6712be8eeca1e7682c00d1f65bf53e330e9191"},"package":"6f4c118a7a38378f305a9e111fcb2f7f838c0be324bfb31a77ea04f7f6e684b4"} -\ No newline at end of file -+{"files":{"Cargo.lock":"a1a162e6ce8fc2234a6ddf7090410006a1920ace8738772e32a5b50e4780c19d","Cargo.toml":"f3b545fa0f184fd0d3624e6e5c205fcbdf1ad0934a2e08406549ad53c2a62ac3","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"c3467056d91be3f59562158ee9604c729b5b5f473efbefb036032803eb76809e","build.rs":"85d6a1b6392b56946f48c0ff1526736a37fe012951bf3855709da1d6cfb4baa0","examples/host.rs":"503bafddfb372123fe4dc0e7b8037808beb5bfe6df60c00d3315922bd3792c6c","examples/misc.rs":"49a579845450b7b020ed5c97dca142fc548725893cbc82f6f750ee0caab2beca","newlist":"89564342916321c5bc35e772d374a7f0af22cc9ae6dcc0027eca48d2269f18cb","src/host.rs":"fb543df4f362e9119a58523563e453110f4e3a426f0995911d0ca386657cf1d9","src/lib.rs":"89986c98b9a04e0f1e957e0127e23a53048a1f0d597493723c4bba031c2ca32d","src/parse_error.rs":"b3735eabc0fd0a9dfdd6375662f20ec96a79852a00a05a98fb2e421545285e53","src/targets.rs":"f2048f06e3e2151a8181d8c92651fa45e64b8bfdfd18ead4b6c18ee7c9fb9003","src/triple.rs":"4704266fec8763bc70d230aad3608bdb790b51e41149056daa2ce0d5fdaef5a3","test.sh":"22e3c630a6c84e90d5c70c367a6712be8eeca1e7682c00d1f65bf53e330e9191"},"package":"6f4c118a7a38378f305a9e111fcb2f7f838c0be324bfb31a77ea04f7f6e684b4"} diff --git a/user/thunderbird/webrender.patch b/user/thunderbird/webrender.patch index a2457e576..cfc920cfd 100644 --- a/user/thunderbird/webrender.patch +++ b/user/thunderbird/webrender.patch @@ -6,35 +6,9 @@ # Parent 20d81e68da033746bf81acbb08490f16679853da Bug 1716707 [s390x] Software WebRender does not support big endian -diff -r 20d81e68da03 -r 903e5f164c0e gfx/webrender_bindings/RenderCompositorSWGL.cpp ---- a/gfx/webrender_bindings/RenderCompositorSWGL.cpp Thu Mar 24 06:57:58 2022 +0000 -+++ b/gfx/webrender_bindings/RenderCompositorSWGL.cpp Thu Mar 24 02:36:16 2022 -0700 -@@ -7,6 +7,7 @@ - #include "RenderCompositorSWGL.h" - - #include "mozilla/gfx/Logging.h" -+#include "mozilla/gfx/Swizzle.h" - #include "mozilla/widget/CompositorWidget.h" - - #ifdef MOZ_WIDGET_GTK -@@ -235,6 +237,13 @@ - } - mDT->Flush(); - -+#if MOZ_BIG_ENDIAN() -+ // One swizzle to rule them all. -+ gfx::SwizzleData(mMappedData, mMappedStride, gfx::SurfaceFormat::B8G8R8A8, -+ mMappedData, mMappedStride, gfx::SurfaceFormat::A8R8G8B8, -+ mDT->GetSize()); -+#endif -+ - // Done with the DT. Hand it back to the widget and clear out any trace of it. - mWidget->EndRemoteDrawingInRegion(mDT, mDirtyRegion); - mDirtyRegion.SetEmpty(); -diff -r 20d81e68da03 -r 903e5f164c0e image/imgFrame.cpp ---- a/image/imgFrame.cpp Thu Mar 24 06:57:58 2022 +0000 -+++ b/image/imgFrame.cpp Thu Mar 24 02:36:16 2022 -0700 -@@ -372,6 +372,17 @@ +--- firefox-128.0/image/imgFrame.cpp ++++ firefox-128.0/image/imgFrame.cpp +@@ -382,6 +382,17 @@ mAborted = true; return NS_ERROR_OUT_OF_MEMORY; } diff --git a/user/thunderbird/without-jit.patch b/user/thunderbird/without-jit.patch new file mode 100644 index 000000000..dff372ec0 --- /dev/null +++ b/user/thunderbird/without-jit.patch @@ -0,0 +1,28 @@ +diff -r 81fc811c3c39 toolkit/components/translations/actors/TranslationsParent.sys.mjs +--- a/toolkit/components/translations/actors/TranslationsParent.sys.mjs Thu Aug 08 21:26:29 2024 -0700 ++++ b/toolkit/components/translations/actors/TranslationsParent.sys.mjs Sat Aug 10 16:45:13 2024 -0700 +@@ -618,16 +618,25 @@ + * Detect if Wasm SIMD is supported, and cache the value. It's better to check + * for support before downloading large binary blobs to a user who can't even + * use the feature. This function also respects mocks and simulating unsupported + * engines. + * + * @type {boolean} + */ + static getIsTranslationsEngineSupported() { ++ try { ++ // Ensure WebAssembly is supported and enabled (may not be on tier-3). ++ if (!WebAssembly) { ++ return false; ++ } ++ } catch(e) { ++ return false; ++ } ++ + if (lazy.simulateUnsupportedEnginePref) { + // Use the non-lazy console.log so that the user is always informed as to why + // the translations engine is not working. + console.log( + "Translations: The translations engine is disabled through the pref " + + '"browser.translations.simulateUnsupportedEngine".' + ); diff --git a/user/tinyfugue/APKBUILD b/user/tinyfugue/APKBUILD index b6c72ecf6..e4c0a604a 100644 --- a/user/tinyfugue/APKBUILD +++ b/user/tinyfugue/APKBUILD @@ -1,17 +1,19 @@ # Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=tinyfugue -pkgver=5.1.4 +pkgver=5.1.6 pkgrel=0 pkgdesc="Powerful curses-based MUD client" url="https://github.com/ingwarsw/tinyfugue" arch="all" -options="!check" # no testsuite +options="!check" # no testsuite license="GPL-2.0+" -makedepends="openssl-dev ncurses-dev pcre-dev icu-dev python3-dev" +depends="" +makedepends="openssl-dev ncurses-dev pcre-dev icu-dev python3-dev zlib-dev" source="$pkgname-$pkgver.tar.gz::https://github.com/ingwarsw/tinyfugue/archive/refs/tags/$pkgver.tar.gz" build() { + export CFLAGS="$CFLAGS -D_BSD_SOURCE" ./configure \ --build=$CBUILD \ --host=$CHOST \ @@ -33,4 +35,4 @@ package() { sha512sums=" 5bc7103408bf52551f8439867695a5173130f5a5a4916be131a860e64337bc44c250e48973323dbce6b113bb9a61baede8aee1d66f2f437ac5abc7e82c522967 tinyfugue-5.1.3.tar.gz " -sha512sums="5732b3f96bc5e09e1eadd89994a25161d765ecaa0c72e5fd1d546b12028eb873faeb178fefbe3262aa790660a509fbf5de6dc74a50c23040005ab42d4a46ae14 tinyfugue-5.1.4.tar.gz" +sha512sums="1213795f5604d4c99cb43c3336f378eaf9a4e1b57e6831a7c14a9d1bce8de3540d7a6c4e35502c27a50dcd15b3afa1b9d06c35433ded57c7f3384ba362d036fe tinyfugue-5.1.6.tar.gz" diff --git a/user/tinywl/APKBUILD b/user/tinywl/APKBUILD new file mode 100644 index 000000000..f3ea5459e --- /dev/null +++ b/user/tinywl/APKBUILD @@ -0,0 +1,27 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=tinywl +pkgver=0.18.0 +_pkgver=${pkgver%.*} +pkgrel=0 +pkgdesc="Minimum-viable wlroots-based Wayland compositor" +url="https://gitlab.freedesktop.org/wlroots/wlroots" +arch="all" +options="!check" # no tests +license="MIT" +depends="wlroots-$_pkgver" +makedepends="wayland-protocols wlroots-$_pkgver-dev" +subpackages="" +source="https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/$pkgver/downloads/wlroots-$pkgver.tar.gz" +builddir="$srcdir/wlroots-$pkgver/tinywl" + +build() { + make +} + +package() { + mkdir -p "$pkgdir"/usr/bin + install -m755 tinywl "$pkgdir"/usr/bin/tinywl +} + +sha512sums="2cf848aa67f41089b60cc7d01c3a344ebaf7f5bbced459675fef885cd4b3e6b99d9a49d6b127518314d0ae38e52e9aff7991611592b2add4cba96f15aa0bf1c6 wlroots-0.18.0.tar.gz" diff --git a/user/tipidee/APKBUILD b/user/tipidee/APKBUILD index 035f0e95f..a4b9a855b 100644 --- a/user/tipidee/APKBUILD +++ b/user/tipidee/APKBUILD @@ -1,17 +1,16 @@ -# Contributor: Laurent Bercot <ska-adelie@skarnet.org> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=tipidee -pkgver=0.0.5.1 +pkgver=0.0.6.0 pkgrel=0 pkgdesc="The skarnet.org web server" url="https://skarnet.org/software/tipidee/" arch="all" options="!check" # No test suite. license="ISC" -_skalibs_version=2.14.3 -_execline_version=2.9.6 -_s6_version=2.13.1 -_s6net_version=2.7.0 +_skalibs_version=2.14.4 +_execline_version=2.9.7 +_s6_version=2.13.2 +_s6net_version=2.7.1 depends="execline>=$_execline_version s6>=$_s6_version s6-networking>=$_s6net_version" depends_dev="skalibs-dev>=$_skalibs_version" makedepends="$depends_dev" @@ -24,7 +23,6 @@ source=" tipidee.conf tipidee.confd tipidee.initd - tipidee.pc.in " install=" tipidee.pre-install @@ -40,6 +38,8 @@ build() { --disable-allstatic \ --prefix=/usr \ --sysconfdir=/etc \ + --with-pkgconfig \ + --enable-pkgconfig \ --libexecdir="/usr/lib/$pkgname" make } @@ -69,8 +69,6 @@ package() { install -m 0644 -D "$srcdir/tipidee.conf" "$pkgdir/etc/tipidee.conf" install -m 0644 -D "$srcdir/tipidee.confd" "$pkgdir/etc/conf.d/tipidee" install -m 0755 -D "$srcdir/tipidee.initd" "$pkgdir/etc/init.d/tipidee" - sed -e "s/@@VERSION@@/$pkgver/g; s/@@SKALIBS_VERSION@@/${_skalibs_version}/g;" "$srcdir/$pkgname.pc.in" > "$srcdir/$pkgname.pc" - install -D -m 0644 "$srcdir/$pkgname.pc" "$pkgdir/usr/lib/pkgconfig/$pkgname.pc" cp -a "$builddir/doc" "$pkgdir/usr/share/doc/$pkgname" } @@ -81,11 +79,10 @@ dev() { mv "$subpkgdir/usr/bin/tipidee-config" "$pkgdir/usr/bin/tipidee-config" } -sha512sums="2f0ae2b3f7c7782785e8498e482bb4cfbb58c0bbe1689b2d3a5a4970783704147e8e5b96737970e2a542ee409e2b179a199a990fbf20b3ea4083cd47d16960cf tipidee-0.0.5.1.tar.gz +sha512sums="1a8ae1f7293fc7a1db1f0f4dd0752388f58e134c3f0847a768cf56e2e5a21b7d037f71f3d9e4ff16ab986c699d39827e53b467c8b13b0b9dad41b6fd742c9a5c tipidee-0.0.6.0.tar.gz 560048b2b767053770e37ce3fd69540f2fad23236f012da115c1f985240f42d0bb7809630d8991e39169e255e3d36ebfdc85f895d16675119a95d3a6e64fd2b2 httpd.run 1c9333785c63662039580504dd36af21d05eb9972e6770af17e87e062bd7d9fa67695f4120221e241e10503ca0fb3b5347f032b6c1eef309f2ff8cd636266f2b httpsd.run b5af306fe7040f966b13da84bfb0c4b528683c03205519d08fe429ee826ffad27c9ddb32be8c8bf8b42ce7964ef15572e3c66a96494aed833ee951c769f81bd2 logger.run bb2681a3000133724bb8fd4918bc3209ea676c2e4f96ad8b298d8e7302aeebd6876341ea205f2d808f34e4c9b5c138bba032694c6069c17026b0ddf23702f9ba tipidee.conf 7a999200ad21b2b0737ce82136bc8e055d7ab4a865b7727e6dc8df0eaeea6ace11eb5756b64231ce7938d11b5ec218944173ea1df3db059d033bf3f848c9a608 tipidee.confd -5001d079b1ca7920d163cc2d58a5855e2740e72ed85df25414b4719c52133bd0f2f9e69c63c57f31645159189fc046c7d213048fc1cbd0f640336e43874e4482 tipidee.initd -21e71ed438270598de55631c46006bcb66528889477d1a09c76db4160d46651b1c657b31913393115c01aae4853afa4fe425a6fb3985ea8fa403de1d36e3f2f1 tipidee.pc.in" +5001d079b1ca7920d163cc2d58a5855e2740e72ed85df25414b4719c52133bd0f2f9e69c63c57f31645159189fc046c7d213048fc1cbd0f640336e43874e4482 tipidee.initd" diff --git a/user/tipidee/tipidee.pc.in b/user/tipidee/tipidee.pc.in deleted file mode 100644 index e200f758a..000000000 --- a/user/tipidee/tipidee.pc.in +++ /dev/null @@ -1,6 +0,0 @@ -Name: tipidee -Description: A C interface to some HTTP server functions -URL: https://skarnet.org/software/tipidee/ -Version: @@VERSION@@ -Requires.private: skalibs >= @@SKALIBS_VERSION@@ -Libs: -ltipidee diff --git a/user/tmux/APKBUILD b/user/tmux/APKBUILD index 79f99f068..5edfa97f5 100644 --- a/user/tmux/APKBUILD +++ b/user/tmux/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Zach van Rijn <me@zv.io> pkgname=tmux -pkgver=3.5 +pkgver=3.5a pkgrel=0 pkgdesc="Tool to control multiple terminals from a single terminal" url="https://github.com/tmux/tmux/wiki" @@ -10,7 +10,14 @@ license="MIT" depends="ncurses-terminfo" makedepends="bsd-compat-headers libevent-dev libutempter-dev ncurses-dev" subpackages="$pkgname-doc" -source="https://github.com/tmux/tmux/releases/download/$pkgver/$pkgname-$pkgver.tar.gz" +source="https://github.com/tmux/tmux/releases/download/$pkgver/$pkgname-$pkgver.tar.gz + no-yacc-needed.patch + " + +prepare() { + default_prepare + autoreconf -fiv +} build() { ./configure \ @@ -36,4 +43,5 @@ package() { install -m644 "README" "$pkgdir"/usr/share/doc/$pkgname/ } -sha512sums="bb3ca1ae8b330c3efc8fcbe8a65a40f78beadaf08c79265f6377c4187d26028e485e5404b832bbea16b170fd9bbdf2f1554d67dd3b1289e183fca19df460b695 tmux-3.5.tar.gz" +sha512sums="2383e99aec2dcdb1d899793d5ecab40a68b921194f84770d3f4d19712bfc85590657a99d2a9a7bec36d4ba5ab39fa713f13937b0acad3b61cd9b2302dba61d43 tmux-3.5a.tar.gz +54494c910f361e23433f276c49e6257b1ccb028ffba1af032e5494e786eb35506d495714916774956db875306e090edd0c2bf8433b2cffc50c4a25d45dfb0594 no-yacc-needed.patch" diff --git a/user/tmux/no-yacc-needed.patch b/user/tmux/no-yacc-needed.patch new file mode 100644 index 000000000..1e6c706b3 --- /dev/null +++ b/user/tmux/no-yacc-needed.patch @@ -0,0 +1,26 @@ +From 00812c9053a0b1067f833925b726086a67d8528d Mon Sep 17 00:00:00 2001 +From: Nicholas Marriott <nicholas.marriott@gmail.com> +Date: Tue, 2 Aug 2022 11:52:09 +0100 +Subject: [PATCH] Check for $YACC, from Wei Shih in GitHub issue 3267. + +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 276f71c8bf..8e84604289 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -267,12 +267,6 @@ if test "x$found_libevent" = xno; then + AC_MSG_ERROR("libevent not found") + fi + +-# Look for yacc. +-AC_CHECK_PROG(found_yacc, $YACC, yes, no) +-if test "x$found_yacc" = xno; then +- AC_MSG_ERROR("yacc not found") +-fi +- + # Look for ncurses or curses. Try pkg-config first then directly for the + # library. + PKG_CHECK_MODULES( diff --git a/user/torcs/APKBUILD b/user/torcs/APKBUILD index d8470bf18..efb66c3bd 100644 --- a/user/torcs/APKBUILD +++ b/user/torcs/APKBUILD @@ -2,16 +2,16 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=torcs pkgver=1.3.7 -pkgrel=0 +pkgrel=1 pkgdesc="The Open Racing Car Simulator" url="http://torcs.sourceforge.net/" arch="all" options="!check" # No test suite. license="GPL-2.0+" depends="" -makedepends="freealut-dev freeglut-dev libogg-dev libpng-dev libsm-dev - libvorbis-dev libxmu-dev libxrandr-dev libxrender-dev libxt-dev mesa-dev - openal-soft-dev plib-dev zlib-dev autoconf automake" +makedepends="freealut-dev freeglut-dev libglvnd-dev libogg-dev libpng-dev + libsm-dev libvorbis-dev libxmu-dev libxrandr-dev libxrender-dev + libxt-dev openal-soft-dev plib-dev zlib-dev autoconf automake" subpackages="$pkgname-data::noarch" source="https://sourceforge.net/projects/torcs/files/all-in-one/$pkgver/torcs-$pkgver.tar.bz2 torcs-1.3.6-as-needed.patch diff --git a/user/transset/APKBUILD b/user/transset/APKBUILD index f5b9ba519..2b387fd02 100644 --- a/user/transset/APKBUILD +++ b/user/transset/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=transset -pkgver=1.0.2 +pkgver=1.0.3 pkgrel=0 pkgdesc="Transparency / opacity manipulation for X11 windows" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libx11-dev xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/transset-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/transset-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f7a658cae70e211a0455420efbfacee0f3032821d94e7a80ec6db32ced716c1ce013f38713915505998071c312cedd1bad08575dbadfbbeb94361b048623f874 transset-1.0.2.tar.bz2" +sha512sums="5e46713653f1c50676381aebe6bcb0adaa4c5d51217f54a3e73fec69a3f201871f0d3b65759e30bd871f439eb3ccf037203d5efc9b26a60a4f6fa02d0ffdca41 transset-1.0.3.tar.xz" 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/usbutils/APKBUILD b/user/usbutils/APKBUILD index 71386fa2b..f83165da5 100644 --- a/user/usbutils/APKBUILD +++ b/user/usbutils/APKBUILD @@ -1,12 +1,12 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=usbutils pkgver=012 -pkgrel=0 +pkgrel=1 pkgdesc="USB utilities" url="http://linux-usb.sourceforge.net/" arch="all" license="GPL-2.0+ AND GPL-2.0-only" -depends="hwids-udev" +depends="hwdata" makedepends="autoconf automake eudev-dev libtool libusb-dev" subpackages="$pkgname-doc" source="https://mirrors.kernel.org/pub/linux/utils/usb/usbutils/$pkgname-$pkgver.tar.xz diff --git a/user/userspace-rcu/APKBUILD b/user/userspace-rcu/APKBUILD new file mode 100644 index 000000000..e36f0f6bf --- /dev/null +++ b/user/userspace-rcu/APKBUILD @@ -0,0 +1,36 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=userspace-rcu +pkgver=0.14.0 +pkgrel=0 +pkgdesc="Userspace RCU (read-copy-update) library" +url="https://liburcu.org" +arch="all" +license="LGPL-2.1-only" +depends="" +makedepends="" +subpackages="$pkgname-doc $pkgname-dev" +source="https://lttng.org/files/urcu/userspace-rcu-$pkgver.tar.bz2 + endian.patch + " + +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="7297e51012f4c44ee27c0e18ed9d87bf24be34db68a5398394c1e683a045bb561cf74aa913398404c0ed5cb8011af728ea12947717fa5f27627e5ca78e63a40f userspace-rcu-0.14.0.tar.bz2 +07935ed9741554b2cbc343fdd6218172deca4d4167b31b92f2be82623c5d83191472da2b4bee5adcd59e3d4bec3751d3e793cc720b822b6060dc588b8ee58f16 endian.patch" diff --git a/user/userspace-rcu/endian.patch b/user/userspace-rcu/endian.patch new file mode 100644 index 000000000..d80495c8a --- /dev/null +++ b/user/userspace-rcu/endian.patch @@ -0,0 +1,11 @@ +--- userspace-rcu-0.14.0/doc/examples/rculfhash/jhash.h.old 2023-02-13 11:51:12.000000000 -0600 ++++ userspace-rcu-0.14.0/doc/examples/rculfhash/jhash.h 2024-08-10 18:35:07.651374111 -0500 +@@ -51,7 +51,7 @@ + c ^= b; c -= rot(b, 24); \ + } + +-#if (BYTE_ORDER == LITTLE_ENDIAN) ++#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + #define HASH_LITTLE_ENDIAN 1 + #else + #define HASH_LITTLE_ENDIAN 0 diff --git a/user/util-macros/APKBUILD b/user/util-macros/APKBUILD index e4e14d198..2866ab043 100644 --- a/user/util-macros/APKBUILD +++ b/user/util-macros/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=util-macros -pkgver=1.19.3 +pkgver=1.20.1 pkgrel=0 pkgdesc="X.Org Autotools macros" url="https://www.X.Org/" @@ -8,7 +8,7 @@ arch="noarch" license="MIT" depends="" makedepends="" -source="https://www.X.Org/releases/individual/util/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/util/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -26,4 +26,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="b9c7398a912c688a782eab5b1e0f6da2df11a430775c5c98fc3269f73a665de6eeb60d300a849e38d345714a6e51f74e9334cb6039767304cca4b93d823a53a2 util-macros-1.19.3.tar.bz2" +sha512sums="5f44d73c18ff87459cd94a68a961465b3970a36f0b55be65c0ec228320a675561eb24a1b1359745124302446a1a3fadc2f50d3378f439df5bd3e866cb8015286 util-macros-1.20.1.tar.xz" diff --git a/user/v4l-utils/APKBUILD b/user/v4l-utils/APKBUILD index 53a153fbc..4387a4c1a 100644 --- a/user/v4l-utils/APKBUILD +++ b/user/v4l-utils/APKBUILD @@ -8,7 +8,7 @@ url="https://www.linuxtv.org/wiki/index.php/V4l-utils" arch="all" license="LGPL-2.0+" depends="" -makedepends="qt5-qtbase-dev libjpeg-turbo-dev argp-standalone linux-headers +makedepends="qt5-qtbase-dev libjpeg-turbo-dev argp-standalone-dev linux-headers eudev-dev alsa-lib-dev meson" subpackages="$pkgname-dev $pkgname-doc qv4l2 $pkgname-libs ir_keytable" source="https://www.linuxtv.org/downloads/v4l-utils/$pkgname-$pkgver.tar.xz" diff --git a/user/vlc/APKBUILD b/user/vlc/APKBUILD index 769cda61e..bd23a9899 100644 --- a/user/vlc/APKBUILD +++ b/user/vlc/APKBUILD @@ -3,7 +3,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=vlc pkgver=3.0.20 -pkgrel=0 +pkgrel=1 pkgdesc="Multi-platform MPEG, VCD/DVD, and DivX player" triggers="vlc-libs.trigger=/usr/lib/vlc/plugins" pkgusers="vlc" @@ -23,7 +23,7 @@ makedepends="autoconf automake bison eudev-dev flex libarchive-dev libjpeg-turbo-dev libsm-dev libx11-dev libxext-dev libxinerama-dev libxpm-dev libxv-dev mesa-dev qt5-qtbase-dev qt5-qtsvg-dev sdl2-dev qt5-qtx11extras-dev xcb-util-keysyms-dev xcb-util-renderutil-dev - xdg-utils + xdg-utils libglvnd-dev a52dec-dev alsa-lib-dev faad2-dev ffmpeg-dev flac-dev fluidsynth-dev gstreamer-dev gst-plugins-base-dev libaacs-dev libavc1394-dev diff --git a/user/vte/APKBUILD b/user/vte/APKBUILD index dd9f87785..749f9b859 100644 --- a/user/vte/APKBUILD +++ b/user/vte/APKBUILD @@ -2,12 +2,12 @@ # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=vte pkgver=0.62.0 -pkgrel=1 +pkgrel=2 pkgdesc="Virtual terminal emulator library for Gnome" url="https://www.gnome.org" arch="all" license="LGPL-2.1+ AND GPL-3.0+ AND LGPL-3.0+ AND MIT AND LGPL-2.0+" -makedepends="gnutls-dev gtk+3.0-dev gnutls-dev gobject-introspection-dev +makedepends="gnutls-dev gtk+3.0-dev gnutls-dev gobject-introspection-dev icu-dev libxml2-utils meson ninja pcre2-dev vala vala-dev zlib-dev" subpackages="$pkgname-dev $pkgname-lang" source="https://download.gnome.org/sources/vte/${pkgver%.*}/vte-$pkgver.tar.xz diff --git a/user/vulkan-headers/APKBUILD b/user/vulkan-headers/APKBUILD new file mode 100644 index 000000000..90cb90654 --- /dev/null +++ b/user/vulkan-headers/APKBUILD @@ -0,0 +1,41 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=vulkan-headers +pkgver=1.3.294 +pkgrel=0 +pkgdesc="Development files for Vulkan" +url="https://www.vulkan.org/" +arch="noarch" +options="!check !dev" # no testsuite, headers-only project +license="Apache-2.0 AND MIT" +depends="" +makedepends="cmake" +subpackages="" +source="vulkan-headers-$pkgver.tar.gz::https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v$pkgver.tar.gz" +builddir="$srcdir/Vulkan-Headers-$pkgver" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + ${CMAKE_CROSSOPTS} \ + . + make +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="a2a2ccd2fa64acebb2ed3d54b9954d3a465b30542b72cff71d321ba49c75f1396519b8510159140d48e4ebae94169a6dccf21a85586079a10b22c4affd0944b4 vulkan-headers-1.3.294.tar.gz" diff --git a/user/vulkan-loader/APKBUILD b/user/vulkan-loader/APKBUILD new file mode 100644 index 000000000..6ba3c9ee6 --- /dev/null +++ b/user/vulkan-loader/APKBUILD @@ -0,0 +1,42 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=vulkan-loader +pkgver=1.3.294 +pkgrel=0 +pkgdesc="Client driver loader for Vulkan" +url="https://www.vulkan.org/" +arch="all" +license="Apache-2.0 AND MIT" +depends="" +depends_dev="vulkan-headers" +makedepends="$depends_dev cmake libx11-dev libxcb-dev libxrandr-dev + wayland-dev wayland-protocols" +subpackages="$pkgname-dev" +source="vulkan-loader-$pkgver.tar.gz::https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/v$pkgver.tar.gz" +builddir="$srcdir/Vulkan-Loader-$pkgver" + +build() { + if [ "$CBUILD" != "$CHOST" ]; then + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + fi + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + ${CMAKE_CROSSOPTS} \ + . + make +} + +check() { + CTEST_OUTPUT_ON_FAILURE=TRUE ctest +} + +package() { + make DESTDIR="$pkgdir" install +} + +sha512sums="ab040f54bacb0694ba373c8d2d2cdf450c7b74467d8deb62fb3c47340156eb5c77e6122d6450cbe6db9e66100a6000ad677acfd45a391fdb4c157bd9c0736e07 vulkan-loader-1.3.294.tar.gz" diff --git a/user/wayfire/APKBUILD b/user/wayfire/APKBUILD new file mode 100644 index 000000000..b1f8ab2d1 --- /dev/null +++ b/user/wayfire/APKBUILD @@ -0,0 +1,37 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=wayfire +pkgver=0.9.0 +pkgrel=0 +pkgdesc="A modular and extensible Wayland compositor" +url="https://wayfire.org/" +arch="all" +license="MIT" +depends="" +makedepends="cairo-dev freetype-dev glm libdrm-dev libevdev-dev libglvnd-dev + libinput-dev libjpeg-turbo-dev libpng-dev libxkbcommon-dev libxml2-dev + meson pango-dev pixman-dev wayland-dev wayland-protocols wf-config-dev + wlroots-0.17-dev json" +subpackages="$pkgname-dev $pkgname-doc" +source="https://github.com/WayfireWM/wayfire/releases/download/v$pkgver/wayfire-$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() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="572bfbe1821490842eae33285a0a5607f70b96b0d5b994246ffe6f0bd74ef03d8d699f3f429bff4d376a0a9390312aa67332e8f614fefa2400e0b844b2d74ab9 wayfire-0.9.0.tar.xz" diff --git a/user/wayland-protocols/APKBUILD b/user/wayland-protocols/APKBUILD index 469919725..b5af36542 100644 --- a/user/wayland-protocols/APKBUILD +++ b/user/wayland-protocols/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: Sile Ekaterin Liszka <sheila@vulpine.house> pkgname=wayland-protocols -pkgver=1.31 +pkgver=1.42 pkgrel=0 pkgdesc="Protocols and protocol extensions complementing the Wayland core protocol" url="https://wayland.freedesktop.org" @@ -12,7 +12,7 @@ makedepends="wayland-dev meson" subpackages="" provides="$pkgname-dev" source="https://gitlab.freedesktop.org/wayland/$pkgname/-/releases/$pkgver/downloads/$pkgname-$pkgver.tar.xz - test.patch + tests.patch " build() { @@ -35,5 +35,5 @@ package() { DESTDIR="$pkgdir" ninja -C build install } -sha512sums="402ce1915300e29afe554d77965ee0a28a5f22fdb5b901c4c640e59b9f3a9c11094e1edae87eea1e76eea557f6faf0c34a0c28ee7f6babb4dc3719329c4e25bf wayland-protocols-1.31.tar.xz -659220b5e3fab4a2e6bb017d6fde33fd2cb1424e9e8778829c089e2f422abcdbaae44661ab9c62160046ccf8c3b397da055478194690de057758563d18c62610 test.patch" +sha512sums="ce85fecbe886264eaeb34c7992d4e493295f57f6213d5a2ec04b3471daee04a4225b1a7e77a27ccf39306074780553ec1383c55af30cc2c78942b40cc5777c1b wayland-protocols-1.42.tar.xz +adf31ede543514317d57dbd4966034ffbd03e0745701d69c9a852d4b8388542fbb350ce3b32020192dfdbe90fe3a9a1e0ce1d472d9a8be695006652b704ab3f6 tests.patch" diff --git a/user/wayland-protocols/test.patch b/user/wayland-protocols/test.patch deleted file mode 100644 index b7a5e26ea..000000000 --- a/user/wayland-protocols/test.patch +++ /dev/null @@ -1,66 +0,0 @@ -xdg-decoration-unstable-v1 needs xdg-toplevel but does not define it. -This leads to a linker failure on at least ppc64. - ---- wayland-protocols-1.25/tests/meson.build.old 2022-01-28 10:00:40.731421000 -0600 -+++ wayland-protocols-1.25/tests/meson.build 2022-07-02 20:09:54.653454716 -0500 -@@ -88,32 +88,34 @@ - ] - - # Check that header can be included by a pedantic C99 compiler -- test_name = 'test-build-pedantic-@0@'.format(protocol_file.underscorify()) -- test_name_source = '@0@.c'.format(test_name) -- test_source = custom_target( -- test_name_source, -- input: 'build-pedantic.c.in', -- output: test_name_source, -- command: replace_command, -- ) -- pedantic_test_executable = executable( -- test_name, -- [ -- test_source, -- client_header, -- server_header, -- code -- ], -- link_args: extra_linker_flags, -- dependencies: libwayland, -- c_args: [ -- '-std=c99', -- '-pedantic', -- '-Wall', -- '-Werror' ], -- install: false, -- ) -- test(test_name, pedantic_test_executable) -+ if not protocol_file.contains('xdg-decoration-unstable-v1') -+ test_name = 'test-build-pedantic-@0@'.format(protocol_file.underscorify()) -+ test_name_source = '@0@.c'.format(test_name) -+ test_source = custom_target( -+ test_name_source, -+ input: 'build-pedantic.c.in', -+ output: test_name_source, -+ command: replace_command, -+ ) -+ pedantic_test_executable = executable( -+ test_name, -+ [ -+ test_source, -+ client_header, -+ server_header, -+ code -+ ], -+ link_args: extra_linker_flags, -+ dependencies: libwayland, -+ c_args: [ -+ '-std=c99', -+ '-pedantic', -+ '-Wall', -+ '-Werror' ], -+ install: false, -+ ) -+ test(test_name, pedantic_test_executable) -+ endif - - # Check that the header - if not protocol_file.contains('xdg-foreign-unstable-v1') diff --git a/user/wayland-protocols/tests.patch b/user/wayland-protocols/tests.patch new file mode 100644 index 000000000..d8d5dc3ca --- /dev/null +++ b/user/wayland-protocols/tests.patch @@ -0,0 +1,53 @@ +Upstream-URL: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/363 + +From 8b4c76275fa1b6e0a99a53494151d9a2c907144d Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Fri, 8 Nov 2024 11:27:25 -0600 +Subject: [PATCH] tests: Make build-only tests actually build-only + +The goal behind the pedantic compiler tests are to ensure that the code +that wayland-scanner is generating can be compiled in pedantic mode by +the system C compiler. + +Trying to execute the built tests may fail because of undefined symbols. +This affects certain platforms more than others; Linux/musl and Darwin +are examples of platforms that cannot execute binaries with undefined +symbols. This meant tests needlessly failed on these platforms. + +Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> +Closes: #48, #228 +--- + tests/meson.build | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/tests/meson.build b/tests/meson.build +index aa216ec..5a93bb3 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -1,4 +1,5 @@ + prog_scan_sh = find_program('scan.sh') ++prog_true = find_program('true') + + libwayland = [ + dependency('wayland-client'), +@@ -100,7 +101,7 @@ foreach protocol_file : protocol_files + test_source, + client_header, + server_header, +- code ++ code, + ], + link_args: extra_linker_flags, + dependencies: libwayland, +@@ -111,7 +112,7 @@ foreach protocol_file : protocol_files + '-Werror' ], + install: false, + ) +- test(test_name, pedantic_test_executable) ++ test(test_name, prog_true, depends : [pedantic_test_executable]) + + # Check that the header + if not protocol_file.contains('xdg-foreign-unstable-v1') +-- +2.40.0 + diff --git a/user/wayland/APKBUILD b/user/wayland/APKBUILD index 33388f451..09dfc1f45 100644 --- a/user/wayland/APKBUILD +++ b/user/wayland/APKBUILD @@ -2,15 +2,16 @@ # Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org> # Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> pkgname=wayland -pkgver=1.21.0 +pkgver=1.23.1 pkgrel=0 pkgdesc="A computer display server protocol" url="https://wayland.freedesktop.org" arch="all" license="MIT" depends="" -depends_dev="libffi-dev expat-dev" -makedepends="$depends_dev doxygen xmlto graphviz grep libxml2-dev bash meson" +depends_dev="expat-dev" +makedepends="$depends_dev doxygen xmlto graphviz grep libffi-dev libxml2-dev + bash meson" subpackages="$pkgname-dev" replaces="wayland-libs-client wayland-libs-cursor wayland-libs-server" source="https://gitlab.freedesktop.org/wayland/wayland/-/releases/$pkgver/downloads/$pkgname-$pkgver.tar.xz" @@ -45,4 +46,4 @@ dev() { default_dev } -sha512sums="5575216d30fdf5c63caa6bcad071e15f2a4f3acb12df776806073f65db37a50b5b5b3cc7957c5497636f4ac01893e2eaab26e453ded44b287acde01762f5fdc3 wayland-1.21.0.tar.xz" +sha512sums="818eda003e3f7aa15690eedb1ff227a6056b2ce54bf23d45ffe573dc40a914623c5a1358218b59444dcdc483db0503324f0d27091d0ea954412a8b290de5f50a wayland-1.23.1.tar.xz" diff --git a/user/waypipe/0.9.2-fix-compile.patch b/user/waypipe/0.9.2-fix-compile.patch new file mode 100644 index 000000000..096e4851b --- /dev/null +++ b/user/waypipe/0.9.2-fix-compile.patch @@ -0,0 +1,11 @@ +diff '--color=auto' -Nurd waypipe-v0.9.2/src/secctx.c waypipe-v0.9.2.new/src/secctx.c +--- waypipe-v0.9.2/src/secctx.c 2024-11-18 14:29:20.000000000 -0800 ++++ waypipe-v0.9.2.new/src/secctx.c 2024-11-25 10:20:47.643421280 -0800 +@@ -2,6 +2,7 @@ + #include "util.h" + #include <sys/socket.h> + #include <sys/un.h> ++#include <string.h> + #include <unistd.h> + #include <wayland-client.h> + diff --git a/user/waypipe/APKBUILD b/user/waypipe/APKBUILD new file mode 100644 index 000000000..311c4e8c6 --- /dev/null +++ b/user/waypipe/APKBUILD @@ -0,0 +1,37 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=waypipe +pkgver=0.9.2 +pkgrel=0 +pkgdesc="proxy for Wayland clients" +url="https://gitlab.freedesktop.org/mstoeckl/waypipe" +arch="all" +license="MIT" +depends="" +makedepends="ffmpeg-dev libdrm-dev libva-dev lz4-dev mesa-dev meson scdoc wayland-dev wayland-protocols" +subpackages="$pkgname-doc" +source="https://gitlab.freedesktop.org/mstoeckl/waypipe/-/archive/v$pkgver/$pkgname-v$pkgver.tar.bz2 + 0.9.2-fix-compile.patch" +builddir="$srcdir/$pkgname-v$pkgver" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + meson compile -C output +} + +check() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="0ffdb49cb5dbee717798721505e4661710fcd234a55bbfe2452888024d4a8b99a0e0e99cdce23ba0b92ee456aeb9f14324baba1c7c5724cb8cca7bb6e9c276bb waypipe-v0.9.2.tar.bz2 +30c818075c95b198d351cad94e48e3d7eb3dc18f9b38964c2090483131365bf37f7eeb12ba89f17822c8cab9dbb658e7e2efcc81f0433e79c9a2cdb8bbf92dc6 0.9.2-fix-compile.patch" 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/wf-config/APKBUILD b/user/wf-config/APKBUILD new file mode 100644 index 000000000..8cbb8b130 --- /dev/null +++ b/user/wf-config/APKBUILD @@ -0,0 +1,34 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=wf-config +pkgver=0.9.0 +pkgrel=0 +pkgdesc="A library for managing configuration files, written for Wayfire" +url="https://wayfire.org" +arch="all" +license="MIT" +depends="" +makedepends="glm libevdev-dev libxml2-dev meson" +subpackages="$pkgname-dev" +source="https://github.com/WayfireWM/wf-config/releases/download/v$pkgver/wf-config-$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() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="ac2ca69b7d96b9b145a4789f004705a2d7b323e6724e429a1e5a4544cd56828165a01f48a9863ceb92004c51c8f05729468f4a32c37545716f8d537d39e3236b wf-config-0.9.0.tar.xz" diff --git a/user/wf-shell/APKBUILD b/user/wf-shell/APKBUILD new file mode 100644 index 000000000..309aceafe --- /dev/null +++ b/user/wf-shell/APKBUILD @@ -0,0 +1,36 @@ +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=wf-shell +pkgver=0.9.0 +pkgrel=0 +pkgdesc="A GTK3-based panel for Wayfire" +url="https://wayfire.org/" +arch="all" +license="MIT" +depends="" +makedepends="alsa-lib-dev gtk-layer-shell-dev gtkmm+3.0-dev libdbusmenu-dev + meson pulseaudio-dev wayfire-dev wayland-dev wayland-protocols" +subpackages="$pkgname-dev $pkgname-doc" +install_if="wayfire=$pkgver" # Wayfire wants this, but this needs Wayfire to build. +source="https://github.com/WayfireWM/wf-shell/releases/download/v$pkgver/wf-shell-$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() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="dceb0234302ceb51ac23576752d65cf122755bd044bc98e4ca92e0b8e6715063cdebdf35e82e5dc033effc288228622886e1a0e25b4bd788f6d32f8b189c1cfe wf-shell-0.9.0.tar.xz" diff --git a/user/wimlib/APKBUILD b/user/wimlib/APKBUILD index 76e26f88e..a4e365ea6 100644 --- a/user/wimlib/APKBUILD +++ b/user/wimlib/APKBUILD @@ -1,16 +1,25 @@ # Contributor: CyberLeo <cyberleo@cyberleo.net> # Maintainer: CyberLeo <cyberleo@cyberleo.net> pkgname=wimlib -pkgver=1.13.4 +pkgver=1.14.4 pkgrel=0 pkgdesc="Windows Imaging (WIM) archive manipulation library and tools" url="https://wimlib.net/" arch="all" +# If the test suite crosses a clock-second boundary, the test will fail +# because the mtime of the src and dest will vary by 1s. The test suite +# then hangs waiting for the mount to umount, requiring manual operator +# intervention. The tests pass on ppc64, ppc, x86_64 for me when timed +# correctly, so for now we disable tests. +options="!check" license="(GPL-2.0 OR LGPL-2.1) AND CC0" depends="" -makedepends="libxml2-dev fuse-dev ntfs-3g ntfs-3g-dev" +makedepends="fuse3-dev ntfs-3g ntfs-3g-dev" subpackages="$pkgname-doc $pkgname-dev $pkgname-libs" -source="https://wimlib.net/downloads/wimlib-$pkgver.tar.gz" +source="https://wimlib.net/downloads/wimlib-$pkgver.tar.gz + header.patch + pc-fuse3.patch + " build() { ./configure \ @@ -26,4 +35,6 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="480fe6fa6c6e8f1bf9c3960f5e1671f3266535b18dc72e9d7c4c05c7fb833d9b00db5ae9fb49154da6e71e536cae8b562cbf81ab5a124e2a79326927e2cf7344 wimlib-1.13.4.tar.gz" +sha512sums="f3c25ee14fe849f452f004ce8137ef040410ea048555ae71180086f010858b6ed593c8881b805bac65f9ee878bf11661a7f17677c6c24e2c77149c35ee0cd853 wimlib-1.14.4.tar.gz +25a410614b4d4a16f16149c09bb1107a5678d49b729ecb55fe5641727556f6eb8a0e3473331ae738e3747652674d78c32be0d6da57c2aa414bd9fc636c27997e header.patch +e58429f3256e85e39558920be295c93645ec0584cf71282e01102c62b05b51fab1c3c1b62a8edb7be8bfc2427d2464400154ca05ad07e02548cad140f781aa7f pc-fuse3.patch" diff --git a/user/wimlib/header.patch b/user/wimlib/header.patch new file mode 100644 index 000000000..71255d446 --- /dev/null +++ b/user/wimlib/header.patch @@ -0,0 +1,29 @@ +This patch should be removed once the following musl commit lands: + +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> + ++#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/wimlib/pc-fuse3.patch b/user/wimlib/pc-fuse3.patch new file mode 100644 index 000000000..9c8743b31 --- /dev/null +++ b/user/wimlib/pc-fuse3.patch @@ -0,0 +1,31 @@ +The pkgconfig file for fuse3 is called fuse3, not fuse. + +Otherwise, we get: + +>>> WARNING: wimlib-dev*: Could not find any provider for pc:fuse + +We can't patch the .ac file because it hardcodes the git version and decides +that this is wimlib 1.0-BETA6 (or whatever). + +#--- wimlib-1.14.4/configure.ac.old 2024-02-09 17:36:25.000000000 -0600 +#+++ wimlib-1.14.4/configure.ac 2024-12-11 21:27:27.638385598 -0600 +#@@ -156,7 +156,7 @@ +# disable this feature. If your operating system packages +# development files separately, the package you need to install +# may be called libfuse3-dev, fuse-devel, or similar.])]) +#- PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse" +#+ PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse3" +# AC_DEFINE([WITH_FUSE], [1], [Define to 1 if using FUSE support]) +# +# AC_CHECK_LIB([rt], [mq_open], [], +--- wimlib-1.14.4/configure.old 2024-02-24 12:41:27.000000000 -0600 ++++ wimlib-1.14.4/configure 2024-12-11 21:27:48.176175338 -0600 +@@ -16032,7 +16032,7 @@ + printf "%s\n" "yes" >&6; } + + fi +- PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse" ++ PKGCONFIG_PRIVATE_REQUIRES="$PKGCONFIG_PRIVATE_REQUIRES fuse3" + + printf "%s\n" "#define WITH_FUSE 1" >>confdefs.h + diff --git a/user/wireguard-tools/APKBUILD b/user/wireguard-tools/APKBUILD index ece7397aa..a874bdf9e 100644 --- a/user/wireguard-tools/APKBUILD +++ b/user/wireguard-tools/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Mira Ressel <aranea@aixah.de> # Maintainer: Laurent Bercot <ska-adelie@skarnet.org> pkgname=wireguard-tools -pkgver=1.0.20210424 +pkgver=1.0.20210914 pkgrel=0 pkgdesc="Userland tools for the WireGuard VPN" url="https://www.wireguard.com/" @@ -29,4 +29,4 @@ bashcomp() { mv "$pkgdir/usr/share/bash-completion" "$subpkgdir/usr/share/" } -sha512sums="b919c7ce1e8ee8660ccc1490d3dad7817f3d6f0ab79f26866e8ed10d40545a9ddca67959ff6cc84ac36a91683c1f58d274d91d47f40c0b9a7bfee4009dcbbf59 wireguard-tools-1.0.20210424.tar.xz" +sha512sums="6727ea65551dbb064457449b93a943bd6534ca93bc7fa5704c2f6826266c98688ee9ea28731fda57a5245d5f63c05f3899fcca54e40c0b6251b7c4796e957445 wireguard-tools-1.0.20210914.tar.xz" diff --git a/user/wlroots-0.17/APKBUILD b/user/wlroots-0.17/APKBUILD new file mode 100644 index 000000000..1da1122f5 --- /dev/null +++ b/user/wlroots-0.17/APKBUILD @@ -0,0 +1,39 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=wlroots-0.17 +pkgver=0.17.0 +pkgrel=0 +pkgdesc="Library for building Wayland compositors" +url="https://swaywm.org/" +arch="all" +license="MIT" +depends="wayland>=1.19.0" +makedepends="cmake elogind-dev eudev-dev ffmpeg-dev glslang-dev hwdata + lcms2-dev libdisplay-info-dev libinput-dev libglvnd-dev libxkbcommon-dev + mesa-dev meson ninja pixman-dev seatd-dev vulkan-loader-dev + wayland-dev>=1.19.0 wayland-protocols>=1.21 xcb-util-errors-dev + xcb-util-renderutil-dev xcb-util-wm-dev xwayland-dev" +subpackages="$pkgname-dev" +source="https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/$pkgver/downloads/wlroots-$pkgver.tar.gz" +builddir="$srcdir/wlroots-$pkgver" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + meson compile -C output +} + +check() { + ninja -C output test +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="ca7314d7dca3ddac3e6970476b4145a0a2566a6632054f406c6e74ea7280a805cdf9b6972cca15c3170a5f41c83677768843b648b6b98ab6428e4ecde43aa4de wlroots-0.17.0.tar.gz" diff --git a/user/wlroots-0.18/APKBUILD b/user/wlroots-0.18/APKBUILD new file mode 100644 index 000000000..b320ab773 --- /dev/null +++ b/user/wlroots-0.18/APKBUILD @@ -0,0 +1,40 @@ +# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> +# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> +pkgname=wlroots-0.18 +pkgver=0.18.0 +pkgrel=0 +pkgdesc="Library for building Wayland compositors" +url="https://swaywm.org/" +arch="all" +license="MIT" +depends="wayland>=1.19.0" +makedepends="cmake elogind-dev eudev-dev ffmpeg-dev glslang-dev hwdata + lcms2-dev libdisplay-info-dev libinput-dev libliftoff-dev libglvnd-dev + libxkbcommon-dev mesa-dev meson ninja pixman-dev seatd-dev + vulkan-loader-dev wayland-dev>=1.19.0 wayland-protocols>=1.21 + xcb-util-errors-dev xcb-util-renderutil-dev xcb-util-wm-dev + xwayland-dev" +subpackages="$pkgname-dev" +source="https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/$pkgver/downloads/wlroots-$pkgver.tar.gz" +builddir="$srcdir/wlroots-$pkgver" + +build() { + meson setup \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=release \ + . output + meson compile -C output +} + +check() { + meson test -C output +} + +package() { + DESTDIR="$pkgdir" meson install -C output +} + +sha512sums="2cf848aa67f41089b60cc7d01c3a344ebaf7f5bbced459675fef885cd4b3e6b99d9a49d6b127518314d0ae38e52e9aff7991611592b2add4cba96f15aa0bf1c6 wlroots-0.18.0.tar.gz" diff --git a/user/wlroots/APKBUILD b/user/wlroots/APKBUILD deleted file mode 100644 index 3ca92c838..000000000 --- a/user/wlroots/APKBUILD +++ /dev/null @@ -1,37 +0,0 @@ -# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house> -# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house> -pkgname=wlroots -pkgver=0.14.1 -pkgrel=0 -pkgdesc="Library for building Wayland compositors" -url="https://swaywm.org/" -arch="all" -license="MIT" -depends="wayland>=1.19.0" -makedepends="cmake elogind-dev eudev-dev ffmpeg-dev libinput-dev - libxkbcommon-dev mesa-dev meson ninja pixman-dev seatd-dev - wayland-dev>=1.19.0 wayland-protocols>=1.21 xcb-util-errors-dev - xcb-util-renderutil-dev xcb-util-wm-dev xorg-server-xwayland" -subpackages="$pkgname-dev" -source="https://github.com/swaywm/wlroots/releases/download/$pkgver/wlroots-$pkgver.tar.gz" - -build() { - meson \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --localstatedir=/var \ - --buildtype=release \ - . output - ninja -C output -} - -check() { - ninja -C output test -} - -package() { - DESTDIR="$pkgdir" ninja -C output install -} - -sha512sums="4f557c827f9673eccf208a3644954de80e7355b95cc374cc5e851a47087b227f196e0936c0913d21a6c776c29b74de2d028a100931264e41934c747568d8ebe0 wlroots-0.14.1.tar.gz" diff --git a/user/wxwidgets/APKBUILD b/user/wxwidgets/APKBUILD index 254d32057..1fdf5b8c4 100644 --- a/user/wxwidgets/APKBUILD +++ b/user/wxwidgets/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=wxwidgets pkgver=3.1.4 -pkgrel=0 +pkgrel=1 pkgdesc="C++ library for creating applications" url="https://www.wxwidgets.org/" arch="all" @@ -12,7 +12,7 @@ depends="" checkdepends="adwaita-icon-theme ttf-liberation" makedepends="glu-dev gstreamer-dev gst-plugins-base-dev gtk+3.0-dev libexecinfo-dev libjpeg-turbo-dev libnotify-dev libsecret-dev libsm-dev - mesa-dev tiff-dev zlib-dev" + libglvnd-dev tiff-dev zlib-dev" subpackages="$pkgname-dev $pkgname-lang" source="https://github.com/wxWidgets/wxWidgets/releases/download/v$pkgver/wxWidgets-$pkgver.tar.bz2" builddir="$srcdir/wxWidgets-$pkgver" diff --git a/user/x11perf/APKBUILD b/user/x11perf/APKBUILD index 58de9c176..af91f6759 100644 --- a/user/x11perf/APKBUILD +++ b/user/x11perf/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=x11perf -pkgver=1.6.2 +pkgver=1.7.0 pkgrel=0 pkgdesc="X11 server benchmarking utility" url="https://www.X.Org/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="5be9e601071a42d103adbab5f30c1900a3779a5b2c06c709df99a85487c9790d36b835d43f5c6d74cc7d950cc3ad06927210d7b1f58939cfd0b4a6f3e5e32112 x11perf-1.6.2.tar.xz" +sha512sums="de8185bfbac15fb5eb15c18ba8450d8e383e1356675e0368c9a443d4c2d14245fab87ac0aa4ddcc5ebf731af0ad1173f53c6937104c1be824bfda5b58112fd5e x11perf-1.7.0.tar.xz" diff --git a/user/xauth/APKBUILD b/user/xauth/APKBUILD index bd3540f68..0699d73ae 100644 --- a/user/xauth/APKBUILD +++ b/user/xauth/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xauth -pkgver=1.1.2 +pkgver=1.1.3 pkgrel=0 pkgdesc="X.Org authorisation settings program" url="https://www.X.Org/" @@ -27,4 +27,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ac23fcd166b45abf7b030994ff3332c9906023dc1ddfa9b9d3000e6a914dc5e0213c4a2aa409cb3ddb93e1f9f4f6374376109241a95ef8c36af842de1f6f76e8 xauth-1.1.2.tar.xz" +sha512sums="536434f6c607673c00b9658ea591bf32419cc151d138f991ea38167220563519a6a84a5504003da15820f2a7ed50ea2449c6ce9c991d1446ee9a7305c647d694 xauth-1.1.3.tar.xz" diff --git a/user/xbiff/APKBUILD b/user/xbiff/APKBUILD index d6567461e..c0b637644 100644 --- a/user/xbiff/APKBUILD +++ b/user/xbiff/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xbiff -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="Local email notification applet for X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="xbitmaps" makedepends="libx11-dev libxaw-dev libxext-dev libxmu-dev util-macros" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/xbiff-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/xbiff-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0fb920a08640ec59f23d8a8a47bd244565dfbaff7a21c38a8a2abe1edb5eacabc970b5dbdc409163fc444fde5b75a2dc4e0114312938efec5b77228f3bf785ac xbiff-1.0.4.tar.bz2" +sha512sums="4dd8943daf670dffb6e108b192977f6ad313d6b0535da0c809699e05f0509aba45be81c72af341e1fef31f59d0a5f209d87441230b3fdcecb4a7a8fe7a9c0658 xbiff-1.0.5.tar.xz" diff --git a/user/xbitmaps/APKBUILD b/user/xbitmaps/APKBUILD index 3052984ef..1c37e85fe 100644 --- a/user/xbitmaps/APKBUILD +++ b/user/xbitmaps/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xbitmaps -pkgver=1.1.2 +pkgver=1.1.3 pkgrel=0 pkgdesc="Built-in bitmaps for X11" url="https://www.X.Org/" @@ -9,7 +9,7 @@ license="X11" depends="util-macros" makedepends="" subpackages="" -source="https://www.X.Org/releases/individual/data/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/data/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -27,4 +27,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="eed5e2fce9fc6c532984e6ed1262e440591e311ca6c61a7fe7a5c877df84bfc2d7aff388fb9c894fc098785b8e5352f0bd7c918252247a040cf123874847450d xbitmaps-1.1.2.tar.bz2" +sha512sums="b9a7340385fcce2dcd0204f14a462685b14b72ff58f3ec53cd76695bef2b02af902bdac809622dcb27fd4075d5ba13587b5d059530aff502cd5288d161352814 xbitmaps-1.1.3.tar.xz" diff --git a/user/xcalc/APKBUILD b/user/xcalc/APKBUILD index 658e4c4a5..54b715405 100644 --- a/user/xcalc/APKBUILD +++ b/user/xcalc/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xcalc -pkgver=1.1.1 +pkgver=1.1.2 pkgrel=0 pkgdesc="Graphical scientific calculator for X11" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a261e9798d62727f40b9aff07e68e63ba40aa7f4f9b1811d8efd8c3e73cd5912d6178c55ca3c059968191051bd20b889b06b5e92b3df70c7b5d09bd013b9ebdb xcalc-1.1.1.tar.xz" +sha512sums="51da677dc88bcd7299ed8d678cb26b048fdb82a1983e1496a06253ee2dceefca4ac87d1a74432b4a76dcc11921a61339bb3d292607be46228164140b430bbad2 xcalc-1.1.2.tar.xz" diff --git a/user/xcb-proto/APKBUILD b/user/xcb-proto/APKBUILD index 9a148819f..99152ef05 100644 --- a/user/xcb-proto/APKBUILD +++ b/user/xcb-proto/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xcb-proto -pkgver=1.15.2 +pkgver=1.17.0 pkgrel=0 pkgdesc="XCB protocol descriptions" url="https://xcb.freedesktop.org/" @@ -26,4 +26,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="9d0b2f0a4dbbf2d64e32ff4658d1663e13d7e5f1bffc1e8d45be7b9dd5bab46e29fc1c2f6e66a7a569e374ba6756faf3c39b0b5e5560df6d7f8b68beec97659d xcb-proto-1.15.2.tar.xz" +sha512sums="34c3795e5a48a66d89b72ee1777fb0bede489d5ec07018e6c9ef3c13bdd60b0358fc2c04a1f0ed0acb5b681aeeb92033db579036e4f5edd967fe56714c03acdf xcb-proto-1.17.0.tar.xz" diff --git a/user/xcb-util-cursor/APKBUILD b/user/xcb-util-cursor/APKBUILD index cc8cd63c5..10f5c19e6 100644 --- a/user/xcb-util-cursor/APKBUILD +++ b/user/xcb-util-cursor/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xcb-util-cursor -pkgver=0.1.4 +pkgver=0.1.5 pkgrel=0 pkgdesc="X C-language Binding - cursor library" url="https://xcb.freedesktop.org/" @@ -12,7 +12,9 @@ depends_dev="xcb-util-dev" checkdepends="check-dev" makedepends="$depends_dev m4 util-macros xcb-util-image-dev xcb-util-renderutil-dev" subpackages="$pkgname-dev" -source="https://xcb.freedesktop.org/dist/$pkgname-$pkgver.tar.xz" +# TODO: temporarily fetching this tarball from x.org mirror. Maybe should +# change back to freedesktop.org once up-to-date tarballs are available there +source="https://www.x.org/releases/individual/lib/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -34,4 +36,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d27dd59a4d7ded9994dca77774421dd9533e3ee823b880af35d3219bd7340c89fbc61d1d0fa10e2991de2cac9e6395e09497769d7b8728eedc691e76649107b1 xcb-util-cursor-0.1.4.tar.xz" +sha512sums="e2d14c3f0ab117524ba90d1a992b61717ccee04bc9e66c587a6a0f10571f15e89fc5db3413882ca7ce14ebc07b6b7b0a4ddecd59ba910e6ca654ea9b1c705ed5 xcb-util-cursor-0.1.5.tar.xz" diff --git a/user/xcb-util/APKBUILD b/user/xcb-util/APKBUILD index cb0f0046e..4f7e85e59 100644 --- a/user/xcb-util/APKBUILD +++ b/user/xcb-util/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xcb-util -pkgver=0.4.0 -pkgrel=2 +pkgver=0.4.1 +pkgrel=0 pkgdesc="Utility libraries for X C-language Binding" url="https://xcb.freedesktop.org/" arch="all" @@ -11,7 +11,7 @@ depends_dev="libxcb-dev util-macros" checkdepends="check-dev" makedepends="$depends_dev m4 gperf" subpackages="$pkgname-dev" -source="https://xcb.freedesktop.org/dist/$pkgname-$pkgver.tar.bz2" +source="https://xcb.freedesktop.org/dist/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e60aaa6f582eacd05896c5fd7c8417938318a1288146f3a5b339f77eed24e211c6099963f8813daa621c94173d2934228936b491c0ed79b09a8a67d835867d0e xcb-util-0.4.0.tar.bz2" +sha512sums="da67f2f017d2a1788dcf35f28d6956e171303a622a1dd085cd3d69fdb2ed77965d83c557cc926ebf9b32e905eb2cbb5921987250192d78a2f5edc4d437ed7d2b xcb-util-0.4.1.tar.xz" diff --git a/user/xclipboard/APKBUILD b/user/xclipboard/APKBUILD index e58b5c608..779314f2a 100644 --- a/user/xclipboard/APKBUILD +++ b/user/xclipboard/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xclipboard -pkgver=1.1.4 +pkgver=1.1.5 pkgrel=0 pkgdesc="Clipboard viewer for X11" url="https://www.X.Org/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="efa7800e0c4fb0242362c4263d80182d591bded07d1064a36b157b6202b15b0c82f083658ced2b82392eca905fb57c04a537d67e75c1237a1667ed2ce0cb09fe xclipboard-1.1.4.tar.xz" +sha512sums="9962b8d19e6387c9af87a47d66d81577ec3e2ba1d0aa6f6ca8fa89664ccfb0dd20906e143a4d19a303a4eded4f29c4bd40868477fbf754a79cdb48256846a8d3 xclipboard-1.1.5.tar.xz" diff --git a/user/xconsole/APKBUILD b/user/xconsole/APKBUILD index 6f1636986..97f9e39fe 100644 --- a/user/xconsole/APKBUILD +++ b/user/xconsole/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xconsole -pkgver=1.0.8 +pkgver=1.1.0 pkgrel=0 pkgdesc="Console monitor for X11" url="https://www.X.Org/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="93fd8527abed4faaf0f6a3804ab08dbcb926b0aaf67fd814c003b6b1102e2f643be5362a020c7028ae928925ffd423df6eb456d4ed48cf30a4c5f00a7ce648fa xconsole-1.0.8.tar.xz" +sha512sums="1b5b1e1e15e3b988c159e924ac5c51734c4e37ed112815fc6bf6e36f80e840ccd904a4f0b0f27191e0dbf656d367a38873fd493a266887daa111e5266eebf37e xconsole-1.1.0.tar.xz" diff --git a/user/xcursor-themes/APKBUILD b/user/xcursor-themes/APKBUILD index 72a65a9b9..ddc786c62 100644 --- a/user/xcursor-themes/APKBUILD +++ b/user/xcursor-themes/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xcursor-themes -pkgver=1.0.6 +pkgver=1.0.7 pkgrel=0 pkgdesc="Built-in cursor themes for X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libxcursor-dev util-macros xcursorgen" subpackages="" -source="https://www.X.Org/releases/individual/data/xcursor-themes-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/data/xcursor-themes-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2ad3586a5571a5ddc0001187362b54b839644916164834213af98e58698044aec4392dd6e1e42f1794fda85c8fedf259b09214a9636bd0e71a1629c710f198d3 xcursor-themes-1.0.6.tar.bz2" +sha512sums="910925dd17c576028ae0d9dfe5683888648b941806b53cd9ff74ed18ff2de537664b07ab4c647a55290aeba37f6051f322b29e8ecd54f348e32abe2ccea1c902 xcursor-themes-1.0.7.tar.xz" diff --git a/user/xcursorgen/APKBUILD b/user/xcursorgen/APKBUILD index 7e00406e0..a376a16ef 100644 --- a/user/xcursorgen/APKBUILD +++ b/user/xcursorgen/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xcursorgen -pkgver=1.0.7 +pkgver=1.0.8 pkgrel=0 pkgdesc="Cursor generator for X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="" makedepends="libpng-dev libx11-dev libxcursor-dev util-macros" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/xcursorgen-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/xcursorgen-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="bd13ad23691d3daa2d5dcdc5902cf62e3dcb97a0289aff362e6cd85866a1d8cafb64f98800a75bfb4cf1f3c76244ca20201847dff594543d136d0abaec7011d2 xcursorgen-1.0.7.tar.bz2" +sha512sums="dede5b9e1e09f9253365bbb83fdab26c681641913f3586cef52d4802db9cecc7e252344911cd969a873c3a5c5ebbd4b862f786de263f92ea1bcb2df90236f9c4 xcursorgen-1.0.8.tar.xz" diff --git a/user/xditview/APKBUILD b/user/xditview/APKBUILD index 597d27906..3ab4ee644 100644 --- a/user/xditview/APKBUILD +++ b/user/xditview/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xditview -pkgver=1.0.6 +pkgver=1.0.7 pkgrel=0 pkgdesc="X11 ditroff viewer" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="249769d27980e9a69ac8f056f329dfa514f3ab6267d6ed69814c5695f315d2a7021c560a0e26fdd2568290a071793d7f2eafdd92f9981ed556047deb244ebf5a xditview-1.0.6.tar.xz" +sha512sums="da7e80cd9fbb5da0ec4949c6fed0bad135a2490767f030e60f1c51a9f5a62379572bf8b4dd6dec2fe824152d090470e62fce12c9144aaa1be1b48ddbc3b2910b xditview-1.0.7.tar.xz" diff --git a/user/xdpyinfo/APKBUILD b/user/xdpyinfo/APKBUILD index dd551f29c..a496d8251 100644 --- a/user/xdpyinfo/APKBUILD +++ b/user/xdpyinfo/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xdpyinfo -pkgver=1.3.3 +pkgver=1.3.4 pkgrel=0 pkgdesc="X11 display information viewer" url="https://www.X.Org/" @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="47fe0821bc64145876853712ebd7c0af80111c243813615b892429021cc9a53abd38c4684551ae300cb5a4eacdd3d26e2c93e789ed91a948b20e2c37cd2d2442 xdpyinfo-1.3.3.tar.xz" +sha512sums="9ef9f5c10e15a40895e8f008896b960fdd438277657c7159d16f05db79cd2374cfaca4af2f4e59335824bfd2f74a045ef89dd99ea4130ed436ea59fbbb1cbe12 xdpyinfo-1.3.4.tar.xz" diff --git a/user/xdriinfo/APKBUILD b/user/xdriinfo/APKBUILD index fe20244c0..073432f4c 100644 --- a/user/xdriinfo/APKBUILD +++ b/user/xdriinfo/APKBUILD @@ -1,16 +1,16 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xdriinfo -pkgver=1.0.6 -pkgrel=0 +pkgver=1.0.7 +pkgrel=1 pkgdesc="X11 DRI information viewer" url="https://www.X.Org/" arch="all" license="X11" depends="" -makedepends="libx11-dev mesa-dev util-macros xorgproto-dev" +makedepends="libglvnd-dev libx11-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/xdriinfo-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/xdriinfo-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7ddd9e19abaef93e4d85004293528ec3814ef84c470d496dbb8dc8313d804bb7520406de8d33d2bc2b3af942bd0a5d5032a109b2726438a966af63ea680a102f xdriinfo-1.0.6.tar.bz2" +sha512sums="a368cf32c606ca78f3a23bc5d88fb57b9c1a3827d0fec3e48cee153703135e47cecd3db8ee0eba93f309d7f03b4306c3f2e7f46f36d0d2970671c5e5b78093ad xdriinfo-1.0.7.tar.xz" diff --git a/user/xedit/APKBUILD b/user/xedit/APKBUILD index 23a16a71b..b93a2a764 100644 --- a/user/xedit/APKBUILD +++ b/user/xedit/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xedit -pkgver=1.2.3 +pkgver=1.2.4 pkgrel=0 pkgdesc="Simple text editor for X11" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1089c35ef961e53f74cc7d892960e1ee7f0da17529e3173e7f7764b0eb4ee94d1e068cb177d8502ca55c1dd6808962d4b1427e303adc7e6db80be8828557f45a xedit-1.2.3.tar.xz" +sha512sums="30819ec491f9a02db95c20eb8653389b29bf4a4a5c54701d156db67fcb8fade5276dcb3a656dca245c958d75d0ee6fe50ab207e040ce0065d9d9a1bd58d5b24c xedit-1.2.4.tar.xz" diff --git a/user/xev/APKBUILD b/user/xev/APKBUILD index d4c16f234..acec66ec4 100644 --- a/user/xev/APKBUILD +++ b/user/xev/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xev -pkgver=1.2.5 +pkgver=1.2.6 pkgrel=0 pkgdesc="X11 input event monitor" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="9fbfb78c9547974c2256a678948bf4a694a40b1c2bd5c5dec5f365a713e6d938c6039f055a9629f49de27f02f3d7cb912f07c035df129798a4b2ddc20febe66a xev-1.2.5.tar.xz" +sha512sums="aaabb635622abfbf0b7ef2a1978070a918ea94480f375dd0798375274cf378ddb25007cc42426bb2292ed65c8af922f88e6a04c5a2f6cff3fadb0194b53eb7e7 xev-1.2.6.tar.xz" diff --git a/user/xeyes/APKBUILD b/user/xeyes/APKBUILD index 665660ddb..b2658c35b 100644 --- a/user/xeyes/APKBUILD +++ b/user/xeyes/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xeyes -pkgver=1.2.0 +pkgver=1.3.0 pkgrel=0 pkgdesc="Feel like somebody's watching you" url="https://www.X.Org/" @@ -11,7 +11,7 @@ depends="" makedepends="libx11-dev libxext-dev libxmu-dev libxrender-dev libxt-dev libxi-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2d1614614b3ba3d1ebaa0e9801a2e159389b94aaacafb962d326b7e6dc712c1eb2c12a50ceb10b3135cf0eee6ae86bbf84e73098deb08e73792f14a60616b4d8 xeyes-1.2.0.tar.bz2" +sha512sums="6108a476cd0807ce2a522d905894817f7f14f653f928c218c96c078f0822d9abef5fb941d3e7163a1cadaa7d74f1bd09bbf60345a7ac0fe906667af5a0490906 xeyes-1.3.0.tar.xz" diff --git a/user/xf86-input-joystick/APKBUILD b/user/xf86-input-joystick/APKBUILD index d2816b435..36e59b8f6 100644 --- a/user/xf86-input-joystick/APKBUILD +++ b/user/xf86-input-joystick/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-input-joystick -pkgver=1.6.3 +pkgver=1.6.4 pkgrel=0 pkgdesc="X.Org joystick driver" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="" makedepends="util-macros xorgproto-dev xorg-server-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/driver/xf86-input-joystick-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/driver/xf86-input-joystick-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="541c993bd37dd74d96d90060407d9fb9ebd3fbca352189a08c6b0c899c84609a1b5a3c1ea3febb4ceb5e2b881b54e45c75b8f9b2e475e16d7cffbbe42a3221e5 xf86-input-joystick-1.6.3.tar.bz2" +sha512sums="4e9127f125543060f9e6bc4b0aa384bc98a92acc52bfb240c9a114c565e0b24d2e9dcbc0e866845abc8aeb1e1a6c78cd5e3f0c0f22007aa93460b6a1910d67ef xf86-input-joystick-1.6.4.tar.xz" diff --git a/user/xf86-input-libinput/APKBUILD b/user/xf86-input-libinput/APKBUILD index 0d0a26619..e6a91616a 100644 --- a/user/xf86-input-libinput/APKBUILD +++ b/user/xf86-input-libinput/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-input-libinput -pkgver=1.2.1 +pkgver=1.4.0 pkgrel=0 pkgdesc="X.Org generic input driver using libinput" url="https://www.X.Org/" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3decf694861d1aa3c02d090e66c5ed5513818cb18e9863f1790e0c8122a972230fb903705062b8291e1709db9098623f1205c63ccfb68e552e104813414589c7 xf86-input-libinput-1.2.1.tar.xz" +sha512sums="b286b5425aeda5cfecd1de7f59663d169b95ffc55474dfbf28c2e13e5221cbeecd472d40b6094c0a937f83db67bf58a7fe0e07d25b6a6945d3fd669e717fc0bf xf86-input-libinput-1.4.0.tar.xz" diff --git a/user/xf86-input-mouse/APKBUILD b/user/xf86-input-mouse/APKBUILD index 40cdb92b2..624281462 100644 --- a/user/xf86-input-mouse/APKBUILD +++ b/user/xf86-input-mouse/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-input-mouse -pkgver=1.9.4 +pkgver=1.9.5 pkgrel=0 pkgdesc="X.Org mouse driver" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7dfde3b1e0c1291c4d78ee920942771808b007f743bfc6eed20de12579383745858673dd874a4b5cf4ab8d9d15f6f7ca2db81ee831547a488d64848a7fe5e16c xf86-input-mouse-1.9.4.tar.xz" +sha512sums="ed9bd9cb9a05dac0ff1bfb4e4704cb2e94117afb400aa9e0b7ccdbb102bc6db1b0d3af7cb6f99d0892f8fc306f1643286291c0fa7114af8e65864412bd6c1afa xf86-input-mouse-1.9.5.tar.xz" diff --git a/user/xf86-video-ast/APKBUILD b/user/xf86-video-ast/APKBUILD index 2ba078de0..ec34729eb 100644 --- a/user/xf86-video-ast/APKBUILD +++ b/user/xf86-video-ast/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-ast -pkgver=1.1.5 +pkgver=1.1.6 pkgrel=0 pkgdesc="ASPEED video driver for X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT" depends="" makedepends="util-macros xorgproto-dev xorg-server-dev" subpackages="" -source="https://www.x.org/releases/individual/driver/xf86-video-ast-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/driver/xf86-video-ast-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="067c2ce3e74c83fe1531213308753cb80482d177c93009c99dc49e95bfa6ff058d81cc716d6c343b9ca1e0eb7aedf3b84beb12ad08b8cd4d9f43e11f9e192e8e xf86-video-ast-1.1.5.tar.bz2" +sha512sums="8482fec8d6be577f293cb820e623544475163f713fd74ec415f899bf5e9cf9453ffe4f96e141da3671437ebf616b47395d30d4b10858053c5893f5f5b7575ef1 xf86-video-ast-1.1.6.tar.xz" diff --git a/user/xf86-video-dummy/APKBUILD b/user/xf86-video-dummy/APKBUILD index 1391ef444..fa974d45f 100644 --- a/user/xf86-video-dummy/APKBUILD +++ b/user/xf86-video-dummy/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-dummy -pkgver=0.4.0 +pkgver=0.4.1 pkgrel=0 pkgdesc="Null video driver for X11" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1150a84c4f17215b9c579d8ce9399d547a01970bf7b5396653f14beb13a62deefe3008bf3ad6a2c5c0f46da4cbc0b840c18a7dff339e3b882d108183fa1d30d9 xf86-video-dummy-0.4.0.tar.xz" +sha512sums="ff7fd8b668e5e9f40a5d27f82599b7a455a8162fc1a247195335c17980f00ce10ae6b2c062239cbaa67d8684c86174f85b398dd7f7065d36f69294bd6f2469de xf86-video-dummy-0.4.1.tar.xz" diff --git a/user/xf86-video-glint/APKBUILD b/user/xf86-video-glint/APKBUILD deleted file mode 100644 index c3f2b0303..000000000 --- a/user/xf86-video-glint/APKBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# Contributor: A. Wilcox <awilfox@adelielinux.org> -# Maintainer: A. Wilcox <awilfox@adelielinux.org> -pkgname=xf86-video-glint -pkgver=1.2.9 -pkgrel=0 -pkgdesc="X.Org driver for GLINT/Permedia GPUs" -url="https://www.X.Org/" -arch="all" -license="X11" -depends="" -makedepends="util-macros xorg-server-dev xorgproto-dev" -subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/driver/xf86-video-glint-$pkgver.tar.bz2" - -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="29b573abc2c77992562ab72ea99dfac5fa4baee99404747c53494680fe750b9c096833cd6c8013aa85f7fb5db5bdbee2a9b26dff633a6a4fe2dc8cd9f0adff12 xf86-video-glint-1.2.9.tar.bz2" diff --git a/user/xf86-video-intel/APKBUILD b/user/xf86-video-intel/APKBUILD index c172ed53e..2679c69a5 100644 --- a/user/xf86-video-intel/APKBUILD +++ b/user/xf86-video-intel/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=xf86-video-intel verbase=2.99.917 -pkgver=${verbase}_git20200224 +pkgver=${verbase}_git20230318 pkgrel=0 pkgdesc="Legacy X.Org driver for Intel graphics cards" url="https://xorg.freedesktop.org" @@ -15,11 +15,9 @@ makedepends="xorg-server-dev libxi-dev libdrm-dev mesa-dev libxvmc-dev libxv-dev " subpackages="$pkgname-doc" -source="https://dev.sick.bike/dist/$pkgname-$pkgver.tar.gz - fno-common.patch - " +source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.gz" giturl="https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel.git" -reporev="f66d39544bb8339130c96d282a80f87ca1606caf" +reporev="ce811e78882d9f31636351dfe65351f4ded52c74" prepare() { default_prepare @@ -44,5 +42,4 @@ package() { rm "$pkgdir"/usr/libexec/xf86-video-intel-backlight-helper } -sha512sums="cb853076238cbde61faeb7dd1a07c5edc5325361dc3109acd9c142c1bf66566ee8c19f8e709bde34456e4198353ac72d337bc6a43dbcc80a4546762541be6eb9 xf86-video-intel-2.99.917_git20200224.tar.gz -2290b7d1773ccff902b1300448513dd1be4db45db234a726b4a533430c9fb62a9802f306440f751e864e7a8fb5304468719a020fc86181465501b5b2d93f1390 fno-common.patch" +sha512sums="b8663b30d3aba74964ea8509ce1e7bf6ef5c9d95c500900d2a88e71abe48dbe7f96650e115566673e982d0923b5a7aacce3b56def8c75c37e59542fae5c44b20 xf86-video-intel-2.99.917_git20230318.tar.gz" diff --git a/user/xf86-video-mach64/APKBUILD b/user/xf86-video-mach64/APKBUILD index 1aee30dab..87a878e55 100644 --- a/user/xf86-video-mach64/APKBUILD +++ b/user/xf86-video-mach64/APKBUILD @@ -8,7 +8,7 @@ url="https://www.X.Org/" arch="all" license="MIT AND X11" depends="" -makedepends="util-macros xorgproto-dev xorg-server-dev" +makedepends="libdrm-dev util-macros xorgproto-dev xorg-server-dev" subpackages="" source="https://www.x.org/releases/individual/driver/$pkgname-$pkgver.tar.xz" diff --git a/user/xf86-video-mga/APKBUILD b/user/xf86-video-mga/APKBUILD index dbd2102a0..9af9c5ece 100644 --- a/user/xf86-video-mga/APKBUILD +++ b/user/xf86-video-mga/APKBUILD @@ -8,7 +8,7 @@ url="https://www.X.Org/" arch="all" license="X11" depends="" -makedepends="util-macros xorgproto-dev xorg-server-dev" +makedepends="libdrm-dev util-macros xorgproto-dev xorg-server-dev" subpackages="$pkgname-doc" source="https://www.x.org/releases/individual/driver/$pkgname-$pkgver.tar.xz" diff --git a/user/xf86-video-nouveau/APKBUILD b/user/xf86-video-nouveau/APKBUILD index 2f812fc77..c626524b6 100644 --- a/user/xf86-video-nouveau/APKBUILD +++ b/user/xf86-video-nouveau/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-nouveau -pkgver=1.0.16 -pkgrel=1 +pkgver=1.0.18 +pkgrel=0 pkgdesc="Libre Nvidia video driver for X11" url="https://nouveau.freedesktop.org/" arch="all" @@ -10,7 +10,7 @@ license="MIT" depends="mesa-dri" makedepends="eudev-dev libdrm-dev util-macros xorgproto-dev xorg-server-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/archive/individual/driver/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/archive/individual/driver/$pkgname-$pkgver.tar.xz" build() { export LDFLAGS="$LDFLAGS -Wl,-z,lazy" @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="41b7839c37372660968ab7da2bc3d9feef3cab4e994d05d4ba6e59071f0d1b1f8d7dcdbcb15a42a375a556d28dc067f9ffe45d73c1d121ad307d199107ade3e0 xf86-video-nouveau-1.0.16.tar.bz2" +sha512sums="1330fa72f76a6fdc13e7bfa932627091d2735ddb277f6a24d4fefa79fad5f354c6bb661093f26b33770275deca435c3b018f451a6e6254fe35892c59c13e28dc xf86-video-nouveau-1.0.18.tar.xz" diff --git a/user/xf86-video-qxl/APKBUILD b/user/xf86-video-qxl/APKBUILD index 17de825f4..312448601 100644 --- a/user/xf86-video-qxl/APKBUILD +++ b/user/xf86-video-qxl/APKBUILD @@ -1,17 +1,17 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-qxl -pkgver=0.1.5 -pkgrel=1 +pkgver=0.1.6 +pkgrel=0 pkgdesc="QXL video driver for X11" url="https://www.X.Org/" arch="all" license="X11" depends="" -makedepends="eudev-dev libxfont2-dev spice-protocol util-macros xorgproto-dev - xorg-server-dev" +makedepends="eudev-dev libdrm-dev libxfont2-dev spice-protocol util-macros + xorgproto-dev xorg-server-dev" subpackages="" -source="https://www.x.org/releases/individual/driver/xf86-video-qxl-$pkgver.tar.bz2 +source="https://www.x.org/releases/individual/driver/xf86-video-qxl-$pkgver.tar.xz libdrm.patch " @@ -34,5 +34,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="7510b2d037b3e978df6063b29e2406f3d1270695a239f29fdaec9b1dc65a30ab10cb959f15eb336f78e93aa708d41c64c5ea43803958feffc64542229605b782 xf86-video-qxl-0.1.5.tar.bz2 +sha512sums="f6a42355915d2e8f8a842dc24fe6d012d123aa6d23eedea1a4771fb08f88e0298d76741755b88304d76c66b3aae15f9fca74d062be395e499a82ee8f4507c7e0 xf86-video-qxl-0.1.6.tar.xz 9f8bc0c32fa1633c95dfdfba630c3bfa766d4d137a37e28900256223b0a0b31d9cd368981d8b95392ef9ace8db4e11ef62fa1e7c4fcc895ff206e3e35b32c853 libdrm.patch" diff --git a/user/xf86-video-r128/APKBUILD b/user/xf86-video-r128/APKBUILD index 80d5a6922..cbd4bccf7 100644 --- a/user/xf86-video-r128/APKBUILD +++ b/user/xf86-video-r128/APKBUILD @@ -8,7 +8,7 @@ url="https://www.X.Org/" arch="all" license="X11 AND MIT" depends="" -makedepends="util-macros xorgproto-dev xorg-server-dev" +makedepends="libdrm-dev util-macros xorgproto-dev xorg-server-dev" subpackages="$pkgname-doc" source="https://www.x.org/releases/individual/driver/xf86-video-r128-$pkgver.tar.xz 0001-Fix-output-detection-on-non-x86-and-allow-override.patch diff --git a/user/xf86-video-rendition/APKBUILD b/user/xf86-video-rendition/APKBUILD index 7174d96a7..47a6ca4c6 100644 --- a/user/xf86-video-rendition/APKBUILD +++ b/user/xf86-video-rendition/APKBUILD @@ -6,6 +6,7 @@ pkgrel=0 pkgdesc="X.Org driver for Rendition graphics" url="https://www.X.Org/" arch="all" +options="!archcheck !strip" # Includes ELF firmware files. license="X11" depends="" makedepends="util-macros xorg-server-dev xorgproto-dev" diff --git a/user/xf86-video-siliconmotion/APKBUILD b/user/xf86-video-siliconmotion/APKBUILD index 0f8fcc546..d7e9725e6 100644 --- a/user/xf86-video-siliconmotion/APKBUILD +++ b/user/xf86-video-siliconmotion/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-siliconmotion -pkgver=1.7.9 +pkgver=1.7.10 pkgrel=0 pkgdesc="X.Org driver for Silicon Motion video cards" url="https://www.X.Org/" @@ -11,7 +11,7 @@ license="X11" depends="" makedepends="util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/driver/xf86-video-siliconmotion-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/driver/xf86-video-siliconmotion-$pkgver.tar.xz" build() { ./configure \ @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="13085945ca496f83521c28b25c394077e010031dbdc2374347a932a52650ada02f525269a81d0b0bb20b48e371d5435a7a73cb7555a07dc5a784e77152608c63 xf86-video-siliconmotion-1.7.9.tar.bz2" +sha512sums="d8bb90e636598ed20a32bdc049fe42420d9e6093429f09c3a886a7e78d3813c8533abf67c4fed084be97dd7553a1934c49aa9f94d1083dfa64ab36867ae55fca xf86-video-siliconmotion-1.7.10.tar.xz" diff --git a/user/xf86-video-sis/APKBUILD b/user/xf86-video-sis/APKBUILD index f07e35f35..60f1503f0 100644 --- a/user/xf86-video-sis/APKBUILD +++ b/user/xf86-video-sis/APKBUILD @@ -8,7 +8,7 @@ url="https://www.X.Org/" arch="all" license="X11" depends="" -makedepends="util-macros xorg-server-dev xorgproto-dev" +makedepends="libdrm-dev util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" source="https://www.X.Org/releases/individual/driver/xf86-video-sis-$pkgver.tar.bz2" diff --git a/user/xf86-video-sunffb/APKBUILD b/user/xf86-video-sunffb/APKBUILD index 37a3147fb..98d5bec50 100644 --- a/user/xf86-video-sunffb/APKBUILD +++ b/user/xf86-video-sunffb/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-sunffb -pkgver=1.2.2 +pkgver=1.2.3 pkgrel=0 pkgdesc="X.Org driver for Sun framebuffers" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/driver/xf86-video-sunffb-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/driver/xf86-video-sunffb-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a812cfdb43527e97993d1ce8b62324a5ee442c0bbf695d45582f10d7d428606ac9a546c80cd401e41e2f198c94fa84762ec4e545b53b8d1cb074bfb13ab45ff0 xf86-video-sunffb-1.2.2.tar.bz2" +sha512sums="114f46c284278aa4683cd057015f66634992dc9e104ccb3a0f4f070c10cb7b2e1c656657e9aebaa8dbb9ab3391b2928ec673757ecaae00be8da0a62ee4a86166 xf86-video-sunffb-1.2.3.tar.xz" diff --git a/user/xf86-video-sunleo/APKBUILD b/user/xf86-video-sunleo/APKBUILD index 0233842b5..b77dbc884 100644 --- a/user/xf86-video-sunleo/APKBUILD +++ b/user/xf86-video-sunleo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-sunleo -pkgver=1.2.2 +pkgver=1.2.3 pkgrel=0 pkgdesc="X.Org driver for the Sun LEO 3D accelerator" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/driver/xf86-video-sunleo-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/driver/xf86-video-sunleo-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="467559e608b59dcf2a50cbaddc218ad0778e88515906fed9d6346db09187f3f7645482113882bcf81428d4af3d3f2cccec7f24663c12c23a411f8a87551ef23f xf86-video-sunleo-1.2.2.tar.bz2" +sha512sums="9ba8da706e77ed781ed7a59aae6152609c9f3dcad74c5b1b5b40d82b75b67b8a252beb175c7b4449d18d0d77694b17a1adfa17f96d9d61d79f336bc49f19e06c xf86-video-sunleo-1.2.3.tar.xz" diff --git a/user/xf86-video-tdfx/APKBUILD b/user/xf86-video-tdfx/APKBUILD index 7f8252934..67a98da9c 100644 --- a/user/xf86-video-tdfx/APKBUILD +++ b/user/xf86-video-tdfx/APKBUILD @@ -8,7 +8,7 @@ url="https://www.X.Org/" arch="all" license="MIT" depends="" -makedepends="util-macros xorgproto-dev xorg-server-dev" +makedepends="libdrm-dev util-macros xorgproto-dev xorg-server-dev" subpackages="$pkgname-doc" source="https://www.X.Org/releases/individual/driver/xf86-video-tdfx-$pkgver.tar.bz2" diff --git a/user/xf86-video-trident/APKBUILD b/user/xf86-video-trident/APKBUILD index 560447424..82c0bfe8e 100644 --- a/user/xf86-video-trident/APKBUILD +++ b/user/xf86-video-trident/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-trident -pkgver=1.3.8 +pkgver=1.4.0 pkgrel=0 pkgdesc="X.Org driver for Trident video cards" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/driver/xf86-video-trident-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/driver/xf86-video-trident-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f971e9441c9ff7374d53d30f6746232903221665ae52560d5716762c2233cc6d0065b631a4fed98bf194d9827572cc42da577a2e6e06ba014e6ce42343b63f66 xf86-video-trident-1.3.8.tar.bz2" +sha512sums="86f349ccfcf7c704e77a95882f63ac92f55819a3a00388f294777762fed04dde2197dd6124cded9e787af1982fecc43ad4d0af34307845e616a73d5a2ba750b9 xf86-video-trident-1.4.0.tar.xz" diff --git a/user/xf86-video-vboxvideo/APKBUILD b/user/xf86-video-vboxvideo/APKBUILD index 5a5288f9b..1fdaf50e2 100644 --- a/user/xf86-video-vboxvideo/APKBUILD +++ b/user/xf86-video-vboxvideo/APKBUILD @@ -1,16 +1,16 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-vboxvideo -pkgver=1.0.0 +pkgver=1.0.1 pkgrel=0 pkgdesc="X.Org driver for the VirtualBox video adaptor" url="https://www.X.Org/" -arch="all" +arch="i528 pmmx x86 x86_64" license="X11" depends="" makedepends="util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/driver/xf86-video-vboxvideo-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/driver/xf86-video-vboxvideo-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="1a9856a966495a3a291592ee3113ed5ee83e3ef530bf37d91605206a62f641726511ad48ca79b8a3e94f601f8cf15341255b0c7d14f5c8acf985b84f965d8dfc xf86-video-vboxvideo-1.0.0.tar.bz2" +sha512sums="a0428e81e2861d59d0cc0e75fee14ba320322f057257568e10eb6347a55d85bcc1ba8973e5a2dfda7f5f24bbefefad7f7a555d4af2823a7b0ccad2c18105139c xf86-video-vboxvideo-1.0.1.tar.xz" diff --git a/user/xf86-video-vesa/APKBUILD b/user/xf86-video-vesa/APKBUILD index f6e8bf1f7..ad4440802 100644 --- a/user/xf86-video-vesa/APKBUILD +++ b/user/xf86-video-vesa/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xf86-video-vesa -pkgver=2.5.0 +pkgver=2.6.0 pkgrel=0 pkgdesc="X.Org driver for VESA-compatible video adaptors" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/driver/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/driver/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="36fd921f54f33eb25966b5f9ea1e1b3e9009965c012c8b9c676686b472111719921b80cf62dafc746058878253e21f0ef341a2ff2d650df22ca1e35e81716a8b xf86-video-vesa-2.5.0.tar.bz2" +sha512sums="494e117c1e6e0ce4c66ac7798de54667862c62605bfd76dd9373447d40dcd0521100810c9285cbe9c159440e217954c0cad6d5219c5894e075509c7c0bc353c7 xf86-video-vesa-2.6.0.tar.xz" diff --git a/user/xf86-video-vmware/APKBUILD b/user/xf86-video-vmware/APKBUILD index c8dc14371..a4c0b399a 100644 --- a/user/xf86-video-vmware/APKBUILD +++ b/user/xf86-video-vmware/APKBUILD @@ -9,7 +9,7 @@ url="https://www.X.Org/" arch="all !aarch64 !aarch64_be !armel !armeb !armhf !armv7" license="X11" depends="" -makedepends="eudev-dev util-macros xorg-server-dev xorgproto-dev" +makedepends="eudev-dev libxext-dev util-macros xorg-server-dev xorgproto-dev" subpackages="$pkgname-doc" source="https://www.X.Org/releases/individual/driver/xf86-video-vmware-$pkgver.tar.xz" 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/xfd/APKBUILD b/user/xfd/APKBUILD index ca4f5188d..7d2bca476 100644 --- a/user/xfd/APKBUILD +++ b/user/xfd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xfd -pkgver=1.1.3 +pkgver=1.1.4 pkgrel=0 pkgdesc="Display all characters in X11 fonts" url="https://www.X.Org/" @@ -11,7 +11,7 @@ depends="" makedepends="fontconfig-dev libxaw-dev libxft-dev libxkbfile-dev libxmu-dev libxrender-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/xfd-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/xfd-$pkgver.tar.xz" build() { ./configure \ @@ -32,4 +32,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="68e2d4ce5e24215353b6f3231191d69639c4dd90a703e03ccf152bbfe4012da071c387ba289f918fb0336a3be9ee49dc05cbec7273fa85f5e476ead7e10795f0 xfd-1.1.3.tar.bz2" +sha512sums="fa1f8a7b5d89be20fb2b1e3e0e8f4d7f9463e91fd385d21e1403a398c2e263112043b568417c420c5ee33bec60e06658498dd55df6d7ac19da3af0844f932209 xfd-1.1.4.tar.xz" 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/xfontsel/APKBUILD b/user/xfontsel/APKBUILD index c9c4ebbc4..28f7e071a 100644 --- a/user/xfontsel/APKBUILD +++ b/user/xfontsel/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xfontsel -pkgver=1.1.0 +pkgver=1.1.1 pkgrel=0 pkgdesc="X11 font chooser and exploration tool" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="be67d223668431c9b5dd2ef74032d2f087be5f8f0ccc427bc7ee43e7ce42214edddb07d8c3d6d6de93ea35314392d384f1ab1ae5c48b2cfbce418610e3945a52 xfontsel-1.1.0.tar.xz" +sha512sums="fdb1f20dc86e2e74da77ef5e62d9465ea24d1af965f1ff3a6334ffefb239130fcf28f7cde9b4e7d7e6c9cf12fcb637784e7af209cffcee3dbe304025d33abcdd xfontsel-1.1.1.tar.xz" diff --git a/user/xfs/APKBUILD b/user/xfs/APKBUILD index ea9e2c305..1c60c0b96 100644 --- a/user/xfs/APKBUILD +++ b/user/xfs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xfs -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=0 pkgdesc="The X11 Font Server" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0f8b019e0d922b3d859110154e0ec58493f66507f9787cd41a6c03ad7a05b3293f088f1004e4aaa81e017a524c06d23915669f91ed5e1c2679b33c43de15e70d xfs-1.2.1.tar.xz" +sha512sums="e8983ddade7015c87db1278093701b9e62c7d09003150ed7347a9b83b8f245e8ac9fe2d86d61bb4469bbbea86a71366ef299541793326d9dbbb1b9c0572bcba9 xfs-1.2.2.tar.xz" diff --git a/user/xfsprogs/APKBUILD b/user/xfsprogs/APKBUILD new file mode 100644 index 000000000..8d717f51e --- /dev/null +++ b/user/xfsprogs/APKBUILD @@ -0,0 +1,54 @@ +# Contributor: Valery Kartel <valery.kartel@gmail.com> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=xfsprogs +pkgver=6.9.0 +pkgrel=0 +pkgdesc="XFS filesystem utilities" +url="https://xfs.org/index.php/Main_Page" +arch="all" +options="!check" # No test suite. +license="GPL-1.0-only" +depends="$pkgname-base" +makedepends="attr-dev bash icu-dev inih-dev libedit-dev linux-headers + userspace-rcu-dev util-linux-dev" +subpackages="$pkgname-base $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-libs" +source="https://www.kernel.org/pub/linux/utils/fs/xfs/$pkgname/$pkgname-$pkgver.tar.gz + no-utmp-header.patch + scrub.patch + " + +build() { + export DEBUG=-DNDEBUG + export OPTIMIZER="$CFLAGS" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sbindir=/sbin \ + --libexecdir=/usr/lib \ + --enable-editline + make SHELL=/bin/bash +} + +check() { + make check +} + +package() { + make -j1 DIST_ROOT="$pkgdir" install install-dev + find "$pkgdir" -name *.la -delete + chown -R 0:0 "$pkgdir" +} + +base() { + # Everything except xfs_scrub, which pulls in 50 MiB of icu libs. + pkgdesc="Base $pkgdesc" + mkdir "$subpkgdir" + mv "$pkgdir"/sbin "$subpkgdir"/ + mkdir "$pkgdir"/sbin + mv "$subpkgdir"/sbin/xfs_scrub "$pkgdir"/sbin/ +} + +sha512sums="bfb3c98e7571180f1c5c130ca9aece5dde97bc6c628dc3d6560b0da75e5b43e8febe3eec193d3db2ec877b3a27258c53c033c7ed3d881efd2d4e3216033aaf2b xfsprogs-6.9.0.tar.gz +29c77c550fa8f7a0b3794649d278a2cb3a65c9368db19415866910160adb6d5a52f1be4f8713b58c5c87f149b6212c068ae27a4547a6c4e4fe7b1584e1261dae no-utmp-header.patch +d83e2ae819a338273fae7999a0ae1376faa593308974f93abc6db140b134ec98f855a2ea5585583f739b041fbb5d4b8a0d4d27ecd73df6c34cd799b2cee55b9a scrub.patch" diff --git a/user/xfsprogs/no-utmp-header.patch b/user/xfsprogs/no-utmp-header.patch new file mode 100644 index 000000000..f272bc152 --- /dev/null +++ b/user/xfsprogs/no-utmp-header.patch @@ -0,0 +1,20 @@ +--- xfsprogs-4.17.0/quota/report.c.old 2018-06-28 12:00:43.000000000 -0500 ++++ xfsprogs-4.17.0/quota/report.c 2018-07-04 00:50:44.940000000 -0500 +@@ -8,7 +8,6 @@ + #include <sys/types.h> + #include <pwd.h> + #include <grp.h> +-#include <utmp.h> + #include "init.h" + #include "quota.h" + +--- xfsprogs-4.17.0/quota/util.c.old 2018-06-28 12:00:43.000000000 -0500 ++++ xfsprogs-4.17.0/quota/util.c 2018-07-04 00:53:25.470000000 -0500 +@@ -8,7 +8,6 @@ + #include <stdbool.h> + #include <pwd.h> + #include <grp.h> +-#include <utmp.h> + #include "init.h" + #include "quota.h" + diff --git a/user/xfsprogs/scrub.patch b/user/xfsprogs/scrub.patch new file mode 100644 index 000000000..a466aab34 --- /dev/null +++ b/user/xfsprogs/scrub.patch @@ -0,0 +1,49 @@ +From da3ad6ffc9ecf75ebb734bbb863c1412d11b9beb Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Sat, 10 Aug 2024 21:26:57 -0500 +Subject: [PATCH] xfs_scrub: Use POSIX-conformant strerror_r + +When building xfsprogs with musl libc, strerror_r returns int as +specified in POSIX. This differs from the glibc extension that returns +char*. Successful calls will return 0, which will be dereferenced as a +NULL pointer by (v)fprintf. + +Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com> +--- + scrub/common.c | 3 ++- + scrub/inodes.c | 4 ++-- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/scrub/common.c b/scrub/common.c +index 283ac84e..bd8bde35 100644 +--- a/scrub/common.c ++++ b/scrub/common.c +@@ -122,7 +122,8 @@ __str_out( + fprintf(stream, "%s%s: %s: ", stream_start(stream), + _(err_levels[level].string), descr); + if (error) { +- fprintf(stream, _("%s."), strerror_r(error, buf, DESCR_BUFSZ)); ++ strerror_r(error, buf, DESCR_BUFSZ); ++ fprintf(stream, _("%s."), buf); + } else { + va_start(args, format); + vfprintf(stream, format, args); +diff --git a/scrub/inodes.c b/scrub/inodes.c +index 16c79cf4..f0e7289c 100644 +--- a/scrub/inodes.c ++++ b/scrub/inodes.c +@@ -65,9 +65,9 @@ bulkstat_for_inumbers( + error = -xfrog_bulkstat(&ctx->mnt, breq); + if (error) { + char errbuf[DESCR_BUFSZ]; ++ strerror_r(error, errbuf, DESCR_BUFSZ); + +- str_info(ctx, descr_render(dsc), "%s", +- strerror_r(error, errbuf, DESCR_BUFSZ)); ++ str_info(ctx, descr_render(dsc), "%s", errbuf); + } + + /* +-- +2.40.0 + 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/xgamma/APKBUILD b/user/xgamma/APKBUILD index f6f49a5cb..c0af0c45a 100644 --- a/user/xgamma/APKBUILD +++ b/user/xgamma/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xgamma -pkgver=1.0.6 +pkgver=1.0.7 pkgrel=0 pkgdesc="Tools for manipulating gamma on X11 displays" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libx11-dev libxxf86vm-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/xgamma-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/xgamma-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2d41798e15ac8c6f6731a2da29589207d936eaee1223ce6f3ca948e67d63c5c8b955d11c7db092dcd8c66a6209bd15c1de3dc1446dad4b4277134f010c6fc47a xgamma-1.0.6.tar.bz2" +sha512sums="9eeee9b537dcae9e4d153774eb632a6a5e8dd32bebadc9bbd897a773e5b56f76848f32a1699b8c921d3094760c42b5083365d853b89ab31fd85c7a0d46feeceb xgamma-1.0.7.tar.xz" diff --git a/user/xhost/APKBUILD b/user/xhost/APKBUILD index 39be52023..56236a6b7 100644 --- a/user/xhost/APKBUILD +++ b/user/xhost/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=xhost -pkgver=1.0.8 +pkgver=1.0.9 pkgrel=0 pkgdesc="Controls host and/or user access to a running X server" url="https://www.X.Org/" @@ -11,7 +11,7 @@ license="MIT X11" subpackages="$pkgname-doc" depends="" makedepends="libx11-dev libxmu-dev libxau-dev util-macros" -source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -26,4 +26,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="55581f9bc45a70a73b13fe718ca83c4cb0a6116d26addc0f07659ebeb5bf7d2379e84cab5a1702ae77a298a66f42ae03f41ddc7d5acd61c6f18448e58ad7cb6b xhost-1.0.8.tar.bz2" +sha512sums="d281a0df0a036d693ce7dbe0d1d53839110d203f42454bf4d33a49fbfddec078149969b6ad76641e40e207ddc8317ea563088c59025fc57d8245e5ed27f79818 xhost-1.0.9.tar.xz" diff --git a/user/xinit/06_move_serverauthfile_into_tmp.patch b/user/xinit/06_move_serverauthfile_into_tmp.patch index 99e8a6754..d128e1141 100644 --- a/user/xinit/06_move_serverauthfile_into_tmp.patch +++ b/user/xinit/06_move_serverauthfile_into_tmp.patch @@ -7,14 +7,14 @@ The trap patch didn't seem to work on reboot. Index: xinit/startx.cpp =================================================================== ---- xinit.orig/startx.cpp -+++ xinit/startx.cpp -@@ -273,7 +273,7 @@ +--- xinit-1.4.2.orig/startx.cpp 2022-12-03 22:18:43.000000000 +0000 ++++ xinit-1.4.2/startx.cpp 2024-08-30 09:47:01.763977101 +0000 +@@ -272,7 +272,7 @@ if [ x"$enable_xauth" = x1 ] ; then dummy=0 XCOMM create a file with auth information for the server. ':0' is a dummy. - xserverauthfile=$HOME/.serverauth.$$ + xserverauthfile=`mktemp -p /tmp serverauth.XXXXXXXXXX` - trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP BUS TERM xauth -q -f "$xserverauthfile" << EOF add :$dummy . $mcookie diff --git a/user/xinit/APKBUILD b/user/xinit/APKBUILD index 9ec540564..6fc1441a1 100644 --- a/user/xinit/APKBUILD +++ b/user/xinit/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xinit -pkgver=1.4.1 +pkgver=1.4.2 pkgrel=0 pkgdesc="X.Org initialisation program" url="https://www.X.Org/" @@ -9,7 +9,7 @@ license="X11" depends="cmd:mcookie xauth xmodmap xrdb" makedepends="libx11-dev util-macros" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/xinit-$pkgver.tar.bz2 +source="https://www.X.Org/releases/individual/app/xinit-$pkgver.tar.xz 06_move_serverauthfile_into_tmp.patch xinitrc xsession.skel @@ -43,8 +43,8 @@ package() { mkdir -p "$pkgdir"/etc/X11/xinit/xinitrc.d } -sha512sums="6cbc5d025a891c419f3f4493381b2fca57a67d78df866d2f16a83426f86bad6eca7f240fac12b25cbcc63df0fec41f625407184e044898602d66483715315340 xinit-1.4.1.tar.bz2 -2296c10a5d74bff42d9642a4787dc3f2b77492fc81174af48dc88cd3c8fa49c7f70147b790d8c82c2df6c910d9d412965999e7a342ca28697a97b5d522669edd 06_move_serverauthfile_into_tmp.patch +sha512sums="4b62c2edd97b40133577cbba88b3f31b36c5634b4eb667ef0c302e8358dc1c55a255abe42aaadc910d8aa9ea0e3add157a12a301382f1cdbe091df4e1215fae0 xinit-1.4.2.tar.xz +2c4527cdb7d56b129266c7ba68018eb1b0b794a8a1c0b0e532b11afc243fca36e2f94595b79cf65b6e69d89640edaef94b14295d163cf49d076456ece654d9fb 06_move_serverauthfile_into_tmp.patch 1b19f800d1f64e49b533929ea6b9580d6dc24b680e1461edcc5784ba9fbb387fef57576b1e3d4bc67cb0ff2b248b670c148a3c7a350e1062bb9b95e9a2ba7805 xinitrc 448bc6c7987a4735b6584e307cd5c53092b1a338043293f5f110d11818dd1b80508401a3b6f09525c82a16a88f293b37011d8ca112460b0f95d26897e3e0619e xsession.skel b311032a751bb21d6c49ffe1dfc67beb577b5d5bec4a4c12612c4c0f9b9d6d2a07f7435c7d2fe9ab4c318546ee0cb9d4ff3f7ef908e756a818da529e913e667d Xsession diff --git a/user/xinput/APKBUILD b/user/xinput/APKBUILD index 7e4014048..a22c54024 100644 --- a/user/xinput/APKBUILD +++ b/user/xinput/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr> # Maintainer: Dan Theisen <djt@hxx.in> pkgname=xinput -pkgver=1.6.3 +pkgver=1.6.4 pkgrel=0 pkgdesc="Utility to configure and test XInput devices" url="https://www.X.Org/" @@ -12,7 +12,7 @@ depends="" makedepends="util-macros libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/archive/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/archive/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -29,4 +29,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="cb2fef866ac5a71dbca3e23b4ecadaca38e65dc1b30f8bb024bad92486554fafc472706619a1af04c746a4f53ce6aea827d694b9f4f0c7d0d46bb1da81984076 xinput-1.6.3.tar.bz2" +sha512sums="6734860852715e5cb9d26259a173e42413fc037546ed7fa4173ffa802c2619ee0322bed228a28cd1911be759d860070867d9b89b115f37323cca1c9ef75354b9 xinput-1.6.4.tar.xz" diff --git a/user/xkbcomp/APKBUILD b/user/xkbcomp/APKBUILD index 2c883600d..5476a4d5e 100644 --- a/user/xkbcomp/APKBUILD +++ b/user/xkbcomp/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xkbcomp -pkgver=1.4.5 +pkgver=1.4.7 pkgrel=0 pkgdesc="Keyboard layout compiler for X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="MIT AND X11" depends="" makedepends="libx11-dev libxkbfile-dev util-macros" subpackages="$pkgname-dev $pkgname-doc" -source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2e84f8d6b083e2e818cb95e5d2a184da00e50d71b280e92d1a71465a9a4348f922f4ddccb42cfeee6f76705bbfc8580ef67aedd0d958aaa1ae6bbcc66ccd8154 xkbcomp-1.4.5.tar.bz2" +sha512sums="6f468dce9d2499ab1022f4288d46f66af149dac0a161fb5b9dc0c262bc70c2c3d254db2c6fb5df1e2793c822e2d55c6da5fd037ce523a555b7c3de23e35c49ef xkbcomp-1.4.7.tar.xz" diff --git a/user/xkbutils/APKBUILD b/user/xkbutils/APKBUILD index 24270a745..e8d9375e0 100644 --- a/user/xkbutils/APKBUILD +++ b/user/xkbutils/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xkbutils -pkgver=1.0.5 +pkgver=1.0.6 pkgrel=0 pkgdesc="Utilities for managing keyboards using XKB" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0d8d460f5e015e9034292688437511068dab61216c2493f2981cfb63aaa012976ac9435c1586a22c0940fbfcb779b48dce9b85832303fe2b854aa945b814ac77 xkbutils-1.0.5.tar.xz" +sha512sums="78fb7ab4ef6642040992529444944080aca7a2ec4118f9a64c45dacc37e4041181df7bcd1f4270e11b9fbc8bd60a131b4702d2aa95741d89c54582ff8a8f896e xkbutils-1.0.6.tar.xz" diff --git a/user/xkeyboard-config/APKBUILD b/user/xkeyboard-config/APKBUILD index 63d9e1f64..fd865dcac 100644 --- a/user/xkeyboard-config/APKBUILD +++ b/user/xkeyboard-config/APKBUILD @@ -1,35 +1,30 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xkeyboard-config -pkgver=2.30 +pkgver=2.42 pkgrel=0 pkgdesc="Keyboard configuration files for X11" url="https://www.freedesktop.org/wiki/Software/XKeyboardConfig" arch="noarch" +options="!check" # requires gawk license="X11 AND MIT" depends="" -makedepends="intltool libx11-dev python3 xkbcomp libxslt" +makedepends="intltool libx11-dev python3 xkbcomp libxslt meson" subpackages="$pkgname-doc $pkgname-lang" -source="https://www.X.Org/releases/individual/data/xkeyboard-config/xkeyboard-config-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/data/xkeyboard-config/xkeyboard-config-$pkgver.tar.xz" build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --with-xkb-base=/usr/share/X11/xkb \ - --with-xkb-rules-symlink=xorg \ - --enable-compat-rules=yes - make -} - -check() { - make check + meson setup \ + -Dprefix=/usr \ + -Dxkb-base=/usr/share/X11/xkb \ + -Dxorg-rules-symlinks=true \ + build + meson compile -C build } package() { - make DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install -C build rm -f "$pkgdir"/usr/share/X11/xkb/compiled install -m755 -d "$pkgdir"/var/lib/xkb } -sha512sums="2d775dcaab49d80f62b8eaadc9be406b42c9a3643d3a360f864a462c61865abce67d0a8a80772d54f8136603114c61b5168fd06771f9c132411911914abb1ea4 xkeyboard-config-2.30.tar.bz2" +sha512sums="654436ae21b9deb3b193847403b652cc5c19aa665a9c9168598fc6ac7af83ac04d40684d9eb99dd4db97c21e5100cfeed06b25e2b041eb9fdf3c05ef95a891a9 xkeyboard-config-2.42.tar.xz" diff --git a/user/xlsfonts/APKBUILD b/user/xlsfonts/APKBUILD index 6f180bf49..dcb6ef99a 100644 --- a/user/xlsfonts/APKBUILD +++ b/user/xlsfonts/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xlsfonts -pkgver=1.0.7 +pkgver=1.0.8 pkgrel=0 pkgdesc="List available fonts on an X11 server" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="ec82be0a97500a9e64fb5a6adbbec470b249b1267c3081c2bd44cd3e7148107517d1234c1da2f81b0405230ab03ad2943ea53756c3380f4d561665b38d0cedc0 xlsfonts-1.0.7.tar.xz" +sha512sums="401c86d902f173c440c08a22067a51e7238949c8d3c71eba7a8df11955edfec27525c8cbbcf2e96ed444fa20b15f98cf65a01343215d1ed9ba84fce849d02927 xlsfonts-1.0.8.tar.xz" diff --git a/user/xman/APKBUILD b/user/xman/APKBUILD index 5ea0f6068..be5a3f303 100644 --- a/user/xman/APKBUILD +++ b/user/xman/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xman -pkgver=1.1.5 +pkgver=1.2.0 pkgrel=0 pkgdesc="Read manual pages from the comfort of X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="groff" makedepends="libxaw-dev libxt-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/xman-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/xman-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f6b2be424a79f298bf1a81edce4172572195c9efc9454e5b7b7046f344ed08154c77ccaa763ccdf3f1a30b64aa4802783bf813ee637437ccb1fba434fc5d4400 xman-1.1.5.tar.bz2" +sha512sums="072dba172fd30606c1e185c6e50b3b9a9ec5e430eb2ac7f0c476e1c2de998e8c0b5fbf53de20a7339d39a8990255e77fe72d3928b43d055e8463f8069389d192 xman-1.2.0.tar.xz" diff --git a/user/xmessage/APKBUILD b/user/xmessage/APKBUILD index a81a71a86..544ee0c8b 100644 --- a/user/xmessage/APKBUILD +++ b/user/xmessage/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xmessage -pkgver=1.0.6 +pkgver=1.0.7 pkgrel=0 pkgdesc="Display a message or query in a window" url="https://www.X.Org/" @@ -30,4 +30,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="89deb7a81bd047027f99cb92cd16a47f94479c61a6f9fbac4638e6d642037b3e9bbac2313db59ac8c5544175947c693f6a210537c6df2b88dc3de1c67498cba8 xmessage-1.0.6.tar.xz" +sha512sums="0c44f7973f7ed8d7993aaeb457a8921301cb0de905e45d92bd99d49463223b54c704a28bef376fe6038b4aec7156be873a34294741c8537bb7a5a57e1f152cce xmessage-1.0.7.tar.xz" diff --git a/user/xmh/APKBUILD b/user/xmh/APKBUILD index e1c7416f2..541b1c716 100644 --- a/user/xmh/APKBUILD +++ b/user/xmh/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xmh -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="X11 integration for MH message handling system" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="03bba7d3e7c2070b03378335aed0188dd0fd0a488f19dc5ad3f26674a9b38e6599377d082328041dd3ab72123ed60acae32cff19d7149517545b80e1339db26a xmh-1.0.4.tar.xz" +sha512sums="fbf5c7e7994832b1df0db9464aacddba6a445c6fe6b8d2e09c311dc27edb96f6e198816ee21b5ee361fb9637302ce54da2691c784e03ab5c1af8590f00b48bab xmh-1.0.5.tar.xz" diff --git a/user/xmlsec/APKBUILD b/user/xmlsec/APKBUILD index 0d56de411..b8edc8b29 100644 --- a/user/xmlsec/APKBUILD +++ b/user/xmlsec/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Max Rees <maxcrees@me.com> pkgname=xmlsec -pkgver=1.3.4 +pkgver=1.3.6 _pkgname="$pkgname${pkgver%%.*}" pkgrel=0 pkgdesc="C-based XML signature and encryption syntax and processing library" @@ -70,5 +70,5 @@ nss() { mv "$pkgdir"/usr/lib/libxmlsec1-nss.so* "$subpkgdir"/usr/lib/ } -sha512sums="959a97ed7d7cbdc3e5ef037b2cb4f05bda299274c09ed3dfe24f7203d97e3dfc13bf480e15a2d15bcc7893569d341204884de58cc9b462b6c29306b67672e9c7 xmlsec1-1.3.4.tar.gz +sha512sums="f38ccc7af0026973a94b1b6f95accd70a2a2c4398985a0002c66d7b43bff6d6bcfb09ae62046cbdac82a0890622aead2df710cb0ab373c3bdf6159797613cdaa xmlsec1-1.3.6.tar.gz d29fad9689d6c8d9583802143bdfa38b27fbcc2e54232a052138da08f495b40de677849e3c1062070ef2d2efe59357d6efa6b7df429ea6563ea6b6cb126c3b6f testrun.patch" diff --git a/user/xmore/APKBUILD b/user/xmore/APKBUILD index 75514d1f1..02d05f7be 100644 --- a/user/xmore/APKBUILD +++ b/user/xmore/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xmore -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Display text files using X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libxaw-dev util-macros" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/xmore-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/xmore-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="e3e44831cd87a54bb585f80ef0d87f69dc35f6c834a73241aad9f6e2b0999b53c51a0a3f915a94ae4d6dc9bdfb9f60b6576f0bdcec441443abd98efa6c51b1d3 xmore-1.0.3.tar.bz2" +sha512sums="52ac9bca78431f5f830b4607ff2cc375ab90e11380e0d4d3e591689359806cc7c7ec92c713d4d65742f40407e4f407c372759e5d03e30a30dfd866e6d5c6f6f7 xmore-1.0.4.tar.xz" diff --git a/user/xmoto/APKBUILD b/user/xmoto/APKBUILD index 55c9deb9b..280fc3dd5 100644 --- a/user/xmoto/APKBUILD +++ b/user/xmoto/APKBUILD @@ -9,7 +9,7 @@ arch="all" license="GPL-2.0+" depends="" makedepends="bzip2-dev curl-dev glu-dev libjpeg-turbo-dev libpng-dev - libxdg-basedir-dev libxml2-dev lua5.3-dev mesa-dev ode-dev sdl-dev + libglvnd-dev libxdg-basedir-dev libxml2-dev lua5.3-dev ode-dev sdl-dev sdl_mixer-dev sdl_net-dev sdl_ttf-dev sqlite-dev zlib-dev autoconf automake" subpackages="$pkgname-doc $pkgname-lang" diff --git a/user/xorg-cf-files/APKBUILD b/user/xorg-cf-files/APKBUILD index 81f83d774..dbd076a7c 100644 --- a/user/xorg-cf-files/APKBUILD +++ b/user/xorg-cf-files/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Dan Theisen <djt@hxx.in> pkgname=xorg-cf-files -pkgver=1.0.7 +pkgver=1.0.8 pkgrel=0 pkgdesc="Data files for the imake utility" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="util-macros" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/util/${pkgname}-${pkgver}.tar.bz2" +source="https://www.X.Org/releases/individual/util/${pkgname}-${pkgver}.tar.xz" build() { ./configure \ @@ -30,4 +30,4 @@ package() { install -m644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/ } -sha512sums="0dd73b9db9fc16bddc94ef23f11434be6ea2f8e0c7bc5ef3c3bfe6749e13843f88d397eed9f980bbbe9e74147172326bd3c3ccb7adedc9150302756e4b07191e xorg-cf-files-1.0.7.tar.bz2" +sha512sums="cc633af889cd82346c3098df9185245c21aa9db7484343f8be9719f6e0b1fc0a9b09afb13b9b864668aa51944f2da797bbe896c807f629e89fc91506e6e63fb9 xorg-cf-files-1.0.8.tar.xz" diff --git a/user/xorg-drivers/APKBUILD b/user/xorg-drivers/APKBUILD index cbefb4780..2a12b0087 100644 --- a/user/xorg-drivers/APKBUILD +++ b/user/xorg-drivers/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xorg-drivers pkgver=1.1 -pkgrel=0 +pkgrel=2 pkgdesc="Drivers for X.Org systems" url="https://www.X.Org/" arch="all" @@ -12,11 +12,10 @@ depends="xf86-input-evdev xf86-input-joystick xf86-input-libinput xf86-input-mouse xf86-input-synaptics xf86-input-void xf86-input-wacom xf86-video-amdgpu xf86-video-ast xf86-video-ati xf86-video-cirrus - xf86-video-dummy xf86-video-fbdev xf86-video-glint xf86-video-mach64 - xf86-video-mga xf86-video-nouveau xf86-video-openchrome xf86-video-qxl - xf86-video-r128 xf86-video-rendition xf86-video-sis xf86-video-sisusb - xf86-video-tdfx xf86-video-trident xf86-video-v4l xf86-video-vboxvideo - xf86-video-vesa" + xf86-video-dummy xf86-video-fbdev xf86-video-mach64 xf86-video-mga + xf86-video-nouveau xf86-video-openchrome xf86-video-qxl xf86-video-r128 + xf86-video-rendition xf86-video-sis xf86-video-sisusb xf86-video-tdfx + xf86-video-trident xf86-video-v4l xf86-video-vesa" case $CTARGET_ARCH in pmmx) depends="$depends xf86-video-geode xf86-video-intel" ;; @@ -28,6 +27,8 @@ esac case $CTARGET_ARCH in aarch64*|arm*) depends="$depends xf86-video-freedreno";; + pmmx|x86*|i528) + depends="$depends xf86-video-vboxvideo";; *) depends="$depends xf86-video-siliconmotion xf86-video-vmware";; esac diff --git a/user/xorg-server/APKBUILD b/user/xorg-server/APKBUILD index 17909c830..2c64a7c54 100644 --- a/user/xorg-server/APKBUILD +++ b/user/xorg-server/APKBUILD @@ -1,36 +1,66 @@ # Contributor: Łukasz Jendrysik <scadu@yandex.com> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xorg-server -pkgver=1.20.9 -pkgrel=1 +pkgver=21.1.16 +pkgrel=0 pkgdesc="X.Org X11 server" url="https://www.X.Org/" arch="all" options="suid" license="MIT" -depends="font-cursor-misc font-misc-misc xkeyboard-config xkbcomp xinit" -depends_dev="libepoxy-dev libxfont2-dev mesa-dev" -makedepends="$depends_dev autoconf automake libtool util-macros - eudev-dev libpciaccess-dev libdrm-dev libepoxy-dev pixman-dev - libx11-dev libxdamage-dev libxinerama-dev libxkbfile-dev libxkbui-dev - libxv-dev libxxf86dga-dev libxxf86misc-dev xcb-util-dev - xcb-util-image-dev xcb-util-keysyms-dev xcb-util-renderutil-dev - xcb-util-wm-dev xorgproto-dev - xtrans - openssl-dev perl wayland-dev wayland-protocols zlib-dev +depends="font-cursor-misc font-misc-misc xkeyboard-config xkbcomp xinit + xorg-server-protocol + " +depends_dev="libepoxy-dev libglvnd-dev libpciaccess-dev libxfont2-dev" +makedepends="$depends_dev meson eudev-dev libdrm-dev + libepoxy-dev pixman-dev libx11-dev libxdamage-dev libxinerama-dev + libxkbfile-dev libxkbui-dev libxv-dev libxxf86dga-dev libxxf86misc-dev + libxcvt-dev mesa-dev xkbcomp-dev xcb-util-dev xcb-util-image-dev + xcb-util-keysyms-dev xcb-util-renderutil-dev xcb-util-wm-dev xorgproto-dev + xtrans openssl-dev perl zlib-dev " # the modesetting driver is now shipped with xorg server replaces="xf86-video-modesetting" subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc xvfb $pkgname-xephyr - $pkgname-xnest $pkgname-xwayland" -source="https://www.X.Org/releases/individual/xserver/$pkgname-$pkgver.tar.bz2 + $pkgname-xnest $pkgname-protocol" +source="https://www.X.Org/releases/individual/xserver/$pkgname-$pkgver.tar.xz autoconfig-sis.patch fix-musl-arm.patch - rgb-mask.patch - gcc12.patch " # secfixes: +# 21.1.12-r0: +# - CVE-2024-31080 +# - CVE-2024-31081 +# - CVE-2024-31082 +# - CVE-2024-31083 +# - CVE-2023-6816 +# - CVE-2024-0229 +# - CVE-2024-21885 +# - CVE-2024-21886 +# - CVE-2024-0408 +# - CVE-2024-0409 +# - CVE-2023-6377 +# - CVE-2023-6478 +# - CVE-2023-5367 +# - CVE-2023-5380 +# - CVE-2023-5574 +# - CVE-2023-0494 +# - CVE-2022-4283 +# - CVE-2022-46340 +# - CVE-2022-46341 +# - CVE-2022-46342 +# - CVE-2022-46343 +# - CVE-2022-46344 +# - CVE-2022-2319 +# - CVE-2022-2320 +# - CVE-2021-4008 +# - CVE-2021-4009 +# - CVE-2021-4010 +# - CVE-2021-4011 +# - CVE-2021-3472 +# - CVE-2020-14360 +# - CVE-2020-25712 # 1.20.9-r0: # - CVE-2020-14345 # - CVE-2020-14346 @@ -67,45 +97,41 @@ build() { export CFLAGS="$CFLAGS -D_GNU_SOURCE" [ "$CLIBC" = musl ] && export CFLAGS="$CFLAGS -D__gid_t=gid_t -D__uid_t=uid_t" export LDFLAGS="$LDFLAGS -Wl,-z,lazy" + _fontroot="/usr/share/fonts" - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ + meson setup \ --prefix=/usr \ --sysconfdir=/etc/X11 \ --localstatedir=/var \ - --with-xkb-path=/usr/share/X11/xkb \ - --with-xkb-output=/var/lib/xkb \ - --without-systemd-daemon \ - --enable-composite \ - --enable-config-udev \ - --enable-dri \ - --enable-dri2 \ - --enable-glamor \ - --enable-ipv6 \ - --enable-kdrive \ - --enable-xace \ - --enable-xcsecurity \ - --enable-xephyr \ - --enable-xnest \ - --enable-xorg \ - --enable-xres \ - --enable-xv \ - --enable-xwayland \ - --disable-config-hal \ - --disable-dmx \ - --disable-systemd-logind \ - --with-os-vendor="${DISTRO_NAME:-Adélie Linux}" + -Dxkb_dir=/usr/share/X11/xkb \ + -Dxkb_output_dir=/var/lib/xkb \ + -Dsystemd_logind=false \ + -Ddri1=true \ + -Ddri2=true \ + -Ddri3=true \ + -Dglamor=true \ + -Dipv6=true \ + -Dxace=true \ + -Dxcsecurity=true \ + -Dxephyr=true \ + -Dxnest=true \ + -Dxorg=true \ + -Dxres=true \ + -Dhal=false \ + -Dsecure-rpc=false \ + -Dpciaccess=true \ + -Ddefault_font_path=$_fontroot/misc,$_fontroot/100dpi:unscaled,$_fontroot/75dpi:unscaled,$_fontroot/TTF,$_fontroot/Type1 \ + build - make + meson compile -C build } check() { - make check + meson test --no-rebuild --print-errorlogs -C build } package() { - make -j1 DESTDIR="$pkgdir" install + DESTDIR="$pkgdir" meson install --no-rebuild -C build chmod u+s "$pkgdir"/usr/bin/Xorg # Don't conflict with xf86-input-evdev @@ -136,14 +162,14 @@ xnest() { mv "$pkgdir"/usr/bin/Xnest "$subpkgdir"/usr/bin/ } -xwayland() { - pkgdesc="X.Org server for Wayland" - mkdir -p "$subpkgdir"/usr/bin - mv "$pkgdir"/usr/bin/Xwayland "$subpkgdir"/usr/bin/ +protocol() { + pkgdesc="Xorg server protocol file" + depends="" + + mkdir -p "$subpkgdir"/usr/lib/xorg + mv "$pkgdir"/usr/lib/xorg/protocol.txt "$subpkgdir"/usr/lib/xorg/ } -sha512sums="d9b5f93e1b9763a89187d8b272aa7d4ce9709641b8539f4536708af153310e5a4931bffd4229c51a3b0e3b12da7838750aa71b635751fb4c0bb27438cce4e5e6 xorg-server-1.20.9.tar.bz2 +sha512sums="38fd4232a293a497d13f8b57e85e84cf6a531453a7d8d5de1a77d67ceaf8714d5770951a8a21f1b3f519e83be1fc0926dce269846e75a8b11aa1062dd507f67d xorg-server-21.1.16.tar.xz d77151bc51766e1230a121c008ac1d0695275bf889b1db4b3330c1f8ee720b0e046cc935fa14aaef40b02fdea508e84e53959b560131ace14ace14943c8eb734 autoconfig-sis.patch -a5f910e72ff9abd4e4a0c6806cdbe48d1b0b6cc0586f36568da5864a8dedc46a3112fe86d7a1969033f4d5b0def4dc6e5c11b656fbcc964732b417e6c9577f22 fix-musl-arm.patch -e38d7323a9046f405f1b568e592f90bb9ed7dd4954480d251431f1e550ea4898d9e6c4bc4bd425ece877464392ed54c92ba582b6f27677fc139a2901209de48a rgb-mask.patch -1abdf004c16ece7e0d1313cbbcbcfdb706d52917ff974b74a4de180fbc0e9d09e6fcc1a3f2b2875885e12d240512679ef0456b8e43bf69ebc1d307be5cd5deaf gcc12.patch" +c68d6299928032806ade94b4848f147757d6571a2f8830922a20c9e1053fe42700e5c9e196ad58ce5e5536cf034260f973edd6e2792c9bacf4e2d70660949a4a fix-musl-arm.patch" diff --git a/user/xorg-server/fix-musl-arm.patch b/user/xorg-server/fix-musl-arm.patch index b5a64a4e7..7d6cc3762 100644 --- a/user/xorg-server/fix-musl-arm.patch +++ b/user/xorg-server/fix-musl-arm.patch @@ -1,11 +1,12 @@ ---- ./hw/xfree86/common/compiler.h.orig -+++ ./hw/xfree86/common/compiler.h -@@ -518,7 +518,7 @@ +diff -Nurp xorg-server-21.1.3.orig/hw/xfree86/common/compiler.h xorg-server-21.1.3/hw/xfree86/common/compiler.h +--- xorg-server-21.1.3.orig/hw/xfree86/common/compiler.h 2022-01-02 22:41:56.000000000 +0000 ++++ xorg-server-21.1.3/hw/xfree86/common/compiler.h 2024-08-28 09:24:45.059582654 +0000 +@@ -518,7 +518,7 @@ xf86WriteMmio32Le(__volatile__ void *bas barrier(); } --#elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__)) -+#elif defined(__mips__) || (defined(__arm32__) && !defined(__GLIBC__)) - #if defined(__arm32__) || defined(__mips64) +-#elif defined(__arm32__) && !defined(__linux__) ++#elif defined(__arm32__) && !defined(__GLIBC__) #define PORT_SIZE long - #else + + extern _X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */ diff --git a/user/xorg-server/gcc12.patch b/user/xorg-server/gcc12.patch deleted file mode 100644 index 5aa2f08c6..000000000 --- a/user/xorg-server/gcc12.patch +++ /dev/null @@ -1,89 +0,0 @@ -From c6b0dcb82d4db07a2f32c09a8c09c85a5f57248e Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan <ofourdan@redhat.com> -Date: Thu, 20 Jan 2022 10:20:38 +0100 -Subject: [PATCH] render: Fix build with gcc 12 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The xserver fails to compile with the latest gcc 12: - - render/picture.c: In function ‘CreateSolidPicture’: - render/picture.c:874:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[16]’ [-Werror=array-bounds] - 874 | pPicture->pSourcePict->type = SourcePictTypeSolidFill; - | ^~ - render/picture.c:868:45: note: object of size 16 allocated by ‘malloc’ - 868 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictSolidFill)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - render/picture.c: In function ‘CreateLinearGradientPicture’: - render/picture.c:906:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Werror=array-bounds] - 906 | pPicture->pSourcePict->linear.type = SourcePictTypeLinear; - | ^~ - render/picture.c:899:45: note: object of size 32 allocated by ‘malloc’ - 899 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictLinearGradient)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - render/picture.c: In function ‘CreateConicalGradientPicture’: - render/picture.c:989:26: error: array subscript ‘union _SourcePict[0]’ is partly outside array bounds of ‘unsigned char[32]’ [-Werror=array-bounds] - 989 | pPicture->pSourcePict->conical.type = SourcePictTypeConical; - | ^~ - render/picture.c:982:45: note: object of size 32 allocated by ‘malloc’ - 982 | pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictConicalGradient)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - cc1: some warnings being treated as errors - ninja: build stopped: subcommand failed. - -This is because gcc 12 has become stricter and raises a warning now. - -Fix the warning/error by allocating enough memory to store the union -struct. - -Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> -Acked-by: Michel Dänzer <mdaenzer@redhat.com> -Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1256 ---- - render/picture.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/render/picture.c b/render/picture.c -index afa0d258fa..2be4b1954f 100644 ---- a/render/picture.c -+++ b/render/picture.c -@@ -865,7 +865,7 @@ CreateSolidPicture(Picture pid, xRenderColor * color, int *error) - } - - pPicture->id = pid; -- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictSolidFill)); -+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict)); - if (!pPicture->pSourcePict) { - *error = BadAlloc; - free(pPicture); -@@ -896,7 +896,7 @@ CreateLinearGradientPicture(Picture pid, xPointFixed * p1, xPointFixed * p2, - } - - pPicture->id = pid; -- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictLinearGradient)); -+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict)); - if (!pPicture->pSourcePict) { - *error = BadAlloc; - free(pPicture); -@@ -936,7 +936,7 @@ CreateRadialGradientPicture(Picture pid, xPointFixed * inner, - } - - pPicture->id = pid; -- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictRadialGradient)); -+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict)); - if (!pPicture->pSourcePict) { - *error = BadAlloc; - free(pPicture); -@@ -979,7 +979,7 @@ CreateConicalGradientPicture(Picture pid, xPointFixed * center, xFixed angle, - } - - pPicture->id = pid; -- pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(PictConicalGradient)); -+ pPicture->pSourcePict = (SourcePictPtr) malloc(sizeof(SourcePict)); - if (!pPicture->pSourcePict) { - *error = BadAlloc; - free(pPicture); --- -GitLab - diff --git a/user/xorg-server/rgb-mask.patch b/user/xorg-server/rgb-mask.patch deleted file mode 100644 index a503a6e16..000000000 --- a/user/xorg-server/rgb-mask.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 7e142cb2a848acb6af986fa91d254d4c23963b24 Mon Sep 17 00:00:00 2001 -From: luporl <luporl@FreeBSD.org> -Date: Wed, 9 Dec 2020 11:11:15 -0300 -Subject: [PATCH] xserver: fix RGB mask handling - -On FreeBSD 13.0-CURRENT for PowerPC64 big-endian (BE), X was -crashing in some cases. For instance, when twm was started -and the background was clicked to open its menu, X crashed -with a segmentation fault, trying to dereference a null pointer -at CreatePicture(). - -There were 2 issues with xorg-server handling of RGB masks that -caused the pointer above to be null and thus the crash: -- wrong use of ffs() to get the RGB offsets from the masks -- overflow when shifting a 16-bit integer - -This change fixes both issues. They happen when the system is BE -but has a video adapter using a little-endian (LE) ARGB32 -framebuffer. In order to display the correct colors, this setup -requires a BE RGBA32 color format to be used by X, by setting -the RGB masks appropriately, that didn't work properly because of -the issues above. ---- - hw/xfree86/common/xf86Helper.c | 6 +++--- - render/picture.c | 12 ++++++------ - 2 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c -index 31aa068e0e..16ab309e27 100644 ---- a/hw/xfree86/common/xf86Helper.c -+++ b/hw/xfree86/common/xf86Helper.c -@@ -729,9 +729,9 @@ xf86SetWeight(ScrnInfoPtr scrp, rgb weight, rgb mask) - scrp->mask.red = mask.red; - scrp->mask.green = mask.green; - scrp->mask.blue = mask.blue; -- scrp->offset.red = ffs(mask.red); -- scrp->offset.green = ffs(mask.green); -- scrp->offset.blue = ffs(mask.blue); -+ scrp->offset.red = ffs(mask.red) - 1; -+ scrp->offset.green = ffs(mask.green) - 1; -+ scrp->offset.blue = ffs(mask.blue) - 1; - } - return TRUE; - } -diff --git a/render/picture.c b/render/picture.c -index 876316dc1c..afa0d258fa 100644 ---- a/render/picture.c -+++ b/render/picture.c -@@ -523,12 +523,12 @@ PictureMatchVisual(ScreenPtr pScreen, int depth, VisualPtr pVisual) - return format; - } - else { -- if (format->direct.redMask << format->direct.red == -- pVisual->redMask && -- format->direct.greenMask << format->direct.green == -- pVisual->greenMask && -- format->direct.blueMask << format->direct.blue == -- pVisual->blueMask) { -+ if ((unsigned long)format->direct.redMask << -+ format->direct.red == pVisual->redMask && -+ (unsigned long)format->direct.greenMask << -+ format->direct.green == pVisual->greenMask && -+ (unsigned long)format->direct.blueMask << -+ format->direct.blue == pVisual->blueMask) { - return format; - } - } --- -GitLab - diff --git a/user/xorgproto/APKBUILD b/user/xorgproto/APKBUILD index 14671157b..460afcecb 100644 --- a/user/xorgproto/APKBUILD +++ b/user/xorgproto/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xorgproto -pkgver=2022.2 +pkgver=2024.1 pkgrel=0 pkgdesc="X11 protocol headers (combination)" url="https://www.X.Org/" @@ -16,14 +16,15 @@ provides="bigreqsproto=1.1.2 compositeproto=0.4.2 damageproto=1.2.1 dmxproto=2.3.1 + dpmsproto=1.2 dri2proto=2.8 - dri3proto=1.3 - fixesproto=6.0 + dri3proto=1.4 + fixesproto=6.1 fontsproto=2.1.3 glproto=1.4.17 inputproto=2.3.99.2 kbproto=1.0.7 - presentproto=1.2 + presentproto=1.4 printproto=1.0.5 randrproto=1.6.0 recordproto=1.14.2 @@ -79,5 +80,5 @@ package() { rm "$pkgdir"/usr/include/X11/extensions/vldXvMC.h } -sha512sums="8e6108110600d076a94cc6d0e465b2e9adfbbe8d7e6b75fae9c5262d99dc6074ab1ed561a74d6d451f00f5b7af9f507a6317be9c0770efeed9e60b64beb7a1c9 xorgproto-2022.2.tar.xz +sha512sums="63955cb604ff831575af2193548857c1b99e52d00206ea9421ce99e145094bcd907388c4574bc32174a01cbe2c940b0377bf75ae7d2c0f953157dc9c32e5a07f xorgproto-2024.1.tar.xz 18fc5228bb53eb15cfa0018f718e06faba0384a41e3aa0006fbf63e2a98779fdab527ea9eb8e22bb6a6f1ca02340ad8dad1260ee16e75f0416461ccefaa6df73 xprint.patch" diff --git a/user/xpr/APKBUILD b/user/xpr/APKBUILD index 14901a8b2..a95c7c202 100644 --- a/user/xpr/APKBUILD +++ b/user/xpr/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xpr -pkgver=1.1.0 +pkgver=1.2.0 pkgrel=0 pkgdesc="Format an X11 window dump from xwd(1) for printing" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="53eb896cf1844036a13b1018ffcecbc6a0a56eebe0d7cb6331dbe691207498d2c41f3791655b7fc081acfef2ed9904987f363b710bf0eeff6c8d33f819a951cb xpr-1.1.0.tar.xz" +sha512sums="49538a757aa60e754ecd39273510a6e49ebb77b730be62e3fa60f00261c9c1e208d39e1ca3c61889a5ad7fc7c2255fa1f669fd19ecf98e18cb8aa9189cadc15d xpr-1.2.0.tar.xz" diff --git a/user/xprop/APKBUILD b/user/xprop/APKBUILD index ecd9c37e8..22a4175f5 100644 --- a/user/xprop/APKBUILD +++ b/user/xprop/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xprop -pkgver=1.2.5 +pkgver=1.2.7 pkgrel=0 pkgdesc="X11 property inspector" url="https://cgit.freedesktop.org/xorg/app/xprop/" @@ -10,7 +10,7 @@ license="X11 AND MIT" depends="" makedepends="libx11-dev util-macros" subpackages="$pkgname-doc" -source="https://www.X.Org/archive/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/archive/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="93cfa621fa76ca6e8e780a252c508380b6dc9db39b67bfca16bb9800f0d39110f5d18189409a8577ef79e98bf5eece17f5e23f2218ca72ae8bb04ee7b429d559 xprop-1.2.5.tar.bz2" +sha512sums="84ada23660e2aef7024352e1a774f920e86c55fbfda486c087b9f41f8da30a84734fe753b62432f3df16913e86da4a18ce04ca018091d444cef727de97bf94f1 xprop-1.2.7.tar.xz" diff --git a/user/xrandr/APKBUILD b/user/xrandr/APKBUILD index 59ffef0ec..dd72ee662 100644 --- a/user/xrandr/APKBUILD +++ b/user/xrandr/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=xrandr -pkgver=1.5.1 +pkgver=1.5.2 pkgrel=0 pkgdesc="Command line interface to X RandR extension" url="https://www.X.Org/" @@ -28,4 +28,4 @@ package() { rm "$pkgdir"/usr/bin/xkeystone } -sha512sums="3d0d37e974b9dffb996276ee7fd676327fd0956e5f5f572dd142a651a35d3cdfa2f6dd415cf27bf87f306981957aba4cc014c12baebefcabaa5d66b78a114922 xrandr-1.5.1.tar.xz" +sha512sums="b536e8f1e04094894aa52ae496725c58691b043860b3327c41d737b07b642a939733321b62f698032b11ba857208a6177600a3ca3295ff1be6ade4341cdc2747 xrandr-1.5.2.tar.xz" diff --git a/user/xrdb/APKBUILD b/user/xrdb/APKBUILD index 06d97ab51..25b720ead 100644 --- a/user/xrdb/APKBUILD +++ b/user/xrdb/APKBUILD @@ -2,7 +2,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xrdb -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=0 pkgdesc="Utility to manipulate the X11 server resources database" url="https://www.X.Org/" @@ -11,7 +11,7 @@ license="MIT AND X11" depends="mcpp" makedepends="libx11-dev libxmu-dev util-macros" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -33,4 +33,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d88135cdfea8536523dfb986249ee42761d5363c936352f12f55b4d0c849f21236f7d74d39869c5ec5b549019d6ed89d9096cde4b3c2b4816c2778a8e370b5c9 xrdb-1.2.1.tar.bz2" +sha512sums="c8a6fc94e270e9cb5602e055150553de103d545298285157ecd8924f163a10ebeb9acfff56d1fafbf48d339809c76340213792478cdf3270012d3cd05486001c xrdb-1.2.2.tar.xz" diff --git a/user/xrefresh/APKBUILD b/user/xrefresh/APKBUILD index c6e7f29cb..d24725975 100644 --- a/user/xrefresh/APKBUILD +++ b/user/xrefresh/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xrefresh -pkgver=1.0.7 +pkgver=1.1.0 pkgrel=0 pkgdesc="Refresh an X11 screen" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="8fcbb01aa368944ca536f050ab194b21bbd6b2a56265a7ed5807882e5c2f9660105283cdba0ea35b3e4a17a015586aeb82906e081da030332dfc49169a191c31 xrefresh-1.0.7.tar.xz" +sha512sums="d46988c0423c3c6efb21a2eec0df427934d041afa6dcbbfd33f2dff19bf5e077baf10bd96780d98326d3a3e34cbf5824da822b6cb0091873cc1baade0aa05c26 xrefresh-1.1.0.tar.xz" diff --git a/user/xscope/APKBUILD b/user/xscope/APKBUILD index 3d0013081..a7e5a5dd0 100644 --- a/user/xscope/APKBUILD +++ b/user/xscope/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xscope -pkgver=1.4.3 +pkgver=1.4.4 pkgrel=0 pkgdesc="Monitor communication between an X11 client and server" url="https://www.X.Org/" @@ -10,9 +10,7 @@ license="X11" depends="" makedepends="util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.xz - disable-xtrans.patch - " +source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -33,5 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="588a3668d07cc42fd44dc9cea55cd31bc67bfeddf3d07b0b0a39202304b2502dc322ff3bf5310eb689622485390fa8851ffe68b672c9b13742b9ab89d9495327 xscope-1.4.3.tar.xz -2816a136d874af7e0b0892e601c8cf556f46d75d6c39e3411bfcbcf8ef5432c8413c14dd1e68b3be7ba27d221c73c473d0fd6d23eaded98bfb2633b665409b96 disable-xtrans.patch" +sha512sums="3a9fe1e58fa7671a91a2364d7b50cf005c9b1aac18b958e8356d5733e0758534d0974c6b982935270f17277224d4efe9b2e4553f45fdb7b3aab0cbf059a8b843 xscope-1.4.4.tar.xz" diff --git a/user/xscope/disable-xtrans.patch b/user/xscope/disable-xtrans.patch deleted file mode 100644 index ebc44ca66..000000000 --- a/user/xscope/disable-xtrans.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 4e297db3cf54a629a2c8f38b068cd4f8434afa4c Mon Sep 17 00:00:00 2001 -From: Alan Coopersmith <alan.coopersmith@oracle.com> -Date: Wed, 13 Jul 2022 15:51:58 -0700 -Subject: [PATCH] fd.h: fix build when not building with xtrans - -Always include <X11/Xfuncproto.h> for the definition of _X_NORETURN, -instead of relying on Xtrans.h to include it indirectly for us. - -Fixes: #2 -Fixes: commit cc298d1f559240976344588f9f765ee60ca3d6f3 - -Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> ---- - fd.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/fd.h b/fd.h -index c317aa4..55c5b01 100644 ---- a/fd.h -+++ b/fd.h -@@ -65,6 +65,7 @@ - typedef void *XtransConnInfo; - #endif - #include <sys/select.h> -+#include <X11/Xfuncproto.h> - - typedef int FD; - --- -GitLab - diff --git a/user/xscreensaver/APKBUILD b/user/xscreensaver/APKBUILD index 17202200f..b54cc04a7 100644 --- a/user/xscreensaver/APKBUILD +++ b/user/xscreensaver/APKBUILD @@ -11,7 +11,7 @@ license="MIT" depends="" makedepends="bc gtk+3.0-dev intltool libice-dev libjpeg-turbo-dev libx11-dev libxft-dev libxi-dev libxinerama-dev libxml2-dev libxml2-utils glu-dev - libxrandr-dev libxt-dev linux-pam-dev mesa-dev mesa-glapi xorgproto-dev + libxrandr-dev libxt-dev linux-pam-dev mesa-dev libglvnd-dev xorgproto-dev desktop-file-utils elogind-dev xdg-utils" subpackages="$pkgname-doc $pkgname-elogind" source="https://www.jwz.org/xscreensaver/xscreensaver-$pkgver.tar.gz" diff --git a/user/xset/APKBUILD b/user/xset/APKBUILD index e751862c2..958f94dfb 100644 --- a/user/xset/APKBUILD +++ b/user/xset/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xset -pkgver=1.2.4 +pkgver=1.2.5 pkgrel=0 pkgdesc="User preference utility for X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libx11-dev libxext-dev libxmu-dev util-macros" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="f24714c9a82081a09d3054bbad98553de9366992f22eaf3e2bcadbb58fad1d3dad2547fef6fa9898d8a9df064573c29df9d82a5c801fa92248604c95f65dc83d xset-1.2.4.tar.bz2" +sha512sums="12b53d7cd6b7ccf6515c03f68151490fce6b2629e99b8d85ac5d760f4ed93394a457213c3947533809fbbb04acd1ed260aeea1256099a10397660eef3088150d xset-1.2.5.tar.xz" diff --git a/user/xsm/APKBUILD b/user/xsm/APKBUILD index 714f927d4..c5031732e 100644 --- a/user/xsm/APKBUILD +++ b/user/xsm/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xsm -pkgver=1.0.5 +pkgver=1.0.6 pkgrel=0 pkgdesc="Session manager for X11" url="https://www.X.Org/" @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="df3777b3aab813ec8aa906f5a03f93b8ca645978970290cf7baf732e175c36c00ae19baeb45ea7404d35838c21e6f8fca28f0da3e2f398d17adac5f2acb7b351 xsm-1.0.5.tar.xz" +sha512sums="ee4e9b4ab6be6773e53685540f807b03d553bfecc26c4e85fe12daca486fdeb66c594c6eab54043a8c149112c7a3ed18e463d68d7aee62e93a06c091ce39c268 xsm-1.0.6.tar.xz" diff --git a/user/xstdcmap/APKBUILD b/user/xstdcmap/APKBUILD index 076ac3256..101cd793f 100644 --- a/user/xstdcmap/APKBUILD +++ b/user/xstdcmap/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xstdcmap -pkgver=1.0.4 +pkgver=1.0.5 pkgrel=0 pkgdesc="Define standard X11 colour map properties" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libx11-dev libxmu-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/xstdcmap-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/xstdcmap-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="2adbb0aec1766341e04090efa962241ff6c9e32c612851b7221cec0ee16852107d406a08ec5251070f39df882c13e3c8c9edcd88f278187a9f373e1727643a8f xstdcmap-1.0.4.tar.bz2" +sha512sums="3f2047af1d328a34d38ededc13de00298db3300eab1d1dbdff7d2aa4a3cd543a79305bfbd2e6424c5e023cf866a4f7a70aa9a3014444d543268d2f812a322a49 xstdcmap-1.0.5.tar.xz" diff --git a/user/xtrans/APKBUILD b/user/xtrans/APKBUILD index a65dd7dc3..69731a797 100644 --- a/user/xtrans/APKBUILD +++ b/user/xtrans/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xtrans -pkgver=1.4.0 +pkgver=1.5.0 pkgrel=0 pkgdesc="X transport library" url="https://www.X.Org/" @@ -9,7 +9,7 @@ license="X11 AND MIT" depends="" makedepends="util-macros xmlto" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/lib/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -27,4 +27,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="4fea89a3455c0e13321cbefa43340016dbb59bdd0dbdb5b796c1a6d2a6b1fd63cf1327b769ab426286b9c54b32ec764a50cd2b46228e4e43b841bda6b94de214 xtrans-1.4.0.tar.bz2" +sha512sums="e8091f11d4ad2b14e01de3eac56bdf2267ea26687ce66e3056374d0d02e049480c0b27c482f8828a0efd086f1e4c485108ca4dce3f83d66c1896effa3b38b228 xtrans-1.5.0.tar.xz" diff --git a/user/xvidtune/APKBUILD b/user/xvidtune/APKBUILD index bcdcb69eb..14bfd27d2 100644 --- a/user/xvidtune/APKBUILD +++ b/user/xvidtune/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xvidtune -pkgver=1.0.3 +pkgver=1.0.4 pkgrel=0 pkgdesc="Tune video modes on an X11 display" url="https://www.X.Org/" @@ -10,13 +10,7 @@ license="X11" depends="" makedepends="libxaw-dev libxmu-dev libxxf86vm-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/xvidtune-$pkgver.tar.bz2" - -prepare() { - default_prepare - chmod a+w config.sub - update_config_sub -} +source="https://www.x.org/releases/individual/app/xvidtune-$pkgver.tar.xz" build() { ./configure \ @@ -37,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="0f8a4fca1b544ef8f9623246fb0ece75739a0889f2e729c040cd768c595f0bbbfa3a665576369032535c34c7d55784a29b62f0d51432bf2b75d2cec619db7352 xvidtune-1.0.3.tar.bz2" +sha512sums="747d5358f4f7d3d7db508c3f034711ce4b9dd278160d35312e9c4d1604623e84a2438d039b536546fd2df7db8c5ea1907e8a6101985fad2932b6dee5a62c7b80 xvidtune-1.0.4.tar.xz" diff --git a/user/xvinfo/APKBUILD b/user/xvinfo/APKBUILD index 311f48b01..34ddb8aaf 100644 --- a/user/xvinfo/APKBUILD +++ b/user/xvinfo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xvinfo -pkgver=1.1.4 +pkgver=1.1.5 pkgrel=0 pkgdesc="View information about video adaptors attached to X11" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11" depends="" makedepends="libxv-dev" subpackages="$pkgname-doc" -source="https://www.X.Org/releases/individual/app/xvinfo-$pkgver.tar.bz2" +source="https://www.X.Org/releases/individual/app/xvinfo-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="85e1f936c5c826f0fdde3670bd77d5cde8641c6e8e7849e42142e91b5aa01d7e0e60d2b064eb6fef4f5666321813ca2dc9f9656756ccbe6dcda37b119ee8a63e xvinfo-1.1.4.tar.bz2" +sha512sums="18467161b248c68f6bde15e1c1b4b8cf812daf46777602558aee5fb7cb4d2649218de88fa93842fea4f316d954440f03a37d71fa4fda92eda3c7d80970e19cbb xvinfo-1.1.5.tar.xz" diff --git a/user/xwayland/APKBUILD b/user/xwayland/APKBUILD new file mode 100644 index 000000000..1b2959de2 --- /dev/null +++ b/user/xwayland/APKBUILD @@ -0,0 +1,53 @@ +# Contributor: Łukasz Jendrysik <scadu@yandex.com> +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Contributor: Simon Zeni <simon@bl4ckb0ne.ca> +# Maintainer: Ermine <mustela@erminea.space> +pkgname=xwayland +pkgver=24.1.6 +pkgrel=0 +pkgdesc="X11 server for Wayland" +url="https://www.X.Org/" +arch="all" +options="!check" # requires piglit, which has no stable releases +license="MIT AND X11" +subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc" +depends="xorg-server-protocol xkbcomp" +depends_dev="dbus-dev font-util-dev libdrm-dev libepoxy-dev libglvnd-dev + libxcvt-dev libxfont2-dev libxkbfile-dev libxshmfence-dev mesa-dev + openssl-dev pixman-dev wayland-dev wayland-protocols xorgproto xtrans" +makedepends="$depends_dev meson" +source="https://xorg.freedesktop.org/archive/individual/xserver/xwayland-$pkgver.tar.xz" + +replaces="xorg-server-xwayland" + +build() { + meson setup \ + -Dprefix=/usr \ + -Dipv6=true \ + -Dxvfb=false \ + -Dxdmcp=false \ + -Dxcsecurity=true \ + -Ddri3=true \ + -Dglamor=true \ + -Dsecure-rpc=false \ + -Dxkb_dir=/usr/share/X11/xkb \ + -Dxkb_output_dir=/var/lib/xkb \ + . output + meson compile -C output +} + +check() { + meson test --no-rebuild --print-errorlogs -C output +} + +package() { + DESTDIR="$pkgdir" meson install --no-rebuild -C output + + # Part of xorg-server-doc + rm -f "$pkgdir"/usr/share/man/man1/Xserver.1 + + # Part of xorg-server-protocol + rm -f "$pkgdir"/usr/lib/xorg/protocol.txt +} + +sha512sums="b6dcc87f5c4d880cb23216518171a704c2a501803ac2efd9d01760895d755a617cd82313c6516f27a888b0581c64d74e3f8db5c238e1ae0d13da6cc1a547c02f xwayland-24.1.6.tar.xz" diff --git a/user/xwd/APKBUILD b/user/xwd/APKBUILD index 831fe5bcd..7c219156f 100644 --- a/user/xwd/APKBUILD +++ b/user/xwd/APKBUILD @@ -1,7 +1,7 @@ # Contributor: A. Wilcox <awilfox@adelielinux.org> # Maintainer: A. Wilcox <awilfox@adelielinux.org> pkgname=xwd -pkgver=1.0.8 +pkgver=1.0.9 pkgrel=0 pkgdesc="Dump the contents of an X11 window to a file" url="https://www.X.Org/" @@ -10,7 +10,7 @@ license="X11 AND MIT" depends="" makedepends="libx11-dev libxkbfile-dev util-macros xorgproto-dev" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/$pkgname-$pkgver.tar.xz" build() { ./configure \ @@ -31,4 +31,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="d2aaf42c60d20c4b09f4947d3702058dbfad4633b2c5c8ea62e8897fc9ced1ab3417ce99255a223286d21a731f543019470737e3074f1bc68033b4eb47bc773e xwd-1.0.8.tar.bz2" +sha512sums="ae59661b05160f5658920fd79031b6b8548cb7bbfc734194edb0acef5c95f76b210ca4443e9506fc1a0cb9df47ee7c22948502971afe578b44c75aa2a1138d56 xwd-1.0.9.tar.xz" diff --git a/user/xwininfo/APKBUILD b/user/xwininfo/APKBUILD index d9cbd984f..1d8d7c717 100644 --- a/user/xwininfo/APKBUILD +++ b/user/xwininfo/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Max Rees <maxcrees@me.com> pkgname=xwininfo -pkgver=1.1.5 +pkgver=1.1.6 pkgrel=0 pkgdesc="Window information utility for X" url="https://cgit.freedesktop.org/xorg/app/xwininfo" @@ -11,7 +11,7 @@ license="MIT AND X11" depends="" makedepends="libx11-dev libxext-dev util-macros" subpackages="$pkgname-doc" -source="https://www.x.org/releases/individual/app/xwininfo-$pkgver.tar.bz2" +source="https://www.x.org/releases/individual/app/xwininfo-$pkgver.tar.xz" build() { ./configure \ @@ -29,4 +29,4 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="a3268bbeeeeafac94e589fdd47554a965910d40df7cc3d9c36c7c24fa4f5dd49615484d5916ccb41efca9cd4cf9d8981a4c60953b921220b3f4f57f9cce0e1a6 xwininfo-1.1.5.tar.bz2" +sha512sums="c6df4ed3dcf97772450612f2786ecab8313a43bb78e0b8020cc9ec228b3f466f55090313ad02c8159a73a6892d117322ad85e28d9d76e38bb84c9750712c20bc xwininfo-1.1.6.tar.xz" |