summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/abiword/APKBUILD6
-rw-r--r--user/abiword/libxml2-2.12.patch29
-rw-r--r--user/apaste/APKBUILD17
-rw-r--r--user/appres/APKBUILD25
-rw-r--r--user/arcticfox/APKBUILD136
-rw-r--r--user/arcticfox/arcticfox.desktop76
-rw-r--r--user/arcticfox/hunspell.patch15
-rw-r--r--user/arcticfox/mozconfig28
-rw-r--r--user/arcticfox/override-cxx-version.patch17
-rw-r--r--user/arcticfox/stackwalk-x86-ppc.patch14
-rw-r--r--user/argp-standalone/001-throw-in-funcdef.patch79
-rw-r--r--user/argp-standalone/APKBUILD46
-rw-r--r--user/argp-standalone/gnu89-inline.patch22
-rw-r--r--user/aria2/APKBUILD71
-rw-r--r--user/aria2/aria2.conf61
-rw-r--r--user/aria2/aria2.confd10
-rw-r--r--user/aria2/aria2.initd42
-rw-r--r--user/aria2/aria2.logrotate6
-rw-r--r--user/aria2/aria2.pre-install7
-rw-r--r--user/baloo/APKBUILD2
-rw-r--r--user/bcnm/APKBUILD21
-rw-r--r--user/bcnm/bcnm.pc.in6
-rw-r--r--user/bcnm/wpactrl.pc.in6
-rw-r--r--user/beforelight/APKBUILD12
-rw-r--r--user/bindgen-cli/APKBUILD241
-rw-r--r--user/bitmap/APKBUILD4
-rw-r--r--user/brillo/APKBUILD25
-rw-r--r--user/cairo/APKBUILD77
-rw-r--r--user/cairo/CVE-2018-19876.patch30
-rw-r--r--user/cairo/CVE-2019-6462.patch36
-rw-r--r--user/cairo/CVE-2020-35492.patch54
-rw-r--r--user/cairo/cairo-respect-fontconfig_pb.patch13
-rw-r--r--user/cairo/cairo-webkit-html5-fix.patch30
-rw-r--r--user/chelf/APKBUILD24
-rw-r--r--user/chrpath/APKBUILD35
-rw-r--r--user/clang/APKBUILD14
-rw-r--r--user/clang/ppc-interp.patch35
-rw-r--r--user/clutter/APKBUILD10
-rw-r--r--user/cogl/APKBUILD9
-rw-r--r--user/colordiff/APKBUILD28
-rw-r--r--user/compton/APKBUILD4
-rw-r--r--user/cyrus-sasl/APKBUILD2
-rw-r--r--user/darkman/APKBUILD25
-rw-r--r--user/dbus/APKBUILD2
-rw-r--r--user/dovecot/APKBUILD2
-rw-r--r--user/dovecot/dovecot.pre-install4
-rw-r--r--user/drm_info/APKBUILD26
-rw-r--r--user/dwl/APKBUILD25
-rw-r--r--user/edid-decode/APKBUILD35
-rw-r--r--user/editres/APKBUILD6
-rw-r--r--user/encodings/APKBUILD4
-rw-r--r--user/exo/APKBUILD4
-rw-r--r--user/fastfetch/APKBUILD4
-rw-r--r--user/firefox-esr/APKBUILD69
-rw-r--r--user/firefox-esr/BTS-1074.patch62
-rw-r--r--user/firefox-esr/bad-google-code.patch4
-rw-r--r--user/firefox-esr/disable-arm-flac.patch15
-rw-r--r--user/firefox-esr/fix-mutex-build.patch8
-rw-r--r--user/firefox-esr/fix-seccomp-bpf.patch6
-rw-r--r--user/firefox-esr/gcc13.patch10
-rw-r--r--user/firefox-esr/gcc89074.patch24
-rw-r--r--user/firefox-esr/icu-75.patch41
-rw-r--r--user/firefox-esr/jpeg-link.patch2
-rw-r--r--user/firefox-esr/js-endian.patch33
-rw-r--r--user/firefox-esr/mozconfig1
-rw-r--r--user/firefox-esr/mozilla-build-arm.patch4
-rw-r--r--user/firefox-esr/newer-cbindgen.patch17
-rw-r--r--user/firefox-esr/pmmx-double-format.patch2
-rw-r--r--user/firefox-esr/python3.11-open-U.patch102
-rw-r--r--user/firefox-esr/python3.11-regex-inline-flags.patch27
-rw-r--r--user/firefox-esr/rust-32bit.patch32
-rw-r--r--user/firefox-esr/shut-up-warning.patch2
-rw-r--r--user/firefox-esr/skia-endian.patch112
-rw-r--r--user/firefox-esr/skia-unified.patch833
-rw-r--r--user/firefox-esr/stackwalk-x86-ppc.patch12
-rw-r--r--user/firefox-esr/triplet-vendor-support.patch316
-rw-r--r--user/firefox-esr/webrender.patch32
-rw-r--r--user/firefox-esr/without-jit.patch28
-rw-r--r--user/flameshot/APKBUILD40
-rw-r--r--user/fltk/APKBUILD4
-rw-r--r--user/font-adobe-100dpi/APKBUILD6
-rw-r--r--user/font-adobe-75dpi/APKBUILD6
-rw-r--r--user/font-adobe-utopia-100dpi/APKBUILD6
-rw-r--r--user/font-adobe-utopia-75dpi/APKBUILD6
-rw-r--r--user/font-adobe-utopia-type1/APKBUILD6
-rw-r--r--user/font-alias/APKBUILD6
-rw-r--r--user/font-arabic-misc/APKBUILD6
-rw-r--r--user/font-bh-100dpi/APKBUILD6
-rw-r--r--user/font-bh-75dpi/APKBUILD6
-rw-r--r--user/font-bh-lucidatypewriter-100dpi/APKBUILD6
-rw-r--r--user/font-bh-lucidatypewriter-75dpi/APKBUILD6
-rw-r--r--user/font-bitstream-100dpi/APKBUILD6
-rw-r--r--user/font-bitstream-75dpi/APKBUILD6
-rw-r--r--user/font-bitstream-type1/APKBUILD6
-rw-r--r--user/font-cronyx-cyrillic/APKBUILD6
-rw-r--r--user/font-cursor-misc/APKBUILD8
-rw-r--r--user/font-daewoo-misc/APKBUILD6
-rw-r--r--user/font-dec-misc/APKBUILD6
-rw-r--r--user/font-isas-misc/APKBUILD6
-rw-r--r--user/font-jis-misc/APKBUILD6
-rw-r--r--user/font-micro-misc/APKBUILD6
-rw-r--r--user/font-misc-cyrillic/APKBUILD6
-rw-r--r--user/font-misc-ethiopic/APKBUILD6
-rw-r--r--user/font-misc-misc/APKBUILD8
-rw-r--r--user/font-mutt-misc/APKBUILD6
-rw-r--r--user/font-schumacher-misc/APKBUILD6
-rw-r--r--user/font-screen-cyrillic/APKBUILD6
-rw-r--r--user/font-sony-misc/APKBUILD8
-rw-r--r--user/font-sun-misc/APKBUILD6
-rw-r--r--user/font-util/APKBUILD4
-rw-r--r--user/font-winitzki-cyrillic/APKBUILD6
-rw-r--r--user/font-xfree86-type1/APKBUILD6
-rw-r--r--user/fontconfig/APKBUILD35
-rw-r--r--user/fontconfig/disable-crbug.patch13
-rw-r--r--user/fonttosfnt/APKBUILD6
-rw-r--r--user/freeglut/APKBUILD13
-rw-r--r--user/freeglut/glvnd.patch13
-rw-r--r--user/fts/APKBUILD43
-rw-r--r--user/garcon/APKBUILD4
-rw-r--r--user/gdk-pixbuf/APKBUILD19
-rw-r--r--user/gdk-pixbuf/fix-pkgconfig.patch11
-rw-r--r--user/glew/APKBUILD6
-rw-r--r--user/glfw/APKBUILD4
-rw-r--r--user/glib/0001-gquark-fix-initialization-with-c-constructors.patch2
-rw-r--r--user/glib/APKBUILD36
-rw-r--r--user/glib/broken-gio-tests.patch8
-rw-r--r--user/glib/i386-fpu-test.patch2
-rw-r--r--user/glib/meson-sucks-and-i-hate-you-so-much-right-now.patch8
-rw-r--r--user/glib/musl-no-locale.patch6
-rw-r--r--user/glib/ridiculous-strerror-nonconformance.patch2
-rw-r--r--user/glib/sigstksz.patch20
-rw-r--r--user/glslang/APKBUILD43
-rw-r--r--user/glslang/remap-endian.patch46
-rw-r--r--user/glu/APKBUILD4
-rw-r--r--user/gptfdisk/APKBUILD2
-rw-r--r--user/grfcodec/APKBUILD2
-rw-r--r--user/grub/0001-unmerged-usr.patch36
-rw-r--r--user/grub/0002-revert-gawk.patch2
-rw-r--r--user/grub/0003-spcr-revision.patch42
-rw-r--r--user/grub/0004-videoinfo-no-reinit.patch49
-rw-r--r--user/grub/0005-vsnprintf.patch35
-rw-r--r--user/grub/0006-cryptodisk-retval.patch37
-rw-r--r--user/grub/0007-efi_gop-shadow.patch37
-rw-r--r--user/grub/0008-efi-pure64.patch110
-rw-r--r--user/grub/0009-linux-mixed-mode.patch79
-rw-r--r--user/grub/0010-fix-gcc-no-pie-specs.patch2
-rw-r--r--user/grub/APKBUILD34
-rw-r--r--user/grub/grub2-accept-empty-module.patch2
-rw-r--r--user/grub/xfs.patch56
-rw-r--r--user/gspell/APKBUILD38
-rw-r--r--user/gst-plugins-bad/APKBUILD19
-rw-r--r--user/gst-plugins-bad/fix-arm-parser-alignment.patch32
-rw-r--r--user/gst-plugins-bad/fix-arm-test-alignment.patch35
-rw-r--r--user/gst-plugins-bad/mpegts.patch120
-rw-r--r--user/gst-plugins-base/APKBUILD28
-rw-r--r--user/gst-plugins-base/endian.patch40
-rw-r--r--user/gst-plugins-good/APKBUILD22
-rw-r--r--user/gst-plugins-good/drop-messages-interval-type.patch29
-rw-r--r--user/gst-plugins-good/fix-arm-test-alignment.patch42
-rw-r--r--user/gst-plugins-good/flvmux-disable-flaky-test.patch15
-rw-r--r--user/gstreamer/APKBUILD25
-rw-r--r--user/gstreamer/disable-tests.patch24
-rw-r--r--user/gstreamer/test-deadlock.patch140
-rw-r--r--user/gstreamer/time64.patch60
-rw-r--r--user/gtk-layer-shell/APKBUILD34
-rw-r--r--user/gtk4/APKBUILD28
-rw-r--r--user/gtk4/vulkan-nullref.patch69
-rw-r--r--user/harfbuzz/APKBUILD37
-rw-r--r--user/hfsutils/APKBUILD42
-rw-r--r--user/hfsutils/fix-missing-header.patch11
-rw-r--r--user/horizon/APKBUILD10
-rw-r--r--user/horizon/apm-disklabel.patch75
-rw-r--r--user/horizon/ppc32-apm.patch29
-rw-r--r--user/hwdata/APKBUILD38
-rw-r--r--user/hwids/APKBUILD67
-rw-r--r--user/hyperfine/APKBUILD376
-rw-r--r--user/iceauth/APKBUILD4
-rw-r--r--user/ikona/APKBUILD71
-rw-r--r--user/inih/APKBUILD38
-rw-r--r--user/inih/testrun.patch185
-rw-r--r--user/jq/APKBUILD34
-rw-r--r--user/json/APKBUILD36
-rw-r--r--user/kde-graphics/APKBUILD4
-rw-r--r--user/kdevelop/APKBUILD9
-rw-r--r--user/kgamma5/APKBUILD2
-rw-r--r--user/kjs/APKBUILD2
-rw-r--r--user/kstars/APKBUILD4
-rw-r--r--user/kwayland-server/APKBUILD4
-rw-r--r--user/kwin/APKBUILD6
-rw-r--r--user/libavc1394/APKBUILD6
-rw-r--r--user/libavc1394/argp.patch2
-rw-r--r--user/libbsd/APKBUILD45
-rw-r--r--user/libbsd/disable-fpurge-test.patch10
-rw-r--r--user/libcdr/APKBUILD2
-rw-r--r--user/libdbusmenu/APKBUILD38
-rw-r--r--user/libdisplay-info/APKBUILD41
-rw-r--r--user/libdrm/APKBUILD4
-rw-r--r--user/libe-book/APKBUILD2
-rw-r--r--user/libepoxy/APKBUILD16
-rw-r--r--user/libfontenc/APKBUILD4
-rw-r--r--user/libfreehand/APKBUILD2
-rw-r--r--user/libfs/APKBUILD4
-rw-r--r--user/libglvnd/APKBUILD42
-rw-r--r--user/libgsf/APKBUILD4
-rw-r--r--user/libical/APKBUILD9
-rw-r--r--user/libical/icu75.patch31
-rw-r--r--user/libice/APKBUILD6
-rw-r--r--user/libinput/APKBUILD4
-rw-r--r--user/liblangtag/APKBUILD4
-rw-r--r--user/libliftoff/APKBUILD34
-rw-r--r--user/libmspub/APKBUILD2
-rw-r--r--user/libpciaccess/APKBUILD22
-rw-r--r--user/libpthread-stubs/APKBUILD6
-rw-r--r--user/libqalculate/APKBUILD2
-rw-r--r--user/libqxp/APKBUILD2
-rw-r--r--user/librsvg/APKBUILD3
-rw-r--r--user/libsm/APKBUILD6
-rw-r--r--user/libva/APKBUILD24
-rw-r--r--user/libvdpau/APKBUILD15
-rw-r--r--user/libvisio/APKBUILD2
-rw-r--r--user/libx11/APKBUILD8
-rw-r--r--user/libxau/APKBUILD4
-rw-r--r--user/libxaw/APKBUILD6
-rw-r--r--user/libxaw3d/APKBUILD4
-rw-r--r--user/libxcb/APKBUILD4
-rw-r--r--user/libxcomposite/APKBUILD6
-rw-r--r--user/libxcursor/APKBUILD4
-rw-r--r--user/libxcvt/APKBUILD40
-rw-r--r--user/libxdamage/APKBUILD11
-rw-r--r--user/libxdmcp/APKBUILD4
-rw-r--r--user/libxext/APKBUILD4
-rw-r--r--user/libxfce4ui/APKBUILD4
-rw-r--r--user/libxfce4util/APKBUILD4
-rw-r--r--user/libxfce4windowing/APKBUILD36
-rw-r--r--user/libxfixes/APKBUILD6
-rw-r--r--user/libxfont2/APKBUILD4
-rw-r--r--user/libxft/APKBUILD4
-rw-r--r--user/libxi/APKBUILD6
-rw-r--r--user/libxkbcommon/APKBUILD65
-rw-r--r--user/libxkbfile/APKBUILD22
-rw-r--r--user/libxmu/APKBUILD4
-rw-r--r--user/libxp/APKBUILD6
-rw-r--r--user/libxpm/APKBUILD4
-rw-r--r--user/libxpresent/APKBUILD35
-rw-r--r--user/libxrandr/APKBUILD6
-rw-r--r--user/libxres/APKBUILD6
-rw-r--r--user/libxscrnsaver/APKBUILD6
-rw-r--r--user/libxshmfence/APKBUILD4
-rw-r--r--user/libxt/APKBUILD6
-rw-r--r--user/libxtst/APKBUILD4
-rw-r--r--user/libxv/APKBUILD8
-rw-r--r--user/libxvmc/APKBUILD4
-rw-r--r--user/libxxf86dga/APKBUILD6
-rw-r--r--user/libzmf/APKBUILD2
-rw-r--r--user/lighttpd/APKBUILD10
-rw-r--r--user/lighttpd/lighttpd.conf1
-rw-r--r--user/lighttpd/mime-types.conf79
-rw-r--r--user/linux-firmware/APKBUILD77
-rw-r--r--user/linux-firmware/linux-firmware-other.post-upgrade16
-rw-r--r--user/listres/APKBUILD4
-rw-r--r--user/llvm14/APKBUILD284
-rw-r--r--user/llvm14/disable-FileSystemTest.CreateDir-perms-assert.patch61
-rw-r--r--user/llvm14/disable-dlclose-test.patch18
-rw-r--r--user/llvm14/dwarf-info.patch28
-rw-r--r--user/llvm14/dyld-elf-ppc32.patch24
-rw-r--r--user/llvm14/graph-diff-simple.txt238
-rw-r--r--user/llvm14/hexagon.patch95
-rw-r--r--user/llvm14/llvm-fix-build-with-musl-libc.patch46
-rw-r--r--user/llvm14/macho32.patch17
-rw-r--r--user/llvm14/musl-ppc64-elfv2.patch43
-rw-r--r--user/llvm14/ppc-gcc-bug.patch22
-rw-r--r--user/llvm14/ppc-test.patch13
-rw-r--r--user/llvm14/python3-test.patch8
-rw-r--r--user/llvm14/roundeven.patch49
-rw-r--r--user/llvm18/APKBUILD60
-rw-r--r--user/llvm18/dyld-elf-ppc32-2.patch176
-rw-r--r--user/llvm18/dyld-elf-ppc32.patch8
-rw-r--r--user/mailcap/APKBUILD22
-rw-r--r--user/makedepend/APKBUILD4
-rw-r--r--user/marco/APKBUILD4
-rw-r--r--user/mdbook/APKBUILD623
-rw-r--r--user/mesa-amber/APKBUILD78
-rw-r--r--user/mesa-amber/big-endian-flipping.patch (renamed from user/mesa/big-endian-flipping.patch)0
-rw-r--r--user/mesa-amber/mesa-amber-i915c.patch46
-rw-r--r--user/mesa-amber/no-tls.patch (renamed from user/mesa/no-tls.patch)0
-rw-r--r--user/mesa-amber/nouveau-flush-fix.patch (renamed from user/mesa/nouveau-flush-fix.patch)0
-rw-r--r--user/mesa-be/APKBUILD136
-rw-r--r--user/mesa-demos/APKBUILD5
-rw-r--r--user/mesa/APKBUILD116
-rw-r--r--user/mesa/llvm-opaque.patch8467
-rw-r--r--user/mesa/llvm18.patch397
-rw-r--r--user/mesa/musl-fixes.patch11
-rw-r--r--user/meson/APKBUILD4
-rw-r--r--user/mkfontscale/APKBUILD4
-rw-r--r--user/mousepad/APKBUILD8
-rw-r--r--user/mpv/APKBUILD7
-rw-r--r--user/musl-obstack/APKBUILD36
-rw-r--r--user/node/APKBUILD6
-rw-r--r--user/node/ppc-fixes-for-older-models-18.patch918
-rw-r--r--user/ol/APKBUILD23
-rw-r--r--user/ol/fix-cdefs-test.patch21
-rw-r--r--user/ol/require-explicit-cdefs.patch28
-rw-r--r--user/open-vm-tools/APKBUILD2
-rw-r--r--user/opengfx/APKBUILD4
-rw-r--r--user/openldap/APKBUILD2
-rw-r--r--user/openmsx/APKBUILD11
-rw-r--r--user/openmsx/python3.patch265
-rw-r--r--user/opensfx/APKBUILD11
-rw-r--r--user/openttd/APKBUILD36
-rw-r--r--user/pango/APKBUILD29
-rw-r--r--user/pciutils/APKBUILD4
-rw-r--r--user/php7/APKBUILD11
-rw-r--r--user/php7/fpm-paths.patch10
-rw-r--r--user/php7/gh14834.patch62
-rw-r--r--user/php7/zend_bool.patch2
-rw-r--r--user/plib/APKBUILD9
-rw-r--r--user/postfix/APKBUILD2
-rw-r--r--user/postgresql/APKBUILD4
-rw-r--r--user/qemu/APKBUILD2
-rw-r--r--user/qt-creator/APKBUILD16
-rw-r--r--user/qt-creator/llvm15.patch29
-rw-r--r--user/qt-creator/llvm16-deux.patch45
-rw-r--r--user/qt-creator/llvm16.patch44
-rw-r--r--user/qt-creator/llvm17.patch38
-rw-r--r--user/qt-creator/llvm18.patch30
-rw-r--r--user/qt-creator/llvm19.patch28
-rw-r--r--user/qt5-qtbase/APKBUILD6
-rw-r--r--user/qt5-qtpositioning/APKBUILD2
-rw-r--r--user/qt5-qtwayland/APKBUILD2
-rw-r--r--user/qt5-qtwebkit/APKBUILD9
-rw-r--r--user/qt5-qtwebkit/icu-75.patch55
-rw-r--r--user/qt5-qtwebkit/webkit-offlineasm-warnings-ruby27.patch46
-rw-r--r--user/r/APKBUILD2
-rw-r--r--user/raptor2/APKBUILD6
-rw-r--r--user/raptor2/fix-checked-field-issue.patch19
-rw-r--r--user/rdfind/APKBUILD35
-rw-r--r--user/rendercheck/APKBUILD30
-rw-r--r--user/rspamd/APKBUILD89
-rw-r--r--user/rspamd/rspamd.initd2
-rw-r--r--user/s6-dns/APKBUILD16
-rw-r--r--user/s6-dns/s6-dns.pc.in6
-rw-r--r--user/s6-linux-utils/APKBUILD11
-rw-r--r--user/s6-networking/APKBUILD20
-rw-r--r--user/s6-networking/s6-networking.pc.in6
-rw-r--r--user/s6-portable-utils/APKBUILD11
-rw-r--r--user/sdl/APKBUILD2
-rw-r--r--user/sdl2/APKBUILD13
-rw-r--r--user/sdl2/altivec-detection.patch22
-rw-r--r--user/seatd/APKBUILD15
-rw-r--r--user/seatd/seatd.confd12
-rw-r--r--user/seatd/seatd.initd14
-rw-r--r--user/setxkbmap/APKBUILD4
-rw-r--r--user/smtpd-starttls-proxy/APKBUILD15
-rw-r--r--user/spack/APKBUILD17
-rw-r--r--user/spack/archspec-fix-cpu-family-detection.patch16
-rw-r--r--user/spack/clingo-explicit-libatomic.patch14
-rw-r--r--user/spice-gtk/APKBUILD7
-rw-r--r--user/spice-gtk/fix-dirty-spicy-corruption.patch23
-rw-r--r--user/spirv-headers/APKBUILD40
-rw-r--r--user/spirv-tools/APKBUILD48
-rw-r--r--user/spirv-tools/endian.patch283
-rw-r--r--user/spirv-tools/remove-copyright-check-test.patch16
-rw-r--r--user/supertux/APKBUILD2
-rw-r--r--user/sway/APKBUILD37
-rw-r--r--user/sway/license.txt472
-rw-r--r--user/swaybg/APKBUILD36
-rw-r--r--user/sword/APKBUILD2
-rw-r--r--user/thunar-volman/APKBUILD4
-rw-r--r--user/thunar/APKBUILD8
-rw-r--r--user/thunderbird/APKBUILD68
-rw-r--r--user/thunderbird/BTS-1074.patch62
-rw-r--r--user/thunderbird/bad-google-code.patch4
-rw-r--r--user/thunderbird/disable-arm-flac.patch15
-rw-r--r--user/thunderbird/fix-mutex-build.patch8
-rw-r--r--user/thunderbird/fix-seccomp-bpf.patch6
-rw-r--r--user/thunderbird/gcc13.patch10
-rw-r--r--user/thunderbird/gcc89074.patch24
-rw-r--r--user/thunderbird/icu-75.patch41
-rw-r--r--user/thunderbird/jpeg-link.patch2
-rw-r--r--user/thunderbird/js-endian.patch33
-rw-r--r--user/thunderbird/mozconfig1
-rw-r--r--user/thunderbird/mozilla-build-arm.patch4
-rw-r--r--user/thunderbird/newer-cbindgen.patch17
-rw-r--r--user/thunderbird/pmmx-double-format.patch2
-rw-r--r--user/thunderbird/python3.11-open-U.patch102
-rw-r--r--user/thunderbird/python3.11-regex-inline-flags.patch27
-rw-r--r--user/thunderbird/rust-32bit.patch32
-rw-r--r--user/thunderbird/shut-up-warning.patch2
-rw-r--r--user/thunderbird/skia-endian.patch112
-rw-r--r--user/thunderbird/skia-unified.patch833
-rw-r--r--user/thunderbird/stackwalk-x86-ppc.patch12
-rw-r--r--user/thunderbird/triplet-vendor-support.patch316
-rw-r--r--user/thunderbird/webrender.patch32
-rw-r--r--user/thunderbird/without-jit.patch28
-rw-r--r--user/tinyfugue/APKBUILD10
-rw-r--r--user/tinywl/APKBUILD27
-rw-r--r--user/tipidee/APKBUILD21
-rw-r--r--user/tipidee/tipidee.pc.in6
-rw-r--r--user/tmux/APKBUILD14
-rw-r--r--user/tmux/no-yacc-needed.patch26
-rw-r--r--user/torcs/APKBUILD8
-rw-r--r--user/transset/APKBUILD6
-rw-r--r--user/tumbler/APKBUILD4
-rw-r--r--user/tyrquake/APKBUILD46
-rw-r--r--user/tyrquake/tyrquake.initd14
-rw-r--r--user/tyrquake/tyrquake.pre-install6
-rw-r--r--user/usbutils/APKBUILD4
-rw-r--r--user/userspace-rcu/APKBUILD36
-rw-r--r--user/userspace-rcu/endian.patch11
-rw-r--r--user/util-macros/APKBUILD6
-rw-r--r--user/v4l-utils/APKBUILD2
-rw-r--r--user/vlc/APKBUILD4
-rw-r--r--user/vte/APKBUILD4
-rw-r--r--user/vulkan-headers/APKBUILD41
-rw-r--r--user/vulkan-loader/APKBUILD42
-rw-r--r--user/wayfire/APKBUILD37
-rw-r--r--user/wayland-protocols/APKBUILD8
-rw-r--r--user/wayland-protocols/test.patch66
-rw-r--r--user/wayland-protocols/tests.patch53
-rw-r--r--user/wayland/APKBUILD9
-rw-r--r--user/waypipe/0.9.2-fix-compile.patch11
-rw-r--r--user/waypipe/APKBUILD37
-rw-r--r--user/weechat/APKBUILD6
-rw-r--r--user/wf-config/APKBUILD34
-rw-r--r--user/wf-shell/APKBUILD36
-rw-r--r--user/wimlib/APKBUILD19
-rw-r--r--user/wimlib/header.patch29
-rw-r--r--user/wimlib/pc-fuse3.patch31
-rw-r--r--user/wireguard-tools/APKBUILD4
-rw-r--r--user/wlroots-0.17/APKBUILD39
-rw-r--r--user/wlroots-0.18/APKBUILD40
-rw-r--r--user/wlroots/APKBUILD37
-rw-r--r--user/wxwidgets/APKBUILD4
-rw-r--r--user/x11perf/APKBUILD4
-rw-r--r--user/xauth/APKBUILD4
-rw-r--r--user/xbiff/APKBUILD6
-rw-r--r--user/xbitmaps/APKBUILD6
-rw-r--r--user/xcalc/APKBUILD4
-rw-r--r--user/xcb-proto/APKBUILD4
-rw-r--r--user/xcb-util-cursor/APKBUILD8
-rw-r--r--user/xcb-util/APKBUILD8
-rw-r--r--user/xclipboard/APKBUILD4
-rw-r--r--user/xconsole/APKBUILD4
-rw-r--r--user/xcursor-themes/APKBUILD6
-rw-r--r--user/xcursorgen/APKBUILD6
-rw-r--r--user/xditview/APKBUILD4
-rw-r--r--user/xdpyinfo/APKBUILD4
-rw-r--r--user/xdriinfo/APKBUILD10
-rw-r--r--user/xedit/APKBUILD4
-rw-r--r--user/xev/APKBUILD4
-rw-r--r--user/xeyes/APKBUILD6
-rw-r--r--user/xf86-input-joystick/APKBUILD6
-rw-r--r--user/xf86-input-libinput/APKBUILD4
-rw-r--r--user/xf86-input-mouse/APKBUILD4
-rw-r--r--user/xf86-video-ast/APKBUILD6
-rw-r--r--user/xf86-video-dummy/APKBUILD4
-rw-r--r--user/xf86-video-glint/APKBUILD34
-rw-r--r--user/xf86-video-intel/APKBUILD11
-rw-r--r--user/xf86-video-mach64/APKBUILD2
-rw-r--r--user/xf86-video-mga/APKBUILD2
-rw-r--r--user/xf86-video-nouveau/APKBUILD8
-rw-r--r--user/xf86-video-qxl/APKBUILD12
-rw-r--r--user/xf86-video-r128/APKBUILD2
-rw-r--r--user/xf86-video-rendition/APKBUILD1
-rw-r--r--user/xf86-video-siliconmotion/APKBUILD6
-rw-r--r--user/xf86-video-sis/APKBUILD2
-rw-r--r--user/xf86-video-sunffb/APKBUILD6
-rw-r--r--user/xf86-video-sunleo/APKBUILD6
-rw-r--r--user/xf86-video-tdfx/APKBUILD2
-rw-r--r--user/xf86-video-trident/APKBUILD6
-rw-r--r--user/xf86-video-vboxvideo/APKBUILD8
-rw-r--r--user/xf86-video-vesa/APKBUILD6
-rw-r--r--user/xf86-video-vmware/APKBUILD2
-rw-r--r--user/xfburn/APKBUILD4
-rw-r--r--user/xfce-desktop/APKBUILD4
-rw-r--r--user/xfce4-appfinder/APKBUILD4
-rw-r--r--user/xfce4-cpugraph-plugin/APKBUILD4
-rw-r--r--user/xfce4-dev-tools/APKBUILD6
-rw-r--r--user/xfce4-dict/APKBUILD4
-rw-r--r--user/xfce4-notifyd/APKBUILD11
-rw-r--r--user/xfce4-panel/APKBUILD15
-rw-r--r--user/xfce4-power-manager/APKBUILD6
-rw-r--r--user/xfce4-pulseaudio-plugin/APKBUILD8
-rw-r--r--user/xfce4-screenshooter/APKBUILD8
-rw-r--r--user/xfce4-session/APKBUILD10
-rw-r--r--user/xfce4-settings/APKBUILD8
-rw-r--r--user/xfce4-taskmanager/APKBUILD4
-rw-r--r--user/xfconf/APKBUILD8
-rw-r--r--user/xfd/APKBUILD6
-rw-r--r--user/xfdesktop/APKBUILD9
-rw-r--r--user/xfontsel/APKBUILD4
-rw-r--r--user/xfs/APKBUILD4
-rw-r--r--user/xfsprogs/APKBUILD54
-rw-r--r--user/xfsprogs/no-utmp-header.patch20
-rw-r--r--user/xfsprogs/scrub.patch49
-rw-r--r--user/xfwm4/APKBUILD13
-rw-r--r--user/xgamma/APKBUILD6
-rw-r--r--user/xhost/APKBUILD6
-rw-r--r--user/xinit/06_move_serverauthfile_into_tmp.patch8
-rw-r--r--user/xinit/APKBUILD8
-rw-r--r--user/xinput/APKBUILD6
-rw-r--r--user/xkbcomp/APKBUILD6
-rw-r--r--user/xkbutils/APKBUILD4
-rw-r--r--user/xkeyboard-config/APKBUILD29
-rw-r--r--user/xlsfonts/APKBUILD4
-rw-r--r--user/xman/APKBUILD6
-rw-r--r--user/xmessage/APKBUILD4
-rw-r--r--user/xmh/APKBUILD4
-rw-r--r--user/xmlsec/APKBUILD4
-rw-r--r--user/xmore/APKBUILD6
-rw-r--r--user/xmoto/APKBUILD2
-rw-r--r--user/xorg-cf-files/APKBUILD6
-rw-r--r--user/xorg-drivers/APKBUILD13
-rw-r--r--user/xorg-server/APKBUILD130
-rw-r--r--user/xorg-server/fix-musl-arm.patch15
-rw-r--r--user/xorg-server/gcc12.patch89
-rw-r--r--user/xorg-server/rgb-mask.patch70
-rw-r--r--user/xorgproto/APKBUILD11
-rw-r--r--user/xpr/APKBUILD4
-rw-r--r--user/xprop/APKBUILD6
-rw-r--r--user/xrandr/APKBUILD4
-rw-r--r--user/xrdb/APKBUILD6
-rw-r--r--user/xrefresh/APKBUILD4
-rw-r--r--user/xscope/APKBUILD9
-rw-r--r--user/xscope/disable-xtrans.patch31
-rw-r--r--user/xscreensaver/APKBUILD2
-rw-r--r--user/xset/APKBUILD6
-rw-r--r--user/xsm/APKBUILD4
-rw-r--r--user/xstdcmap/APKBUILD6
-rw-r--r--user/xtrans/APKBUILD6
-rw-r--r--user/xvidtune/APKBUILD12
-rw-r--r--user/xvinfo/APKBUILD6
-rw-r--r--user/xwayland/APKBUILD53
-rw-r--r--user/xwd/APKBUILD6
-rw-r--r--user/xwininfo/APKBUILD6
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-custom‍vendor-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(&params, 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, &centroid_x_offset,
- &centroid_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(&params, 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(&params, 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(&params, 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="{&quot;project_files_url&quot;:&quot;/mesa/mesa/-/files/b3cfec2fd824a52023c92fd5928f4f5c1cb449a0?format=json&quot;,&quot;project_blob_url&quot;:&quot;/mesa/mesa/-/blob/b3cfec2fd824a52023c92fd5928f4f5c1cb449a0&quot;}" data-force-desktop-expanded-sidebar="" data-root-path="/" data-sidebar="{&quot;is_logged_in&quot;:false,&quot;context_switcher_links&quot;:[{&quot;title&quot;:&quot;Explore&quot;,&quot;link&quot;:&quot;/explore&quot;,&quot;icon&quot;:&quot;compass&quot;}],&quot;current_menu_items&quot;:[{&quot;id&quot;:&quot;project_overview&quot;,&quot;title&quot;:&quot;mesa&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:&quot;/uploads/-/system/project/avatar/176/gears.png&quot;,&quot;entity_id&quot;:176,&quot;link&quot;:&quot;/mesa/mesa&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:&quot;shortcuts-project&quot;,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;manage_menu&quot;,&quot;title&quot;:&quot;Manage&quot;,&quot;icon&quot;:&quot;users&quot;,&quot;avatar&quot;:null,&quot;avatar_shape&quot;:&quot;rect&quot;,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/activity&quot;,&quot;is_active&quot;:false,&quot;pill_count&quot;:null,&quot;items&quot;:[{&quot;id&quot;:&quot;activity&quot;,&quot;title&quot;:&quot;Activity&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/activity&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:&quot;shortcuts-project-activity&quot;,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;members&quot;,&quot;title&quot;:&quot;Members&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/-/project_members&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:null,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;labels&quot;,&quot;title&quot;:&quot;Labels&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/-/labels&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:null,&quot;is_active&quot;:false}],&quot;separated&quot;:false},{&quot;id&quot;:&quot;plan_menu&quot;,&quot;title&quot;:&quot;Plan&quot;,&quot;icon&quot;:&quot;planning&quot;,&quot;avatar&quot;:null,&quot;avatar_shape&quot;:&quot;rect&quot;,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/-/issues&quot;,&quot;is_active&quot;:false,&quot;pill_count&quot;:null,&quot;items&quot;:[{&quot;id&quot;:&quot;project_issue_list&quot;,&quot;title&quot;:&quot;Issues&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/-/issues&quot;,&quot;pill_count&quot;:&quot;3.7k&quot;,&quot;link_classes&quot;:&quot;shortcuts-issues has-sub-items&quot;,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;boards&quot;,&quot;title&quot;:&quot;Issue boards&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/-/boards&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:&quot;shortcuts-issue-boards&quot;,&quot;is_active&quot;:false},{&quot;id&quot;:&quot;milestones&quot;,&quot;title&quot;:&quot;Milestones&quot;,&quot;icon&quot;:null,&quot;avatar&quot;:null,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/-/milestones&quot;,&quot;pill_count&quot;:null,&quot;link_classes&quot;:null,&quot;is_active&quot;:false}],&quot;separated&quot;:false},{&quot;id&quot;:&quot;code_menu&quot;,&quot;title&quot;:&quot;Code&quot;,&quot;icon&quot;:&quot;code&quot;,&quot;avatar&quot;:null,&quot;avatar_shape&quot;:&quot;rect&quot;,&quot;entity_id&quot;:null,&quot;link&quot;:&quot;/mesa/mesa/-/merge_requests&quot;,&quot;is_active&quot;:true,&quot;pill_count&quot;:null,&quot;items&quot;:[{&quot;id&quot;:&quot;project_merge_request_list&quot;,&quot;title&quot;:&quot;Merge requests&quot;,&quot;icon&quot;: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&apos;world">&foo;<![CDATA[ &amp; ]]><?x &amp; ?></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) " &amp; "
++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“á÷‘$鬀$]’šÛLjBÓœ„®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-custom‍vendor-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"