aboutsummaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rwxr-xr-xextra/Vulkan-Headers/build9
-rw-r--r--extra/Vulkan-Headers/checksums2
-rw-r--r--extra/Vulkan-Headers/depends1
-rw-r--r--extra/Vulkan-Headers/meta (renamed from extra/libcups/meta)2
-rw-r--r--extra/Vulkan-Headers/sources1
-rw-r--r--extra/Vulkan-Headers/version1
-rw-r--r--extra/acpid/checksums2
-rw-r--r--extra/acpid/sources2
-rw-r--r--extra/acpid/version2
-rwxr-xr-xextra/alsa-lib/build2
-rw-r--r--extra/alsa-lib/checksums4
-rw-r--r--extra/alsa-lib/patches/1.2.5.patch11
-rw-r--r--extra/alsa-lib/sources3
-rw-r--r--extra/alsa-lib/version2
-rwxr-xr-xextra/alsa-utils/build5
-rw-r--r--extra/alsa-utils/checksums3
-rw-r--r--extra/alsa-utils/sources2
-rw-r--r--extra/alsa-utils/version2
-rwxr-xr-xextra/argp/build10
-rw-r--r--extra/argp/checksums2
-rw-r--r--extra/argp/meta3
-rw-r--r--extra/argp/patches/fix-inline.patch32
-rw-r--r--extra/argp/sources2
-rw-r--r--extra/atk/checksums3
-rw-r--r--extra/atk/sources2
-rw-r--r--extra/atk/version2
-rwxr-xr-xextra/bash/build6
-rw-r--r--extra/bash/checksums48
-rw-r--r--extra/bash/sources47
-rw-r--r--extra/bash/version2
-rw-r--r--extra/basu/checksums3
-rw-r--r--extra/basu/sources2
-rw-r--r--extra/basu/version2
-rwxr-xr-xextra/bearssl/build16
-rwxr-xr-xextra/bind/build14
-rw-r--r--extra/bind/checksums2
-rw-r--r--extra/bind/depends9
-rw-r--r--extra/bind/meta3
-rw-r--r--extra/bind/sources1
-rw-r--r--extra/bind/version1
-rwxr-xr-xextra/bison/build3
-rw-r--r--extra/bison/checksums2
-rw-r--r--extra/bison/sources2
-rw-r--r--extra/bison/version2
-rw-r--r--extra/bkeymaps/meta3
-rw-r--r--extra/bmake/checksums2
-rw-r--r--extra/bmake/sources2
-rw-r--r--extra/bmake/version2
-rwxr-xr-xextra/brotli/build20
-rw-r--r--extra/brotli/checksums2
-rw-r--r--extra/brotli/depends1
-rw-r--r--extra/brotli/meta3
-rw-r--r--extra/brotli/sources1
-rw-r--r--extra/brotli/version1
-rwxr-xr-xextra/cairo/build37
-rw-r--r--extra/cairo/checksums3
-rw-r--r--extra/cairo/sources2
-rw-r--r--extra/cairo/version2
-rw-r--r--extra/calcurse/checksums3
-rw-r--r--extra/calcurse/sources2
-rw-r--r--extra/calcurse/version2
-rwxr-xr-xextra/catgirl/build11
-rw-r--r--extra/catgirl/checksums2
-rw-r--r--extra/catgirl/depends2
-rw-r--r--extra/catgirl/message5
-rw-r--r--extra/catgirl/meta3
-rw-r--r--extra/catgirl/sources1
-rw-r--r--extra/catgirl/version1
-rwxr-xr-xextra/ccache/build2
-rw-r--r--extra/ccache/checksums2
-rw-r--r--extra/ccache/sources2
-rw-r--r--extra/ccache/version2
-rwxr-xr-xextra/clang/build17
-rw-r--r--extra/clang/checksums1
-rw-r--r--extra/clang/depends5
-rw-r--r--extra/clang/version1
-rwxr-xr-xextra/cmake/build15
-rw-r--r--extra/cmake/checksums2
-rw-r--r--extra/cmake/depends2
-rw-r--r--extra/cmake/sources2
-rw-r--r--extra/cmake/version2
-rw-r--r--extra/cpt-extra/meta (renamed from extra/pinentry-dmenu/meta)2
-rw-r--r--extra/dash/checksums2
-rw-r--r--extra/dash/sources2
-rw-r--r--extra/dash/version2
-rwxr-xr-xextra/dejavu-fonts-ttf/build4
-rw-r--r--extra/dejavu-fonts-ttf/checksums1
-rw-r--r--extra/dejavu-fonts-ttf/sources1
-rw-r--r--extra/dejavu-fonts-ttf/version1
-rwxr-xr-xextra/dhcpcd/build3
-rw-r--r--extra/dhcpcd/checksums5
-rw-r--r--extra/dhcpcd/sources2
-rw-r--r--extra/dhcpcd/version2
-rw-r--r--extra/dialog/checksums3
-rw-r--r--extra/dialog/sources2
-rw-r--r--extra/dialog/version2
-rw-r--r--extra/distcc/version2
-rw-r--r--extra/dmenu/checksums3
-rw-r--r--extra/dmenu/depends1
-rw-r--r--extra/dmenu/sources2
-rw-r--r--extra/dmenu/version2
-rw-r--r--extra/dropbear/checksums5
-rw-r--r--extra/dropbear/sources2
-rw-r--r--extra/dropbear/version2
-rwxr-xr-xextra/efibootmgr/build2
-rw-r--r--extra/efibootmgr/checksums3
-rw-r--r--extra/efibootmgr/sources2
-rw-r--r--extra/efibootmgr/version2
-rwxr-xr-xextra/efivar/build9
-rw-r--r--extra/efivar/checksums8
-rw-r--r--extra/efivar/patches/01-b98ba8921010d03f46704a476c69861515deb1ca.patch56
-rw-r--r--extra/efivar/patches/02-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch168
-rw-r--r--extra/efivar/patches/03-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch51
-rw-r--r--extra/efivar/patches/04-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch31
-rw-r--r--extra/efivar/patches/05-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch28
-rw-r--r--extra/efivar/sources7
-rw-r--r--extra/efivar/version2
-rw-r--r--extra/entr/checksums3
-rw-r--r--extra/entr/sources2
-rw-r--r--extra/entr/version2
-rw-r--r--extra/expat/checksums3
-rw-r--r--extra/expat/sources2
-rw-r--r--extra/expat/version2
-rw-r--r--extra/ffmpeg/checksums3
-rw-r--r--extra/ffmpeg/sources2
-rw-r--r--extra/ffmpeg/version2
-rw-r--r--extra/file/checksums3
-rw-r--r--extra/file/sources2
-rw-r--r--extra/file/version2
-rw-r--r--extra/flac/checksums3
-rw-r--r--extra/flac/sources2
-rw-r--r--extra/flac/version2
-rw-r--r--extra/fontconfig/checksums3
-rw-r--r--extra/fontconfig/sources2
-rw-r--r--extra/fontconfig/version2
-rw-r--r--extra/fossil/checksums1
-rw-r--r--extra/fossil/sources1
-rw-r--r--extra/fossil/version1
-rw-r--r--extra/freetype-harfbuzz/checksums4
-rw-r--r--extra/freetype-harfbuzz/depends1
-rw-r--r--extra/freetype-harfbuzz/sources4
-rw-r--r--extra/freetype-harfbuzz/version2
-rw-r--r--extra/fribidi/checksums2
-rw-r--r--extra/fribidi/sources2
-rw-r--r--extra/fribidi/version2
-rw-r--r--extra/gawk/checksums1
-rw-r--r--extra/gawk/sources1
-rw-r--r--extra/gawk/version1
-rwxr-xr-xextra/gcr/build6
-rw-r--r--extra/gcr/checksums3
-rw-r--r--extra/gcr/sources2
-rw-r--r--extra/gcr/version2
-rwxr-xr-xextra/gcr4/build13
-rw-r--r--extra/gcr4/checksums2
-rw-r--r--extra/gcr4/depends7
-rw-r--r--extra/gcr4/meta3
-rw-r--r--extra/gcr4/sources1
-rw-r--r--extra/gcr4/version1
-rwxr-xr-xextra/gdk-pixbuf/build5
-rw-r--r--extra/gdk-pixbuf/checksums3
-rw-r--r--extra/gdk-pixbuf/sources2
-rw-r--r--extra/gdk-pixbuf/version2
-rw-r--r--extra/giflib/checksums3
-rw-r--r--extra/giflib/sources2
-rw-r--r--extra/giflib/version2
-rwxr-xr-xextra/glib-networking/build3
-rw-r--r--extra/glib-networking/checksums2
-rw-r--r--extra/glib-networking/sources2
-rw-r--r--extra/glib-networking/version2
-rwxr-xr-xextra/glib/build2
-rw-r--r--extra/glib/checksums2
-rw-r--r--extra/glib/depends1
-rw-r--r--extra/glib/sources2
-rw-r--r--extra/glib/version2
-rwxr-xr-xextra/glslang/build12
-rw-r--r--extra/glslang/checksums2
-rw-r--r--extra/glslang/depends2
-rw-r--r--extra/glslang/meta3
-rw-r--r--extra/glslang/sources1
-rw-r--r--extra/glslang/version1
-rwxr-xr-xextra/gmp/build11
-rw-r--r--extra/gmp/checksums1
-rw-r--r--extra/gmp/meta3
-rw-r--r--extra/gmp/sources1
-rw-r--r--extra/gmp/version1
-rwxr-xr-xextra/gnupg2/build8
-rw-r--r--extra/gnupg2/checksums3
-rw-r--r--extra/gnupg2/patches/fix-ldap.patch12
-rw-r--r--extra/gnupg2/sources3
-rw-r--r--extra/gnupg2/version2
-rwxr-xr-xextra/gnutls/build27
-rw-r--r--extra/gnutls/checksums3
-rw-r--r--extra/gnutls/sources2
-rw-r--r--extra/gnutls/version2
-rwxr-xr-xextra/go/build16
-rw-r--r--extra/go/checksums4
-rw-r--r--extra/go/patches/no-bash.patch156
-rw-r--r--extra/go/sources2
-rw-r--r--extra/go/version2
-rwxr-xr-xextra/gobject-introspection/build2
-rw-r--r--extra/gobject-introspection/checksums2
-rw-r--r--extra/gobject-introspection/depends1
-rw-r--r--extra/gobject-introspection/sources2
-rw-r--r--extra/gobject-introspection/version2
-rw-r--r--extra/graphene/checksums3
-rw-r--r--extra/graphene/sources2
-rw-r--r--extra/graphene/version2
-rwxr-xr-xextra/graphite/build10
-rw-r--r--extra/graphite/checksums2
-rw-r--r--extra/graphite/depends1
-rw-r--r--extra/graphite/meta3
-rw-r--r--extra/graphite/sources1
-rw-r--r--extra/graphite/version1
-rw-r--r--extra/grep/checksums2
-rw-r--r--extra/grep/sources2
-rw-r--r--extra/grep/version2
-rwxr-xr-xextra/groff/build2
-rw-r--r--extra/groff/checksums4
-rw-r--r--extra/groff/files/musl.patch79
-rw-r--r--extra/groff/sources3
-rw-r--r--extra/groff/version2
-rwxr-xr-xextra/gst-plugins-base/build3
-rw-r--r--extra/gst-plugins-base/checksums2
-rw-r--r--extra/gst-plugins-base/sources2
-rw-r--r--extra/gst-plugins-base/version2
-rwxr-xr-xextra/gst-plugins/build18
-rw-r--r--extra/gst-plugins/checksums8
-rw-r--r--extra/gst-plugins/sources8
-rw-r--r--extra/gst-plugins/version2
-rwxr-xr-xextra/gstreamer/build10
-rw-r--r--extra/gstreamer/checksums3
-rw-r--r--extra/gstreamer/patches/byacc.patch26
-rw-r--r--extra/gstreamer/sources3
-rw-r--r--extra/gstreamer/version2
-rwxr-xr-xextra/gtk+2/build18
-rw-r--r--extra/gtk+2/checksums1
-rw-r--r--extra/gtk+2/depends10
-rw-r--r--extra/gtk+2/sources1
-rw-r--r--extra/gtk+2/version1
-rwxr-xr-xextra/gtk+3/build6
-rw-r--r--extra/gtk+3/checksums3
-rw-r--r--extra/gtk+3/depends16
-rw-r--r--extra/gtk+3/sources2
-rw-r--r--extra/gtk+3/version2
-rwxr-xr-xextra/gtk4/build14
-rw-r--r--extra/gtk4/checksums4
-rw-r--r--extra/gtk4/depends16
-rw-r--r--extra/gtk4/sources4
-rw-r--r--extra/gtk4/version2
-rwxr-xr-xextra/gvim/build21
l---------extra/gvim/checksums1
-rw-r--r--extra/gvim/depends2
-rw-r--r--extra/gvim/meta3
l---------extra/gvim/sources1
l---------extra/gvim/version1
-rwxr-xr-xextra/harfbuzz-icu/build10
-rw-r--r--extra/harfbuzz-icu/checksums2
-rw-r--r--extra/harfbuzz-icu/sources2
-rw-r--r--extra/harfbuzz-icu/version2
-rwxr-xr-xextra/hicolor-icon-theme/build8
-rw-r--r--extra/hicolor-icon-theme/checksums2
-rw-r--r--extra/hicolor-icon-theme/depends1
-rw-r--r--extra/hicolor-icon-theme/meta3
-rw-r--r--extra/hicolor-icon-theme/sources1
-rw-r--r--extra/hicolor-icon-theme/version1
-rwxr-xr-xextra/hwdata/build (renamed from extra/fossil/build)4
-rw-r--r--extra/hwdata/checksums2
-rw-r--r--extra/hwdata/meta3
-rw-r--r--extra/hwdata/sources1
-rw-r--r--extra/hwdata/version1
-rw-r--r--extra/icu/checksums3
-rw-r--r--extra/icu/sources2
-rw-r--r--extra/icu/version2
-rwxr-xr-xextra/imagemagick/build3
-rw-r--r--extra/imagemagick/checksums2
-rw-r--r--extra/imagemagick/sources2
-rw-r--r--extra/imagemagick/version2
-rw-r--r--extra/imlib2/checksums2
-rw-r--r--extra/imlib2/sources2
-rw-r--r--extra/imlib2/version2
-rw-r--r--[l---------]extra/info/checksums3
-rwxr-xr-x[l---------]extra/info/post-install6
-rw-r--r--[l---------]extra/info/sources2
-rw-r--r--[l---------]extra/info/version2
-rwxr-xr-xextra/iptables/build13
-rw-r--r--extra/iptables/checksums3
-rw-r--r--extra/iptables/sources2
-rw-r--r--extra/iptables/version2
-rwxr-xr-xextra/iw/build7
-rw-r--r--extra/iw/checksums1
-rw-r--r--extra/iw/depends1
-rw-r--r--extra/iw/sources1
-rw-r--r--extra/iw/version1
-rwxr-xr-xextra/json-c/build5
-rw-r--r--extra/json-c/checksums3
-rw-r--r--extra/json-c/sources2
-rw-r--r--extra/json-c/version2
-rw-r--r--extra/kbd/checksums3
-rw-r--r--extra/kbd/sources2
-rw-r--r--extra/kbd/version2
-rw-r--r--extra/kcgi/checksums3
-rw-r--r--extra/kcgi/sources2
-rw-r--r--extra/kcgi/version2
-rw-r--r--extra/lcms2/checksums3
-rw-r--r--extra/lcms2/sources2
-rw-r--r--extra/lcms2/version2
-rwxr-xr-xextra/less/build (renamed from extra/gawk/build)0
-rw-r--r--extra/less/checksums2
-rw-r--r--extra/less/depends1
-rw-r--r--extra/less/meta (renamed from extra/gawk/meta)2
-rw-r--r--extra/less/sources1
-rw-r--r--extra/less/version1
-rwxr-xr-xextra/libICE/build7
-rw-r--r--extra/libICE/checksums2
-rw-r--r--extra/libICE/depends2
-rw-r--r--extra/libICE/meta3
-rw-r--r--extra/libICE/sources1
-rw-r--r--extra/libICE/version1
-rwxr-xr-xextra/libSM/build7
-rw-r--r--extra/libSM/checksums2
-rw-r--r--extra/libSM/depends3
-rw-r--r--extra/libSM/meta3
-rw-r--r--extra/libSM/sources1
-rw-r--r--extra/libSM/version1
-rwxr-xr-xextra/libX11/build13
-rw-r--r--extra/libX11/checksums2
-rw-r--r--extra/libX11/depends4
-rw-r--r--extra/libX11/meta3
-rw-r--r--extra/libX11/sources1
-rw-r--r--extra/libX11/version1
-rwxr-xr-xextra/libXau/build7
-rw-r--r--extra/libXau/checksums2
-rw-r--r--extra/libXau/depends1
-rw-r--r--extra/libXau/meta3
-rw-r--r--extra/libXau/sources1
-rw-r--r--extra/libXau/version1
-rwxr-xr-xextra/libXcomposite/build7
-rw-r--r--extra/libXcomposite/checksums2
-rw-r--r--extra/libXcomposite/depends2
-rw-r--r--extra/libXcomposite/meta3
-rw-r--r--extra/libXcomposite/sources1
-rw-r--r--extra/libXcomposite/version1
-rwxr-xr-xextra/libXcursor/build7
-rw-r--r--extra/libXcursor/checksums2
-rw-r--r--extra/libXcursor/depends3
-rw-r--r--extra/libXcursor/meta3
-rw-r--r--extra/libXcursor/sources1
-rw-r--r--extra/libXcursor/version1
-rwxr-xr-xextra/libXdamage/build7
-rw-r--r--extra/libXdamage/checksums2
-rw-r--r--extra/libXdamage/depends3
-rw-r--r--extra/libXdamage/meta3
-rw-r--r--extra/libXdamage/sources1
-rw-r--r--extra/libXdamage/version1
-rwxr-xr-xextra/libXext/build7
-rw-r--r--extra/libXext/checksums2
-rw-r--r--extra/libXext/depends2
-rw-r--r--extra/libXext/meta3
-rw-r--r--extra/libXext/sources1
-rw-r--r--extra/libXext/version1
-rwxr-xr-xextra/libXfixes/build7
-rw-r--r--extra/libXfixes/checksums2
-rw-r--r--extra/libXfixes/meta3
-rw-r--r--extra/libXfixes/sources1
-rw-r--r--extra/libXfixes/version1
-rwxr-xr-xextra/libXfont2/build7
-rw-r--r--extra/libXfont2/checksums2
-rw-r--r--extra/libXfont2/depends4
-rw-r--r--extra/libXfont2/meta3
-rw-r--r--extra/libXfont2/sources1
-rw-r--r--extra/libXfont2/version1
-rwxr-xr-xextra/libXft/build7
-rw-r--r--extra/libXft/checksums2
-rw-r--r--extra/libXft/depends5
-rw-r--r--extra/libXft/meta3
-rw-r--r--extra/libXft/sources1
-rw-r--r--extra/libXft/version1
-rwxr-xr-xextra/libXi/build (renamed from extra/pcre/build)3
-rw-r--r--extra/libXi/checksums2
-rw-r--r--extra/libXi/depends3
-rw-r--r--extra/libXi/meta3
-rw-r--r--extra/libXi/sources1
-rw-r--r--extra/libXi/version1
-rwxr-xr-xextra/libXinerama/build8
-rw-r--r--extra/libXinerama/checksums2
-rw-r--r--extra/libXinerama/depends2
-rw-r--r--extra/libXinerama/meta3
-rw-r--r--extra/libXinerama/sources1
-rw-r--r--extra/libXinerama/version1
-rwxr-xr-xextra/libXmu/build8
-rw-r--r--extra/libXmu/checksums2
-rw-r--r--extra/libXmu/depends3
-rw-r--r--extra/libXmu/meta3
-rw-r--r--extra/libXmu/sources1
-rw-r--r--extra/libXmu/version (renamed from extra/libmpc/version)0
-rwxr-xr-xextra/libXrandr/build7
-rw-r--r--extra/libXrandr/checksums2
-rw-r--r--extra/libXrandr/depends3
-rw-r--r--extra/libXrandr/meta3
-rw-r--r--extra/libXrandr/sources1
-rw-r--r--extra/libXrandr/version1
-rwxr-xr-xextra/libXrender/build7
-rw-r--r--extra/libXrender/checksums2
-rw-r--r--extra/libXrender/depends2
-rw-r--r--extra/libXrender/meta3
-rw-r--r--extra/libXrender/sources1
-rw-r--r--extra/libXrender/version1
-rwxr-xr-xextra/libXt/build8
-rw-r--r--extra/libXt/checksums2
-rw-r--r--extra/libXt/depends3
-rw-r--r--extra/libXt/meta3
-rw-r--r--extra/libXt/sources1
-rw-r--r--extra/libXt/version1
-rwxr-xr-xextra/libXxf86vm/build7
-rw-r--r--extra/libXxf86vm/checksums2
-rw-r--r--extra/libXxf86vm/depends2
-rw-r--r--extra/libXxf86vm/meta3
-rw-r--r--extra/libXxf86vm/sources1
-rw-r--r--extra/libXxf86vm/version1
-rw-r--r--extra/libaio/checksums3
-rw-r--r--extra/libaio/sources2
-rw-r--r--extra/libaio/version2
-rw-r--r--extra/libarchive/checksums2
-rw-r--r--extra/libarchive/sources2
-rw-r--r--extra/libarchive/version2
-rw-r--r--extra/libass/checksums2
-rw-r--r--extra/libass/sources2
-rw-r--r--extra/libass/version2
-rw-r--r--extra/libassuan/checksums3
-rw-r--r--extra/libassuan/sources2
-rw-r--r--extra/libassuan/version2
-rwxr-xr-xextra/libbsd/build27
-rw-r--r--extra/libbsd/checksums2
-rw-r--r--extra/libbsd/meta3
-rw-r--r--extra/libbsd/sources2
-rw-r--r--extra/libbsd/version1
-rwxr-xr-xextra/libclc/build11
-rw-r--r--extra/libclc/checksums2
-rw-r--r--extra/libclc/depends4
-rw-r--r--extra/libclc/meta3
-rw-r--r--extra/libclc/sources (renamed from extra/clang/sources)2
-rw-r--r--extra/libclc/version1
-rwxr-xr-xextra/libcups/build14
-rw-r--r--extra/libcups/checksums1
-rw-r--r--extra/libcups/sources1
-rw-r--r--extra/libcups/version1
-rwxr-xr-xextra/libdisplay-info/build11
-rw-r--r--extra/libdisplay-info/checksums2
-rw-r--r--extra/libdisplay-info/depends1
-rw-r--r--extra/libdisplay-info/meta3
-rw-r--r--extra/libdisplay-info/sources1
-rw-r--r--extra/libdisplay-info/version1
-rwxr-xr-xextra/libdrm/build7
-rw-r--r--extra/libdrm/checksums3
-rw-r--r--extra/libdrm/sources2
-rw-r--r--extra/libdrm/version2
-rwxr-xr-xextra/libdw/build35
l---------extra/libdw/checksums1
-rw-r--r--extra/libdw/depends4
l---------extra/libdw/files/error.h1
l---------extra/libdw/sources1
l---------extra/libdw/version1
-rw-r--r--extra/libedit/checksums2
-rw-r--r--extra/libedit/sources2
-rw-r--r--extra/libedit/version2
-rwxr-xr-xextra/libelf/build11
-rw-r--r--extra/libelf/checksums5
-rw-r--r--extra/libelf/sources2
-rw-r--r--extra/libelf/version2
-rwxr-xr-xextra/libepoxy/build2
-rw-r--r--extra/libepoxy/checksums2
-rw-r--r--extra/libepoxy/sources2
-rw-r--r--extra/libepoxy/version2
-rw-r--r--extra/liberation-fonts-ttf/checksums9
-rw-r--r--extra/liberation-fonts-ttf/sources2
-rw-r--r--extra/liberation-fonts-ttf/version2
-rw-r--r--extra/libevdev/checksums3
-rw-r--r--extra/libevdev/sources2
-rw-r--r--extra/libevdev/version2
-rw-r--r--extra/libexif/checksums2
-rw-r--r--extra/libexif/meta (renamed from extra/gtk+2/meta)2
-rw-r--r--extra/libexif/sources2
-rw-r--r--extra/libexif/version2
-rw-r--r--extra/libffi/checksums3
-rw-r--r--extra/libffi/sources2
-rw-r--r--extra/libffi/version2
-rw-r--r--extra/libfontenc/checksums3
-rw-r--r--extra/libfontenc/sources2
-rw-r--r--extra/libfontenc/version2
-rwxr-xr-xextra/libgcrypt/build5
-rw-r--r--extra/libgcrypt/checksums2
-rw-r--r--extra/libgcrypt/sources2
-rw-r--r--extra/libgcrypt/version2
-rw-r--r--extra/libgit2/checksums2
-rw-r--r--extra/libgit2/depends1
-rw-r--r--extra/libgit2/sources2
-rw-r--r--extra/libgit2/version2
-rw-r--r--extra/libgpg-error/checksums3
-rw-r--r--extra/libgpg-error/sources2
-rw-r--r--extra/libgpg-error/version2
-rwxr-xr-xextra/libgrapheme/build4
-rw-r--r--extra/libgrapheme/checksums2
-rw-r--r--extra/libgrapheme/meta (renamed from extra/iw/meta)2
-rw-r--r--extra/libgrapheme/sources1
-rw-r--r--extra/libgrapheme/version1
-rwxr-xr-xextra/libinput/build4
-rw-r--r--extra/libinput/checksums2
-rw-r--r--extra/libinput/sources2
-rw-r--r--extra/libinput/version2
-rw-r--r--extra/libjpeg-turbo/checksums3
-rw-r--r--extra/libjpeg-turbo/sources2
-rw-r--r--extra/libjpeg-turbo/version2
-rw-r--r--extra/libksba/checksums3
-rw-r--r--extra/libksba/sources2
-rw-r--r--extra/libksba/version2
-rw-r--r--extra/libmpc/checksums1
-rw-r--r--extra/libmpc/depends2
-rw-r--r--extra/libmpc/meta3
-rw-r--r--extra/libmpc/sources1
-rwxr-xr-xextra/libnghttp2/build12
-rw-r--r--extra/libnghttp2/checksums2
-rw-r--r--extra/libnghttp2/meta3
-rw-r--r--extra/libnghttp2/sources1
-rw-r--r--extra/libnghttp2/version1
-rwxr-xr-xextra/libpciaccess/build10
-rw-r--r--extra/libpciaccess/checksums3
-rw-r--r--extra/libpciaccess/depends1
-rw-r--r--extra/libpciaccess/sources2
-rw-r--r--extra/libpciaccess/version2
-rwxr-xr-xextra/libplacebo/build14
-rw-r--r--extra/libplacebo/checksums3
-rw-r--r--extra/libplacebo/depends4
-rw-r--r--extra/libplacebo/meta3
-rw-r--r--extra/libplacebo/sources2
-rw-r--r--extra/libplacebo/version1
-rwxr-xr-xextra/libpng/build2
-rw-r--r--extra/libpng/checksums4
-rw-r--r--extra/libpng/patches/libpng-1.6.37-apng.patch1728
-rw-r--r--extra/libpng/sources3
-rw-r--r--extra/libpng/version2
-rw-r--r--extra/libpsl/checksums3
-rw-r--r--extra/libpsl/sources2
-rw-r--r--extra/libpsl/version2
-rwxr-xr-xextra/libsoup/build1
-rw-r--r--extra/libsoup/checksums2
-rw-r--r--extra/libsoup/sources2
-rw-r--r--extra/libsoup/version2
-rw-r--r--extra/libtasn1/checksums3
-rw-r--r--extra/libtasn1/sources2
-rw-r--r--extra/libtasn1/version2
-rw-r--r--extra/libtirpc/checksums3
-rw-r--r--extra/libtirpc/sources2
-rw-r--r--extra/libtirpc/version2
-rw-r--r--extra/libtool/checksums3
-rw-r--r--extra/libtool/sources2
-rw-r--r--extra/libtool/version2
-rwxr-xr-xextra/libutf8proc/build7
-rw-r--r--extra/libutf8proc/checksums3
-rw-r--r--extra/libutf8proc/files/libutf8proc.pc.in10
-rw-r--r--extra/libutf8proc/meta3
-rw-r--r--extra/libutf8proc/sources2
-rw-r--r--extra/libutf8proc/version1
-rwxr-xr-xextra/libuv/build10
-rw-r--r--extra/libuv/checksums2
-rw-r--r--extra/libuv/depends1
-rw-r--r--extra/libuv/meta3
-rw-r--r--extra/libuv/sources1
-rw-r--r--extra/libuv/version1
-rw-r--r--extra/libva-utils/checksums3
-rw-r--r--extra/libva-utils/sources2
-rw-r--r--extra/libva-utils/version2
-rw-r--r--extra/libva/checksums2
-rw-r--r--extra/libva/sources2
-rw-r--r--extra/libva/version2
-rw-r--r--extra/libvpx/checksums5
-rw-r--r--extra/libvpx/depends2
-rw-r--r--extra/libvpx/sources2
-rw-r--r--extra/libvpx/version2
-rw-r--r--extra/libwebp/checksums2
-rw-r--r--extra/libwebp/depends4
-rw-r--r--extra/libwebp/sources2
-rw-r--r--extra/libwebp/version2
-rwxr-xr-xextra/libwpe/build10
-rw-r--r--extra/libwpe/checksums2
-rw-r--r--extra/libwpe/depends2
-rw-r--r--extra/libwpe/meta3
-rw-r--r--extra/libwpe/sources1
-rw-r--r--extra/libwpe/version1
-rw-r--r--extra/libxaw3d/checksums3
-rw-r--r--extra/libxaw3d/sources2
-rw-r--r--extra/libxaw3d/version2
-rwxr-xr-xextra/libxcb/build9
-rw-r--r--extra/libxcb/checksums2
-rw-r--r--extra/libxcb/depends4
-rw-r--r--extra/libxcb/meta3
-rw-r--r--extra/libxcb/sources1
-rw-r--r--extra/libxcb/version1
-rwxr-xr-xextra/libxcvt/build14
-rw-r--r--extra/libxcvt/checksums2
-rw-r--r--extra/libxcvt/depends1
-rw-r--r--extra/libxcvt/meta3
-rw-r--r--extra/libxcvt/sources1
-rw-r--r--extra/libxcvt/version1
-rwxr-xr-xextra/libxkbfile/build7
-rw-r--r--extra/libxkbfile/checksums2
-rw-r--r--extra/libxkbfile/depends2
-rw-r--r--extra/libxkbfile/meta3
-rw-r--r--extra/libxkbfile/sources1
-rw-r--r--extra/libxkbfile/version1
-rw-r--r--extra/libxml2/checksums3
-rw-r--r--extra/libxml2/sources2
-rw-r--r--extra/libxml2/version2
-rwxr-xr-xextra/libxshmfence/build8
-rw-r--r--extra/libxshmfence/checksums2
-rw-r--r--extra/libxshmfence/depends1
-rw-r--r--extra/libxshmfence/meta3
-rw-r--r--extra/libxshmfence/sources1
-rw-r--r--extra/libxshmfence/version1
-rwxr-xr-xextra/libxslt/build6
-rw-r--r--extra/libxslt/checksums3
-rw-r--r--extra/libxslt/sources2
-rw-r--r--extra/libxslt/version2
-rwxr-xr-xextra/libyaml/build7
-rw-r--r--extra/libyaml/checksums1
-rw-r--r--extra/libyaml/meta3
-rw-r--r--extra/libyaml/sources1
-rw-r--r--extra/libyaml/version1
-rwxr-xr-xextra/links/build4
-rw-r--r--extra/links/checksums2
-rw-r--r--extra/links/sources2
-rw-r--r--extra/links/version2
-rwxr-xr-xextra/llvm/build5
-rw-r--r--extra/llvm/checksums3
-rw-r--r--extra/llvm/sources2
-rw-r--r--extra/llvm/version2
-rw-r--r--extra/lzip/checksums3
-rw-r--r--extra/lzip/sources2
-rw-r--r--extra/lzip/version2
-rwxr-xr-xextra/man-pages/build2
-rw-r--r--extra/man-pages/checksums2
-rw-r--r--extra/man-pages/sources2
-rw-r--r--extra/man-pages/version2
-rw-r--r--extra/mercurial/checksums2
-rw-r--r--extra/mercurial/sources2
-rw-r--r--extra/mercurial/version2
-rwxr-xr-xextra/mesa/build27
-rw-r--r--extra/mesa/checksums5
-rw-r--r--extra/mesa/depends14
-rwxr-xr-xextra/mesa/files/pythonpath6
-rw-r--r--extra/mesa/sources5
-rw-r--r--extra/mesa/version2
-rw-r--r--extra/meson/checksums2
-rw-r--r--extra/meson/files/cl-meson.110
-rw-r--r--extra/meson/sources2
-rw-r--r--extra/meson/version2
-rwxr-xr-xextra/mold/build24
-rw-r--r--extra/mold/checksums3
-rw-r--r--extra/mold/depends (renamed from extra/fossil/depends)1
-rw-r--r--extra/mold/meta3
-rw-r--r--extra/mold/sources2
-rw-r--r--extra/mold/version1
-rw-r--r--extra/mpfr/checksums1
-rw-r--r--extra/mpfr/depends1
-rw-r--r--extra/mpfr/meta3
-rw-r--r--extra/mpfr/sources1
-rw-r--r--extra/mpfr/version1
-rwxr-xr-xextra/mpv/build18
-rw-r--r--extra/mpv/checksums4
-rw-r--r--extra/mpv/depends5
-rw-r--r--extra/mpv/sources3
-rw-r--r--extra/mpv/version2
-rw-r--r--extra/nano/checksums3
-rw-r--r--extra/nano/sources2
-rw-r--r--extra/nano/version2
-rw-r--r--extra/nasm/checksums3
-rw-r--r--extra/nasm/sources2
-rw-r--r--extra/nasm/version2
-rwxr-xr-xextra/ncurses/build3
-rw-r--r--extra/ncurses/checksums3
-rw-r--r--extra/ncurses/sources2
-rw-r--r--extra/ncurses/version2
-rwxr-xr-xextra/nettle/build2
-rw-r--r--extra/nettle/checksums3
-rw-r--r--extra/nettle/depends (renamed from extra/gmp/depends)0
-rw-r--r--extra/nettle/sources2
-rw-r--r--extra/nettle/version2
-rwxr-xr-xextra/nginx/build2
-rw-r--r--extra/nginx/checksums2
-rw-r--r--extra/nginx/depends2
-rw-r--r--extra/nginx/sources2
-rw-r--r--extra/nginx/version2
-rwxr-xr-xextra/nodejs/build8
-rw-r--r--extra/nodejs/checksums2
-rw-r--r--extra/nodejs/sources2
-rw-r--r--extra/nodejs/version2
-rwxr-xr-xextra/npth/build2
-rw-r--r--extra/npth/checksums3
-rw-r--r--extra/npth/sources2
-rw-r--r--extra/npth/version2
-rw-r--r--extra/ntfs-3g/checksums2
-rw-r--r--extra/ntfs-3g/sources2
-rw-r--r--extra/ntfs-3g/version2
-rw-r--r--extra/oksh/checksums3
-rw-r--r--extra/oksh/sources2
-rw-r--r--extra/oksh/version2
-rw-r--r--extra/openjpeg2/checksums3
-rw-r--r--extra/openjpeg2/depends4
-rw-r--r--extra/openjpeg2/sources2
-rw-r--r--extra/openjpeg2/version2
-rw-r--r--extra/openssh/checksums2
-rw-r--r--extra/openssh/sources2
-rw-r--r--extra/openssh/version2
-rwxr-xr-xextra/opus/build14
-rw-r--r--extra/opus/checksums3
-rw-r--r--extra/opus/depends1
-rw-r--r--extra/opus/sources2
-rw-r--r--extra/opus/version2
-rwxr-xr-xextra/opusfile/build (renamed from extra/mpfr/build)1
-rw-r--r--extra/opusfile/checksums2
-rw-r--r--extra/opusfile/depends3
-rw-r--r--extra/opusfile/meta3
-rw-r--r--extra/opusfile/sources1
-rw-r--r--extra/opusfile/version1
-rw-r--r--extra/p11-kit/checksums3
-rw-r--r--extra/p11-kit/sources2
-rw-r--r--extra/p11-kit/version2
-rwxr-xr-xextra/pango/build1
-rw-r--r--extra/pango/checksums2
-rw-r--r--extra/pango/sources2
-rw-r--r--extra/pango/version2
-rw-r--r--extra/pciutils/checksums4
-rw-r--r--extra/pciutils/sources4
-rw-r--r--extra/pciutils/version2
-rw-r--r--extra/pcre/checksums1
-rw-r--r--extra/pcre/sources1
-rw-r--r--extra/pcre/version1
-rwxr-xr-xextra/pcre2/build (renamed from extra/libmpc/build)5
-rw-r--r--extra/pcre2/checksums2
-rw-r--r--extra/pcre2/meta3
-rw-r--r--extra/pcre2/sources1
-rw-r--r--extra/pcre2/version1
-rwxr-xr-xextra/perl/build6
-rw-r--r--extra/perl/checksums3
-rw-r--r--extra/perl/sources2
-rw-r--r--extra/perl/version2
-rwxr-xr-xextra/pinentry-dmenu/build4
-rw-r--r--extra/pinentry-dmenu/checksums1
l---------extra/pinentry-dmenu/depends1
-rw-r--r--extra/pinentry-dmenu/sources1
-rw-r--r--extra/pinentry-dmenu/version1
-rw-r--r--extra/pinentry/checksums2
-rw-r--r--extra/pinentry/depends2
-rw-r--r--extra/pinentry/sources2
-rw-r--r--extra/pinentry/version2
-rwxr-xr-xextra/pixman/build10
-rw-r--r--extra/pixman/checksums2
-rw-r--r--extra/pixman/depends1
-rw-r--r--extra/pixman/meta3
-rw-r--r--extra/pixman/sources1
-rw-r--r--extra/pixman/version1
-rwxr-xr-xextra/poppler/build1
-rw-r--r--extra/poppler/checksums2
-rw-r--r--extra/poppler/sources2
-rw-r--r--extra/poppler/version2
-rwxr-xr-xextra/procps-ng/build4
-rw-r--r--extra/procps-ng/checksums3
-rw-r--r--extra/procps-ng/sources2
-rw-r--r--extra/procps-ng/version2
-rwxr-xr-xextra/prout/build11
-rw-r--r--extra/prout/checksums1
-rw-r--r--extra/prout/depends1
-rw-r--r--extra/prout/meta3
-rw-r--r--extra/prout/sources1
-rw-r--r--extra/prout/version1
-rwxr-xr-xextra/python/build5
-rw-r--r--extra/python/checksums5
-rw-r--r--extra/python/depends4
-rw-r--r--extra/python/patches/libressl-support.patch387
-rw-r--r--extra/python/patches/python3-always-pip.patch10
-rw-r--r--extra/python/sources3
-rw-r--r--extra/python/version2
-rw-r--r--extra/rc/version2
-rwxr-xr-xextra/readline/build11
-rw-r--r--extra/readline/checksums5
-rw-r--r--extra/readline/sources4
-rw-r--r--extra/readline/version2
-rwxr-xr-xextra/ruby/build3
-rw-r--r--extra/ruby/checksums3
-rw-r--r--extra/ruby/depends4
-rw-r--r--extra/ruby/sources2
-rw-r--r--extra/ruby/version2
-rw-r--r--extra/scdoc/checksums3
-rw-r--r--extra/scdoc/sources2
-rw-r--r--extra/scdoc/version2
-rwxr-xr-xextra/seatd/build8
-rw-r--r--extra/seatd/checksums2
-rw-r--r--extra/seatd/sources2
-rw-r--r--extra/seatd/version2
-rwxr-xr-xextra/shadow/build24
-rw-r--r--extra/shadow/checksums2
-rw-r--r--extra/shadow/meta (renamed from extra/pcre/meta)2
-rw-r--r--extra/shadow/sources1
-rw-r--r--extra/shadow/version1
-rw-r--r--extra/shared-mime-info/checksums3
-rw-r--r--extra/shared-mime-info/sources2
-rw-r--r--extra/shared-mime-info/version2
-rwxr-xr-xextra/shellcheck-bin/build2
-rw-r--r--extra/shellcheck-bin/checksums3
-rw-r--r--extra/shellcheck-bin/sources2
-rw-r--r--extra/shellcheck-bin/version2
-rwxr-xr-xextra/signify/build8
-rw-r--r--extra/signify/checksums1
-rw-r--r--extra/signify/depends1
-rw-r--r--extra/signify/meta3
-rw-r--r--extra/signify/sources1
-rw-r--r--extra/signify/version1
-rwxr-xr-xextra/spirv-headers/build11
-rw-r--r--extra/spirv-headers/checksums2
-rw-r--r--extra/spirv-headers/depends1
-rw-r--r--extra/spirv-headers/meta3
-rw-r--r--extra/spirv-headers/sources1
-rw-r--r--extra/spirv-headers/version1
-rwxr-xr-xextra/spirv-llvm-translator/build11
-rw-r--r--extra/spirv-llvm-translator/checksums2
-rw-r--r--extra/spirv-llvm-translator/depends3
-rw-r--r--extra/spirv-llvm-translator/meta3
-rw-r--r--extra/spirv-llvm-translator/sources1
-rw-r--r--extra/spirv-llvm-translator/version1
-rwxr-xr-xextra/spirv-tools/build10
-rw-r--r--extra/spirv-tools/checksums2
-rw-r--r--extra/spirv-tools/depends3
-rw-r--r--extra/spirv-tools/meta3
-rw-r--r--extra/spirv-tools/sources1
-rw-r--r--extra/spirv-tools/version1
-rwxr-xr-xextra/sqlite/build1
-rw-r--r--extra/sqlite/checksums5
-rw-r--r--extra/sqlite/sources4
-rw-r--r--extra/sqlite/version2
-rw-r--r--extra/texinfo/checksums3
-rw-r--r--extra/texinfo/sources2
-rw-r--r--extra/texinfo/version2
-rw-r--r--extra/tiff/checksums3
-rw-r--r--extra/tiff/sources2
-rw-r--r--extra/tiff/version2
-rwxr-xr-xextra/tllist/build2
-rw-r--r--extra/tllist/checksums3
-rw-r--r--extra/tllist/sources2
-rw-r--r--extra/tllist/version2
-rwxr-xr-xextra/tzdata/build18
-rw-r--r--extra/tzdata/checksums3
-rw-r--r--extra/tzdata/sources2
-rw-r--r--extra/tzdata/version2
-rw-r--r--extra/vala/checksums2
-rw-r--r--extra/vala/sources2
-rw-r--r--extra/vala/version2
-rwxr-xr-xextra/vulkan-loader/build12
-rw-r--r--extra/vulkan-loader/checksums2
-rw-r--r--extra/vulkan-loader/depends6
-rw-r--r--extra/vulkan-loader/meta (renamed from extra/clang/meta)2
-rw-r--r--extra/vulkan-loader/sources1
-rw-r--r--extra/vulkan-loader/version1
-rwxr-xr-xextra/webkit2gtk/build35
-rw-r--r--extra/webkit2gtk/checksums3
-rw-r--r--extra/webkit2gtk/depends16
-rw-r--r--extra/webkit2gtk/sources3
-rw-r--r--extra/webkit2gtk/version2
-rwxr-xr-xextra/wget/build20
-rw-r--r--extra/wget/checksums2
-rw-r--r--extra/wget/depends5
-rw-r--r--extra/wget/meta3
-rw-r--r--extra/wget/sources1
-rw-r--r--extra/wget/version1
-rwxr-xr-xextra/wpa_supplicant/build15
-rw-r--r--extra/wpa_supplicant/checksums6
-rw-r--r--extra/wpa_supplicant/depends6
-rw-r--r--extra/wpa_supplicant/files/.config7
-rwxr-xr-xextra/wpa_supplicant/files/wpa_supplicant.run2
-rw-r--r--extra/wpa_supplicant/sources5
-rw-r--r--extra/wpa_supplicant/version2
-rwxr-xr-xextra/wpebackend-fdo/build10
-rw-r--r--extra/wpebackend-fdo/checksums2
-rw-r--r--extra/wpebackend-fdo/depends5
-rw-r--r--extra/wpebackend-fdo/meta (renamed from extra/fossil/meta)2
-rw-r--r--extra/wpebackend-fdo/sources1
-rw-r--r--extra/wpebackend-fdo/version1
-rwxr-xr-xextra/xcb-proto/build7
-rw-r--r--extra/xcb-proto/checksums2
-rw-r--r--extra/xcb-proto/depends1
-rw-r--r--extra/xcb-proto/meta3
-rw-r--r--extra/xcb-proto/sources1
-rw-r--r--extra/xcb-proto/version1
-rwxr-xr-xextra/xcb-util-cursor/build8
-rw-r--r--extra/xcb-util-cursor/checksums2
-rw-r--r--extra/xcb-util-cursor/depends5
-rw-r--r--extra/xcb-util-cursor/meta3
-rw-r--r--extra/xcb-util-cursor/sources1
-rw-r--r--extra/xcb-util-cursor/version1
-rwxr-xr-xextra/xcb-util-image/build8
-rw-r--r--extra/xcb-util-image/checksums2
-rw-r--r--extra/xcb-util-image/depends3
-rw-r--r--extra/xcb-util-image/meta3
-rw-r--r--extra/xcb-util-image/sources1
-rw-r--r--extra/xcb-util-image/version1
-rwxr-xr-xextra/xcb-util-keysyms/build8
-rw-r--r--extra/xcb-util-keysyms/checksums2
-rw-r--r--extra/xcb-util-keysyms/depends2
-rw-r--r--extra/xcb-util-keysyms/meta3
-rw-r--r--extra/xcb-util-keysyms/sources1
-rw-r--r--extra/xcb-util-keysyms/version1
-rwxr-xr-xextra/xcb-util-renderutil/build8
-rw-r--r--extra/xcb-util-renderutil/checksums2
-rw-r--r--extra/xcb-util-renderutil/depends2
-rw-r--r--extra/xcb-util-renderutil/meta3
-rw-r--r--extra/xcb-util-renderutil/sources1
-rw-r--r--extra/xcb-util-renderutil/version1
-rwxr-xr-xextra/xcb-util-wm/build8
-rw-r--r--extra/xcb-util-wm/checksums2
-rw-r--r--extra/xcb-util-wm/depends2
-rw-r--r--extra/xcb-util-wm/meta3
-rw-r--r--extra/xcb-util-wm/sources1
-rw-r--r--extra/xcb-util-wm/version1
-rwxr-xr-xextra/xcb-util-xrm/build8
-rw-r--r--extra/xcb-util-xrm/checksums1
-rw-r--r--extra/xcb-util-xrm/depends3
-rw-r--r--extra/xcb-util-xrm/meta3
-rw-r--r--extra/xcb-util-xrm/sources1
-rw-r--r--extra/xcb-util-xrm/version (renamed from extra/argp/version)0
-rwxr-xr-xextra/xcb-util/build8
-rw-r--r--extra/xcb-util/checksums2
-rw-r--r--extra/xcb-util/depends2
-rw-r--r--extra/xcb-util/meta3
-rw-r--r--extra/xcb-util/sources1
-rw-r--r--extra/xcb-util/version1
-rwxr-xr-xextra/xkbcomp/build10
-rw-r--r--extra/xkbcomp/checksums2
-rw-r--r--extra/xkbcomp/depends2
-rw-r--r--extra/xkbcomp/meta3
-rw-r--r--extra/xkbcomp/sources1
-rw-r--r--extra/xkbcomp/version1
-rwxr-xr-xextra/xkeyboard-config/build9
-rw-r--r--extra/xkeyboard-config/checksums2
-rw-r--r--extra/xkeyboard-config/depends2
-rw-r--r--extra/xkeyboard-config/meta3
-rw-r--r--extra/xkeyboard-config/sources1
-rw-r--r--extra/xkeyboard-config/version1
-rwxr-xr-xextra/xorg-util-macros/build7
-rw-r--r--extra/xorg-util-macros/checksums2
-rw-r--r--extra/xorg-util-macros/meta3
-rw-r--r--extra/xorg-util-macros/sources1
-rw-r--r--extra/xorg-util-macros/version1
-rwxr-xr-xextra/xorgproto/build8
-rw-r--r--extra/xorgproto/checksums2
-rw-r--r--extra/xorgproto/meta3
-rw-r--r--extra/xorgproto/sources1
-rw-r--r--extra/xorgproto/version1
-rwxr-xr-xextra/xtrans/build7
-rw-r--r--extra/xtrans/checksums2
-rw-r--r--extra/xtrans/meta3
-rw-r--r--extra/xtrans/sources1
-rw-r--r--extra/xtrans/version1
-rwxr-xr-xextra/yash/build5
-rw-r--r--extra/yash/checksums6
-rw-r--r--extra/yash/patches/neatvi-completion.patch15
-rw-r--r--extra/yash/sources3
-rw-r--r--extra/yash/version2
-rw-r--r--extra/zsh/checksums5
-rw-r--r--extra/zsh/sources2
-rw-r--r--extra/zsh/version2
968 files changed, 2779 insertions, 3218 deletions
diff --git a/extra/Vulkan-Headers/build b/extra/Vulkan-Headers/build
new file mode 100755
index 00000000..cd659d72
--- /dev/null
+++ b/extra/Vulkan-Headers/build
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr
+
+cmake --build build
+cmake --install build
diff --git a/extra/Vulkan-Headers/checksums b/extra/Vulkan-Headers/checksums
new file mode 100644
index 00000000..e363bccd
--- /dev/null
+++ b/extra/Vulkan-Headers/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+54dc4309414536c5007e91bc915be2b3ffbe932d7610f65c2b87bf201a471cb8 sdk-1.3.231.1.tar.gz
diff --git a/extra/Vulkan-Headers/depends b/extra/Vulkan-Headers/depends
new file mode 100644
index 00000000..7d91ec22
--- /dev/null
+++ b/extra/Vulkan-Headers/depends
@@ -0,0 +1 @@
+cmake make
diff --git a/extra/libcups/meta b/extra/Vulkan-Headers/meta
index 5107dcfd..b27a6aa5 100644
--- a/extra/libcups/meta
+++ b/extra/Vulkan-Headers/meta
@@ -1,3 +1,3 @@
-description: CUPS Printer library
+description: Vulkan header files
license: Apache-2.0
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/Vulkan-Headers/sources b/extra/Vulkan-Headers/sources
new file mode 100644
index 00000000..9a8fd99c
--- /dev/null
+++ b/extra/Vulkan-Headers/sources
@@ -0,0 +1 @@
+https://github.com/KhronosGroup/Vulkan-Headers/archive/sdk-1.3.231.1.tar.gz
diff --git a/extra/Vulkan-Headers/version b/extra/Vulkan-Headers/version
new file mode 100644
index 00000000..487b544f
--- /dev/null
+++ b/extra/Vulkan-Headers/version
@@ -0,0 +1 @@
+1.3.231.1 1
diff --git a/extra/acpid/checksums b/extra/acpid/checksums
index 8f24e8b8..efdbbeca 100644
--- a/extra/acpid/checksums
+++ b/extra/acpid/checksums
@@ -1,3 +1,3 @@
%BLAKE3
-2588e85569dd640d68cd8be6e192af60ab8583670219900239f8776b2d2026ad acpid-2.0.33.tar.xz
+c975822b75136f69b4ed1951d3a7dd9946e7876a036b50b30023594e4aca7faf acpid-2.0.34.tar.xz
38c992e63b5639a896a8bd4d8dcf92e220cb96f057d203ba78c5288d59fa0051 acpid.run
diff --git a/extra/acpid/sources b/extra/acpid/sources
index 943e9dc8..13610e06 100644
--- a/extra/acpid/sources
+++ b/extra/acpid/sources
@@ -1,2 +1,2 @@
-https://downloads.sourceforge.net/acpid2/acpid-2.0.33.tar.xz
+https://downloads.sourceforge.net/acpid2/acpid-2.0.34.tar.xz
files/acpid.run
diff --git a/extra/acpid/version b/extra/acpid/version
index 7bad49d9..61298826 100644
--- a/extra/acpid/version
+++ b/extra/acpid/version
@@ -1 +1 @@
-2.0.33 1
+2.0.34 1
diff --git a/extra/alsa-lib/build b/extra/alsa-lib/build
index 483e5b1f..19d3e5f3 100755
--- a/extra/alsa-lib/build
+++ b/extra/alsa-lib/build
@@ -1,6 +1,6 @@
#!/bin/sh -e
-patch -p1 < 1.2.5.patch
+printf '#define __STRING(x) #x\n' >> include/global.h
./configure \
--prefix=/usr \
diff --git a/extra/alsa-lib/checksums b/extra/alsa-lib/checksums
index 5cf9b415..53ac7b9f 100644
--- a/extra/alsa-lib/checksums
+++ b/extra/alsa-lib/checksums
@@ -1,2 +1,2 @@
-628421d950cecaf234de3f899d520c0a6923313c964ad751ffac081df331438e alsa-lib-1.2.5.1.tar.bz2
-f4efc02bd9601c532ab5c50ecc03588815225d379bfbbfbbf1d3fc1f1f6473ca 1.2.5.patch
+%BLAKE3
+7a845dcee9380a8fd5d319324d09eaea6b182b20aa00aac04de41c97b3511618 alsa-lib-1.2.12.tar.bz2
diff --git a/extra/alsa-lib/patches/1.2.5.patch b/extra/alsa-lib/patches/1.2.5.patch
deleted file mode 100644
index ae188e8a..00000000
--- a/extra/alsa-lib/patches/1.2.5.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur alsa-lib/aserver/aserver.c alsa-lib-patch/aserver/aserver.c
---- alsa-lib/aserver/aserver.c 2021-05-28 00:30:16.000000000 +0300
-+++ alsa-lib-patch/aserver/aserver.c 2021-06-02 18:18:31.636265488 +0300
-@@ -35,6 +35,7 @@
-
- #include "aserver.h"
-
-+const char *_snd_module_control_empty;
- char *command;
-
- #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
diff --git a/extra/alsa-lib/sources b/extra/alsa-lib/sources
index 03e93886..f961a57d 100644
--- a/extra/alsa-lib/sources
+++ b/extra/alsa-lib/sources
@@ -1,2 +1 @@
-https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.5.1.tar.bz2
-patches/1.2.5.patch
+https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.12.tar.bz2
diff --git a/extra/alsa-lib/version b/extra/alsa-lib/version
index 9e7ce450..d9f2a341 100644
--- a/extra/alsa-lib/version
+++ b/extra/alsa-lib/version
@@ -1 +1 @@
-1.2.5.1 1
+1.2.12 1
diff --git a/extra/alsa-utils/build b/extra/alsa-utils/build
index 0caf0176..9f19791c 100755
--- a/extra/alsa-utils/build
+++ b/extra/alsa-utils/build
@@ -1,10 +1,13 @@
#!/bin/sh -e
+clsed '37a #include <sys/types.h>' nhlt/nhlt-dmic-info.c
+
./configure \
+ --prefix=/usr \
--disable-alsaconf \
--disable-bat \
--disable-xmlto \
- --prefix=/usr
+ --disable-nls
make
make DESTDIR="$1" install
diff --git a/extra/alsa-utils/checksums b/extra/alsa-utils/checksums
index 2a0e948a..3e52c358 100644
--- a/extra/alsa-utils/checksums
+++ b/extra/alsa-utils/checksums
@@ -1 +1,2 @@
-9c169ae37a49295f9b97b92ace772803daf6b6510a19574e0b78f87e562118d0 alsa-utils-1.2.5.1.tar.bz2
+%BLAKE3
+83b4389cc882782097e44652abbc3716a1dea52ae41b67dee31474afceec0e4b alsa-utils-1.2.12.tar.bz2
diff --git a/extra/alsa-utils/sources b/extra/alsa-utils/sources
index b27d4326..58db0c55 100644
--- a/extra/alsa-utils/sources
+++ b/extra/alsa-utils/sources
@@ -1 +1 @@
-https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.5.1.tar.bz2
+https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.12.tar.bz2
diff --git a/extra/alsa-utils/version b/extra/alsa-utils/version
index 9e7ce450..d9f2a341 100644
--- a/extra/alsa-utils/version
+++ b/extra/alsa-utils/version
@@ -1 +1 @@
-1.2.5.1 1
+1.2.12 1
diff --git a/extra/argp/build b/extra/argp/build
deleted file mode 100755
index e791779b..00000000
--- a/extra/argp/build
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh -e
-
-patch -p1 < fix-inline.patch
-
-./configure \
- --prefix=/usr
-
-make
-clinst -Dm644 libargp.a "$1/usr/lib/libargp.a"
-clinst -Dm644 argp.h "$1/usr/include/argp.h"
diff --git a/extra/argp/checksums b/extra/argp/checksums
deleted file mode 100644
index 35ae1a04..00000000
--- a/extra/argp/checksums
+++ /dev/null
@@ -1,2 +0,0 @@
-dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be argp-standalone-1.3.tar.gz
-9270da9d963be05fc47b499def4ea7dc0677c5e9987ea849c85c7848d8adc8bc fix-inline.patch
diff --git a/extra/argp/meta b/extra/argp/meta
deleted file mode 100644
index dce14d06..00000000
--- a/extra/argp/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: standalone argp implementation for musl libc
-license: LGPL-2.1-or-later
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/argp/patches/fix-inline.patch b/extra/argp/patches/fix-inline.patch
deleted file mode 100644
index 88c44864..00000000
--- a/extra/argp/patches/fix-inline.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Effectively disable inlining of functions which are defined
-in argp-fmtstream.c because of name space conflicts when
-including argp-namefrob.h
-
---- a/argp-fmtstream.h 2003-12-11 09:37:05.000000000 +0100
-+++ b/argp-fmtstream.h 2016-09-27 09:19:48.891000000 +0200
-@@ -192,6 +192,7 @@
- extern int _argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
- extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
-
-+#ifdef ARGP_USE_INLINE
- #ifdef __OPTIMIZE__
- /* Inline versions of above routines. */
-
-@@ -208,7 +209,7 @@
- #endif
-
- #ifndef ARGP_FS_EI
--#define ARGP_FS_EI extern inline
-+#define ARGP_FS_EI static inline
- #endif
-
- ARGP_FS_EI size_t
-@@ -306,6 +307,8 @@
-
- #endif /* __OPTIMIZE__ */
-
-+#endif /* ARGP_USE_INLINE */
-+
- #endif /* ARGP_FMTSTREAM_USE_LINEWRAP */
-
- #endif /* argp-fmtstream.h */
diff --git a/extra/argp/sources b/extra/argp/sources
deleted file mode 100644
index b78f22fd..00000000
--- a/extra/argp/sources
+++ /dev/null
@@ -1,2 +0,0 @@
-http://www.lysator.liu.se/~nisse/misc/argp-standalone-1.3.tar.gz
-patches/fix-inline.patch
diff --git a/extra/atk/checksums b/extra/atk/checksums
index db1c186e..9479c5e4 100644
--- a/extra/atk/checksums
+++ b/extra/atk/checksums
@@ -1 +1,2 @@
-fb76247e369402be23f1f5c65d38a9639c1164d934e40f6a9cf3c9e96b652788 atk-2.36.0.tar.xz
+%BLAKE3
+cbc1b7ba03009ee5cc0e646d8a86117e0d65bf8d105f2e8714fbde0299a8012e atk-2.38.0.tar.xz
diff --git a/extra/atk/sources b/extra/atk/sources
index 069914bf..4608e74d 100644
--- a/extra/atk/sources
+++ b/extra/atk/sources
@@ -1 +1 @@
-https://ftp.gnome.org/pub/gnome/sources/atk/2.36/atk-2.36.0.tar.xz
+https://download.gnome.org/sources/atk/2.38/atk-2.38.0.tar.xz
diff --git a/extra/atk/version b/extra/atk/version
index b885b17c..ec3ee461 100644
--- a/extra/atk/version
+++ b/extra/atk/version
@@ -1 +1 @@
-2.36.0 2
+2.38.0 1
diff --git a/extra/bash/build b/extra/bash/build
index abc3769a..ff66c110 100755
--- a/extra/bash/build
+++ b/extra/bash/build
@@ -1,7 +1,9 @@
#!/bin/sh -e
-for patch in bash51-0??; do
- patch -p0 < "$patch"
+bash_maj=${2%%.*}
+bash_min=${2%.p*} bash_min=${bash_min#"$bash_maj."}
+for patch in "bash$bash_maj$bash_min-"0??; do
+ [ -f "$patch" ] && patch -p0 < "$patch"
done
./configure \
diff --git a/extra/bash/checksums b/extra/bash/checksums
index d7c40640..39582fcd 100644
--- a/extra/bash/checksums
+++ b/extra/bash/checksums
@@ -1,9 +1,39 @@
-cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa bash-5.1.tar.gz
-ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa bash51-001
-15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe bash51-002
-22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1 bash51-003
-9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86 bash51-004
-cccbb5e9e6763915d232d29c713007a62b06e65126e3dd2d1128a0dc5ef46da5 bash51-005
-75e17d937de862615c6375def40a7574462210dce88cf741f660e2cc29473d14 bash51-006
-acfcb8c7e9f73457c0fb12324afb613785e0c9cef3315c9bbab4be702f40393a bash51-007
-f22cf3c51a28f084a25aef28950e8777489072628f972b12643b4534a17ed2d1 bash51-008
+%BLAKE3
+303217373ab983a08de0707b63084814e673fb8d4c26a4c440bde4b834f66000 bash-5.2.tar.gz
+1d84536938a09ae3dba02dfe0c71966d40606bd3d179eddcc8a8158f5eff41e7 bash52-001
+f07979aa4b9d5ba1a63d04b696d6d96167c487e421333c6b7e8a7d1c180cab7f bash52-002
+d64fe502a27b2b960f4159f9fa0a8710694d8d6099aef177330ec20d07e6f6a4 bash52-003
+90e8a76bcd5d7b856483df8fc9e9fd0774ef0215055abe03d2c5afe0ebef2e1c bash52-004
+5732b680de167aa61fad8ba806cf868b26a951336ce4e9667505c5bafa8a772f bash52-005
+9795e202bc3a8634c84ec2c1913a3d80a1a604feb8b3f0aeb00433c783769397 bash52-006
+a4bb22b111005d73f15547f7424ad7189e170a24038d29a28a826ca02f6152f6 bash52-007
+daf398e94dee9675cb53cfffd9e1c75959f603bec82af39f0f42578dba98a999 bash52-008
+a4d880a0092fa23f8a0cf86453bc75837c3131ac5d61a74afef6d2de1530e47b bash52-009
+bc44133f7aa522c7cae5ea33be95ee00691e6cdf16fcc2e50a5c1d7b96cd31eb bash52-010
+66a8ddd4f6fdf8debdcccd9b28aeee1e2d443315b21a0ad22a934b90eb988473 bash52-011
+56d6968d96c29f41fd550686fa4ade54d536dc4299e8e6ba1b5b397015952183 bash52-012
+5a9d3ce8861900a402a759423472593df20c5c8a2e471a4c19344c1f82f46e32 bash52-013
+c2a560420ae2e6a50857d5b5073ae97069d9278666b6efcc598503c06f3cb478 bash52-014
+6d14995ac6a5ffa5785f4d32cadf07bde602d4331b5de9f3a9c437a37c3d8f90 bash52-015
+7b6f8bc4b4dca6b2a7e55e976dbd63c0c68ef050d736da23668fe36e628deaa7 bash52-016
+5bc4dd917b90dfba79531c8664c949c45c7492c3ce4ad094c9df2403a4daa032 bash52-017
+86557106e16473c4a74749599454f4330bf07c6514921d25dd6d4280e97da2a0 bash52-018
+6b30e33b88753a739560235437d2abd62e43f597747be107f90a11026ad5ad3b bash52-019
+a96b579be560f885e5d2bcd692c563bb9181468b670943e8e04b88a356614803 bash52-020
+b1e649226926c5d69d2dc652f9329cb1b2061b68a20dd2bf51898cd927ab69a3 bash52-021
+7f0d872f9560db42269eed3e4ea695742fad2488daecaae3cb23ba805f264cae bash52-022
+53c5768dfef51a013c8c2ae6a8bebb91367d5ae8d660d5ce37334cd82852a9bb bash52-023
+da6f58cc63a89d8b1f74bf9993bb14f00770a64b146b9d2aea30514063f43541 bash52-024
+e25d794f3e5d090326eaf8d89da018a60a746f95e3a6d541b67fff5f1d2ed3ed bash52-025
+a982895a1c3566813076180c96c588e210407e5272d22a399f40f480c46df27b bash52-026
+461583a36363a680077c47ecf5e258d56351b4c7aff18f31fadba34d47acaf15 bash52-027
+c799f1d3dc5fea07b70a4106dfcc833384a3629cddbc01050c17238e983391e8 bash52-028
+74f7f78e336360fe8b7e07036a686a2fcc274aa0379a671f256f23549cc9b337 bash52-029
+1223299eb9ff3901c6401fb5a6b04dbdf6af0f937803577cec321e02c6ecaa94 bash52-030
+ae645170bdfc05f29017b75c3aa658fbe84e271e4e825d79e620c5bf5d14a081 bash52-031
+cb147441b79eadc1d06547314d24d620af09a35027a58a96070798b9923b4746 bash52-032
+3ad55980bcb68c665e933e9e8980618b6f82e963c98bc389b53ae2c45058bcc0 bash52-033
+787da8a575fbf8f810db291aa1427685c9657bb7a0c8e7f4d1162ab2b61e72be bash52-034
+2a8775aa8359e7b0ba75a47373737299e8e850be6c535d2734967d0189afd834 bash52-035
+3d0152649ee8090dcbb621de96ee880b58f25e39de75665be50c6e2e3f5314f6 bash52-036
+a2bb3a1e56f60185777cffe62f01eab996fc0d4406ff86c956317c780df47bd0 bash52-037
diff --git a/extra/bash/sources b/extra/bash/sources
index 4d1788db..d429e993 100644
--- a/extra/bash/sources
+++ b/extra/bash/sources
@@ -1,9 +1,38 @@
-https://ftp.gnu.org/gnu/bash/bash-5.1.tar.gz
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-001
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-002
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-003
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-004
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-005
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-006
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-007
-https://ftp.gnu.org/gnu/bash/bash-5.1-patches/bash51-008
+https://ftp.gnu.org/gnu/bash/bash-5.2.tar.gz
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-001
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-002
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-003
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-004
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-005
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-006
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-007
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-008
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-009
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-010
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-011
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-012
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-013
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-014
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-015
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-016
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-017
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-018
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-019
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-020
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-021
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-022
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-023
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-024
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-025
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-026
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-027
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-028
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-029
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-030
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-031
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-032
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-033
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-034
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-035
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-036
+https://ftp.gnu.org/gnu/bash/bash-5.2-patches/bash52-037
diff --git a/extra/bash/version b/extra/bash/version
index 60b85634..2beb457c 100644
--- a/extra/bash/version
+++ b/extra/bash/version
@@ -1 +1 @@
-5.1.p8 1
+5.2.p37 1
diff --git a/extra/basu/checksums b/extra/basu/checksums
index 64653cfe..d8f75238 100644
--- a/extra/basu/checksums
+++ b/extra/basu/checksums
@@ -1 +1,2 @@
-e2fda9b69fc6c4530173fcf8db94c29aa5f3ed932d948cc6a31892623cde5e4b v0.2.0.tar.gz
+%BLAKE3
+8e678e54208e0690d22d522448293da66cea08a4aeccb645b66b765f93ae2e66 v0.2.1.tar.gz
diff --git a/extra/basu/sources b/extra/basu/sources
index e34ea4d3..367c8613 100644
--- a/extra/basu/sources
+++ b/extra/basu/sources
@@ -1 +1 @@
-https://github.com/emersion/basu/archive/v0.2.0.tar.gz
+https://git.sr.ht/~emersion/basu/archive/v0.2.1.tar.gz
diff --git a/extra/basu/version b/extra/basu/version
index 2f7905df..09a2a0ab 100644
--- a/extra/basu/version
+++ b/extra/basu/version
@@ -1 +1 @@
-0.2.0 1
+0.2.1 1
diff --git a/extra/bearssl/build b/extra/bearssl/build
index c0e5e7f2..4ee354ae 100755
--- a/extra/bearssl/build
+++ b/extra/bearssl/build
@@ -4,12 +4,7 @@ for patch in *.patch; do
patch -p1 < "$patch"
done
-kinstall() {
- mkdir -p "${3%/*}"; cp "$2" "$3"
- chmod "$1" "$3"
-}
-
-make "CC=${CC:=cc}" "AR=${AR:=ar}" LD=$CC
+make "CC=${CC:=cc}" "AR=${AR:=ar}" LD="$CC"
# Build static binary for bearssl, word splitting on CFLAGS is intentional.
# shellcheck disable=2086
@@ -20,8 +15,7 @@ make "CC=${CC:=cc}" "AR=${AR:=ar}" LD=$CC
build/libbearssl.a \
-o brssl
-kinstall 755 brssl "$1/usr/bin/brssl"
-kinstall 644 build/libbearssl.a "$1/usr/lib/libbearssl.a"
-kinstall 755 build/libbearssl.so "$1/usr/lib/libbearssl.so"
-
-mv inc "$1/usr/include"
+clinst -Dm755 brssl "$1/usr/bin/brssl"
+clinst -Dm644 build/libbearssl.a "$1/usr/lib/libbearssl.a"
+clinst -Dm755 build/libbearssl.so "$1/usr/lib/libbearssl.so"
+clinst -Dm644 -t "$1/usr/include" inc/*.h
diff --git a/extra/bind/build b/extra/bind/build
new file mode 100755
index 00000000..0f0a0f88
--- /dev/null
+++ b/extra/bind/build
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+# Remove libtool dependency.
+clsed 's/as_fn_error.*libtool/: "/g' configure
+
+./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin
+
+make
+make DESTDIR="$1" install
+
+# Why are tests installed to $DESTDIR's /tmp ?
+rm -rf "$1/tmp"
diff --git a/extra/bind/checksums b/extra/bind/checksums
new file mode 100644
index 00000000..4364efb3
--- /dev/null
+++ b/extra/bind/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+6d85f896033aff49f3802921b27a362a24ebc56f65940eb68791d6f50c03a49e bind-9.18.27.tar.xz
diff --git a/extra/bind/depends b/extra/bind/depends
new file mode 100644
index 00000000..60517a1e
--- /dev/null
+++ b/extra/bind/depends
@@ -0,0 +1,9 @@
+json-c
+libcap
+libnghttp2
+libuv
+libressl
+perl make
+pkgconf make
+xz
+zlib
diff --git a/extra/bind/meta b/extra/bind/meta
new file mode 100644
index 00000000..521759d0
--- /dev/null
+++ b/extra/bind/meta
@@ -0,0 +1,3 @@
+description: Berkeley Internet Name Domain server - DNS utils
+license: MPL-2.0
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/bind/sources b/extra/bind/sources
new file mode 100644
index 00000000..670cd625
--- /dev/null
+++ b/extra/bind/sources
@@ -0,0 +1 @@
+https://downloads.isc.org/isc/bind9/9.18.27/bind-9.18.27.tar.xz
diff --git a/extra/bind/version b/extra/bind/version
new file mode 100644
index 00000000..18ce22d7
--- /dev/null
+++ b/extra/bind/version
@@ -0,0 +1 @@
+9.18.27 1
diff --git a/extra/bison/build b/extra/bison/build
index 65b3cad9..f0407ff4 100755
--- a/extra/bison/build
+++ b/extra/bison/build
@@ -4,7 +4,8 @@ export LDFLAGS="$LDFLAGS -static"
export M4=gm4
./configure \
- --prefix=/usr
+ --prefix=/usr \
+ --disable-nls
make
make DESTDIR="$1" install
diff --git a/extra/bison/checksums b/extra/bison/checksums
index afe0ff04..2c67959a 100644
--- a/extra/bison/checksums
+++ b/extra/bison/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-e2190be2f57a32e2153773673412b65ef14b8f2f84d08fbc2a8a3ebf1bb6ee84 bison-3.8.1.tar.xz
+9dd90be8df4d0474b941e2ca14ac76d11b7ccb46edb26344b60d866178bbcc98 bison-3.8.2.tar.xz
diff --git a/extra/bison/sources b/extra/bison/sources
index 345db37d..7f06bbea 100644
--- a/extra/bison/sources
+++ b/extra/bison/sources
@@ -1 +1 @@
-https://ftp.gnu.org/gnu/bison/bison-3.8.1.tar.xz
+https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz
diff --git a/extra/bison/version b/extra/bison/version
index aecb372e..14495331 100644
--- a/extra/bison/version
+++ b/extra/bison/version
@@ -1 +1 @@
-3.8.1 1
+3.8.2 1
diff --git a/extra/bkeymaps/meta b/extra/bkeymaps/meta
new file mode 100644
index 00000000..110bb99c
--- /dev/null
+++ b/extra/bkeymaps/meta
@@ -0,0 +1,3 @@
+description: Binary keymap files for the console
+license: GPL-3.0-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/bmake/checksums b/extra/bmake/checksums
index f04feaef..f4cc9613 100644
--- a/extra/bmake/checksums
+++ b/extra/bmake/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-9dff16b5e64ab328ed9b919265515eaba405e5fc5b12d75f4d5ff6ba0d51623b bmake-20210808.tar.gz
+b7bf91770955b6e028f21b705252916f8b5d02e7c345cb79c9563236cb2bef25 bmake-20240921.tar.gz
diff --git a/extra/bmake/sources b/extra/bmake/sources
index 720c50e6..e4d6a6dc 100644
--- a/extra/bmake/sources
+++ b/extra/bmake/sources
@@ -1 +1 @@
-http://www.crufty.net/ftp/pub/sjg/bmake-20210808.tar.gz
+http://www.crufty.net/ftp/pub/sjg/bmake-20240921.tar.gz
diff --git a/extra/bmake/version b/extra/bmake/version
index a16869b5..7b07ec36 100644
--- a/extra/bmake/version
+++ b/extra/bmake/version
@@ -1 +1 @@
-20210808 1
+20240921 1
diff --git a/extra/brotli/build b/extra/brotli/build
new file mode 100755
index 00000000..3d8522d4
--- /dev/null
+++ b/extra/brotli/build
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+shared() {
+ LIBS=$1; shift
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_SHARED_LIBS="$LIBS" \
+ "$@"
+
+ cmake --build build
+ cmake --install build
+}
+
+shared ON
+shared OFF -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -static"
diff --git a/extra/brotli/checksums b/extra/brotli/checksums
new file mode 100644
index 00000000..e903eaf9
--- /dev/null
+++ b/extra/brotli/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+df15ff5f4a14f9d85ba9f70afba46f8d85f079cefa6d213b8c7f4e8aa1d3885b v1.1.0.tar.gz
diff --git a/extra/brotli/depends b/extra/brotli/depends
new file mode 100644
index 00000000..7d91ec22
--- /dev/null
+++ b/extra/brotli/depends
@@ -0,0 +1 @@
+cmake make
diff --git a/extra/brotli/meta b/extra/brotli/meta
new file mode 100644
index 00000000..b5e69cdf
--- /dev/null
+++ b/extra/brotli/meta
@@ -0,0 +1,3 @@
+description: Generic-purpose lossless compression algorithm
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/brotli/sources b/extra/brotli/sources
new file mode 100644
index 00000000..9929dd44
--- /dev/null
+++ b/extra/brotli/sources
@@ -0,0 +1 @@
+https://github.com/google/brotli/archive/refs/tags/v1.1.0.tar.gz
diff --git a/extra/brotli/version b/extra/brotli/version
new file mode 100644
index 00000000..cc57f911
--- /dev/null
+++ b/extra/brotli/version
@@ -0,0 +1 @@
+1.1.0 2
diff --git a/extra/cairo/build b/extra/cairo/build
index 90ed8ead..758be720 100755
--- a/extra/cairo/build
+++ b/extra/cairo/build
@@ -1,27 +1,18 @@
#!/bin/sh -e
-sed_i() {
- for file; do :; done
- sed "$@" >_
- cat _ > "$file"; rm -f _
-}
+export DESTDIR="$1"
-# Disable building 'cairo-sphinx'.
-sed_i "s/BUILD_SPHINX_TRUE=/BUILD_SPHINX_TRUE='#'/" configure
-sed_i "s/BUILD_SPHINX_FALSE='#'/BUILD_SPHINX_FALSE=/" configure
+cl-meson \
+ -Ddefault_library=both \
+ -Dtee=enabled \
+ -Dglib=enabled \
+ -Dfontconfig=enabled \
+ -Dfreetype=enabled \
+ -Dgtk_doc=false \
+ -Dxcb=enabled \
+ -Dzlib=enabled \
+ -Dpng=enabled \
+ . output
-./configure \
- --prefix=/usr \
- --enable-tee \
- --enable-gl \
- --enable-egl \
- --enable-xlib-xcb \
- --enable-xcb \
- --enable-xlib-xrender \
- --enable-xlib \
- --disable-trace \
- --disable-valgrind \
- --disable-gtk-doc-html
-
-make
-make DESTDIR="$1" install
+ninja -C output
+ninja -C output install
diff --git a/extra/cairo/checksums b/extra/cairo/checksums
index a07be27b..24def2b9 100644
--- a/extra/cairo/checksums
+++ b/extra/cairo/checksums
@@ -1 +1,2 @@
-5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331 cairo-1.16.0.tar.xz
+%BLAKE3
+87aa80e009ba292c6bb0d9192bfa259927e668db366f0cb00823a3247daa4e5b cairo-1.18.2.tar.xz
diff --git a/extra/cairo/sources b/extra/cairo/sources
index e43c5aab..144d874b 100644
--- a/extra/cairo/sources
+++ b/extra/cairo/sources
@@ -1 +1 @@
-https://cairographics.org/releases/cairo-1.16.0.tar.xz
+https://cairographics.org/releases/cairo-1.18.2.tar.xz
diff --git a/extra/cairo/version b/extra/cairo/version
index 7a092de2..456db47c 100644
--- a/extra/cairo/version
+++ b/extra/cairo/version
@@ -1 +1 @@
-1.16.0 3
+1.18.2 1
diff --git a/extra/calcurse/checksums b/extra/calcurse/checksums
index 833c0042..61c07447 100644
--- a/extra/calcurse/checksums
+++ b/extra/calcurse/checksums
@@ -1 +1,2 @@
-0a7c55d07674569d166c0b0e7587b2972d3da8160cdb7d60b1dbd2895803afb0 calcurse-4.7.1.tar.gz
+%BLAKE3
+87fa6a30e12d26193cb07ed6c3d4dd04c1bf50cb9e5fc153a0c59f794ddb3131 calcurse-4.8.1.tar.gz
diff --git a/extra/calcurse/sources b/extra/calcurse/sources
index 94892437..51501140 100644
--- a/extra/calcurse/sources
+++ b/extra/calcurse/sources
@@ -1 +1 @@
-https://calcurse.org/files/calcurse-4.7.1.tar.gz
+https://calcurse.org/files/calcurse-4.8.1.tar.gz
diff --git a/extra/calcurse/version b/extra/calcurse/version
index 76aade39..918b3906 100644
--- a/extra/calcurse/version
+++ b/extra/calcurse/version
@@ -1 +1 @@
-4.7.1 1
+4.8.1 1
diff --git a/extra/catgirl/build b/extra/catgirl/build
new file mode 100755
index 00000000..3a3e777c
--- /dev/null
+++ b/extra/catgirl/build
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+export LDFLAGS="$LDFLAGS -static"
+export PKG_CONFIG="pkgconf --static"
+
+./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man
+
+make all
+make DESTDIR="$1" install
diff --git a/extra/catgirl/checksums b/extra/catgirl/checksums
new file mode 100644
index 00000000..fa6799bc
--- /dev/null
+++ b/extra/catgirl/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+fc5dc04c584d620346e96f376df1f467d374668283364173e5a3d256c2527615 catgirl-2.2a.tar.gz
diff --git a/extra/catgirl/depends b/extra/catgirl/depends
new file mode 100644
index 00000000..f54139f7
--- /dev/null
+++ b/extra/catgirl/depends
@@ -0,0 +1,2 @@
+libressl make
+ncurses make
diff --git a/extra/catgirl/message b/extra/catgirl/message
new file mode 100644
index 00000000..d8a91e7a
--- /dev/null
+++ b/extra/catgirl/message
@@ -0,0 +1,5 @@
+NOTE
+
+catgirl(1) depends on the openssl(1) binary for certificate
+generation, but it's not listed as a runtime dependency.
+
diff --git a/extra/catgirl/meta b/extra/catgirl/meta
new file mode 100644
index 00000000..1f1b31fd
--- /dev/null
+++ b/extra/catgirl/meta
@@ -0,0 +1,3 @@
+description: TLS-only terminal IRC client
+license: GPL-3.0-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/catgirl/sources b/extra/catgirl/sources
new file mode 100644
index 00000000..2a240d8b
--- /dev/null
+++ b/extra/catgirl/sources
@@ -0,0 +1 @@
+https://git.causal.agency/catgirl/snapshot/catgirl-2.2a.tar.gz
diff --git a/extra/catgirl/version b/extra/catgirl/version
new file mode 100644
index 00000000..69604d98
--- /dev/null
+++ b/extra/catgirl/version
@@ -0,0 +1 @@
+2.2a 1
diff --git a/extra/ccache/build b/extra/ccache/build
index 6ccbdbdd..9912e24a 100755
--- a/extra/ccache/build
+++ b/extra/ccache/build
@@ -1,6 +1,6 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
export LDFLAGS="$LDFLAGS -static"
TEST=OFF
diff --git a/extra/ccache/checksums b/extra/ccache/checksums
index 4d04f9ef..2fa34e49 100644
--- a/extra/ccache/checksums
+++ b/extra/ccache/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-c7acf5b2834503ca5442339216a46a5a0442077a75f89a397f8cbade1e905394 ccache-4.4.1.tar.xz
+7585b0d9483fda7b66b7371e831703abcf4aaad941272be13708ded51ea5696c ccache-4.10.2.tar.xz
diff --git a/extra/ccache/sources b/extra/ccache/sources
index 952e39c6..b492ca37 100644
--- a/extra/ccache/sources
+++ b/extra/ccache/sources
@@ -1 +1 @@
-https://github.com/ccache/ccache/releases/download/v4.4.1/ccache-4.4.1.tar.xz
+https://github.com/ccache/ccache/releases/download/v4.10.2/ccache-4.10.2.tar.xz
diff --git a/extra/ccache/version b/extra/ccache/version
index 2cb41e4b..fff9ba1d 100644
--- a/extra/ccache/version
+++ b/extra/ccache/version
@@ -1 +1 @@
-4.4.1 1
+4.10.2 1
diff --git a/extra/clang/build b/extra/clang/build
deleted file mode 100755
index e241c57c..00000000
--- a/extra/clang/build
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh -e
-
-export DESTDIR="$1"
-
-cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release \
- -DLLVM_ENABLE_RTTI=ON \
- -DLLVM_ENABLE_EH=ON \
- -DCLANG_BUILD_EXAMPLES=OFF \
- -DCLANG_INCLUDE_DOCS=OFF \
- -DCLANG_INCLUDE_TESTS=OFF \
- -DLIBCLANG_BUILD_STATIC=ON \
- -Wno-dev
-
-cmake --build build
-cmake --install build
diff --git a/extra/clang/checksums b/extra/clang/checksums
deleted file mode 100644
index 9d5877a2..00000000
--- a/extra/clang/checksums
+++ /dev/null
@@ -1 +0,0 @@
-6e912133bcf56e9cfe6a346fa7e5c52c2cde3e4e48b7a6cc6fcc7c75047da45f clang-12.0.1.src.tar.xz
diff --git a/extra/clang/depends b/extra/clang/depends
deleted file mode 100644
index 7a0f0b0e..00000000
--- a/extra/clang/depends
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake make
-llvm
-python make
-xz
-zlib
diff --git a/extra/clang/version b/extra/clang/version
deleted file mode 100644
index 0ada45b8..00000000
--- a/extra/clang/version
+++ /dev/null
@@ -1 +0,0 @@
-12.0.1 1
diff --git a/extra/cmake/build b/extra/cmake/build
index 0cf437d5..5b13d23c 100755
--- a/extra/cmake/build
+++ b/extra/cmake/build
@@ -6,12 +6,17 @@ if cpt-list cmake >/dev/null 2>&1; then
cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
- -DCMAKE_SHARED_LIBS=True \
+ -DCMAKE_SHARED_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_USE_SYSTEM_CURL=True \
- -DCMAKE_USE_SYSTEM_EXPAT=True \
- -DCMAKE_USE_SYSTEM_ZLIB=True \
- -DCMAKE_USE_SYSTEM_BZIP2=True \
+ -DCMAKE_USE_SYSTEM_BZIP2=ON \
+ -DCMAKE_USE_SYSTEM_CURL=ON \
+ -DCMAKE_USE_SYSTEM_EXPAT=ON \
+ -DCMAKE_USE_SYSTEM_LIBARCHIVE=ON \
+ -DCMAKE_USE_SYSTEM_LIBLZMA=ON \
+ -DCMAKE_USE_SYSTEM_LIBUV=OFF \
+ -DCMAKE_USE_SYSTEM_NGHTTP2=ON \
+ -DCMAKE_USE_SYSTEM_ZLIB=ON \
+ -DCMAKE_USE_SYSTEM_ZSTD=ON \
-DBUILD_TESTING=OFF
cmake --build build
diff --git a/extra/cmake/checksums b/extra/cmake/checksums
index dc18509f..72bd4fef 100644
--- a/extra/cmake/checksums
+++ b/extra/cmake/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-d71d586c98ba2b2704eed8fa2eee8cd6fdf6d93ad229a30f8d12c8fc17077e85 cmake-3.21.3.tar.gz
+e8de367a7004a9572bf7708493591b77ea9eceda8e6de40fd208f25ef9b00d8c cmake-3.27.7.tar.gz
diff --git a/extra/cmake/depends b/extra/cmake/depends
index e70118ad..fe7069a4 100644
--- a/extra/cmake/depends
+++ b/extra/cmake/depends
@@ -1,4 +1,6 @@
bzip2
curl
expat
+libarchive
zlib
+zstd
diff --git a/extra/cmake/sources b/extra/cmake/sources
index 5b1fe352..3a13951b 100644
--- a/extra/cmake/sources
+++ b/extra/cmake/sources
@@ -1 +1 @@
-https://github.com/Kitware/CMake/releases/download/v3.21.3/cmake-3.21.3.tar.gz
+https://github.com/Kitware/CMake/releases/download/v3.27.7/cmake-3.27.7.tar.gz
diff --git a/extra/cmake/version b/extra/cmake/version
index f1ad24dd..5b4ccd11 100644
--- a/extra/cmake/version
+++ b/extra/cmake/version
@@ -1 +1 @@
-3.21.3 1
+3.27.7 1
diff --git a/extra/pinentry-dmenu/meta b/extra/cpt-extra/meta
index bc9f565d..a167b10b 100644
--- a/extra/pinentry-dmenu/meta
+++ b/extra/cpt-extra/meta
@@ -1,3 +1,3 @@
-description: Pinentry program using dmenu
+description: Extra utilities for CPT
license: MIT
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/dash/checksums b/extra/dash/checksums
index 4ba9ac7d..c46dd470 100644
--- a/extra/dash/checksums
+++ b/extra/dash/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-1a1413b7f1643f3661f6b7fbee7f54024632bf14cb4c31422392742e990cfd35 dash-0.5.11.5.tar.gz
+0abee44e167867603004bbdaf9f465baf21f43758d631caa28c02ca9500149d7 dash-0.5.12.tar.gz
diff --git a/extra/dash/sources b/extra/dash/sources
index b6d717b6..47c36286 100644
--- a/extra/dash/sources
+++ b/extra/dash/sources
@@ -1 +1 @@
-http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.11.5.tar.gz
+http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.12.tar.gz
diff --git a/extra/dash/version b/extra/dash/version
index 56b1d606..5230c91e 100644
--- a/extra/dash/version
+++ b/extra/dash/version
@@ -1 +1 @@
-0.5.11.5 1
+0.5.12 1
diff --git a/extra/dejavu-fonts-ttf/build b/extra/dejavu-fonts-ttf/build
deleted file mode 100755
index aa348369..00000000
--- a/extra/dejavu-fonts-ttf/build
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-
-clinst -Dm644 -t "$1/usr/share/fonts/TTF" ttf/*.ttf
-clinst -Dm644 -t "$1/etc/fonts/conf.avail" fontconfig/*.conf
diff --git a/extra/dejavu-fonts-ttf/checksums b/extra/dejavu-fonts-ttf/checksums
deleted file mode 100644
index a5b84091..00000000
--- a/extra/dejavu-fonts-ttf/checksums
+++ /dev/null
@@ -1 +0,0 @@
-fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7 dejavu-fonts-ttf-2.37.tar.bz2
diff --git a/extra/dejavu-fonts-ttf/sources b/extra/dejavu-fonts-ttf/sources
deleted file mode 100644
index 63900c79..00000000
--- a/extra/dejavu-fonts-ttf/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://downloads.sourceforge.net/dejavu/dejavu-fonts-ttf-2.37.tar.bz2
diff --git a/extra/dejavu-fonts-ttf/version b/extra/dejavu-fonts-ttf/version
deleted file mode 100644
index c304d360..00000000
--- a/extra/dejavu-fonts-ttf/version
+++ /dev/null
@@ -1 +0,0 @@
-2.37 1
diff --git a/extra/dhcpcd/build b/extra/dhcpcd/build
index 1625c95d..7760cabd 100755
--- a/extra/dhcpcd/build
+++ b/extra/dhcpcd/build
@@ -8,7 +8,8 @@ export LDFLAGS="$LDFLAGS -static"
--sbindir=/usr/bin \
--sysconfdir=/etc \
--rundir=/run \
- --without-udev
+ --without-udev \
+ --without-openssl
make
make DESTDIR="$1" install
diff --git a/extra/dhcpcd/checksums b/extra/dhcpcd/checksums
index 46b8ad71..bd5dd93f 100644
--- a/extra/dhcpcd/checksums
+++ b/extra/dhcpcd/checksums
@@ -1,2 +1,3 @@
-9bac373f17e8a2f8102aecdc4be65f33de60046abb4416e543901c66861828cd dhcpcd-9.4.0.tar.gz
-533714c2f3edcd70e47822cb880d8e8ffdba673b10452ea808037ec2714a375c dhcpcd.run
+%BLAKE3
+c4f79af0f494a345bc20fedcbf47317e3377904374b227ccc4851e8f4d42ec88 dhcpcd-10.1.0.tar.xz
+ca75436f34426b9c18e35cf7368381f602cfcb86fdb7ef137f9a5386d103511c dhcpcd.run
diff --git a/extra/dhcpcd/sources b/extra/dhcpcd/sources
index f5f44a0f..1248be2c 100644
--- a/extra/dhcpcd/sources
+++ b/extra/dhcpcd/sources
@@ -1,2 +1,2 @@
-https://github.com/rsmarples/dhcpcd/archive/dhcpcd-9.4.0.tar.gz
+https://github.com/NetworkConfiguration/dhcpcd/releases/download/v10.1.0/dhcpcd-10.1.0.tar.xz
files/dhcpcd.run
diff --git a/extra/dhcpcd/version b/extra/dhcpcd/version
index 53139a71..3d0f48ce 100644
--- a/extra/dhcpcd/version
+++ b/extra/dhcpcd/version
@@ -1 +1 @@
-9.4.0 1
+10.1.0 1
diff --git a/extra/dialog/checksums b/extra/dialog/checksums
index fe65a5d3..2e272d5e 100644
--- a/extra/dialog/checksums
+++ b/extra/dialog/checksums
@@ -1 +1,2 @@
-c3af22ccfcd9baca384062108dd9354e86990929ee270c239eef69518c5da7c8 dialog-1.3-20210621.tgz
+%BLAKE3
+f7ae0424dbb7c99be7cf5e4f4c885a07d481c2f345b41e5e3393467198b7dc56 dialog-1.3-20240619.tgz
diff --git a/extra/dialog/sources b/extra/dialog/sources
index d42ee3d4..2254bafb 100644
--- a/extra/dialog/sources
+++ b/extra/dialog/sources
@@ -1 +1 @@
-https://invisible-mirror.net/archives/dialog/dialog-1.3-20210621.tgz
+https://invisible-mirror.net/archives/dialog/dialog-1.3-20240619.tgz
diff --git a/extra/dialog/version b/extra/dialog/version
index c7bf0f46..45d960e7 100644
--- a/extra/dialog/version
+++ b/extra/dialog/version
@@ -1 +1 @@
-1.3-20210621 1
+1.3-20240619 1
diff --git a/extra/distcc/version b/extra/distcc/version
index 5647cc28..192b0c1c 100644
--- a/extra/distcc/version
+++ b/extra/distcc/version
@@ -1 +1 @@
-3.4 1
+3.4 2
diff --git a/extra/dmenu/checksums b/extra/dmenu/checksums
index bf0a70cb..44b8a0e7 100644
--- a/extra/dmenu/checksums
+++ b/extra/dmenu/checksums
@@ -1 +1,2 @@
-fe18e142c4dbcf71ba5757dbbdea93b1c67d58fc206fc116664f4336deef6ed3 dmenu-5.0.tar.gz
+%BLAKE3
+17ac5095774b227168a2236cd2ce6a7dcaa2258adce5aaebbb58825731a62232 dmenu-5.3.tar.gz
diff --git a/extra/dmenu/depends b/extra/dmenu/depends
index 4d839430..f4fdd358 100644
--- a/extra/dmenu/depends
+++ b/extra/dmenu/depends
@@ -1,3 +1,2 @@
libXft
libXinerama
-xorg-server
diff --git a/extra/dmenu/sources b/extra/dmenu/sources
index 7212199d..5fc029ec 100644
--- a/extra/dmenu/sources
+++ b/extra/dmenu/sources
@@ -1 +1 @@
-https://dl.suckless.org/tools/dmenu-5.0.tar.gz
+https://dl.suckless.org/tools/dmenu-5.3.tar.gz
diff --git a/extra/dmenu/version b/extra/dmenu/version
index d80bad42..5cf5a956 100644
--- a/extra/dmenu/version
+++ b/extra/dmenu/version
@@ -1 +1 @@
-5.0 1
+5.3 1
diff --git a/extra/dropbear/checksums b/extra/dropbear/checksums
index 378fa2a0..b258b0cf 100644
--- a/extra/dropbear/checksums
+++ b/extra/dropbear/checksums
@@ -1,2 +1,3 @@
-48235d10b37775dbda59341ac0c4b239b82ad6318c31568b985730c788aac53b dropbear-2020.81.tar.bz2
-49ed67d1c3ffda251a08e110d67bf56cef1a12e0b1b81cbf7fdda51229a28572 run
+%BLAKE3
+a71c5dc8d0cfe3b31e47f87394a537b80fe96b528e76cd41b8b9afc99b74706f dropbear-2024.85.tar.bz2
+06e4c21e9611939c56532fe790c4a3bd42440d6259114327acac9762b2e80a48 run
diff --git a/extra/dropbear/sources b/extra/dropbear/sources
index 2b0a6507..11997725 100644
--- a/extra/dropbear/sources
+++ b/extra/dropbear/sources
@@ -1,2 +1,2 @@
-https://matt.ucc.asn.au/dropbear/releases/dropbear-2020.81.tar.bz2
+https://matt.ucc.asn.au/dropbear/releases/dropbear-2024.85.tar.bz2
files/run
diff --git a/extra/dropbear/version b/extra/dropbear/version
index d8bb03f4..36176fcd 100644
--- a/extra/dropbear/version
+++ b/extra/dropbear/version
@@ -1 +1 @@
-2020.81 1
+2024.85 1
diff --git a/extra/efibootmgr/build b/extra/efibootmgr/build
index c6c4bddc..913c5c35 100755
--- a/extra/efibootmgr/build
+++ b/extra/efibootmgr/build
@@ -2,7 +2,7 @@
export LDFLAGS="$LDFLAGS -static"
-make CC="${CC:-cc}" EFIDIR=/boot/efi efibootmgr
+make CC="${CC:-cc}" EFIDIR=/boot/efi efibootmgr src/efibootmgr.8
clinst -Dm755 src/efibootmgr "$1/usr/bin/efibootmgr"
clman -d "$1" src/efibootmgr.8
diff --git a/extra/efibootmgr/checksums b/extra/efibootmgr/checksums
index abf7ec57..97482084 100644
--- a/extra/efibootmgr/checksums
+++ b/extra/efibootmgr/checksums
@@ -1 +1,2 @@
-06147c05c3f15271fc74c1761eb8fdb8ed3c252786c8d0b4f514a451825ecf3e 97668ae0bce776a36ea2001dea63d376be8274ac.tar.gz
+%BLAKE3
+e68c0aa061a0573ce305c44be3486edbf0ae12416c0916151aaf3e5caa11cc7a efibootmgr-18.tar.bz2
diff --git a/extra/efibootmgr/sources b/extra/efibootmgr/sources
index 3e6cee81..b4404cc5 100644
--- a/extra/efibootmgr/sources
+++ b/extra/efibootmgr/sources
@@ -1 +1 @@
-https://github.com/rhboot/efibootmgr/archive/97668ae0bce776a36ea2001dea63d376be8274ac.tar.gz
+https://github.com/rhboot/efibootmgr/releases/download/18/efibootmgr-18.tar.bz2
diff --git a/extra/efibootmgr/version b/extra/efibootmgr/version
index 5e661b99..e14d8208 100644
--- a/extra/efibootmgr/version
+++ b/extra/efibootmgr/version
@@ -1 +1 @@
-17 1
+18 1
diff --git a/extra/efivar/build b/extra/efivar/build
index 427316ac..43b2291f 100755
--- a/extra/efivar/build
+++ b/extra/efivar/build
@@ -2,12 +2,9 @@
export LDFLAGS="$LDFLAGS -static"
-for patch in *.patch; do
- patch -p1 < "$patch"
-done
-
mk() {
make \
+ TOPDIR=.. \
libdir=/usr/lib/ \
bindir=/usr/bin/ \
mandir=/usr/share/man/ \
@@ -17,9 +14,11 @@ mk() {
(
cd src
+ clsed '/#include <sys\/cdefs.h>/d' compiler.h
# Build static targets.
- mk libefiboot.a libefivar.a efivar-static efiboot.pc efivar.pc
+ mk libefiboot.a libefivar.a efiboot.pc efivar.pc
+ mk efivar-static
# Install the binary.
clinst -Dm755 efivar-static "$1/usr/bin/efivar"
diff --git a/extra/efivar/checksums b/extra/efivar/checksums
index d71f9187..f16dd4b4 100644
--- a/extra/efivar/checksums
+++ b/extra/efivar/checksums
@@ -1,6 +1,2 @@
-3c67feb93f901b98fbb897d5ca82931a6698b5bcd6ac34f0815f670d77747b9f efivar-37.tar.bz2
-475ca086eecabeaaff6111c3e6766f7e31d88a4fb6e0d082e34201e2cfaf295a 01-b98ba8921010d03f46704a476c69861515deb1ca.patch
-7e72f92eb0d03558b9b14ede6a68e29c0051ffe745a8c7a84d06dce6af458351 02-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch
-c3dcda97408b7d4957d440b1802081d1861a9923c7d4eb5ee6d3c9e31ae668fc 03-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch
-4d53ca9f09e3704aa0cc58f36cf475f9c0e54464305930d0ea9e26e7d0461ef6 04-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch
-bc552a018399fb9c976b0087f3407ec34004f8b64a5982af76556dcd790852aa 05-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch
+%BLAKE3
+51adfa6d88e2768313a223d197f9edd88f15f3889fdae985b2222da87792e64a 39.tar.gz
diff --git a/extra/efivar/patches/01-b98ba8921010d03f46704a476c69861515deb1ca.patch b/extra/efivar/patches/01-b98ba8921010d03f46704a476c69861515deb1ca.patch
deleted file mode 100644
index f40942f4..00000000
--- a/extra/efivar/patches/01-b98ba8921010d03f46704a476c69861515deb1ca.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From b98ba8921010d03f46704a476c69861515deb1ca Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Mon, 7 Jan 2019 10:30:59 -0500
-Subject: [PATCH] dp.h: make format_guid() handle misaligned guid pointers
- safely.
-
-GCC 9 adds -Werror=address-of-packed-member, which causes us to see the
-build error reported at
- https://bugzilla.opensuse.org/show_bug.cgi?id=1120862 .
-
-That bug report shows us the following:
-
-In file included from dp.c:26:
-dp.h: In function 'format_vendor_helper':
-dp.h:120:37: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member]
- 120 | format_guid(buf, size, off, label, &dp->hw_vendor.vendor_guid);
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~
-dp.h:74:25: note: in definition of macro 'format_guid'
- 74 | _rc = efi_guid_to_str(guid, &_guidstr); \
- | ^~~~
-cc1: all warnings being treated as errors
-
-This patch makes format_guid() use a local variable as a bounce buffer
-in the case that the guid we're passed is aligned as chaotic neutral.
-
-Note that this only fixes this instance and there may be others that bz
-didn't show because it exited too soon, and I don't have a gcc 9 build
-in front of me right now.
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
----
- src/dp.h | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/src/dp.h b/src/dp.h
-index aa4e390..20cb608 100644
---- a/src/dp.h
-+++ b/src/dp.h
-@@ -70,8 +70,15 @@
- #define format_guid(buf, size, off, dp_type, guid) ({ \
- int _rc; \
- char *_guidstr = NULL; \
-- \
-- _rc = efi_guid_to_str(guid, &_guidstr); \
-+ efi_guid_t _guid; \
-+ const efi_guid_t * const _guid_p = \
-+ likely(__alignof__(guid) == sizeof(guid)) \
-+ ? guid \
-+ : &_guid; \
-+ \
-+ if (unlikely(__alignof__(guid) == sizeof(guid))) \
-+ memmove(&_guid, guid, sizeof(_guid)); \
-+ _rc = efi_guid_to_str(_guid_p, &_guidstr); \
- if (_rc < 0) { \
- efi_error("could not build %s GUID DP string", \
- dp_type); \
diff --git a/extra/efivar/patches/02-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch b/extra/efivar/patches/02-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch
deleted file mode 100644
index bbb6a99a..00000000
--- a/extra/efivar/patches/02-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From c3c553db85ff10890209d0fe48fb4856ad68e4e0 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Thu, 21 Feb 2019 15:20:12 -0500
-Subject: [PATCH] Fix all the places -Werror=address-of-packed-member catches.
-
-This gets rid of all the places GCC 9's -Werror=address-of-packed-member
-flags as problematic.
-
-Fixes github issue #123
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
----
- src/dp-message.c | 6 ++++--
- src/dp.h | 12 ++++--------
- src/guid.c | 2 +-
- src/include/efivar/efivar.h | 2 +-
- src/ucs2.h | 27 +++++++++++++++++++--------
- 5 files changed, 29 insertions(+), 20 deletions(-)
-
-diff --git a/src/dp-message.c b/src/dp-message.c
-index 3724e5f..9f96466 100644
---- a/src/dp-message.c
-+++ b/src/dp-message.c
-@@ -620,11 +620,13 @@ _format_message_dn(char *buf, size_t size, const_efidp dp)
- ) / sizeof(efi_ip_addr_t);
- format(buf, size, off, "Dns", "Dns(");
- for (int i=0; i < end; i++) {
-- const efi_ip_addr_t *addr = &dp->dns.addrs[i];
-+ efi_ip_addr_t addr;
-+
-+ memcpy(&addr, &dp->dns.addrs[i], sizeof(addr));
- if (i != 0)
- format(buf, size, off, "Dns", ",");
- format_ip_addr(buf, size, off, "Dns",
-- dp->dns.is_ipv6, addr);
-+ dp->dns.is_ipv6, &addr);
- }
- format(buf, size, off, "Dns", ")");
- break;
-diff --git a/src/dp.h b/src/dp.h
-index 20cb608..1f921d5 100644
---- a/src/dp.h
-+++ b/src/dp.h
-@@ -71,13 +71,9 @@
- int _rc; \
- char *_guidstr = NULL; \
- efi_guid_t _guid; \
-- const efi_guid_t * const _guid_p = \
-- likely(__alignof__(guid) == sizeof(guid)) \
-- ? guid \
-- : &_guid; \
-- \
-- if (unlikely(__alignof__(guid) == sizeof(guid))) \
-- memmove(&_guid, guid, sizeof(_guid)); \
-+ const efi_guid_t * const _guid_p = &_guid; \
-+ \
-+ memmove(&_guid, guid, sizeof(_guid)); \
- _rc = efi_guid_to_str(_guid_p, &_guidstr); \
- if (_rc < 0) { \
- efi_error("could not build %s GUID DP string", \
-@@ -86,7 +82,7 @@
- _guidstr = onstack(_guidstr, \
- strlen(_guidstr)+1); \
- _rc = format(buf, size, off, dp_type, "%s", \
-- _guidstr); \
-+ _guidstr); \
- } \
- _rc; \
- })
-diff --git a/src/guid.c b/src/guid.c
-index 306c9ff..3156b3b 100644
---- a/src/guid.c
-+++ b/src/guid.c
-@@ -31,7 +31,7 @@
- extern const efi_guid_t efi_guid_zero;
-
- int NONNULL(1, 2) PUBLIC
--efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b)
-+efi_guid_cmp(const void * const a, const void * const b)
- {
- return memcmp(a, b, sizeof (efi_guid_t));
- }
-diff --git a/src/include/efivar/efivar.h b/src/include/efivar/efivar.h
-index 316891c..ad6449d 100644
---- a/src/include/efivar/efivar.h
-+++ b/src/include/efivar/efivar.h
-@@ -128,7 +128,7 @@ extern int efi_symbol_to_guid(const char *symbol, efi_guid_t *guid)
-
- extern int efi_guid_is_zero(const efi_guid_t *guid);
- extern int efi_guid_is_empty(const efi_guid_t *guid);
--extern int efi_guid_cmp(const efi_guid_t *a, const efi_guid_t *b);
-+extern int efi_guid_cmp(const void * const a, const void * const b);
-
- /* import / export functions */
- typedef struct efi_variable efi_variable_t;
-diff --git a/src/ucs2.h b/src/ucs2.h
-index dbb5900..edd8367 100644
---- a/src/ucs2.h
-+++ b/src/ucs2.h
-@@ -23,16 +23,21 @@
- (((val) & ((mask) << (shift))) >> (shift))
-
- static inline size_t UNUSED
--ucs2len(const uint16_t * const s, ssize_t limit)
-+ucs2len(const void *vs, ssize_t limit)
- {
- ssize_t i;
-- for (i = 0; i < (limit >= 0 ? limit : i+1) && s[i] != (uint16_t)0; i++)
-+ const uint16_t *s = vs;
-+ const uint8_t *s8 = vs;
-+
-+ for (i = 0;
-+ i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0;
-+ i++, s8 += 2, s++)
- ;
- return i;
- }
-
- static inline size_t UNUSED
--ucs2size(const uint16_t * const s, ssize_t limit)
-+ucs2size(const void *s, ssize_t limit)
- {
- size_t rc = ucs2len(s, limit);
- rc *= sizeof (uint16_t);
-@@ -69,10 +74,11 @@ utf8size(uint8_t *s, ssize_t limit)
- }
-
- static inline unsigned char * UNUSED
--ucs2_to_utf8(const uint16_t * const chars, ssize_t limit)
-+ucs2_to_utf8(const void * const voidchars, ssize_t limit)
- {
- ssize_t i, j;
- unsigned char *ret;
-+ const uint16_t * const chars = voidchars;
-
- if (limit < 0)
- limit = ucs2len(chars, -1);
-@@ -124,10 +130,12 @@ ucs2_to_utf8(const uint16_t * const chars, ssize_t limit)
- }
-
- static inline ssize_t UNUSED NONNULL(4)
--utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8)
-+utf8_to_ucs2(void *ucs2void, ssize_t size, int terminate, uint8_t *utf8)
- {
- ssize_t req;
- ssize_t i, j;
-+ uint16_t *ucs2 = ucs2void;
-+ uint16_t val16;
-
- if (!ucs2 && size > 0) {
- errno = EINVAL;
-@@ -162,10 +170,13 @@ utf8_to_ucs2(uint16_t *ucs2, ssize_t size, int terminate, uint8_t *utf8)
- val = utf8[i] & 0x7f;
- i += 1;
- }
-- ucs2[j] = val;
-+ val16 = val;
-+ ucs2[j] = val16;
-+ }
-+ if (terminate) {
-+ val16 = 0;
-+ ucs2[j++] = val16;
- }
-- if (terminate)
-- ucs2[j++] = (uint16_t)0;
- return j;
- };
-
diff --git a/extra/efivar/patches/03-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch b/extra/efivar/patches/03-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch
deleted file mode 100644
index e4a43582..00000000
--- a/extra/efivar/patches/03-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 0dad6d78a7fb5f6c5fb4a1d646040539db6cf865 Mon Sep 17 00:00:00 2001
-From: Chih-Wei Huang <cwhuang@linux.org.tw>
-Date: Tue, 26 Feb 2019 18:42:20 +0800
-Subject: [PATCH] Fix another error of -Werror=address-of-packed-member
-
-Android 9 clang complains:
-
-external/efivar/src/dp-message.c:367:24: error: taking address of packed member '' of class or structure 'efidp_infiniband' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
- (efi_guid_t *)&dp->infiniband.ioc_guid);
- ^~~~~~~~~~~~~~~~~~~~~~~
-external/efivar/src/dp.h:76:19: note: expanded from macro 'format_guid'
- memmove(&_guid, guid, sizeof(_guid)); \
- ^~~~
-1 error generated.
-
-Since commit c3c553d the fifth parameter of format_guid() is treated as
-a const void *. The casting is unnecessary.
-
-Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
----
- src/dp-media.c | 3 +--
- src/dp-message.c | 2 +-
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/dp-media.c b/src/dp-media.c
-index 96a576f..be691c4 100644
---- a/src/dp-media.c
-+++ b/src/dp-media.c
-@@ -46,8 +46,7 @@ _format_media_dn(char *buf, size_t size, const_efidp dp)
- break;
- case EFIDP_HD_SIGNATURE_GUID:
- format(buf, size, off, "HD", "GPT,");
-- format_guid(buf, size, off, "HD",
-- (efi_guid_t *)dp->hd.signature);
-+ format_guid(buf, size, off, "HD", dp->hd.signature);
- format(buf, size, off, "HD",
- ",0x%"PRIx64",0x%"PRIx64")",
- dp->hd.start, dp->hd.size);
-diff --git a/src/dp-message.c b/src/dp-message.c
-index 9f96466..6b8e907 100644
---- a/src/dp-message.c
-+++ b/src/dp-message.c
-@@ -364,7 +364,7 @@ _format_message_dn(char *buf, size_t size, const_efidp dp)
- dp->infiniband.port_gid[1],
- dp->infiniband.port_gid[0]);
- format_guid(buf, size, off, "Infiniband",
-- (efi_guid_t *)&dp->infiniband.ioc_guid);
-+ &dp->infiniband.ioc_guid);
- format(buf, size, off, "Infiniband",
- ",%"PRIu64",%"PRIu64")",
- dp->infiniband.target_port_id,
diff --git a/extra/efivar/patches/04-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch b/extra/efivar/patches/04-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch
deleted file mode 100644
index 513c0e73..00000000
--- a/extra/efivar/patches/04-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From fdb803402fb32fa6d020bac57a40c7efe4aabb7d Mon Sep 17 00:00:00 2001
-From: Javier Martinez Canillas <javierm@redhat.com>
-Date: Tue, 5 Mar 2019 17:23:24 +0100
-Subject: [PATCH] ucs2.h: remove unused variable
-
-The const uint16_t pointer is not used since now the two bytes of the
-UCS-2 chars are checked to know if is the termination of the string.
-
-Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
----
- src/ucs2.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/ucs2.h b/src/ucs2.h
-index edd8367..e0390c3 100644
---- a/src/ucs2.h
-+++ b/src/ucs2.h
-@@ -26,12 +26,11 @@ static inline size_t UNUSED
- ucs2len(const void *vs, ssize_t limit)
- {
- ssize_t i;
-- const uint16_t *s = vs;
- const uint8_t *s8 = vs;
-
- for (i = 0;
- i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0;
-- i++, s8 += 2, s++)
-+ i++, s8 += 2)
- ;
- return i;
- }
diff --git a/extra/efivar/patches/05-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch b/extra/efivar/patches/05-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch
deleted file mode 100644
index 176e3fd1..00000000
--- a/extra/efivar/patches/05-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e Mon Sep 17 00:00:00 2001
-From: Javier Martinez Canillas <javierm@redhat.com>
-Date: Tue, 5 Mar 2019 17:23:32 +0100
-Subject: [PATCH] ucs2.h: fix logic that checks for UCS-2 string termination
-
-Currently the loop to count the lenght of the UCS-2 string ends if either
-of the two bytes are 0, but 0 is a valid value for UCS-2 character codes.
-
-So only break the loop when 0 is the value for both UCS-2 char bytes.
-
-Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
----
- src/ucs2.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/ucs2.h b/src/ucs2.h
-index e0390c3..fd8b056 100644
---- a/src/ucs2.h
-+++ b/src/ucs2.h
-@@ -29,7 +29,7 @@ ucs2len(const void *vs, ssize_t limit)
- const uint8_t *s8 = vs;
-
- for (i = 0;
-- i < (limit >= 0 ? limit : i+1) && s8[0] != 0 && s8[1] != 0;
-+ i < (limit >= 0 ? limit : i+1) && !(s8[0] == 0 && s8[1] == 0);
- i++, s8 += 2)
- ;
- return i;
diff --git a/extra/efivar/sources b/extra/efivar/sources
index a6f7b98c..501e85e0 100644
--- a/extra/efivar/sources
+++ b/extra/efivar/sources
@@ -1,6 +1 @@
-https://github.com/rhboot/efivar/releases/download/37/efivar-37.tar.bz2
-patches/01-b98ba8921010d03f46704a476c69861515deb1ca.patch
-patches/02-c3c553db85ff10890209d0fe48fb4856ad68e4e0.patch
-patches/03-0dad6d78a7fb5f6c5fb4a1d646040539db6cf865.patch
-patches/04-fdb803402fb32fa6d020bac57a40c7efe4aabb7d.patch
-patches/05-4e04afc2df9bbc26e5ab524b53a6f4f1e61d7c9e.patch
+https://github.com/rhboot/efivar/archive/refs/tags/39.tar.gz
diff --git a/extra/efivar/version b/extra/efivar/version
index de8594ab..3ac45862 100644
--- a/extra/efivar/version
+++ b/extra/efivar/version
@@ -1 +1 @@
-37 3
+39 1
diff --git a/extra/entr/checksums b/extra/entr/checksums
index 33e82986..92fd2a06 100644
--- a/extra/entr/checksums
+++ b/extra/entr/checksums
@@ -1 +1,2 @@
-2a87bb7d9e5e89b6f614495937b557dbb8144ea53d0c1fa1812388982cd41ebb entr-5.0.tar.gz
+%BLAKE3
+ec5d107445f25ba6c570d1f297252a663aa0e8ea49f02c556871cd41cda0e6d6 entr-5.6.tar.gz
diff --git a/extra/entr/sources b/extra/entr/sources
index 31cb6050..b22c6fd1 100644
--- a/extra/entr/sources
+++ b/extra/entr/sources
@@ -1 +1 @@
-http://eradman.com/entrproject/code/entr-5.0.tar.gz
+http://eradman.com/entrproject/code/entr-5.6.tar.gz
diff --git a/extra/entr/version b/extra/entr/version
index d80bad42..8d9e3fe5 100644
--- a/extra/entr/version
+++ b/extra/entr/version
@@ -1 +1 @@
-5.0 1
+5.6 1
diff --git a/extra/expat/checksums b/extra/expat/checksums
index 294ca5dd..02bda85e 100644
--- a/extra/expat/checksums
+++ b/extra/expat/checksums
@@ -1 +1,2 @@
-cf032d0dba9b928636548e32b327a2d66b1aab63c4f4a13dd132c2d1d2f2fb6a expat-2.4.1.tar.xz
+%BLAKE3
+738746f32b58cb25bfe3e3c2d7f0d546e4f9f353ad2d805c9ac44ce2bd475377 expat-2.6.3.tar.xz
diff --git a/extra/expat/sources b/extra/expat/sources
index e1660168..cd84f9bc 100644
--- a/extra/expat/sources
+++ b/extra/expat/sources
@@ -1 +1 @@
-https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-2.4.1.tar.xz
+https://github.com/libexpat/libexpat/releases/download/R_2_6_3/expat-2.6.3.tar.xz
diff --git a/extra/expat/version b/extra/expat/version
index 4fcdc2b3..d07a753e 100644
--- a/extra/expat/version
+++ b/extra/expat/version
@@ -1 +1 @@
-2.4.1 1
+2.6.3 1
diff --git a/extra/ffmpeg/checksums b/extra/ffmpeg/checksums
index e1a9b528..9391130a 100644
--- a/extra/ffmpeg/checksums
+++ b/extra/ffmpeg/checksums
@@ -1 +1,2 @@
-06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909 ffmpeg-4.4.tar.xz
+%BLAKE3
+7eedf6866ab3785852cf54eabc541082e2254f04cb4ba0660dd228e31182a230 ffmpeg-7.1.tar.xz
diff --git a/extra/ffmpeg/sources b/extra/ffmpeg/sources
index db8d2b5b..45151b03 100644
--- a/extra/ffmpeg/sources
+++ b/extra/ffmpeg/sources
@@ -1 +1 @@
-https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.xz
+https://www.ffmpeg.org/releases/ffmpeg-7.1.tar.xz
diff --git a/extra/ffmpeg/version b/extra/ffmpeg/version
index 3fa426fa..0f24972e 100644
--- a/extra/ffmpeg/version
+++ b/extra/ffmpeg/version
@@ -1 +1 @@
-4.4 1
+7.1 1
diff --git a/extra/file/checksums b/extra/file/checksums
index 2fc253f1..e093e9bc 100644
--- a/extra/file/checksums
+++ b/extra/file/checksums
@@ -1 +1,2 @@
-167321f43c148a553f68a0ea7f579821ef3b11c27b8cbe158e4df897e4a5dd57 file-5.40.tar.gz
+%BLAKE3
+8ca618a0a915ef1022d6f246707c43115dee59cd16fc57145f17e90b62908c01 file-5.45.tar.gz
diff --git a/extra/file/sources b/extra/file/sources
index ea998011..07b3a37f 100644
--- a/extra/file/sources
+++ b/extra/file/sources
@@ -1 +1 @@
-http://astron.com/pub/file/file-5.40.tar.gz
+http://astron.com/pub/file/file-5.45.tar.gz
diff --git a/extra/file/version b/extra/file/version
index cc2c3dc0..a4a67053 100644
--- a/extra/file/version
+++ b/extra/file/version
@@ -1 +1 @@
-5.40 1
+5.45 1
diff --git a/extra/flac/checksums b/extra/flac/checksums
index 19f9dab1..9ccb8a37 100644
--- a/extra/flac/checksums
+++ b/extra/flac/checksums
@@ -1 +1,2 @@
-213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748 flac-1.3.3.tar.xz
+%BLAKE3
+c160e0e1f73e4813d0bb6577aa3dd317ca7b6ef6d22edff12c0930de7fc34162 flac-1.4.3.tar.xz
diff --git a/extra/flac/sources b/extra/flac/sources
index e68c59fc..7acb0f12 100644
--- a/extra/flac/sources
+++ b/extra/flac/sources
@@ -1 +1 @@
-http://downloads.xiph.org/releases/flac/flac-1.3.3.tar.xz
+http://downloads.xiph.org/releases/flac/flac-1.4.3.tar.xz
diff --git a/extra/flac/version b/extra/flac/version
index bdd8f5bd..f995c269 100644
--- a/extra/flac/version
+++ b/extra/flac/version
@@ -1 +1 @@
-1.3.3 1
+1.4.3 1
diff --git a/extra/fontconfig/checksums b/extra/fontconfig/checksums
index 80c7d76f..bc08f89f 100644
--- a/extra/fontconfig/checksums
+++ b/extra/fontconfig/checksums
@@ -1 +1,2 @@
-a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c fontconfig-2.13.94.tar.xz
+%BLAKE3
+f724c512a04997f17bc7dba807a6a58c2e8178d013bde56fab2fa579f7c50bdf fontconfig-2.15.0.tar.xz
diff --git a/extra/fontconfig/sources b/extra/fontconfig/sources
index 8e4b95df..25f26baa 100644
--- a/extra/fontconfig/sources
+++ b/extra/fontconfig/sources
@@ -1 +1 @@
-https://freedesktop.org/software/fontconfig/release/fontconfig-2.13.94.tar.xz
+https://freedesktop.org/software/fontconfig/release/fontconfig-2.15.0.tar.xz
diff --git a/extra/fontconfig/version b/extra/fontconfig/version
index 76fd9b4c..15033397 100644
--- a/extra/fontconfig/version
+++ b/extra/fontconfig/version
@@ -1 +1 @@
-2.13.94 1
+2.15.0 1
diff --git a/extra/fossil/checksums b/extra/fossil/checksums
deleted file mode 100644
index 5ff74a61..00000000
--- a/extra/fossil/checksums
+++ /dev/null
@@ -1 +0,0 @@
-b0ae18580144edd646e73ff7abe28934e9614b72bfcbf1f32a137f7a5f90e4c2 Fossil-version-2.16.tar.gz
diff --git a/extra/fossil/sources b/extra/fossil/sources
deleted file mode 100644
index fc3dc098..00000000
--- a/extra/fossil/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://fossil-scm.org/home/tarball/version-2.16/Fossil-version-2.16.tar.gz
diff --git a/extra/fossil/version b/extra/fossil/version
deleted file mode 100644
index 90d7d119..00000000
--- a/extra/fossil/version
+++ /dev/null
@@ -1 +0,0 @@
-2.16 1
diff --git a/extra/freetype-harfbuzz/checksums b/extra/freetype-harfbuzz/checksums
index 80dd8724..f6bcae89 100644
--- a/extra/freetype-harfbuzz/checksums
+++ b/extra/freetype-harfbuzz/checksums
@@ -1,3 +1,3 @@
%BLAKE3
-27f06774f30343706c094384e3914e7763c16a37a672d132b0e6cb2b1570e7e8 freetype-2.11.0.tar.xz
-afd7021e523be8401d6ec46fca0eee63e3f600e856aeacd781935ad897283012 3.0.0.tar.gz
+07a01894ccdb584943ce817b57341a8595ce9a92bfaa77c602ec4757dfabd5e2 freetype-2.13.3.tar.xz
+ff34e7a5c5b8a8d4422f5da6bd620d25ecb4b2443f27deeeb300a5c9c3b11ce0 10.0.1.tar.gz
diff --git a/extra/freetype-harfbuzz/depends b/extra/freetype-harfbuzz/depends
index 91a2792a..4626fc6d 100644
--- a/extra/freetype-harfbuzz/depends
+++ b/extra/freetype-harfbuzz/depends
@@ -1,3 +1,4 @@
+brotli
bzip2
expat
glib
diff --git a/extra/freetype-harfbuzz/sources b/extra/freetype-harfbuzz/sources
index c2098893..279e5727 100644
--- a/extra/freetype-harfbuzz/sources
+++ b/extra/freetype-harfbuzz/sources
@@ -1,2 +1,2 @@
-https://download-mirror.savannah.gnu.org/releases/freetype/freetype-2.11.0.tar.xz freetype
-https://github.com/harfbuzz/harfbuzz/archive/3.0.0.tar.gz harfbuzz
+https://download-mirror.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz freetype
+https://github.com/harfbuzz/harfbuzz/archive/10.0.1.tar.gz harfbuzz
diff --git a/extra/freetype-harfbuzz/version b/extra/freetype-harfbuzz/version
index f0e63787..97315171 100644
--- a/extra/freetype-harfbuzz/version
+++ b/extra/freetype-harfbuzz/version
@@ -1 +1 @@
-2.11.0+3.0.0 1
+2.13.3+10.0.1 1
diff --git a/extra/fribidi/checksums b/extra/fribidi/checksums
index 4a223d61..c216b0a6 100644
--- a/extra/fribidi/checksums
+++ b/extra/fribidi/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-63ba3c0033ca07a21b1b7472f77cc31f5a51a6751fbc05bb0df5b3220de41075 fribidi-1.0.11.tar.xz
+c16ee250f73f149d7d52dc7d285eb73ac755bad7907d237391e23f429b2b71d5 fribidi-1.0.16.tar.xz
diff --git a/extra/fribidi/sources b/extra/fribidi/sources
index 0c89231c..7e999603 100644
--- a/extra/fribidi/sources
+++ b/extra/fribidi/sources
@@ -1 +1 @@
-https://github.com/fribidi/fribidi/releases/download/v1.0.11/fribidi-1.0.11.tar.xz
+https://github.com/fribidi/fribidi/releases/download/v1.0.16/fribidi-1.0.16.tar.xz
diff --git a/extra/fribidi/version b/extra/fribidi/version
index baf9f53d..a4e01b6a 100644
--- a/extra/fribidi/version
+++ b/extra/fribidi/version
@@ -1 +1 @@
-1.0.11 1
+1.0.16 1
diff --git a/extra/gawk/checksums b/extra/gawk/checksums
deleted file mode 100644
index 10ed366c..00000000
--- a/extra/gawk/checksums
+++ /dev/null
@@ -1 +0,0 @@
-cf5fea4ac5665fd5171af4716baab2effc76306a9572988d5ba1078f196382bd gawk-5.1.0.tar.xz
diff --git a/extra/gawk/sources b/extra/gawk/sources
deleted file mode 100644
index 0a927a37..00000000
--- a/extra/gawk/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://ftp.gnu.org/gnu/gawk/gawk-5.1.0.tar.xz
diff --git a/extra/gawk/version b/extra/gawk/version
deleted file mode 100644
index 8f0e3266..00000000
--- a/extra/gawk/version
+++ /dev/null
@@ -1 +0,0 @@
-5.1.0 1
diff --git a/extra/gcr/build b/extra/gcr/build
index bda7b938..b4607464 100755
--- a/extra/gcr/build
+++ b/extra/gcr/build
@@ -1,10 +1,14 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
+
+# Remove gettext requirement.
+clsed '/^i18n/,/^)/s/^/#/' ui/meson.build
cl-meson \
-Dintrospection=false \
-Dgtk_doc=false \
+ -Dssh_agent=false \
. output
ninja -C output
diff --git a/extra/gcr/checksums b/extra/gcr/checksums
index 60e04d35..c264c05d 100644
--- a/extra/gcr/checksums
+++ b/extra/gcr/checksums
@@ -1 +1,2 @@
-b9d3645a5fd953a54285cc64d4fc046736463dbd4dcc25caf5c7b59bed3027f5 gcr-3.40.0.tar.xz
+%BLAKE3
+5ef69f0a684468a552d42167bfc45f295b40729b871310acebf0273bb50a71be gcr-3.41.1.tar.xz
diff --git a/extra/gcr/sources b/extra/gcr/sources
index 6f6c88cb..f9402b59 100644
--- a/extra/gcr/sources
+++ b/extra/gcr/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/gcr/3.40/gcr-3.40.0.tar.xz
+https://download.gnome.org/sources/gcr/3.41/gcr-3.41.1.tar.xz
diff --git a/extra/gcr/version b/extra/gcr/version
index d3da22db..0ca45925 100644
--- a/extra/gcr/version
+++ b/extra/gcr/version
@@ -1 +1 @@
-3.40.0 1
+3.41.1 2
diff --git a/extra/gcr4/build b/extra/gcr4/build
new file mode 100755
index 00000000..d9e2e5f4
--- /dev/null
+++ b/extra/gcr4/build
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cl-meson \
+ -Dintrospection=true \
+ -Dgtk_doc=false \
+ -Dssh_agent=false \
+ -Dsystemd=disabled \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/gcr4/checksums b/extra/gcr4/checksums
new file mode 100644
index 00000000..0b4bf3b7
--- /dev/null
+++ b/extra/gcr4/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+5b1f9c0a4055d64ce8f9293cbb65bfb47f9ecff2caf497fa93a635fbf5872321 gcr-4.3.0.tar.xz
diff --git a/extra/gcr4/depends b/extra/gcr4/depends
new file mode 100644
index 00000000..3b3fb774
--- /dev/null
+++ b/extra/gcr4/depends
@@ -0,0 +1,7 @@
+glib
+gobject-introspection make
+gtk4
+libgcrypt
+libtasn1
+meson make
+p11-kit
diff --git a/extra/gcr4/meta b/extra/gcr4/meta
new file mode 100644
index 00000000..e182ea8f
--- /dev/null
+++ b/extra/gcr4/meta
@@ -0,0 +1,3 @@
+description: GNOME crypto library (version 4)
+license: LGPL-2.1-or-later, GPL-2.0-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/gcr4/sources b/extra/gcr4/sources
new file mode 100644
index 00000000..e7b96989
--- /dev/null
+++ b/extra/gcr4/sources
@@ -0,0 +1 @@
+https://download.gnome.org/sources/gcr/4.3/gcr-4.3.0.tar.xz
diff --git a/extra/gcr4/version b/extra/gcr4/version
new file mode 100644
index 00000000..1fa6c9ae
--- /dev/null
+++ b/extra/gcr4/version
@@ -0,0 +1 @@
+4.3.0 1
diff --git a/extra/gdk-pixbuf/build b/extra/gdk-pixbuf/build
index 27bc3328..0ba841ef 100755
--- a/extra/gdk-pixbuf/build
+++ b/extra/gdk-pixbuf/build
@@ -1,11 +1,10 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
cl-meson \
-Dintrospection=enabled \
- -Djasper=false \
- -Dpng=true \
+ -Dpng=enabled \
-Ddocs=false \
-Dman=false \
-Dinstalled_tests=false \
diff --git a/extra/gdk-pixbuf/checksums b/extra/gdk-pixbuf/checksums
index da65cb82..1500b6cb 100644
--- a/extra/gdk-pixbuf/checksums
+++ b/extra/gdk-pixbuf/checksums
@@ -1 +1,2 @@
-c4a6b75b7ed8f58ca48da830b9fa00ed96d668d3ab4b1f723dcf902f78bde77f gdk-pixbuf-2.42.6.tar.xz
+%BLAKE3
+edf54b48c7008c0ec52e0224b6a10ea680bbb94c23b71fbe5d19ae8e72706bc6 gdk-pixbuf-2.42.12.tar.xz
diff --git a/extra/gdk-pixbuf/sources b/extra/gdk-pixbuf/sources
index 680a73f3..7f19390c 100644
--- a/extra/gdk-pixbuf/sources
+++ b/extra/gdk-pixbuf/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.6.tar.xz
+https://download.gnome.org/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.12.tar.xz
diff --git a/extra/gdk-pixbuf/version b/extra/gdk-pixbuf/version
index 139be5e7..353f0351 100644
--- a/extra/gdk-pixbuf/version
+++ b/extra/gdk-pixbuf/version
@@ -1 +1 @@
-2.42.6 2
+2.42.12 1
diff --git a/extra/giflib/checksums b/extra/giflib/checksums
index 023118b3..23d76ed8 100644
--- a/extra/giflib/checksums
+++ b/extra/giflib/checksums
@@ -1 +1,2 @@
-31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd giflib-5.2.1.tar.gz
+%BLAKE3
+025cd79ba2d524c24b33a3d2750c146c6823adf96e1dbcc380ca6210bc7058a8 giflib-5.2.2.tar.gz
diff --git a/extra/giflib/sources b/extra/giflib/sources
index dc1326bc..06ef3440 100644
--- a/extra/giflib/sources
+++ b/extra/giflib/sources
@@ -1 +1 @@
-https://downloads.sourceforge.net/giflib/giflib-5.2.1.tar.gz
+https://downloads.sourceforge.net/giflib/giflib-5.2.2.tar.gz
diff --git a/extra/giflib/version b/extra/giflib/version
index a06ff620..b0606280 100644
--- a/extra/giflib/version
+++ b/extra/giflib/version
@@ -1 +1 @@
-5.2.1 1
+5.2.2 1
diff --git a/extra/glib-networking/build b/extra/glib-networking/build
index c981ccba..741e6b84 100755
--- a/extra/glib-networking/build
+++ b/extra/glib-networking/build
@@ -2,10 +2,9 @@
export DESTDIR="$1"
-# The new version requires openssl TLS1.3, which libressl hasn't fully
-# implemented yet. We now need gnutls, sadly.
cl-meson \
-Dgnutls=enabled \
+ -Dlibproxy=disabled \
. output
ninja -C output
diff --git a/extra/glib-networking/checksums b/extra/glib-networking/checksums
index 6a7b444d..698f96d9 100644
--- a/extra/glib-networking/checksums
+++ b/extra/glib-networking/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-f015f9468b1cbc48904048a8e73dd47dfe15154f0e792f6d0218d50fd8a85341 glib-networking-2.70.0.tar.xz
+e271ef92bbdd2209ae24afe8d2d468ef8c870529a9607629dfcbf9f60e295295 glib-networking-2.80.0.tar.xz
diff --git a/extra/glib-networking/sources b/extra/glib-networking/sources
index 7117802c..21dd7131 100644
--- a/extra/glib-networking/sources
+++ b/extra/glib-networking/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/glib-networking/2.70/glib-networking-2.70.0.tar.xz
+https://download.gnome.org/sources/glib-networking/2.80/glib-networking-2.80.0.tar.xz
diff --git a/extra/glib-networking/version b/extra/glib-networking/version
index 86aba7e1..ac4637bf 100644
--- a/extra/glib-networking/version
+++ b/extra/glib-networking/version
@@ -1 +1 @@
-2.70.0 1
+2.80.0 1
diff --git a/extra/glib/build b/extra/glib/build
index 180fbce9..2ac52119 100755
--- a/extra/glib/build
+++ b/extra/glib/build
@@ -9,7 +9,7 @@ find . -type f -name meson.build -exec \
cl-meson \
-Ddefault_library=both \
-Dman=false \
- -Dfam=false \
+ -Dnls=disabled \
. build
ninja -C build
diff --git a/extra/glib/checksums b/extra/glib/checksums
index 43b570f1..e133f87b 100644
--- a/extra/glib/checksums
+++ b/extra/glib/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-34c42cd31e0538213db866ce6b041021d8969e97fcd661edf482fdecceace756 glib-2.70.0.tar.xz
+89fe8cf7c1416ca99de746e39c7bc2352de4d4c7ffe0cb208229307e3cf7d152 glib-2.82.1.tar.xz
diff --git a/extra/glib/depends b/extra/glib/depends
index 88d45c34..2c029cda 100644
--- a/extra/glib/depends
+++ b/extra/glib/depends
@@ -1,5 +1,6 @@
libelf
libffi make
meson make
+pcre2
util-linux
zlib
diff --git a/extra/glib/sources b/extra/glib/sources
index 0e3286fd..08b6a41c 100644
--- a/extra/glib/sources
+++ b/extra/glib/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/glib/2.70/glib-2.70.0.tar.xz
+https://download.gnome.org/sources/glib/2.82/glib-2.82.1.tar.xz
diff --git a/extra/glib/version b/extra/glib/version
index 86aba7e1..8f137a03 100644
--- a/extra/glib/version
+++ b/extra/glib/version
@@ -1 +1 @@
-2.70.0 1
+2.82.1 1
diff --git a/extra/glslang/build b/extra/glslang/build
new file mode 100755
index 00000000..d93fd4e1
--- /dev/null
+++ b/extra/glslang/build
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -Bbuild \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DENABLE_OPT=0 \
+ -DBUILD_TYPE=Release
+
+cmake --build build
+cmake --install build
diff --git a/extra/glslang/checksums b/extra/glslang/checksums
new file mode 100644
index 00000000..0dcfa797
--- /dev/null
+++ b/extra/glslang/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+11cf68b5cfab25ff2f7023cfcaaaa6bfe2c5d5cfc3bd4fb23cbd29e41b5a262e 15.0.0.tar.gz
diff --git a/extra/glslang/depends b/extra/glslang/depends
new file mode 100644
index 00000000..1a9b840b
--- /dev/null
+++ b/extra/glslang/depends
@@ -0,0 +1,2 @@
+cmake make
+python make
diff --git a/extra/glslang/meta b/extra/glslang/meta
new file mode 100644
index 00000000..6941805b
--- /dev/null
+++ b/extra/glslang/meta
@@ -0,0 +1,3 @@
+description: Khronos-reference frontend for GLSL, ESSL, and a SPIR-V generator
+license: BSD-3-Clause
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/glslang/sources b/extra/glslang/sources
new file mode 100644
index 00000000..c9c58f75
--- /dev/null
+++ b/extra/glslang/sources
@@ -0,0 +1 @@
+https://github.com/KhronosGroup/glslang/archive/refs/tags/15.0.0.tar.gz
diff --git a/extra/glslang/version b/extra/glslang/version
new file mode 100644
index 00000000..c19468ea
--- /dev/null
+++ b/extra/glslang/version
@@ -0,0 +1 @@
+15.0.0 1
diff --git a/extra/gmp/build b/extra/gmp/build
deleted file mode 100755
index 412be89a..00000000
--- a/extra/gmp/build
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-
-./configure \
- --prefix=/usr \
- --localstatedir=/var/state/gmp \
- --enable-cxx \
- --enable-fat \
- --with-pic
-
-make
-make DESTDIR="$1" install
diff --git a/extra/gmp/checksums b/extra/gmp/checksums
deleted file mode 100644
index 1335f732..00000000
--- a/extra/gmp/checksums
+++ /dev/null
@@ -1 +0,0 @@
-fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2
diff --git a/extra/gmp/meta b/extra/gmp/meta
deleted file mode 100644
index 0ac4b253..00000000
--- a/extra/gmp/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: Library for arbitrary precision arithmetic
-license: LGPL-3.0-or-later
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/gmp/sources b/extra/gmp/sources
deleted file mode 100644
index 0fad8159..00000000
--- a/extra/gmp/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz
diff --git a/extra/gmp/version b/extra/gmp/version
deleted file mode 100644
index eeb874a0..00000000
--- a/extra/gmp/version
+++ /dev/null
@@ -1 +0,0 @@
-6.2.1 1
diff --git a/extra/gnupg2/build b/extra/gnupg2/build
index ef2670bc..5ad311a1 100755
--- a/extra/gnupg2/build
+++ b/extra/gnupg2/build
@@ -2,10 +2,16 @@
export LDFLAGS="$LDFLAGS -static"
+if cpt l gnutls; then
+ LIBGNUTLS_CFLAGS="$(pkgconf --static --cflags gnutls)"
+ LIBGNUTLS_LIBS="$(pkgconf --static --libs gnutls)"
+ export LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS
+fi
+
./configure \
--prefix=/usr \
--sbindir=/usr/bin \
- --disable-gnutls
+ --disable-scdaemon
make
make DESTDIR="$1" install
diff --git a/extra/gnupg2/checksums b/extra/gnupg2/checksums
index 618124af..9479ffc1 100644
--- a/extra/gnupg2/checksums
+++ b/extra/gnupg2/checksums
@@ -1,2 +1,3 @@
%BLAKE3
-e6751e780006ab45ad326d66d9dae209428212e132caa3dc121c3e4fe82a46e4 gnupg-2.3.2.tar.bz2
+9420bb90ecbfb651f0840b042634c4742a5858802b901c6fdd18971ddb8e5f5a gnupg-2.5.0.tar.bz2
+c8b97b99d49e3790e30c53875077a40c5a5d64b4b837464625c64946e0f1ce3d fix-ldap.patch
diff --git a/extra/gnupg2/patches/fix-ldap.patch b/extra/gnupg2/patches/fix-ldap.patch
new file mode 100644
index 00000000..9359484d
--- /dev/null
+++ b/extra/gnupg2/patches/fix-ldap.patch
@@ -0,0 +1,12 @@
+--- a/dirmngr/server.c Fri Jun 30 10:53:58 2023
++++ b/dirmngr/server.c Thu Jul 6 11:56:44 2023
+@@ -2776,7 +2776,9 @@
+
+ if (opt_help)
+ {
++#if USE_LDAP
+ ks_ldap_help_variables (ctrl);
++#endif /*USE_LDAP*/
+ err = 0;
+ goto leave;
+ }
diff --git a/extra/gnupg2/sources b/extra/gnupg2/sources
index 91db4d6f..be62a7c4 100644
--- a/extra/gnupg2/sources
+++ b/extra/gnupg2/sources
@@ -1 +1,2 @@
-https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.3.2.tar.bz2
+https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.5.0.tar.bz2
+patches/fix-ldap.patch
diff --git a/extra/gnupg2/version b/extra/gnupg2/version
index 56b3f3b0..bc7f0700 100644
--- a/extra/gnupg2/version
+++ b/extra/gnupg2/version
@@ -1 +1 @@
-2.3.2 1
+2.5.0 1
diff --git a/extra/gnutls/build b/extra/gnutls/build
index 2964f6c1..5bc90d9a 100755
--- a/extra/gnutls/build
+++ b/extra/gnutls/build
@@ -1,5 +1,28 @@
#!/bin/sh -e
+# We have multiple issues thanks to p11-kit.
+# - p11-kit does not support static linking (instead of writing proper code that
+# just works they have decided to go out of their way to make sure you can't
+# statically link it), so if you build the static gnutls library with it, you
+# can link nothing to gnutls statically.
+# - If you build gnutls without p11-kit, you can't compile glib-networking as it
+# depends on the PKCS#11 API in gnutls that they don't even have enabled by
+# default.
+# - If libressl was fully compatible with openssl, we wouldn't have to use
+# gnutls for glib-networking, therefore removing the p11-kit dependency.
+
+./configure \
+ --prefix=/usr \
+ --disable-nls \
+ --with-nettle-mini \
+ --with-included-libtasn1 \
+ --with-included-unistring \
+ --disable-guile \
+ --disable-static
+
+make
+make DESTDIR="$1" install
+
./configure \
--prefix=/usr \
--disable-nls \
@@ -7,7 +30,9 @@
--with-included-libtasn1 \
--with-included-unistring \
--disable-guile \
- --enable-static
+ --enable-static \
+ --disable-shared \
+ --without-p11-kit
make
make DESTDIR="$1" install
diff --git a/extra/gnutls/checksums b/extra/gnutls/checksums
index 1e9d5ec6..91760b89 100644
--- a/extra/gnutls/checksums
+++ b/extra/gnutls/checksums
@@ -1 +1,2 @@
-1b79b381ac283d8b054368b335c408fedcb9b7144e0c07f531e3537d4328f3b3 gnutls-3.6.16.tar.xz
+%BLAKE3
+b9f6c3e3111bc6ded35c376318ad15bd3af7730b7c2b5c2c64904eaaaf60b789 gnutls-3.8.7.1.tar.xz
diff --git a/extra/gnutls/sources b/extra/gnutls/sources
index e8e85f2f..d00c38db 100644
--- a/extra/gnutls/sources
+++ b/extra/gnutls/sources
@@ -1 +1 @@
-https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.16.tar.xz
+https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.7.1.tar.xz
diff --git a/extra/gnutls/version b/extra/gnutls/version
index 227c9c93..d131427b 100644
--- a/extra/gnutls/version
+++ b/extra/gnutls/version
@@ -1 +1 @@
-3.6.16 1
+3.8.7.1 1
diff --git a/extra/go/build b/extra/go/build
index c051bc2d..db14aea2 100755
--- a/extra/go/build
+++ b/extra/go/build
@@ -7,13 +7,19 @@ patch -p1 < no-bash.patch
# This breaks Go.
:> nostrip
+case $3 in
+ x86_64) export GOARCH=amd64 ;;
+ i?86) export GOARCH=386 ;;
+ *) printf 'unsupported architecture: %s\n' "$3"
+ exit 1
+esac
+
export CC="${CC:-cc}"
-export GOARCH=amd64
export GO_LDFLAGS="-w -s"
[ -f "$CPT_ROOT/var/db/cpt/installed/go/manifest" ] || {
- export GOROOT=$PWD/go1.4-bootstrap
- export GOROOT_FINAL=$PWD/lib/go-bootstrap
+ export GOROOT="$PWD/go1.4-bootstrap"
+ export GOROOT_FINAL="$PWD/lib/go-bootstrap"
mkdir -p lib/go-bootstrap
@@ -29,10 +35,10 @@ export GOROOT_FINAL=/usr/lib/go
if [ -f "$CPT_ROOT/var/db/cpt/go/manifest" ]; then
export GOROOT_BOOTSTRAP=/usr/lib/go
else
- export GOROOT_BOOTSTRAP=$PWD/lib/go-bootstrap
+ export GOROOT_BOOTSTRAP="$PWD/lib/go-bootstrap"
fi
-export GOROOT=$PWD/go-current
+export GOROOT="$PWD/go-current"
(
cd "$GOROOT/src"
diff --git a/extra/go/checksums b/extra/go/checksums
index 0bdd2730..7ccce823 100644
--- a/extra/go/checksums
+++ b/extra/go/checksums
@@ -1,4 +1,4 @@
%BLAKE3
-104da4f37cb0417462dd464d3bf8416527c4c5eec8a642465d06f3ba8f185b4a go1.17.1.src.tar.gz
+7de8f3dafa64455084002968504666623b4179ea8dc000114089bc264df0be4b go1.22.4.src.tar.gz
e38b036986f4969980664342af2e0b14c503bf4222b980f2bfdcb32fd62fde14 go1.4-bootstrap-20171003.tar.gz
-dcd2b17ef49c90c0e215209f188a9287684cca9731d48319af1bc4da9e6feb3f no-bash.patch
+2b88bcaf1cd420f4f6c91f22107ae453742c87f362bb30de40f4cb047050056f no-bash.patch
diff --git a/extra/go/patches/no-bash.patch b/extra/go/patches/no-bash.patch
index 56177f16..3f0a5ecc 100644
--- a/extra/go/patches/no-bash.patch
+++ b/extra/go/patches/no-bash.patch
@@ -1,57 +1,154 @@
diff -ur a/go-current/src/make.bash b/go-current/src/make.bash
---- a/go-current/src/make.bash 2021-02-16 21:12:04.000000000 +0300
-+++ b/go-current/src/make.bash 2021-02-17 00:42:09.963840381 +0300
+--- a/go-current/src/make.bash Thu May 30 21:26:07 2024
++++ b/go-current/src/make.bash Fri Jun 7 01:22:26 2024
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/sh
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-@@ -106,7 +106,7 @@
+@@ -78,13 +78,13 @@
+
+ set -e
+
+-if [[ ! -f run.bash ]]; then
++if [ ! -f run.bash ]; then
+ echo 'make.bash must be run from $GOROOT/src' 1>&2
+ exit 1
+ fi
+
+-if [[ "$GOBUILDTIMELOGFILE" != "" ]]; then
+- echo $(LC_TIME=C date) start make.bash >"$GOBUILDTIMELOGFILE"
++if [ "$GOBUILDTIMELOGFILE" != "" ]; then
++ echo "$(LC_TIME=C date) start make.bash" >"$GOBUILDTIMELOGFILE"
+ fi
+
+ # Test for Windows.
+@@ -114,7 +114,7 @@
# so loop through the possible selinux mount points.
for se_mount in /selinux /sys/fs/selinux
do
-- if [ -d $se_mount -a -f $se_mount/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
+- if [[ -d $se_mount && -f $se_mount/booleans/allow_execstack && -x /usr/sbin/selinuxenabled ]] && /usr/sbin/selinuxenabled; then
+ if [ -d $se_mount ] && [ -f $se_mount/booleans/allow_execstack ] && [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
if ! cat $se_mount/booleans/allow_execstack | grep -c '^1 1$' >> /dev/null ; then
echo "WARNING: the default SELinux policy on, at least, Fedora 12 breaks "
echo "Go. You can enable the features that Go needs via the following "
-@@ -154,14 +154,14 @@
+@@ -134,7 +134,7 @@
+ # Test for debian/kFreeBSD.
+ # cmd/dist will detect kFreeBSD as freebsd/$GOARCH, but we need to
+ # disable cgo manually.
+-if [[ "$(uname -s)" == "GNU/kFreeBSD" ]]; then
++if [ "$(uname -s)" = "GNU/kFreeBSD" ]; then
+ export CGO_ENABLED=0
+ fi
+
+@@ -145,17 +145,17 @@
+
+ verbose=false
+ vflag=""
+-if [[ "$1" == "-v" ]]; then
++if [ "$1" = "-v" ]; then
+ verbose=true
+ vflag=-v
+ shift
+ fi
- export GOROOT_BOOTSTRAP=${GOROOT_BOOTSTRAP:-$HOME/go1.4}
- export GOROOT="$(cd .. && pwd)"
+ goroot_bootstrap_set=${GOROOT_BOOTSTRAP+"true"}
+-if [[ -z "$GOROOT_BOOTSTRAP" ]]; then
++if [ -z "$GOROOT_BOOTSTRAP" ]; then
+ GOROOT_BOOTSTRAP="$HOME/go1.4"
+ for d in sdk/go$bootgo go$bootgo; do
+- if [[ -d "$HOME/$d" ]]; then
++ if [ -d "$HOME/$d" ]; then
+ GOROOT_BOOTSTRAP="$HOME/$d"
+ fi
+ done
+@@ -163,15 +163,16 @@
+ export GOROOT_BOOTSTRAP
+
+ nogoenv() {
+- GO111MODULE=off GOENV=off GOOS= GOARCH= GOEXPERIMENT= GOFLAGS= "$@"
++ GO111MODULE=off GOENV=off GOOS='' GOARCH='' GOEXPERIMENT='' GOFLAGS='' "$@"
+ }
+
+-export GOROOT="$(cd .. && pwd)"
-IFS=$'\n'; for go_exe in $(type -ap go); do
-+for go_exe in $(command -v go); do
- if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then
- goroot=$(GOROOT='' GOOS='' GOARCH='' "$go_exe" env GOROOT)
- if [ "$goroot" != "$GOROOT" ]; then
- GOROOT_BOOTSTRAP=$goroot
+- if [[ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]]; then
+- goroot=$(GOROOT= nogoenv "$go_exe" env GOROOT)
+- if [[ "$goroot" != "$GOROOT" ]]; then
+- if [[ "$goroot_bootstrap_set" == "true" ]]; then
++export GOROOT="${PWD%/*}"
++type_a() { IFS=:; for dir in $PATH; do [ -x "$dir/$1" ] && printf '%s\n' "$dir/$1"; done ;}
++IFS="$(printf '\n')"; for go_exe in $(type_a go); do
++ if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then
++ goroot=$(GOROOT='' nogoenv "$go_exe" env GOROOT)
++ if [ "$goroot" != "$GOROOT" ]; then
++ if [ "$goroot_bootstrap_set" = "true" ]; then
+ printf 'WARNING: %s does not exist, found %s from env\n' "$GOROOT_BOOTSTRAP/bin/go" "$go_exe" >&2
+ printf 'WARNING: set %s as GOROOT_BOOTSTRAP\n' "$goroot" >&2
+ fi
+@@ -179,7 +180,7 @@
fi
fi
--done; unset IFS
-+done
- if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then
+ done; unset IFS
+-if [[ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]]; then
++if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then
echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go." >&2
- echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4." >&2
+ echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go $bootgo." >&2
+ exit 1
+@@ -192,7 +193,7 @@
+ if $verbose; then
+ echo cmd/dist
+ fi
+-if [[ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]]; then
++if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
+ echo "ERROR: \$GOROOT_BOOTSTRAP must not be set to \$GOROOT" >&2
+ echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go $bootgo." >&2
+ exit 1
+@@ -202,7 +203,7 @@
+
+ # -e doesn't propagate out of eval, so check success by hand.
+ eval $(./cmd/dist/dist env -p || echo FAIL=true)
+-if [[ "$FAIL" == true ]]; then
++if [ "$FAIL" = true ]; then
+ exit 1
+ fi
+
+@@ -210,10 +211,10 @@
+ echo
+ fi
+
+-if [[ "$1" == "--dist-tool" ]]; then
++if [ "$1" = "--dist-tool" ]; then
+ # Stop after building dist tool.
+ mkdir -p "$GOTOOLDIR"
+- if [[ "$2" != "" ]]; then
++ if [ "$2" != "" ]; then
+ cp cmd/dist/dist "$2"
+ fi
+ mv cmd/dist/dist "$GOTOOLDIR"/dist
diff -ur a/go1.4-bootstrap/src/make.bash b/go1.4-bootstrap/src/make.bash
---- a/go1.4-bootstrap/src/make.bash 2017-11-22 04:33:58.000000000 +0300
-+++ b/go1.4-bootstrap/src/make.bash 2021-02-17 00:40:52.245631282 +0300
+--- a/go1.4-bootstrap/src/make.bash Wed Nov 22 02:33:58 2017
++++ b/go1.4-bootstrap/src/make.bash Fri Jun 7 01:22:30 2024
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/sh
# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-@@ -82,7 +82,7 @@
+@@ -80,9 +80,8 @@
+ # Test for bad SELinux.
+ # On Fedora 16 the selinux filesystem is mounted at /sys/fs/selinux,
# so loop through the possible selinux mount points.
- for se_mount in /selinux /sys/fs/selinux
- do
+-for se_mount in /selinux /sys/fs/selinux
+-do
- if [ -d $se_mount -a -f $se_mount/booleans/allow_execstack -a -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
-+ if [ -d $se_mount ] && [ -f $se_mount/booleans/allow_execstack ] [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
++for se_mount in /selinux /sys/fs/selinux; do
++ if [ -d $se_mount ] && [ -f $se_mount/booleans/allow_execstack ] && [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then
if ! cat $se_mount/booleans/allow_execstack | grep -c '^1 1$' >> /dev/null ; then
echo "WARNING: the default SELinux policy on, at least, Fedora 12 breaks "
echo "Go. You can enable the features that Go needs via the following "
-@@ -102,7 +102,7 @@
+@@ -102,7 +101,7 @@
# Test for debian/kFreeBSD.
# cmd/dist will detect kFreeBSD as freebsd/$GOARCH, but we need to
# disable cgo manually.
@@ -60,7 +157,16 @@ diff -ur a/go1.4-bootstrap/src/make.bash b/go1.4-bootstrap/src/make.bash
export CGO_ENABLED=0
fi
-@@ -122,12 +122,12 @@
+@@ -113,7 +112,7 @@
+
+ echo '# Building C bootstrap tool.'
+ echo cmd/dist
+-export GOROOT="$(cd .. && pwd)"
++export GOROOT="${PWD%/*}"
+ GOROOT_FINAL="${GOROOT_FINAL:-$GOROOT}"
+ DEFGOROOT='-DGOROOT_FINAL="'"$GOROOT_FINAL"'"'
+
+@@ -122,12 +121,12 @@
386) mflag=-m32;;
amd64) mflag=-m64;;
esac
@@ -75,7 +181,7 @@ diff -ur a/go1.4-bootstrap/src/make.bash b/go1.4-bootstrap/src/make.bash
export CC=clang CXX=clang++
fi
${CC:-gcc} $mflag -O2 -Wall -Werror -o cmd/dist/dist -Icmd/dist "$DEFGOROOT" cmd/dist/*.c
-@@ -162,7 +162,7 @@
+@@ -162,7 +161,7 @@
"$GOTOOLDIR"/go_bootstrap clean -i std
echo
diff --git a/extra/go/sources b/extra/go/sources
index 32b2ef8e..beb1861d 100644
--- a/extra/go/sources
+++ b/extra/go/sources
@@ -1,3 +1,3 @@
-https://golang.org/dl/go1.17.1.src.tar.gz go-current
+https://golang.org/dl/go1.22.4.src.tar.gz go-current
https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz go1.4-bootstrap
patches/no-bash.patch
diff --git a/extra/go/version b/extra/go/version
index 14d73f99..1418be46 100644
--- a/extra/go/version
+++ b/extra/go/version
@@ -1 +1 @@
-1.17.1 1
+1.22.4 1
diff --git a/extra/gobject-introspection/build b/extra/gobject-introspection/build
index 8539e86a..20b55fd4 100755
--- a/extra/gobject-introspection/build
+++ b/extra/gobject-introspection/build
@@ -1,6 +1,6 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
cl-meson \
. output
diff --git a/extra/gobject-introspection/checksums b/extra/gobject-introspection/checksums
index 97eb3464..545b0541 100644
--- a/extra/gobject-introspection/checksums
+++ b/extra/gobject-introspection/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-5e69d4534668a0f753ac2436e0a0b1ea50f6cdd9b6bb57dd1d4fc2a49b608b01 gobject-introspection-1.70.0.tar.xz
+e0a0c3c843f3a93881c9f17f19a92dc2bc25261bd67a19d99457bbd0fced7071 gobject-introspection-1.82.0.tar.xz
diff --git a/extra/gobject-introspection/depends b/extra/gobject-introspection/depends
index 616bdbc4..68dbea27 100644
--- a/extra/gobject-introspection/depends
+++ b/extra/gobject-introspection/depends
@@ -1,3 +1,4 @@
+bison make
glib
libffi make
libxml2
diff --git a/extra/gobject-introspection/sources b/extra/gobject-introspection/sources
index 50b82e88..d8067ed4 100644
--- a/extra/gobject-introspection/sources
+++ b/extra/gobject-introspection/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/gobject-introspection/1.70/gobject-introspection-1.70.0.tar.xz
+https://download.gnome.org/sources/gobject-introspection/1.82/gobject-introspection-1.82.0.tar.xz
diff --git a/extra/gobject-introspection/version b/extra/gobject-introspection/version
index 943fdcb0..4dd8a779 100644
--- a/extra/gobject-introspection/version
+++ b/extra/gobject-introspection/version
@@ -1 +1 @@
-1.70.0 1
+1.82.0 1
diff --git a/extra/graphene/checksums b/extra/graphene/checksums
index 0b7ca75d..9b9238b7 100644
--- a/extra/graphene/checksums
+++ b/extra/graphene/checksums
@@ -1 +1,2 @@
-80ae57723e4608e6875626a88aaa6f56dd25df75024bd16e9d77e718c3560b25 graphene-1.10.6.tar.xz
+%BLAKE3
+4955ae6d7bddb7fecf9d9a1c17ef66a994fc9c5b422c7af60da9191372a6dec8 1.10.8.tar.gz
diff --git a/extra/graphene/sources b/extra/graphene/sources
index 1224df91..7cc030c6 100644
--- a/extra/graphene/sources
+++ b/extra/graphene/sources
@@ -1 +1 @@
-https://github.com/ebassi/graphene/releases/download/1.10.6/graphene-1.10.6.tar.xz
+https://github.com/ebassi/graphene/archive/refs/tags/1.10.8.tar.gz
diff --git a/extra/graphene/version b/extra/graphene/version
index 5375f25b..cc5aa213 100644
--- a/extra/graphene/version
+++ b/extra/graphene/version
@@ -1 +1 @@
-1.10.6 1
+1.10.8 1
diff --git a/extra/graphite/build b/extra/graphite/build
new file mode 100755
index 00000000..73b2a882
--- /dev/null
+++ b/extra/graphite/build
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+export CXXFLAGS="$CXXFLAGS -static-libgcc -static-libstdc++"
+
+cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr
+
+cmake --build build
+cmake --install build
diff --git a/extra/graphite/checksums b/extra/graphite/checksums
new file mode 100644
index 00000000..d379d941
--- /dev/null
+++ b/extra/graphite/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+73d1d834ffc7f95bc0610359c815073afb952dc81bb6c56c9487dc5bbd704aad graphite2-1.3.14.tgz
diff --git a/extra/graphite/depends b/extra/graphite/depends
new file mode 100644
index 00000000..7d91ec22
--- /dev/null
+++ b/extra/graphite/depends
@@ -0,0 +1 @@
+cmake make
diff --git a/extra/graphite/meta b/extra/graphite/meta
new file mode 100644
index 00000000..98907fe4
--- /dev/null
+++ b/extra/graphite/meta
@@ -0,0 +1,3 @@
+description: Free and Open rendering engine for complex scripts
+license: LGPL-2.1-or-later, GPL-2.0-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/graphite/sources b/extra/graphite/sources
new file mode 100644
index 00000000..77bd5b81
--- /dev/null
+++ b/extra/graphite/sources
@@ -0,0 +1 @@
+https://github.com/silnrsi/graphite/releases/download/1.3.14/graphite2-1.3.14.tgz
diff --git a/extra/graphite/version b/extra/graphite/version
new file mode 100644
index 00000000..947673ad
--- /dev/null
+++ b/extra/graphite/version
@@ -0,0 +1 @@
+1.3.14 1
diff --git a/extra/grep/checksums b/extra/grep/checksums
index ccfb612b..2f7db911 100644
--- a/extra/grep/checksums
+++ b/extra/grep/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-fb327ba879c9f9335e3e52a6725868cb92cfc2f8db098fbefc99271eb263ffc9 grep-3.7.tar.xz
+fa0a68606866691c453dc0aa0843bf96707d18b3b30000042d28d732d13cdd70 grep-3.11.tar.xz
diff --git a/extra/grep/sources b/extra/grep/sources
index 6ad64666..91df6a3a 100644
--- a/extra/grep/sources
+++ b/extra/grep/sources
@@ -1 +1 @@
-https://ftp.gnu.org/gnu/grep/grep-3.7.tar.xz
+https://ftp.gnu.org/gnu/grep/grep-3.11.tar.xz
diff --git a/extra/grep/version b/extra/grep/version
index fa0ebc74..96b09630 100644
--- a/extra/grep/version
+++ b/extra/grep/version
@@ -1 +1 @@
-3.7 1
+3.11 1
diff --git a/extra/groff/build b/extra/groff/build
index 6da916d1..f19e38ef 100755
--- a/extra/groff/build
+++ b/extra/groff/build
@@ -1,7 +1,5 @@
#!/bin/sh -e
-patch -p0 < musl.patch
-
export LDFLAGS="$LDFLAGS -static"
./configure \
diff --git a/extra/groff/checksums b/extra/groff/checksums
index 327f1cca..36805a9f 100644
--- a/extra/groff/checksums
+++ b/extra/groff/checksums
@@ -1,2 +1,2 @@
-e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293 groff-1.22.4.tar.gz
-002bf93f6d59f8c6e7e3140d6925e985fff689340e69016277aa5ff260bcd123 musl.patch
+%BLAKE3
+f6f8d6cef4287c8d5b0f3f11c826c47ba25ef8b9e22e1d1fc2727b7930e349e8 groff-1.23.0.tar.gz
diff --git a/extra/groff/files/musl.patch b/extra/groff/files/musl.patch
deleted file mode 100644
index 9d2b322a..00000000
--- a/extra/groff/files/musl.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- lib/math.in.h.orig 2019-01-02 16:55:35.064459973 +0100
-+++ lib/math.in.h 2019-01-02 17:42:43.450242836 +0100
-@@ -2342,75 +2342,6 @@
- #endif
-
-
--#if @GNULIB_SIGNBIT@
--# if (@REPLACE_SIGNBIT_USING_GCC@ \
-- && (!defined __cplusplus || __cplusplus < 201103))
--# undef signbit
-- /* GCC 4.0 and newer provides three built-ins for signbit. */
--# define signbit(x) \
-- (sizeof (x) == sizeof (long double) ? __builtin_signbitl (x) : \
-- sizeof (x) == sizeof (double) ? __builtin_signbit (x) : \
-- __builtin_signbitf (x))
--# endif
--# if @REPLACE_SIGNBIT@
--# undef signbit
--_GL_EXTERN_C int gl_signbitf (float arg);
--_GL_EXTERN_C int gl_signbitd (double arg);
--_GL_EXTERN_C int gl_signbitl (long double arg);
--# if __GNUC__ >= 2 && !defined __STRICT_ANSI__
--# define _GL_NUM_UINT_WORDS(type) \
-- ((sizeof (type) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
--# if defined FLT_SIGNBIT_WORD && defined FLT_SIGNBIT_BIT && !defined gl_signbitf
--# define gl_signbitf_OPTIMIZED_MACRO
--# define gl_signbitf(arg) \
-- ({ union { float _value; \
-- unsigned int _word[_GL_NUM_UINT_WORDS (float)]; \
-- } _m; \
-- _m._value = (arg); \
-- (_m._word[FLT_SIGNBIT_WORD] >> FLT_SIGNBIT_BIT) & 1; \
-- })
--# endif
--# if defined DBL_SIGNBIT_WORD && defined DBL_SIGNBIT_BIT && !defined gl_signbitd
--# define gl_signbitd_OPTIMIZED_MACRO
--# define gl_signbitd(arg) \
-- ({ union { double _value; \
-- unsigned int _word[_GL_NUM_UINT_WORDS (double)]; \
-- } _m; \
-- _m._value = (arg); \
-- (_m._word[DBL_SIGNBIT_WORD] >> DBL_SIGNBIT_BIT) & 1; \
-- })
--# endif
--# if defined LDBL_SIGNBIT_WORD && defined LDBL_SIGNBIT_BIT && !defined gl_signbitl
--# define gl_signbitl_OPTIMIZED_MACRO
--# define gl_signbitl(arg) \
-- ({ union { long double _value; \
-- unsigned int _word[_GL_NUM_UINT_WORDS (long double)]; \
-- } _m; \
-- _m._value = (arg); \
-- (_m._word[LDBL_SIGNBIT_WORD] >> LDBL_SIGNBIT_BIT) & 1; \
-- })
--# endif
--# endif
--# define signbit(x) \
-- (sizeof (x) == sizeof (long double) ? gl_signbitl (x) : \
-- sizeof (x) == sizeof (double) ? gl_signbitd (x) : \
-- gl_signbitf (x))
--# endif
--# ifdef __cplusplus
--# if defined signbit || defined GNULIB_NAMESPACE
--_GL_MATH_CXX_REAL_FLOATING_DECL_1 (signbit)
--# undef signbit
--_GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
--# endif
--# endif
--#elif defined GNULIB_POSIXCHECK
--# if defined signbit
--_GL_WARN_REAL_FLOATING_DECL (signbit);
--# undef signbit
--# define signbit(x) _GL_WARN_REAL_FLOATING_IMPL (signbit, x)
--# endif
--#endif
--
- _GL_INLINE_HEADER_END
-
- #endif /* _@GUARD_PREFIX@_MATH_H */
-
diff --git a/extra/groff/sources b/extra/groff/sources
index 8f5e23f2..c5ae1ad1 100644
--- a/extra/groff/sources
+++ b/extra/groff/sources
@@ -1,2 +1 @@
-https://ftp.gnu.org/gnu/groff/groff-1.22.4.tar.gz
-files/musl.patch
+https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz
diff --git a/extra/groff/version b/extra/groff/version
index 8873ee69..8549d7b2 100644
--- a/extra/groff/version
+++ b/extra/groff/version
@@ -1 +1 @@
-1.22.4 2
+1.23.0 1
diff --git a/extra/gst-plugins-base/build b/extra/gst-plugins-base/build
index bf56ece1..c3d90c79 100755
--- a/extra/gst-plugins-base/build
+++ b/extra/gst-plugins-base/build
@@ -7,10 +7,9 @@ cl-meson \
--auto-features=auto \
-Dtremor=disabled \
-Dexamples=disabled \
- -Dgtk_doc=disabled \
+ -Ddoc=disabled \
-Dcdparanoia=disabled \
-Dintrospection=disabled \
- -Dsndio=enabled \
. output
ninja -C output
diff --git a/extra/gst-plugins-base/checksums b/extra/gst-plugins-base/checksums
index eeb5dccc..fbc90a74 100644
--- a/extra/gst-plugins-base/checksums
+++ b/extra/gst-plugins-base/checksums
@@ -1,3 +1,3 @@
%BLAKE3
-da54e9da107f3b22f7110c8f2b3b75509ab8bbe67561970abbb3ae3fa1ae17cc gst-plugins-base-1.18.5.tar.xz
+e7722b6d37fd2f750cc175211d70c95c160ebed4305c8d9d0939f181b02105c4 gst-plugins-base-1.24.8.tar.xz
dc156bdfc719f9c7a0e8352864068d6e6b9d8493f6677d415e707b7c138b99ee gl-headers-5c8c7c0d.tar.gz
diff --git a/extra/gst-plugins-base/sources b/extra/gst-plugins-base/sources
index 70551a14..a857a742 100644
--- a/extra/gst-plugins-base/sources
+++ b/extra/gst-plugins-base/sources
@@ -1,2 +1,2 @@
-https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.18.5.tar.xz
+https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.24.8.tar.xz
https://gitlab.freedesktop.org/gstreamer/meson-ports/gl-headers/-/archive/5c8c7c0d/gl-headers-5c8c7c0d.tar.gz subprojects/gl-headers
diff --git a/extra/gst-plugins-base/version b/extra/gst-plugins-base/version
index 9e28c069..b4ddb383 100644
--- a/extra/gst-plugins-base/version
+++ b/extra/gst-plugins-base/version
@@ -1 +1 @@
-1.18.5 1
+1.24.8 1
diff --git a/extra/gst-plugins/build b/extra/gst-plugins/build
index 8f54ad02..8ebe5a63 100755
--- a/extra/gst-plugins/build
+++ b/extra/gst-plugins/build
@@ -1,5 +1,15 @@
#!/bin/sh -e
+check_option() {
+ # Meson >=0.60.0 fails when an option used is unspecified in the project.
+ # Meson also fails when supplied with empty arguments, so we set the return
+ # value to something that the project provides
+ grep -q "^option('$1'," meson_options.txt || set -- localedir share/locale
+ # We are not trying to pass an option to printf here.
+ # shellcheck disable=3045
+ printf '-D%s=%s' "$@"
+}
+
export DESTDIR="$1"
[ "$CPT_TEST" ] && test=enabled
@@ -10,9 +20,11 @@ for plugin in libav good bad ugly; do (
# Enable auto-features in gst-plugins
cl-meson \
--auto-features=auto \
- -Dexample=false \
- -Dtests=${test:-disabled} \
- -Dqt5=disabled \
+ "$(check_option examples disabled)" \
+ "$(check_option nls disabled)" \
+ "$(check_option introspection disabled)" \
+ "$(check_option tests "${test:-disabled}")" \
+ "$(check_option qt5 disabled)" \
. output
ninja -C output
diff --git a/extra/gst-plugins/checksums b/extra/gst-plugins/checksums
index 7ad1b13e..28d80bf4 100644
--- a/extra/gst-plugins/checksums
+++ b/extra/gst-plugins/checksums
@@ -1,5 +1,5 @@
%BLAKE3
-8db280af3652e09587fb78e0314de69b0188f25c411e13cb3a24037fccf9131f gst-plugins-good-1.18.5.tar.xz
-7c7983afdd1219fe7732204da66e40b1681823c4fbeb6ee9c87d08be170801ad gst-plugins-bad-1.18.5.tar.xz
-12aecd1b68fd5362594513555162a1217e85f05382b884475f9cef223b0d2eb7 gst-plugins-ugly-1.18.5.tar.xz
-6c764e36f81dd46c9f232718c3b0c9e804a11c6eb902fd2ae3722f6b25857faa gst-libav-1.18.5.tar.xz
+229951119abc699c554db979d6d413c654815d5d5db4b76c7625106bb08bf586 gst-plugins-good-1.24.8.tar.xz
+473f0b9962842243bb9fc8e5957e41d9d636232e4fb3cda50367ec932067a3dd gst-plugins-bad-1.24.8.tar.xz
+6342d43bf98621976b0a83a9d6278a875a23eb58b1229b5c5185d9848fad6063 gst-plugins-ugly-1.24.8.tar.xz
+a446f4030587c37461c73269a71e0e3d88177658b41435b1a83bb70d2e0ae589 gst-libav-1.24.8.tar.xz
diff --git a/extra/gst-plugins/sources b/extra/gst-plugins/sources
index 10b128b6..a0b09e4e 100644
--- a/extra/gst-plugins/sources
+++ b/extra/gst-plugins/sources
@@ -1,4 +1,4 @@
-https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.18.5.tar.xz good
-https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.18.5.tar.xz bad
-https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.18.5.tar.xz ugly
-https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.18.5.tar.xz libav
+https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.24.8.tar.xz good
+https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.24.8.tar.xz bad
+https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.8.tar.xz ugly
+https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.24.8.tar.xz libav
diff --git a/extra/gst-plugins/version b/extra/gst-plugins/version
index 9e28c069..b4ddb383 100644
--- a/extra/gst-plugins/version
+++ b/extra/gst-plugins/version
@@ -1 +1 @@
-1.18.5 1
+1.24.8 1
diff --git a/extra/gstreamer/build b/extra/gstreamer/build
index 6407286d..592deeaa 100755
--- a/extra/gstreamer/build
+++ b/extra/gstreamer/build
@@ -1,12 +1,16 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
+
+# Let's not use bison as long as we don't need to
+patch -p1 < byacc.patch
+clsed '/^args/{s/yfile,//;s/cfile/cfile, yfile/;}' gst/parse/gen_grammar.py.in
cl-meson \
-Ddbghelp=disabled \
-Dintrospection=disabled \
- -Dexample=false \
- -Dgtk_doc=disabled \
+ -Dexamples=disabled \
+ -Ddoc=disabled \
. output
ninja -C output
diff --git a/extra/gstreamer/checksums b/extra/gstreamer/checksums
index 73e4650a..4fcb98b9 100644
--- a/extra/gstreamer/checksums
+++ b/extra/gstreamer/checksums
@@ -1,2 +1,3 @@
%BLAKE3
-b73ffac10ad0fd64ab70ba752f2884e055284d13d84d64a21f6d34096d017120 gstreamer-1.18.5.tar.xz
+4dbf011fe0b47e420fd64c5fc5bb37c4cb991ff9773e8df6fcfb24a19403a495 gstreamer-1.24.8.tar.xz
+d69378fcb6e40f43f7341e08d1bcb135ce5425eedf88e0bee6021b39de2e7955 byacc.patch
diff --git a/extra/gstreamer/patches/byacc.patch b/extra/gstreamer/patches/byacc.patch
new file mode 100644
index 00000000..c4851c87
--- /dev/null
+++ b/extra/gstreamer/patches/byacc.patch
@@ -0,0 +1,26 @@
+--- a/gst/parse/meson.build Wed Oct 12 17:39:51 2022
++++ b/gst/parse/meson.build Thu Oct 13 14:49:30 2022
+@@ -31,21 +31,9 @@
+ bison_cdata = configuration_data()
+
+ bison_min_version='2.4'
+-bison = find_program('bison', 'win_bison')
++bison = find_program('bison', 'win_bison', 'yacc')
+
+-bversion_res = run_command([bison, '--version'], check: true)
+-bversion = bversion_res.stdout().split('\n')[0].split(' ')[-1].strip()
+-if bversion.version_compare('<' + bison_min_version)
+- error('bison version @0@ >= @1@: NO'.format(bversion, bison_min_version))
+-else
+- message('bison version @0@ >= @1@: YES'.format(bversion, bison_min_version))
+-endif
+-
+-if bversion.version_compare('>' + '2.5')
+- bison_parser_cdata.set('BISON_PURE_PARSER', '%define api.pure full')
+-else
+- bison_parser_cdata.set('BISON_PURE_PARSER', '%pure-parser')
+-endif
++bison_parser_cdata.set('BISON_PURE_PARSER', '%pure-parser')
+
+ gen_grammar_file = configure_file(input : 'grammar.y.in',
+ output : 'grammar.y',
diff --git a/extra/gstreamer/sources b/extra/gstreamer/sources
index 2bd3da0b..a9ed3889 100644
--- a/extra/gstreamer/sources
+++ b/extra/gstreamer/sources
@@ -1 +1,2 @@
-https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.18.5.tar.xz
+https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.24.8.tar.xz
+patches/byacc.patch
diff --git a/extra/gstreamer/version b/extra/gstreamer/version
index 9e28c069..b4ddb383 100644
--- a/extra/gstreamer/version
+++ b/extra/gstreamer/version
@@ -1 +1 @@
-1.18.5 1
+1.24.8 1
diff --git a/extra/gtk+2/build b/extra/gtk+2/build
deleted file mode 100755
index 7bb2318b..00000000
--- a/extra/gtk+2/build
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh -e
-
-export CFLAGS="$CFLAGS -UGDK_PIXBUF_DISABLE_DEPRECATED"
-
-./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --enable-debug=no \
- --disable-gtk-doc \
- --with-xinput=yes
-
-make
-make DESTDIR="$1" install
-
-rm -f "$1/usr/bin/gtk-update-icon-cache"
-rm -f "$1/usr/bin/gtk-demo"
-rm -rf "$1/usr/share/gtk-2.0/demo"
diff --git a/extra/gtk+2/checksums b/extra/gtk+2/checksums
deleted file mode 100644
index a8348242..00000000
--- a/extra/gtk+2/checksums
+++ /dev/null
@@ -1 +0,0 @@
-ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da gtk+-2.24.33.tar.xz
diff --git a/extra/gtk+2/depends b/extra/gtk+2/depends
deleted file mode 100644
index 55387439..00000000
--- a/extra/gtk+2/depends
+++ /dev/null
@@ -1,10 +0,0 @@
-atk
-fribidi
-gdk-pixbuf
-libXcomposite
-libXi
-libXinerama
-libepoxy
-pango
-python make
-shared-mime-info
diff --git a/extra/gtk+2/sources b/extra/gtk+2/sources
deleted file mode 100644
index 17166ff4..00000000
--- a/extra/gtk+2/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.33.tar.xz
diff --git a/extra/gtk+2/version b/extra/gtk+2/version
deleted file mode 100644
index edd6caf9..00000000
--- a/extra/gtk+2/version
+++ /dev/null
@@ -1 +0,0 @@
-2.24.33 1
diff --git a/extra/gtk+3/build b/extra/gtk+3/build
index 23bdec18..0f603f16 100755
--- a/extra/gtk+3/build
+++ b/extra/gtk+3/build
@@ -1,6 +1,6 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
# Remove error on array-bounds
clsed '/array-bounds/d' meson.build
@@ -16,8 +16,8 @@ tests=false; [ "$CPT_TEST" = 1 ] && tests=true
cl-meson \
-Ddefault_library=both \
-Dxinerama=yes \
- -Dx11_backend=true \
- -Dwayland_backend="$(cpt l -C wayland true false)" \
+ -Dx11_backend=false \
+ -Dwayland_backend=true \
-Dprint_backends=file \
-Ddemos=false \
-Dexamples=false \
diff --git a/extra/gtk+3/checksums b/extra/gtk+3/checksums
index 64b49be8..0bbe20c4 100644
--- a/extra/gtk+3/checksums
+++ b/extra/gtk+3/checksums
@@ -1 +1,2 @@
-ba75bfff320ad1f4cfbee92ba813ec336322cc3c660d406aad014b07087a3ba9 gtk+-3.24.30.tar.xz
+%BLAKE3
+949333a7515307f4232babde41026bb08ff6473d9730c55d54962324e1bc135e gtk-3.24.43.tar.gz
diff --git a/extra/gtk+3/depends b/extra/gtk+3/depends
index 766f5299..5aa05fb6 100644
--- a/extra/gtk+3/depends
+++ b/extra/gtk+3/depends
@@ -1,16 +1,16 @@
atk
+cairo
+fontconfig
+freetype-harfbuzz
fribidi
gdk-pixbuf
-gobject-introspection
-libXcomposite
-libXcursor
-libXdamage
-libXext
-libXi
-libXinerama
-libXrandr
+glib
+gobject-introspection make
libepoxy
+libxkbcommon
meson make
pango
python make
shared-mime-info
+wayland
+wayland-protocols make
diff --git a/extra/gtk+3/sources b/extra/gtk+3/sources
index aef140da..f6c680ce 100644
--- a/extra/gtk+3/sources
+++ b/extra/gtk+3/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.30.tar.xz
+https://gitlab.gnome.org/GNOME/gtk/-/archive/3.24.43/gtk-3.24.43.tar.gz
diff --git a/extra/gtk+3/version b/extra/gtk+3/version
index b7a72386..3ac8fbdc 100644
--- a/extra/gtk+3/version
+++ b/extra/gtk+3/version
@@ -1 +1 @@
-3.24.30 1
+3.24.43 1
diff --git a/extra/gtk4/build b/extra/gtk4/build
index a28474d9..ddb396a0 100755
--- a/extra/gtk4/build
+++ b/extra/gtk4/build
@@ -1,17 +1,21 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
+export LD=ld.bfd
+
+# Disable usage of execinfo on the testsuite
+clsed '/#ifndef G_OS_WIN32/c#if !defined(G_OS_WIN32) && defined(__GLIBC__)' \
+ testsuite/reftests/gtk-reftest.c
cl-meson \
- -Dgtk_doc=false \
- -Dwayland-backend="$(cpt l -C wayland true false)" \
+ -Dwayland-backend=true \
-Dwin32-backend=false \
+ -Dx11-backend=false \
-Dintrospection=disabled \
-Dmedia-gstreamer=disabled \
- -Dsassc=disabled \
-Dprint-cups=disabled \
- -Ddemos=false \
-Df16c=disabled \
+ -Dbuild-demos=false \
-Dbuild-tests=false \
-Dbuild-examples=false \
-Dvulkan=disabled \
diff --git a/extra/gtk4/checksums b/extra/gtk4/checksums
index 4166327c..397e0a72 100644
--- a/extra/gtk4/checksums
+++ b/extra/gtk4/checksums
@@ -1,2 +1,4 @@
%BLAKE3
-991f8433ebcdffe572f500c42f262e3baea710fca95123a73ea768e624977154 gtk-4.4.0.tar.xz
+6b2fa02ee7f5c4ff74c00ccd840ad33ba9518d838efabb65474c0247e6d9bf4d gtk-4.16.3.tar.xz
+6654770a5ef88887b93cba499b32f6f36279f5fcc2684fdad9ec9bad5037ea26 8280337.tar.gz
+2753baffa6a8686ecea1b1f6348911e3545219ecb92b2fcffb3afc67830bfe06 302397c.tar.gz
diff --git a/extra/gtk4/depends b/extra/gtk4/depends
index 41bbe982..8810add9 100644
--- a/extra/gtk4/depends
+++ b/extra/gtk4/depends
@@ -1,18 +1,16 @@
-atk
+binutils make
+cairo
+fontconfig
+freetype-harfbuzz
fribidi
gdk-pixbuf
glib
graphene
-libXcomposite
-libXcursor
-libXdamage
-libXext
-libXi
-libXinerama
-libXrandr
libepoxy
+libxkbcommon
meson make
pango
-perl make
python make
shared-mime-info
+wayland
+wayland-protocols make
diff --git a/extra/gtk4/sources b/extra/gtk4/sources
index 051abf55..4dedb908 100644
--- a/extra/gtk4/sources
+++ b/extra/gtk4/sources
@@ -1 +1,3 @@
-https://download.gnome.org/sources/gtk/4.4/gtk-4.4.0.tar.xz
+https://download.gnome.org/sources/gtk/4.16/gtk-4.16.3.tar.xz
+https://github.com/lazka/sassc/archive/8280337.tar.gz subprojects/sassc
+https://github.com/lazka/libsass/archive/302397c.tar.gz subprojects/libsass
diff --git a/extra/gtk4/version b/extra/gtk4/version
index 2ee55c7f..d8d61ede 100644
--- a/extra/gtk4/version
+++ b/extra/gtk4/version
@@ -1 +1 @@
-4.4.0 1
+4.16.3 1
diff --git a/extra/gvim/build b/extra/gvim/build
deleted file mode 100755
index b558c7f1..00000000
--- a/extra/gvim/build
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh -e
-
-./configure \
- --prefix=/usr \
- --enable-cscope \
- --enable-multibyte \
- --with-ex-name=vim-ex \
- --with-view-name=vim-view \
- --disable-perlinterp \
- --disable-pythoninterp \
- --disable-rubyinterp \
- --disable-netbeans \
- --disable-gpm \
- --disable-hangulinput \
- --disable-xim \
- --disable-gui \
- --with-x \
- --enable-gui=gtk3
-
-make
-make DESTDIR="$1" install
diff --git a/extra/gvim/checksums b/extra/gvim/checksums
deleted file mode 120000
index 71e4f754..00000000
--- a/extra/gvim/checksums
+++ /dev/null
@@ -1 +0,0 @@
-../vim/checksums \ No newline at end of file
diff --git a/extra/gvim/depends b/extra/gvim/depends
deleted file mode 100644
index 2e8f4f60..00000000
--- a/extra/gvim/depends
+++ /dev/null
@@ -1,2 +0,0 @@
-gtk+3
-ncurses
diff --git a/extra/gvim/meta b/extra/gvim/meta
deleted file mode 100644
index 07750e78..00000000
--- a/extra/gvim/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: Vim editor - GTK+ GUI
-license: Vim
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/gvim/sources b/extra/gvim/sources
deleted file mode 120000
index 94c6975c..00000000
--- a/extra/gvim/sources
+++ /dev/null
@@ -1 +0,0 @@
-../vim/sources \ No newline at end of file
diff --git a/extra/gvim/version b/extra/gvim/version
deleted file mode 120000
index 52829b56..00000000
--- a/extra/gvim/version
+++ /dev/null
@@ -1 +0,0 @@
-../vim/version \ No newline at end of file
diff --git a/extra/harfbuzz-icu/build b/extra/harfbuzz-icu/build
index 15dd7cb6..d1c74d92 100755
--- a/extra/harfbuzz-icu/build
+++ b/extra/harfbuzz-icu/build
@@ -12,11 +12,15 @@ cl-meson \
-Dbenchmark=disabled \
-Dcairo=disabled \
-Ddocs=disabled \
+ -Dtests=disabled \
. output
ninja -C output
ninja -C output install
-clinst -Dt "$1/usr/lib" tmp/usr/lib/libharfbuzz-icu*
-clinst -Dt "$1/usr/lib/pkgconfig" tmp/usr/lib/pkgconfig/harfbuzz-icu.pc
-clinst -Dt "$1/usr/include/harfbuzz" tmp/usr/include/harfbuzz/hb-icu.h
+# Install library files
+clinst -Dm644 -t "$1/usr/lib/pkgconfig" tmp/usr/lib/pkgconfig/harfbuzz-icu.pc
+cp -H tmp/usr/lib/libharfbuzz-icu* "$1/usr/lib/"
+
+# Install header
+clinst -Dm644 -t "$1/usr/include/harfbuzz" tmp/usr/include/harfbuzz/hb-icu.h
diff --git a/extra/harfbuzz-icu/checksums b/extra/harfbuzz-icu/checksums
index 34b5c7e9..a81767b1 100644
--- a/extra/harfbuzz-icu/checksums
+++ b/extra/harfbuzz-icu/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-afd7021e523be8401d6ec46fca0eee63e3f600e856aeacd781935ad897283012 3.0.0.tar.gz
+ff34e7a5c5b8a8d4422f5da6bd620d25ecb4b2443f27deeeb300a5c9c3b11ce0 10.0.1.tar.gz
diff --git a/extra/harfbuzz-icu/sources b/extra/harfbuzz-icu/sources
index ecfb7277..15dfc9d8 100644
--- a/extra/harfbuzz-icu/sources
+++ b/extra/harfbuzz-icu/sources
@@ -1 +1 @@
-https://github.com/harfbuzz/harfbuzz/archive/3.0.0.tar.gz
+https://github.com/harfbuzz/harfbuzz/archive/10.0.1.tar.gz
diff --git a/extra/harfbuzz-icu/version b/extra/harfbuzz-icu/version
index 4fc4c8a7..1a521502 100644
--- a/extra/harfbuzz-icu/version
+++ b/extra/harfbuzz-icu/version
@@ -1 +1 @@
-3.0.0 1
+10.0.1 1
diff --git a/extra/hicolor-icon-theme/build b/extra/hicolor-icon-theme/build
new file mode 100755
index 00000000..d93b1947
--- /dev/null
+++ b/extra/hicolor-icon-theme/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cl-meson \
+ . output
+
+ninja -C output install
diff --git a/extra/hicolor-icon-theme/checksums b/extra/hicolor-icon-theme/checksums
new file mode 100644
index 00000000..ed928c60
--- /dev/null
+++ b/extra/hicolor-icon-theme/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+062e251872a23ecf47a127293ae9abf98a1c912f82f819d0cebccf8d9415deb2 hicolor-icon-theme-0.18.tar.xz
diff --git a/extra/hicolor-icon-theme/depends b/extra/hicolor-icon-theme/depends
new file mode 100644
index 00000000..36f6fe6c
--- /dev/null
+++ b/extra/hicolor-icon-theme/depends
@@ -0,0 +1 @@
+meson make
diff --git a/extra/hicolor-icon-theme/meta b/extra/hicolor-icon-theme/meta
new file mode 100644
index 00000000..9ba77eed
--- /dev/null
+++ b/extra/hicolor-icon-theme/meta
@@ -0,0 +1,3 @@
+description: Standard icon theme
+license: GPL-2.0-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/hicolor-icon-theme/sources b/extra/hicolor-icon-theme/sources
new file mode 100644
index 00000000..a33823f8
--- /dev/null
+++ b/extra/hicolor-icon-theme/sources
@@ -0,0 +1 @@
+https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.18.tar.xz
diff --git a/extra/hicolor-icon-theme/version b/extra/hicolor-icon-theme/version
new file mode 100644
index 00000000..23ca89d5
--- /dev/null
+++ b/extra/hicolor-icon-theme/version
@@ -0,0 +1 @@
+0.18 1
diff --git a/extra/fossil/build b/extra/hwdata/build
index 1ba98ceb..f525957d 100755
--- a/extra/fossil/build
+++ b/extra/hwdata/build
@@ -2,9 +2,7 @@
./configure \
--prefix=/usr \
- --static
+ --disable-blacklist
make
make DESTDIR="$1" install
-
-clman -d "$1" fossil.1
diff --git a/extra/hwdata/checksums b/extra/hwdata/checksums
new file mode 100644
index 00000000..ee4951e1
--- /dev/null
+++ b/extra/hwdata/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+2ad5358cd623b138a16fc2b5a3b5bf74ecc5f3cb83bc446d6f15c6db576d4075 v0.388.tar.gz
diff --git a/extra/hwdata/meta b/extra/hwdata/meta
new file mode 100644
index 00000000..ae2d5aa3
--- /dev/null
+++ b/extra/hwdata/meta
@@ -0,0 +1,3 @@
+description: Package containing various hardware identification and configuration data
+license: GPL-2.0-or-later, XFree86-1.0
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/hwdata/sources b/extra/hwdata/sources
new file mode 100644
index 00000000..6cd98418
--- /dev/null
+++ b/extra/hwdata/sources
@@ -0,0 +1 @@
+https://github.com/vcrhonek/hwdata/archive/refs/tags/v0.388.tar.gz
diff --git a/extra/hwdata/version b/extra/hwdata/version
new file mode 100644
index 00000000..f06df3b7
--- /dev/null
+++ b/extra/hwdata/version
@@ -0,0 +1 @@
+0.388 1
diff --git a/extra/icu/checksums b/extra/icu/checksums
index cb0ac760..fe038dee 100644
--- a/extra/icu/checksums
+++ b/extra/icu/checksums
@@ -1 +1,2 @@
-4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745 icu4c-69_1-src.tgz
+%BLAKE3
+4a02c9a2e790582e22233681c118f188d516be433a49ffec8bb2933809fe5fef icu4c-75_1-src.tgz
diff --git a/extra/icu/sources b/extra/icu/sources
index 86d8a447..6d294a7a 100644
--- a/extra/icu/sources
+++ b/extra/icu/sources
@@ -1 +1 @@
-https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.tgz
+https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz
diff --git a/extra/icu/version b/extra/icu/version
index 4156826f..8fecd125 100644
--- a/extra/icu/version
+++ b/extra/icu/version
@@ -1 +1 @@
-69.1 1
+75.1 1
diff --git a/extra/imagemagick/build b/extra/imagemagick/build
index e5836de3..ccadba92 100755
--- a/extra/imagemagick/build
+++ b/extra/imagemagick/build
@@ -7,7 +7,8 @@
--disable-nls \
--without-magick-plus-plus \
--without-perl \
- --without-xml
+ --without-xml \
+ --without-x
make
make DESTDIR="$1" install
diff --git a/extra/imagemagick/checksums b/extra/imagemagick/checksums
index dceafc3b..0a449a82 100644
--- a/extra/imagemagick/checksums
+++ b/extra/imagemagick/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-8f64a4c09ba5c799aa6de6cbca35c08f451509361b982f411294b01a5628cea0 7.1.0-8.tar.gz
+11f2a934f0dcf65805d2f5e41048e02789391af84141ffa4f9ccd3a291557ea8 7.1.1-20.tar.gz
diff --git a/extra/imagemagick/sources b/extra/imagemagick/sources
index 3b2e9f5d..49c9982e 100644
--- a/extra/imagemagick/sources
+++ b/extra/imagemagick/sources
@@ -1 +1 @@
-https://github.com/ImageMagick/ImageMagick/archive/refs/tags/7.1.0-8.tar.gz
+https://github.com/ImageMagick/ImageMagick/archive/refs/tags/7.1.1-20.tar.gz
diff --git a/extra/imagemagick/version b/extra/imagemagick/version
index 67780396..48257ea2 100644
--- a/extra/imagemagick/version
+++ b/extra/imagemagick/version
@@ -1 +1 @@
-7.1.0-8 1
+7.1.1-20 1
diff --git a/extra/imlib2/checksums b/extra/imlib2/checksums
index 1891dd6c..7fa4966a 100644
--- a/extra/imlib2/checksums
+++ b/extra/imlib2/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-accdc5ff6ebb042288ea1f777e00cff3f1a97d0ee0c87b8445386dd75f2925d0 imlib2-1.7.4.tar.gz
+145cf4ca6e9a4ce65aaf98f768cf0d2db61ce83e47bc49a0d389a3fe172d3700 imlib2-1.12.3.tar.gz
diff --git a/extra/imlib2/sources b/extra/imlib2/sources
index bde5e452..7a4f03ef 100644
--- a/extra/imlib2/sources
+++ b/extra/imlib2/sources
@@ -1 +1 @@
-https://downloads.sourceforge.net/enlightenment/imlib2-src/imlib2-1.7.4.tar.gz
+https://downloads.sourceforge.net/enlightenment/imlib2-src/imlib2-1.12.3.tar.gz
diff --git a/extra/imlib2/version b/extra/imlib2/version
index d70531c9..c1976fd4 100644
--- a/extra/imlib2/version
+++ b/extra/imlib2/version
@@ -1 +1 @@
-1.7.4 1
+1.12.3 1
diff --git a/extra/info/checksums b/extra/info/checksums
index 4ac3e63b..f9927e93 120000..100644
--- a/extra/info/checksums
+++ b/extra/info/checksums
@@ -1 +1,2 @@
-../texinfo/checksums \ No newline at end of file
+%BLAKE3
+f5f103698ea6460ec6dbfa533cae830aa4a1c44d20e65479514468a360565e38 texinfo-7.0.3.tar.xz
diff --git a/extra/info/post-install b/extra/info/post-install
index e9df43e8..662b5ff5 120000..100755
--- a/extra/info/post-install
+++ b/extra/info/post-install
@@ -1 +1,5 @@
-../texinfo/post-install \ No newline at end of file
+#!/bin/sh
+
+find "$CPT_ROOT/usr/share/info" -type f ! -name dir | while read -r file; do
+ install-info "$file" "$CPT_ROOT/usr/share/info/dir"
+done
diff --git a/extra/info/sources b/extra/info/sources
index 0edd2189..c92ef464 120000..100644
--- a/extra/info/sources
+++ b/extra/info/sources
@@ -1 +1 @@
-../texinfo/sources \ No newline at end of file
+https://ftp.gnu.org/gnu/texinfo/texinfo-7.0.3.tar.xz
diff --git a/extra/info/version b/extra/info/version
index fcd2b6c9..828018d1 120000..100644
--- a/extra/info/version
+++ b/extra/info/version
@@ -1 +1 @@
-../texinfo/version \ No newline at end of file
+7.0.3 1
diff --git a/extra/iptables/build b/extra/iptables/build
index 68ed828e..84186e0f 100755
--- a/extra/iptables/build
+++ b/extra/iptables/build
@@ -1,11 +1,18 @@
#!/bin/sh -e
+export LDFLAGS="$LDFLAGS -static"
+
./configure \
--prefix=/usr \
- --sbindir=/usr/sbin \
+ --sbindir=/usr/bin \
+ --disable-shared \
+ --enable-static \
--enable-libipq \
- --with-xtlibdir=/lib/xtables \
+ --with-xtlibdir=/usr/lib/xtables \
--disable-nftables
-make
+clsed '/^#include <netinet\/ether.h>/d' libxtables/xtables.c
+clsed 's/u_int16_t/uint16_t/g' iptables/xshared.h
+
+make LDFLAGS="$LDFLAGS -all-static"
make DESTDIR="$1" install
diff --git a/extra/iptables/checksums b/extra/iptables/checksums
index ecfb259f..eb319fbf 100644
--- a/extra/iptables/checksums
+++ b/extra/iptables/checksums
@@ -1 +1,2 @@
-c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0
+%BLAKE3
+69cc827247ee4b240e68f5862140ad70febf5c499a727df6c7652fab6be0da8d iptables-1.8.10.tar.xz
diff --git a/extra/iptables/sources b/extra/iptables/sources
index 355baeca..982c268d 100644
--- a/extra/iptables/sources
+++ b/extra/iptables/sources
@@ -1 +1 @@
-https://fossies.org/linux/misc/iptables-1.8.7.tar.bz2
+http://www.netfilter.org/projects/iptables/files/iptables-1.8.10.tar.xz
diff --git a/extra/iptables/version b/extra/iptables/version
index 6b7ba1c3..b7b9ed84 100644
--- a/extra/iptables/version
+++ b/extra/iptables/version
@@ -1 +1 @@
-1.8.7 1
+1.8.10 1
diff --git a/extra/iw/build b/extra/iw/build
deleted file mode 100755
index 58b5126a..00000000
--- a/extra/iw/build
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh -e
-
-# iw manpage is extremely small,
-# we don't need to compress it.
-sed 's@\(iw\.8\)\.gz@\1@' Makefile > _
-cat _ > Makefile; rm -f _
-make DESTDIR="$1" LDFLAGS="$LDFLAGS -static" PREFIX="/usr" SBINDIR="/usr/bin" install
diff --git a/extra/iw/checksums b/extra/iw/checksums
deleted file mode 100644
index b795df90..00000000
--- a/extra/iw/checksums
+++ /dev/null
@@ -1 +0,0 @@
-293a07109aeb7e36267cf59e3ce52857e9ffae3a6666eb8ac77894b1839fe1f2 iw-5.9.tar.xz
diff --git a/extra/iw/depends b/extra/iw/depends
deleted file mode 100644
index 58bd7032..00000000
--- a/extra/iw/depends
+++ /dev/null
@@ -1 +0,0 @@
-libnl make
diff --git a/extra/iw/sources b/extra/iw/sources
deleted file mode 100644
index 55b7d4d0..00000000
--- a/extra/iw/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://www.kernel.org/pub/software/network/iw/iw-5.9.tar.xz
diff --git a/extra/iw/version b/extra/iw/version
deleted file mode 100644
index 3d4b2f6a..00000000
--- a/extra/iw/version
+++ /dev/null
@@ -1 +0,0 @@
-5.9 1
diff --git a/extra/json-c/build b/extra/json-c/build
index 7f4f480b..53100c34 100755
--- a/extra/json-c/build
+++ b/extra/json-c/build
@@ -6,7 +6,10 @@ cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_BUILD_TYPE=Release \
- -DBUILD_TESTING=OFF
+ -DDISABLE_WERROR=ON \
+ -DDISABLE_EXTRA_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -Wno-dev
cmake --build build
cmake --install build
diff --git a/extra/json-c/checksums b/extra/json-c/checksums
index 7f35ddc5..e075bc21 100644
--- a/extra/json-c/checksums
+++ b/extra/json-c/checksums
@@ -1 +1,2 @@
-4ba9a090a42cf1e12b84c64e4464bb6fb893666841d5843cc5bef90774028882 json-c-0.15-20200726.tar.gz
+%BLAKE3
+71e7b07a5778e221ead5e9eb784aac49f8d722fc18ba61c5ec02ee9b313ceeaf json-c-0.17-20230812.tar.gz
diff --git a/extra/json-c/sources b/extra/json-c/sources
index d72f151b..048bc525 100644
--- a/extra/json-c/sources
+++ b/extra/json-c/sources
@@ -1 +1 @@
-https://github.com/json-c/json-c/archive/json-c-0.15-20200726.tar.gz
+https://github.com/json-c/json-c/archive/refs/tags/json-c-0.17-20230812.tar.gz
diff --git a/extra/json-c/version b/extra/json-c/version
index a78cbfce..dc75c933 100644
--- a/extra/json-c/version
+++ b/extra/json-c/version
@@ -1 +1 @@
-0.15 1
+0.17 1
diff --git a/extra/kbd/checksums b/extra/kbd/checksums
index f539f8b4..880d99dd 100644
--- a/extra/kbd/checksums
+++ b/extra/kbd/checksums
@@ -1 +1,2 @@
-55f0740458cfd3a84e775e50d7e8b92dc01846db1edad8e2411ccc293ece9b9f kbd-2.4.0.tar.xz
+%BLAKE3
+298f835bdc392b188715547fc83a23d1b2e72a4bb59c3a40fd1041bb7033330a kbd-2.6.3.tar.xz
diff --git a/extra/kbd/sources b/extra/kbd/sources
index 448d523d..2e7bf3b7 100644
--- a/extra/kbd/sources
+++ b/extra/kbd/sources
@@ -1 +1 @@
-https://mirrors.edge.kernel.org/pub/linux/utils/kbd/kbd-2.4.0.tar.xz
+https://mirrors.edge.kernel.org/pub/linux/utils/kbd/kbd-2.6.3.tar.xz
diff --git a/extra/kbd/version b/extra/kbd/version
index 7afb4de6..d07a753e 100644
--- a/extra/kbd/version
+++ b/extra/kbd/version
@@ -1 +1 @@
-2.4.0 1
+2.6.3 1
diff --git a/extra/kcgi/checksums b/extra/kcgi/checksums
index e20e54cf..a95111a5 100644
--- a/extra/kcgi/checksums
+++ b/extra/kcgi/checksums
@@ -1 +1,2 @@
-06ed033de3723651d76e2fac1c2442aaa3a28ac231cbfda4142dfb8782cab363 kcgi-0.12.5.tgz
+%BLAKE3
+d15d8e9a86175062218184e6ddaa2036e90a525b5e5387ecf8d1965134c56736 kcgi-0.13.0.tgz
diff --git a/extra/kcgi/sources b/extra/kcgi/sources
index 2cbd346e..b6664830 100644
--- a/extra/kcgi/sources
+++ b/extra/kcgi/sources
@@ -1 +1 @@
-https://kristaps.bsd.lv/kcgi/snapshots/kcgi-0.12.5.tgz
+https://kristaps.bsd.lv/kcgi/snapshots/kcgi-0.13.0.tgz
diff --git a/extra/kcgi/version b/extra/kcgi/version
index 83e77440..8a781637 100644
--- a/extra/kcgi/version
+++ b/extra/kcgi/version
@@ -1 +1 @@
-0.12.5 1
+0.13.0 1
diff --git a/extra/lcms2/checksums b/extra/lcms2/checksums
index 02a1127d..7bfd6387 100644
--- a/extra/lcms2/checksums
+++ b/extra/lcms2/checksums
@@ -1 +1,2 @@
-e501f1482fc424550ef3abbf86bf1c66090e1661249e89552d39ed5bf935df66 2.12.tar.gz
+%BLAKE3
+62a9bfa4e02cb94472c14d80c78b47be013f7a29c971e0e53fcfc6e57ac42280 lcms2.15.tar.gz
diff --git a/extra/lcms2/sources b/extra/lcms2/sources
index 81188e65..3dedcca6 100644
--- a/extra/lcms2/sources
+++ b/extra/lcms2/sources
@@ -1 +1 @@
-https://github.com/mm2/Little-CMS/archive/2.12.tar.gz
+https://github.com/mm2/Little-CMS/archive/lcms2.15.tar.gz
diff --git a/extra/lcms2/version b/extra/lcms2/version
index 469c7916..2698b409 100644
--- a/extra/lcms2/version
+++ b/extra/lcms2/version
@@ -1 +1 @@
-2.12 1
+2.15 1
diff --git a/extra/gawk/build b/extra/less/build
index ba2adac0..ba2adac0 100755
--- a/extra/gawk/build
+++ b/extra/less/build
diff --git a/extra/less/checksums b/extra/less/checksums
new file mode 100644
index 00000000..22f6e29f
--- /dev/null
+++ b/extra/less/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+c3182f60937dc9f5faa3da5882787e9e1ebca04130311c98318863d24138a1f4 less-633.tar.gz
diff --git a/extra/less/depends b/extra/less/depends
new file mode 100644
index 00000000..2392c85d
--- /dev/null
+++ b/extra/less/depends
@@ -0,0 +1 @@
+ncurses make
diff --git a/extra/gawk/meta b/extra/less/meta
index c657ec57..dba95b67 100644
--- a/extra/gawk/meta
+++ b/extra/less/meta
@@ -1,3 +1,3 @@
-description: GNU Awk implementation
+description: File pager
license: GPL-3.0-or-later
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/less/sources b/extra/less/sources
new file mode 100644
index 00000000..d0e2c478
--- /dev/null
+++ b/extra/less/sources
@@ -0,0 +1 @@
+http://www.greenwoodsoftware.com/less/less-633.tar.gz
diff --git a/extra/less/version b/extra/less/version
new file mode 100644
index 00000000..640ecca5
--- /dev/null
+++ b/extra/less/version
@@ -0,0 +1 @@
+633 1
diff --git a/extra/libICE/build b/extra/libICE/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libICE/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libICE/checksums b/extra/libICE/checksums
new file mode 100644
index 00000000..c74cdc45
--- /dev/null
+++ b/extra/libICE/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+7b4ac3d3e4b41cce7c6a0e5b2b6f338b0172d2458563cf2b8e8e7a207657ffa7 libICE-1.1.1.tar.xz
diff --git a/extra/libICE/depends b/extra/libICE/depends
new file mode 100644
index 00000000..ebbf4b36
--- /dev/null
+++ b/extra/libICE/depends
@@ -0,0 +1,2 @@
+xorgproto make
+xtrans make
diff --git a/extra/libICE/meta b/extra/libICE/meta
new file mode 100644
index 00000000..2cf033ad
--- /dev/null
+++ b/extra/libICE/meta
@@ -0,0 +1,3 @@
+description: Intel Client Exchange library for X
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libICE/sources b/extra/libICE/sources
new file mode 100644
index 00000000..858883b9
--- /dev/null
+++ b/extra/libICE/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libICE-1.1.1.tar.xz
diff --git a/extra/libICE/version b/extra/libICE/version
new file mode 100644
index 00000000..e343e3f8
--- /dev/null
+++ b/extra/libICE/version
@@ -0,0 +1 @@
+1.1.1 1
diff --git a/extra/libSM/build b/extra/libSM/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libSM/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libSM/checksums b/extra/libSM/checksums
new file mode 100644
index 00000000..3048569d
--- /dev/null
+++ b/extra/libSM/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+1af23c9ec72e2ebe1feb876d8ea4d751f1366db9ce59a5e9aec689e1162ed44e libSM-1.2.4.tar.xz
diff --git a/extra/libSM/depends b/extra/libSM/depends
new file mode 100644
index 00000000..faa771bd
--- /dev/null
+++ b/extra/libSM/depends
@@ -0,0 +1,3 @@
+util-linux
+libICE
+pkgconf make
diff --git a/extra/libSM/meta b/extra/libSM/meta
new file mode 100644
index 00000000..585a3c84
--- /dev/null
+++ b/extra/libSM/meta
@@ -0,0 +1,3 @@
+description: X Session Management Library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libSM/sources b/extra/libSM/sources
new file mode 100644
index 00000000..1ae2bfc0
--- /dev/null
+++ b/extra/libSM/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libSM-1.2.4.tar.xz
diff --git a/extra/libSM/version b/extra/libSM/version
new file mode 100644
index 00000000..d66671c6
--- /dev/null
+++ b/extra/libSM/version
@@ -0,0 +1 @@
+1.2.4 1
diff --git a/extra/libX11/build b/extra/libX11/build
new file mode 100755
index 00000000..a7d53475
--- /dev/null
+++ b/extra/libX11/build
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+CFLAGS_FOR_BUILD=-fPIC \
+./configure \
+ --prefix=/usr \
+ --enable-static
+
+make
+make DESTDIR="$1" install
+
+# This will be removed once 'xorgproto' 2019.2
+# is released.
+rm -f "$1/usr/include/X11/extensions/XKBgeom.h"
diff --git a/extra/libX11/checksums b/extra/libX11/checksums
new file mode 100644
index 00000000..3064ac74
--- /dev/null
+++ b/extra/libX11/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+0cdd01aab2049f74d139146f3f517d334db4d61fde27f3902a8930ccf01feff4 libX11-1.8.10.tar.xz
diff --git a/extra/libX11/depends b/extra/libX11/depends
new file mode 100644
index 00000000..dd5bf5e3
--- /dev/null
+++ b/extra/libX11/depends
@@ -0,0 +1,4 @@
+libXau
+libxcb
+xorgproto
+xtrans make
diff --git a/extra/libX11/meta b/extra/libX11/meta
new file mode 100644
index 00000000..898cab96
--- /dev/null
+++ b/extra/libX11/meta
@@ -0,0 +1,3 @@
+description: Base X libraries
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libX11/sources b/extra/libX11/sources
new file mode 100644
index 00000000..df2699d6
--- /dev/null
+++ b/extra/libX11/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libX11-1.8.10.tar.xz
diff --git a/extra/libX11/version b/extra/libX11/version
new file mode 100644
index 00000000..b7b9ed84
--- /dev/null
+++ b/extra/libX11/version
@@ -0,0 +1 @@
+1.8.10 1
diff --git a/extra/libXau/build b/extra/libXau/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXau/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXau/checksums b/extra/libXau/checksums
new file mode 100644
index 00000000..61babd28
--- /dev/null
+++ b/extra/libXau/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+d6d4a87ec6148e9cbcc395e3d0969a7e5c68840d2993d1ea7c49b663777e22ff libXau-1.0.11.tar.xz
diff --git a/extra/libXau/depends b/extra/libXau/depends
new file mode 100644
index 00000000..32e0e265
--- /dev/null
+++ b/extra/libXau/depends
@@ -0,0 +1 @@
+xorgproto make
diff --git a/extra/libXau/meta b/extra/libXau/meta
new file mode 100644
index 00000000..9d257cb5
--- /dev/null
+++ b/extra/libXau/meta
@@ -0,0 +1,3 @@
+description: Authorization Protocol for X
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXau/sources b/extra/libXau/sources
new file mode 100644
index 00000000..2120161e
--- /dev/null
+++ b/extra/libXau/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXau-1.0.11.tar.xz
diff --git a/extra/libXau/version b/extra/libXau/version
new file mode 100644
index 00000000..baf9f53d
--- /dev/null
+++ b/extra/libXau/version
@@ -0,0 +1 @@
+1.0.11 1
diff --git a/extra/libXcomposite/build b/extra/libXcomposite/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXcomposite/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXcomposite/checksums b/extra/libXcomposite/checksums
new file mode 100644
index 00000000..6e61c52a
--- /dev/null
+++ b/extra/libXcomposite/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+7e02026864066869aefc1d688415b1e8c6ab0b639556f93b6f5e86063aa1bbac libXcomposite-0.4.6.tar.xz
diff --git a/extra/libXcomposite/depends b/extra/libXcomposite/depends
new file mode 100644
index 00000000..9cf42339
--- /dev/null
+++ b/extra/libXcomposite/depends
@@ -0,0 +1,2 @@
+xorgproto make
+libXfixes
diff --git a/extra/libXcomposite/meta b/extra/libXcomposite/meta
new file mode 100644
index 00000000..28217ac7
--- /dev/null
+++ b/extra/libXcomposite/meta
@@ -0,0 +1,3 @@
+description: X Composite library
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXcomposite/sources b/extra/libXcomposite/sources
new file mode 100644
index 00000000..87c22fd1
--- /dev/null
+++ b/extra/libXcomposite/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXcomposite-0.4.6.tar.xz
diff --git a/extra/libXcomposite/version b/extra/libXcomposite/version
new file mode 100644
index 00000000..5a233460
--- /dev/null
+++ b/extra/libXcomposite/version
@@ -0,0 +1 @@
+0.4.6 1
diff --git a/extra/libXcursor/build b/extra/libXcursor/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXcursor/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXcursor/checksums b/extra/libXcursor/checksums
new file mode 100644
index 00000000..f977ed0f
--- /dev/null
+++ b/extra/libXcursor/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+9d5f790fe40acdd40ea6b478772fbee8e9496235da585b4a11f7abe055400ea1 libXcursor-1.2.2.tar.xz
diff --git a/extra/libXcursor/depends b/extra/libXcursor/depends
new file mode 100644
index 00000000..0f2bada9
--- /dev/null
+++ b/extra/libXcursor/depends
@@ -0,0 +1,3 @@
+xorgproto make
+libXrender
+libXfixes
diff --git a/extra/libXcursor/meta b/extra/libXcursor/meta
new file mode 100644
index 00000000..8139ddd5
--- /dev/null
+++ b/extra/libXcursor/meta
@@ -0,0 +1,3 @@
+description: X cursor library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXcursor/sources b/extra/libXcursor/sources
new file mode 100644
index 00000000..fb1d2e19
--- /dev/null
+++ b/extra/libXcursor/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXcursor-1.2.2.tar.xz
diff --git a/extra/libXcursor/version b/extra/libXcursor/version
new file mode 100644
index 00000000..52669276
--- /dev/null
+++ b/extra/libXcursor/version
@@ -0,0 +1 @@
+1.2.2 1
diff --git a/extra/libXdamage/build b/extra/libXdamage/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXdamage/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXdamage/checksums b/extra/libXdamage/checksums
new file mode 100644
index 00000000..1be3ffe6
--- /dev/null
+++ b/extra/libXdamage/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+d3d75f2656027288f87b9ddda8bf019862c63c6e4aeadd92f45870df6c2a7ce9 libXdamage-1.1.6.tar.xz
diff --git a/extra/libXdamage/depends b/extra/libXdamage/depends
new file mode 100644
index 00000000..e218970a
--- /dev/null
+++ b/extra/libXdamage/depends
@@ -0,0 +1,3 @@
+xorgproto make
+libX11
+libXfixes
diff --git a/extra/libXdamage/meta b/extra/libXdamage/meta
new file mode 100644
index 00000000..de67d030
--- /dev/null
+++ b/extra/libXdamage/meta
@@ -0,0 +1,3 @@
+description: Xdamage extension library
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXdamage/sources b/extra/libXdamage/sources
new file mode 100644
index 00000000..0be1bf3b
--- /dev/null
+++ b/extra/libXdamage/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXdamage-1.1.6.tar.xz
diff --git a/extra/libXdamage/version b/extra/libXdamage/version
new file mode 100644
index 00000000..e17b92d7
--- /dev/null
+++ b/extra/libXdamage/version
@@ -0,0 +1 @@
+1.1.6 1
diff --git a/extra/libXext/build b/extra/libXext/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXext/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXext/checksums b/extra/libXext/checksums
new file mode 100644
index 00000000..c8297ca5
--- /dev/null
+++ b/extra/libXext/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+4c24887ba3913728f3c0be945006f6babbc2c44c8118d4b1ca5366294e3f4406 libXext-1.3.6.tar.xz
diff --git a/extra/libXext/depends b/extra/libXext/depends
new file mode 100644
index 00000000..cdecd8b9
--- /dev/null
+++ b/extra/libXext/depends
@@ -0,0 +1,2 @@
+xorgproto make
+libX11 make
diff --git a/extra/libXext/meta b/extra/libXext/meta
new file mode 100644
index 00000000..52d9fcb0
--- /dev/null
+++ b/extra/libXext/meta
@@ -0,0 +1,3 @@
+description: X extension library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXext/sources b/extra/libXext/sources
new file mode 100644
index 00000000..cbbd8702
--- /dev/null
+++ b/extra/libXext/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXext-1.3.6.tar.xz
diff --git a/extra/libXext/version b/extra/libXext/version
new file mode 100644
index 00000000..c22de158
--- /dev/null
+++ b/extra/libXext/version
@@ -0,0 +1 @@
+1.3.6 1
diff --git a/extra/libXfixes/build b/extra/libXfixes/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXfixes/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXfixes/checksums b/extra/libXfixes/checksums
new file mode 100644
index 00000000..e37340f6
--- /dev/null
+++ b/extra/libXfixes/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+ccbae58717aa81f1ef52a2e6cbb7c57553a98b93f5a7a6f8a78e793a3a0c7f78 libXfixes-6.0.1.tar.xz
diff --git a/extra/libXfixes/meta b/extra/libXfixes/meta
new file mode 100644
index 00000000..a681612d
--- /dev/null
+++ b/extra/libXfixes/meta
@@ -0,0 +1,3 @@
+description: X fixes library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXfixes/sources b/extra/libXfixes/sources
new file mode 100644
index 00000000..26127942
--- /dev/null
+++ b/extra/libXfixes/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXfixes-6.0.1.tar.xz
diff --git a/extra/libXfixes/version b/extra/libXfixes/version
new file mode 100644
index 00000000..88405e37
--- /dev/null
+++ b/extra/libXfixes/version
@@ -0,0 +1 @@
+6.0.1 1
diff --git a/extra/libXfont2/build b/extra/libXfont2/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXfont2/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXfont2/checksums b/extra/libXfont2/checksums
new file mode 100644
index 00000000..ed16e09c
--- /dev/null
+++ b/extra/libXfont2/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+9b4951683df21108e45fda23dbd25dcb47b67a3a0e224a36374fbc2d0f489cac libXfont2-2.0.7.tar.xz
diff --git a/extra/libXfont2/depends b/extra/libXfont2/depends
new file mode 100644
index 00000000..d9d2b7d7
--- /dev/null
+++ b/extra/libXfont2/depends
@@ -0,0 +1,4 @@
+freetype-harfbuzz
+libfontenc
+xorgproto make
+xtrans make
diff --git a/extra/libXfont2/meta b/extra/libXfont2/meta
new file mode 100644
index 00000000..98770c41
--- /dev/null
+++ b/extra/libXfont2/meta
@@ -0,0 +1,3 @@
+description: X font 2 library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXfont2/sources b/extra/libXfont2/sources
new file mode 100644
index 00000000..cb00cc66
--- /dev/null
+++ b/extra/libXfont2/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXfont2-2.0.7.tar.xz
diff --git a/extra/libXfont2/version b/extra/libXfont2/version
new file mode 100644
index 00000000..e9215bc4
--- /dev/null
+++ b/extra/libXfont2/version
@@ -0,0 +1 @@
+2.0.7 1
diff --git a/extra/libXft/build b/extra/libXft/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXft/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXft/checksums b/extra/libXft/checksums
new file mode 100644
index 00000000..9a3eb97a
--- /dev/null
+++ b/extra/libXft/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+89a070e53a1170a6f7c679a7c1860293813caeaa029f7e99917c6ddc73669ccf libXft-2.3.8.tar.xz
diff --git a/extra/libXft/depends b/extra/libXft/depends
new file mode 100644
index 00000000..e699b107
--- /dev/null
+++ b/extra/libXft/depends
@@ -0,0 +1,5 @@
+fontconfig
+freetype-harfbuzz
+libX11
+libXrender
+xorgproto make
diff --git a/extra/libXft/meta b/extra/libXft/meta
new file mode 100644
index 00000000..f9109363
--- /dev/null
+++ b/extra/libXft/meta
@@ -0,0 +1,3 @@
+description: Font access configuration library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXft/sources b/extra/libXft/sources
new file mode 100644
index 00000000..601993fa
--- /dev/null
+++ b/extra/libXft/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXft-2.3.8.tar.xz
diff --git a/extra/libXft/version b/extra/libXft/version
new file mode 100644
index 00000000..db07b3de
--- /dev/null
+++ b/extra/libXft/version
@@ -0,0 +1 @@
+2.3.8 1
diff --git a/extra/pcre/build b/extra/libXi/build
index 9e66a4b3..105ed0c2 100755
--- a/extra/pcre/build
+++ b/extra/libXi/build
@@ -2,8 +2,7 @@
./configure \
--prefix=/usr \
- --enable-utf8 \
- --enable-unicode-properties
+ --enable-malloc0returnsnull
make
make DESTDIR="$1" install
diff --git a/extra/libXi/checksums b/extra/libXi/checksums
new file mode 100644
index 00000000..9d5e3958
--- /dev/null
+++ b/extra/libXi/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+8f0acdd884dc928c6c8bc4b6bca1f4c67c726fdb03e30910c09bdb41fd841d3e libXi-1.8.2.tar.xz
diff --git a/extra/libXi/depends b/extra/libXi/depends
new file mode 100644
index 00000000..e648cf9a
--- /dev/null
+++ b/extra/libXi/depends
@@ -0,0 +1,3 @@
+libXext
+libXfixes
+xorgproto make
diff --git a/extra/libXi/meta b/extra/libXi/meta
new file mode 100644
index 00000000..224d0d82
--- /dev/null
+++ b/extra/libXi/meta
@@ -0,0 +1,3 @@
+description: X input extension library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXi/sources b/extra/libXi/sources
new file mode 100644
index 00000000..687b4cee
--- /dev/null
+++ b/extra/libXi/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXi-1.8.2.tar.xz
diff --git a/extra/libXi/version b/extra/libXi/version
new file mode 100644
index 00000000..6804f1e4
--- /dev/null
+++ b/extra/libXi/version
@@ -0,0 +1 @@
+1.8.2 1
diff --git a/extra/libXinerama/build b/extra/libXinerama/build
new file mode 100755
index 00000000..105ed0c2
--- /dev/null
+++ b/extra/libXinerama/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --enable-malloc0returnsnull
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXinerama/checksums b/extra/libXinerama/checksums
new file mode 100644
index 00000000..307a0a65
--- /dev/null
+++ b/extra/libXinerama/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+58b4020c8a8fb62707f5073f967bf8abbc8dc7cff35c5750fabe097f46a924b4 libXinerama-1.1.5.tar.xz
diff --git a/extra/libXinerama/depends b/extra/libXinerama/depends
new file mode 100644
index 00000000..ae44963c
--- /dev/null
+++ b/extra/libXinerama/depends
@@ -0,0 +1,2 @@
+libXext
+xorgproto
diff --git a/extra/libXinerama/meta b/extra/libXinerama/meta
new file mode 100644
index 00000000..a9f3eec4
--- /dev/null
+++ b/extra/libXinerama/meta
@@ -0,0 +1,3 @@
+description: X Panoramix extension library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXinerama/sources b/extra/libXinerama/sources
new file mode 100644
index 00000000..9730d637
--- /dev/null
+++ b/extra/libXinerama/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXinerama-1.1.5.tar.xz
diff --git a/extra/libXinerama/version b/extra/libXinerama/version
new file mode 100644
index 00000000..3d29560a
--- /dev/null
+++ b/extra/libXinerama/version
@@ -0,0 +1 @@
+1.1.5 1
diff --git a/extra/libXmu/build b/extra/libXmu/build
new file mode 100755
index 00000000..6b0a232c
--- /dev/null
+++ b/extra/libXmu/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXmu/checksums b/extra/libXmu/checksums
new file mode 100644
index 00000000..3e8b63ff
--- /dev/null
+++ b/extra/libXmu/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+466f7ab160c4e9f04866e9c895dbecb6a76ed1817ae16721d404c556d88f047e libXmu-1.2.1.tar.xz
diff --git a/extra/libXmu/depends b/extra/libXmu/depends
new file mode 100644
index 00000000..7ca7df15
--- /dev/null
+++ b/extra/libXmu/depends
@@ -0,0 +1,3 @@
+libXext
+libXt
+xorg-util-macros make
diff --git a/extra/libXmu/meta b/extra/libXmu/meta
new file mode 100644
index 00000000..21de9e2f
--- /dev/null
+++ b/extra/libXmu/meta
@@ -0,0 +1,3 @@
+description: X Miscellaneous Utilities library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXmu/sources b/extra/libXmu/sources
new file mode 100644
index 00000000..25a5c369
--- /dev/null
+++ b/extra/libXmu/sources
@@ -0,0 +1 @@
+https://x.org/releases/individual/lib/libXmu-1.2.1.tar.xz
diff --git a/extra/libmpc/version b/extra/libXmu/version
index cd3d02bc..cd3d02bc 100644
--- a/extra/libmpc/version
+++ b/extra/libXmu/version
diff --git a/extra/libXrandr/build b/extra/libXrandr/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXrandr/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXrandr/checksums b/extra/libXrandr/checksums
new file mode 100644
index 00000000..9c2ec42f
--- /dev/null
+++ b/extra/libXrandr/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+2314d3ac7992756a3bd9dd2c08694fc52b86018824bc0339cfbb1f38fc971b63 libXrandr-1.5.3.tar.xz
diff --git a/extra/libXrandr/depends b/extra/libXrandr/depends
new file mode 100644
index 00000000..d6cc170c
--- /dev/null
+++ b/extra/libXrandr/depends
@@ -0,0 +1,3 @@
+xorgproto make
+libXext make
+libXrender make
diff --git a/extra/libXrandr/meta b/extra/libXrandr/meta
new file mode 100644
index 00000000..54d0e26c
--- /dev/null
+++ b/extra/libXrandr/meta
@@ -0,0 +1,3 @@
+description: X RandR library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXrandr/sources b/extra/libXrandr/sources
new file mode 100644
index 00000000..7ea73371
--- /dev/null
+++ b/extra/libXrandr/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXrandr-1.5.3.tar.xz
diff --git a/extra/libXrandr/version b/extra/libXrandr/version
new file mode 100644
index 00000000..dae12545
--- /dev/null
+++ b/extra/libXrandr/version
@@ -0,0 +1 @@
+1.5.3 1
diff --git a/extra/libXrender/build b/extra/libXrender/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXrender/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXrender/checksums b/extra/libXrender/checksums
new file mode 100644
index 00000000..38212cd5
--- /dev/null
+++ b/extra/libXrender/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+8cdf98296589bb996f2c7bdd6136677c8e187d8497768cf09809d8472e331b52 libXrender-0.9.11.tar.xz
diff --git a/extra/libXrender/depends b/extra/libXrender/depends
new file mode 100644
index 00000000..5c4191a2
--- /dev/null
+++ b/extra/libXrender/depends
@@ -0,0 +1,2 @@
+xorgproto make
+libXext make
diff --git a/extra/libXrender/meta b/extra/libXrender/meta
new file mode 100644
index 00000000..7f3628ac
--- /dev/null
+++ b/extra/libXrender/meta
@@ -0,0 +1,3 @@
+description: X render library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXrender/sources b/extra/libXrender/sources
new file mode 100644
index 00000000..370bdc26
--- /dev/null
+++ b/extra/libXrender/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXrender-0.9.11.tar.xz
diff --git a/extra/libXrender/version b/extra/libXrender/version
new file mode 100644
index 00000000..0f12b448
--- /dev/null
+++ b/extra/libXrender/version
@@ -0,0 +1 @@
+0.9.11 1
diff --git a/extra/libXt/build b/extra/libXt/build
new file mode 100755
index 00000000..105ed0c2
--- /dev/null
+++ b/extra/libXt/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --enable-malloc0returnsnull
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXt/checksums b/extra/libXt/checksums
new file mode 100644
index 00000000..cb120040
--- /dev/null
+++ b/extra/libXt/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+b154c9766c1fd9bc7dde2bdc33bf4ea1c236c100dc6707dcf3a4f1a71ba23571 libXt-1.3.0.tar.xz
diff --git a/extra/libXt/depends b/extra/libXt/depends
new file mode 100644
index 00000000..f33f2ce9
--- /dev/null
+++ b/extra/libXt/depends
@@ -0,0 +1,3 @@
+libSM
+libX11
+xorgproto make
diff --git a/extra/libXt/meta b/extra/libXt/meta
new file mode 100644
index 00000000..2b11d35f
--- /dev/null
+++ b/extra/libXt/meta
@@ -0,0 +1,3 @@
+description: X toolkit library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXt/sources b/extra/libXt/sources
new file mode 100644
index 00000000..4ec3fa24
--- /dev/null
+++ b/extra/libXt/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXt-1.3.0.tar.xz
diff --git a/extra/libXt/version b/extra/libXt/version
new file mode 100644
index 00000000..0a2d7f2b
--- /dev/null
+++ b/extra/libXt/version
@@ -0,0 +1 @@
+1.3.0 1
diff --git a/extra/libXxf86vm/build b/extra/libXxf86vm/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libXxf86vm/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libXxf86vm/checksums b/extra/libXxf86vm/checksums
new file mode 100644
index 00000000..ada65f1a
--- /dev/null
+++ b/extra/libXxf86vm/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+a6e597f40efecad35fd497b4f19dc39772087d108c321561ddb2614f6bfe2c21 libXxf86vm-1.1.5.tar.xz
diff --git a/extra/libXxf86vm/depends b/extra/libXxf86vm/depends
new file mode 100644
index 00000000..5c4191a2
--- /dev/null
+++ b/extra/libXxf86vm/depends
@@ -0,0 +1,2 @@
+xorgproto make
+libXext make
diff --git a/extra/libXxf86vm/meta b/extra/libXxf86vm/meta
new file mode 100644
index 00000000..2a7d8e6d
--- /dev/null
+++ b/extra/libXxf86vm/meta
@@ -0,0 +1,3 @@
+description: XFree86-Vidmode extension library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libXxf86vm/sources b/extra/libXxf86vm/sources
new file mode 100644
index 00000000..c3e75ea6
--- /dev/null
+++ b/extra/libXxf86vm/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libXxf86vm-1.1.5.tar.xz
diff --git a/extra/libXxf86vm/version b/extra/libXxf86vm/version
new file mode 100644
index 00000000..3d29560a
--- /dev/null
+++ b/extra/libXxf86vm/version
@@ -0,0 +1 @@
+1.1.5 1
diff --git a/extra/libaio/checksums b/extra/libaio/checksums
index 8494bb94..707804f0 100644
--- a/extra/libaio/checksums
+++ b/extra/libaio/checksums
@@ -1 +1,2 @@
-ab0462f2c9d546683e5147b1ce9c195fe95d07fac5bf362f6c01637955c3b492 libaio-0.3.112.tar.gz
+%BLAKE3
+709f4739c413b5507221b366ea2f226f88606afb3b0f6ce15ca317bb3aadd0d7 libaio-libaio-0.3.113.tar.gz
diff --git a/extra/libaio/sources b/extra/libaio/sources
index 08e538e1..799d1596 100644
--- a/extra/libaio/sources
+++ b/extra/libaio/sources
@@ -1 +1 @@
-https://releases.pagure.org/libaio/libaio-0.3.112.tar.gz
+https://pagure.io/libaio/archive/libaio-0.3.113/libaio-libaio-0.3.113.tar.gz
diff --git a/extra/libaio/version b/extra/libaio/version
index 267ccb33..42d35e0c 100644
--- a/extra/libaio/version
+++ b/extra/libaio/version
@@ -1 +1 @@
-0.3.112 1
+0.3.113 1
diff --git a/extra/libarchive/checksums b/extra/libarchive/checksums
index 781603f2..6d00df9c 100644
--- a/extra/libarchive/checksums
+++ b/extra/libarchive/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-e0a01ca752706ec0c855fb3c356b3a1c6c052d125045956b0a22d2d225a85f79 libarchive-3.5.2.tar.xz
+3abe112dd42c018fa60651842a54fdab9b07ca0c6f14eaff61ec35cc8fa5b61f libarchive-3.7.6.tar.xz
diff --git a/extra/libarchive/sources b/extra/libarchive/sources
index e8d70f1f..1b118083 100644
--- a/extra/libarchive/sources
+++ b/extra/libarchive/sources
@@ -1 +1 @@
-https://github.com/libarchive/libarchive/releases/download/v3.5.2/libarchive-3.5.2.tar.xz
+https://github.com/libarchive/libarchive/releases/download/v3.7.6/libarchive-3.7.6.tar.xz
diff --git a/extra/libarchive/version b/extra/libarchive/version
index 9580b4b8..d8833805 100644
--- a/extra/libarchive/version
+++ b/extra/libarchive/version
@@ -1 +1 @@
-3.5.2 1
+3.7.6 1
diff --git a/extra/libass/checksums b/extra/libass/checksums
index 0d599c9a..21f1f45e 100644
--- a/extra/libass/checksums
+++ b/extra/libass/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-306f76f92c901f513b40ee7cbd7eb87be31c096549144d6cb7d1cbcd1ec80c59 libass-0.15.2.tar.xz
+bfbcc2a97193eb5c2a6c54d07c508d42ff62387a8a9d8b3959d15b6115bca8b6 libass-0.17.3.tar.xz
diff --git a/extra/libass/sources b/extra/libass/sources
index ac554ab2..c91c5a00 100644
--- a/extra/libass/sources
+++ b/extra/libass/sources
@@ -1 +1 @@
-https://github.com/libass/libass/releases/download/0.15.2/libass-0.15.2.tar.xz
+https://github.com/libass/libass/releases/download/0.17.3/libass-0.17.3.tar.xz
diff --git a/extra/libass/version b/extra/libass/version
index b46fff55..a3b1c155 100644
--- a/extra/libass/version
+++ b/extra/libass/version
@@ -1 +1 @@
-0.15.2 1
+0.17.3 1
diff --git a/extra/libassuan/checksums b/extra/libassuan/checksums
index d34a2c0d..58af93b4 100644
--- a/extra/libassuan/checksums
+++ b/extra/libassuan/checksums
@@ -1 +1,2 @@
-8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4 libassuan-2.5.5.tar.bz2
+%BLAKE3
+e3a697d0a563592e8c21bff88cb38ad30d58ed41b15d746977e74455e45184b8 libassuan-3.0.1.tar.bz2
diff --git a/extra/libassuan/sources b/extra/libassuan/sources
index f9faaa14..5dd66723 100644
--- a/extra/libassuan/sources
+++ b/extra/libassuan/sources
@@ -1 +1 @@
-https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2
+https://gnupg.org/ftp/gcrypt/libassuan/libassuan-3.0.1.tar.bz2
diff --git a/extra/libassuan/version b/extra/libassuan/version
index f64c830a..51545dbb 100644
--- a/extra/libassuan/version
+++ b/extra/libassuan/version
@@ -1 +1 @@
-2.5.5 1
+3.0.1 1
diff --git a/extra/libbsd/build b/extra/libbsd/build
deleted file mode 100755
index ffbfa88f..00000000
--- a/extra/libbsd/build
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh -e
-
-tmp_dir=$PWD/tmp
-
-(
-cd libmd
-
-./configure \
- --prefix=/ \
- --disable-shared
-
-make
-make DESTDIR="$tmp_dir" install
-)
-
-(
-cd libbsd
-
-export CFLAGS="$CFLAGS -I$tmp_dir/include"
-export LIBS=$tmp_dir/lib/libmd.a
-
-./configure \
- --prefix=/usr
-
-make
-make DESTDIR="$1" install
-)
diff --git a/extra/libbsd/checksums b/extra/libbsd/checksums
deleted file mode 100644
index 22685000..00000000
--- a/extra/libbsd/checksums
+++ /dev/null
@@ -1,2 +0,0 @@
-ff95cf8184151dacae4247832f8d4ea8800fa127dbd15033ecfe839f285b42a1 libbsd-0.11.3.tar.xz
-5a02097f95cc250a3f1001865e4dbba5f1d15554120f95693c0541923c52af4a libmd-1.0.3.tar.xz
diff --git a/extra/libbsd/meta b/extra/libbsd/meta
deleted file mode 100644
index e6520ef8..00000000
--- a/extra/libbsd/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: BSD function library
-license: ISC, MIT, Beerware, BSD-2-Clause, BSD-3-Clause, BSD-4-Clause
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libbsd/sources b/extra/libbsd/sources
deleted file mode 100644
index 582b3a61..00000000
--- a/extra/libbsd/sources
+++ /dev/null
@@ -1,2 +0,0 @@
-https://libbsd.freedesktop.org/releases/libbsd-0.11.3.tar.xz libbsd
-https://libbsd.freedesktop.org/releases/libmd-1.0.3.tar.xz libmd
diff --git a/extra/libbsd/version b/extra/libbsd/version
deleted file mode 100644
index 296aeb54..00000000
--- a/extra/libbsd/version
+++ /dev/null
@@ -1 +0,0 @@
-0.11.3 2
diff --git a/extra/libclc/build b/extra/libclc/build
new file mode 100755
index 00000000..90e518cd
--- /dev/null
+++ b/extra/libclc/build
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLLVM_DIR=/usr/lib/cmake/llvm
+
+cmake --build build
+cmake --install build
diff --git a/extra/libclc/checksums b/extra/libclc/checksums
new file mode 100644
index 00000000..e15a1016
--- /dev/null
+++ b/extra/libclc/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+6db60982fa552857efc99591146db491a445ad276f5cdab8fec786635063e29f libclc-19.1.1.src.tar.xz
diff --git a/extra/libclc/depends b/extra/libclc/depends
new file mode 100644
index 00000000..8f61b167
--- /dev/null
+++ b/extra/libclc/depends
@@ -0,0 +1,4 @@
+cmake make
+llvm make
+python make
+zlib
diff --git a/extra/libclc/meta b/extra/libclc/meta
new file mode 100644
index 00000000..f360a5e5
--- /dev/null
+++ b/extra/libclc/meta
@@ -0,0 +1,3 @@
+description: Open implementation of the OpenCL C programming language
+license: BSD-3-Clause, MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/clang/sources b/extra/libclc/sources
index a26e29c6..b46af24b 100644
--- a/extra/clang/sources
+++ b/extra/libclc/sources
@@ -1 +1 @@
-https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/clang-12.0.1.src.tar.xz
+https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.1/libclc-19.1.1.src.tar.xz
diff --git a/extra/libclc/version b/extra/libclc/version
new file mode 100644
index 00000000..6db232b7
--- /dev/null
+++ b/extra/libclc/version
@@ -0,0 +1 @@
+19.1.1 1
diff --git a/extra/libcups/build b/extra/libcups/build
deleted file mode 100755
index 7c011197..00000000
--- a/extra/libcups/build
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh -e
-
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib \
- --sbindir=/usr/bin \
- --disable-systemd \
- --without-python \
- --without-perl \
- --without-rcdir \
- --with-components=libcups
-
-make
-make DESTDIR="$1" install
diff --git a/extra/libcups/checksums b/extra/libcups/checksums
deleted file mode 100644
index 905eee0a..00000000
--- a/extra/libcups/checksums
+++ /dev/null
@@ -1 +0,0 @@
-deb3575bbe79c0ae963402787f265bfcf8d804a71fc2c94318a74efec86f96df cups-2.3.3op2-source.tar.gz
diff --git a/extra/libcups/sources b/extra/libcups/sources
deleted file mode 100644
index 1d0beecd..00000000
--- a/extra/libcups/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/OpenPrinting/cups/releases/download/v2.3.3op2/cups-2.3.3op2-source.tar.gz
diff --git a/extra/libcups/version b/extra/libcups/version
deleted file mode 100644
index 8ab5c739..00000000
--- a/extra/libcups/version
+++ /dev/null
@@ -1 +0,0 @@
-2.3.3op2 1
diff --git a/extra/libdisplay-info/build b/extra/libdisplay-info/build
new file mode 100755
index 00000000..8d4579c7
--- /dev/null
+++ b/extra/libdisplay-info/build
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+export LDFLAGS="$LDFLAGS -static"
+export DESTDIR="$1"
+
+cl-meson \
+ -Ddefault_library=static \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/libdisplay-info/checksums b/extra/libdisplay-info/checksums
new file mode 100644
index 00000000..d3fa892d
--- /dev/null
+++ b/extra/libdisplay-info/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+118dc0d50860fcdfd4841feb883d47967dd2fcf9be2ed416402ad86532b12c48 libdisplay-info-0.2.0.tar.gz
diff --git a/extra/libdisplay-info/depends b/extra/libdisplay-info/depends
new file mode 100644
index 00000000..36f6fe6c
--- /dev/null
+++ b/extra/libdisplay-info/depends
@@ -0,0 +1 @@
+meson make
diff --git a/extra/libdisplay-info/meta b/extra/libdisplay-info/meta
new file mode 100644
index 00000000..d665c44d
--- /dev/null
+++ b/extra/libdisplay-info/meta
@@ -0,0 +1,3 @@
+description: EDID and DisplayID library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libdisplay-info/sources b/extra/libdisplay-info/sources
new file mode 100644
index 00000000..7a957294
--- /dev/null
+++ b/extra/libdisplay-info/sources
@@ -0,0 +1 @@
+https://gitlab.freedesktop.org/emersion/libdisplay-info/-/archive/0.2.0/libdisplay-info-0.2.0.tar.gz
diff --git a/extra/libdisplay-info/version b/extra/libdisplay-info/version
new file mode 100644
index 00000000..2f7905df
--- /dev/null
+++ b/extra/libdisplay-info/version
@@ -0,0 +1 @@
+0.2.0 1
diff --git a/extra/libdrm/build b/extra/libdrm/build
index 15837f90..9d1a42c7 100755
--- a/extra/libdrm/build
+++ b/extra/libdrm/build
@@ -1,14 +1,15 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
# Symbolic link loop on tests
clsed '/^test(/,/^)/d' intel/meson.build
cl-meson \
+ --auto-features=auto \
-Ddefault_library=both \
- -Dcairo-tests=false \
- -Dvalgrind=false \
+ -Dcairo-tests=disabled \
+ -Dvalgrind=disabled \
. output
ninja -C output
diff --git a/extra/libdrm/checksums b/extra/libdrm/checksums
index badde87e..237e0bbd 100644
--- a/extra/libdrm/checksums
+++ b/extra/libdrm/checksums
@@ -1 +1,2 @@
-16b23932a2b7d41d091cf95662a83f56c680a9bb3456931c0b76fde02ae2d53f drm-libdrm-2.4.107.tar.gz
+%BLAKE3
+9643b9e00c70883b7695e2a2d927cdf7998a6dd9a7f77c703558ebcf58f31531 drm-libdrm-2.4.123.tar.gz
diff --git a/extra/libdrm/sources b/extra/libdrm/sources
index c4126437..281e7a59 100644
--- a/extra/libdrm/sources
+++ b/extra/libdrm/sources
@@ -1 +1 @@
-https://gitlab.freedesktop.org/mesa/drm/-/archive/libdrm-2.4.107/drm-libdrm-2.4.107.tar.gz
+https://gitlab.freedesktop.org/mesa/drm/-/archive/libdrm-2.4.123/drm-libdrm-2.4.123.tar.gz
diff --git a/extra/libdrm/version b/extra/libdrm/version
index 38d09d8a..a996b817 100644
--- a/extra/libdrm/version
+++ b/extra/libdrm/version
@@ -1 +1 @@
-2.4.107 2
+2.4.123 1
diff --git a/extra/libdw/build b/extra/libdw/build
deleted file mode 100755
index 6f9a77c9..00000000
--- a/extra/libdw/build
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh -e
-
-# Build sometimes forces -Werror.
-export CFLAGS="$CFLAGS -Wno-error"
-
-# Disable configure error for missing argp.
-sed -i 's/as_fn_error.*libargp/: "/g' configure
-
-# Don't compile two unrelated C files which require argp.
-sed -i 's/color.*printversion../#/g' lib/Makefile.in
-
-./configure \
- --prefix=/usr \
- --disable-symbol-versioning \
- --disable-debuginfod \
- --disable-nls
-
-# Skip the default make target and build only what we need.
-for dep in lib libelf backends libebl libcpu libdwelf libdwfl; do
- make -C "$dep"
-done
-make -C libdw libdw.a
-
-(
-cd libebl
-install -Dm644 libebl.h "$1/usr/include/elfutils/libebl.h"
-install -Dm644 libebl.a "$1/usr/lib/libebl.a"
-)
-
-(
-cd libdw
-install -Dm644 libdw.h "$1/usr/include/elfutils/libdw.h"
-install -Dm644 dwarf.h "$1/usr/include/dwarf.h"
-install -Dm644 libdw.a "$1/usr/lib/libdw.a"
-)
diff --git a/extra/libdw/checksums b/extra/libdw/checksums
deleted file mode 120000
index 98f0f4c4..00000000
--- a/extra/libdw/checksums
+++ /dev/null
@@ -1 +0,0 @@
-../libelf/checksums \ No newline at end of file
diff --git a/extra/libdw/depends b/extra/libdw/depends
deleted file mode 100644
index 3ddd813d..00000000
--- a/extra/libdw/depends
+++ /dev/null
@@ -1,4 +0,0 @@
-argp
-musl-fts
-pkgconf make
-zlib
diff --git a/extra/libdw/files/error.h b/extra/libdw/files/error.h
deleted file mode 120000
index d2e445ef..00000000
--- a/extra/libdw/files/error.h
+++ /dev/null
@@ -1 +0,0 @@
-../libelf/files/error.h \ No newline at end of file
diff --git a/extra/libdw/sources b/extra/libdw/sources
deleted file mode 120000
index e84af20b..00000000
--- a/extra/libdw/sources
+++ /dev/null
@@ -1 +0,0 @@
-../libelf/sources \ No newline at end of file
diff --git a/extra/libdw/version b/extra/libdw/version
deleted file mode 120000
index a0a3e1df..00000000
--- a/extra/libdw/version
+++ /dev/null
@@ -1 +0,0 @@
-../libelf/version \ No newline at end of file
diff --git a/extra/libedit/checksums b/extra/libedit/checksums
index f0e329e6..c3ad3c82 100644
--- a/extra/libedit/checksums
+++ b/extra/libedit/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-60d203849dc53e0c500b270860142fd050482d671621cf3c2377f916802dcaf6 libedit-20210910-3.1.tar.gz
+e0a9a5af6f8ab950a4f29ad927b38b71e8278383fce1c3689b04a56cbb2b32bb libedit-20240808-3.1.tar.gz
diff --git a/extra/libedit/sources b/extra/libedit/sources
index e6c51dc2..5b7c5dda 100644
--- a/extra/libedit/sources
+++ b/extra/libedit/sources
@@ -1 +1 @@
-https://www.thrysoee.dk/editline/libedit-20210910-3.1.tar.gz
+https://www.thrysoee.dk/editline/libedit-20240808-3.1.tar.gz
diff --git a/extra/libedit/version b/extra/libedit/version
index 1056318e..3add2bdb 100644
--- a/extra/libedit/version
+++ b/extra/libedit/version
@@ -1 +1 @@
-20210910-3.1 1
+20240808-3.1 1
diff --git a/extra/libelf/build b/extra/libelf/build
index 3e4b1fd7..ab7be6a0 100755
--- a/extra/libelf/build
+++ b/extra/libelf/build
@@ -8,8 +8,15 @@ clsed 's/as_fn_error.*argp/: "/g' configure
clsed 's/as_fn_error.*fts/: "/g' configure
clsed 's/as_fn_error.*obstack/: "/g' configure
-# Don't compile two unrelated C files which require argp.
-clsed 's/color.*printversion../#/g' lib/Makefile.in
+# Don't compile unrelated C files which require argp.
+#
+# False positive, we are not trying to expand anything
+# shellcheck disable=2016
+{
+ clsed 's/color.*printversion../#/g' lib/Makefile.in
+ clsed 's/error.*printversion../#/g' lib/Makefile.in
+ clsed 's/color\.\$(OBJ/#/g' lib/Makefile.in
+}
./configure \
--prefix=/usr \
diff --git a/extra/libelf/checksums b/extra/libelf/checksums
index d2ef4aeb..e2745edd 100644
--- a/extra/libelf/checksums
+++ b/extra/libelf/checksums
@@ -1,2 +1,3 @@
-dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6 elfutils-0.185.tar.bz2
-bf11b56670c7919b44e33b5b0f3a216b7f20cf2859b74bf5e2e837532f8e0579 error.h
+%BLAKE3
+e9e3f567ab63784d968f708c08ea5a09dd5fae2f0846d0d43a2ebc8b542c15b2 elfutils-0.191.tar.bz2
+08e8eb364790fd0a2ad16aa325397b0a9213fab374ebc1402ad305736d1a93f3 error.h
diff --git a/extra/libelf/sources b/extra/libelf/sources
index 1903c165..9fea8780 100644
--- a/extra/libelf/sources
+++ b/extra/libelf/sources
@@ -1,2 +1,2 @@
-https://sourceware.org/elfutils/ftp/0.185/elfutils-0.185.tar.bz2
+https://sourceware.org/elfutils/ftp/0.191/elfutils-0.191.tar.bz2
files/error.h lib
diff --git a/extra/libelf/version b/extra/libelf/version
index 4b6b3aea..86988463 100644
--- a/extra/libelf/version
+++ b/extra/libelf/version
@@ -1 +1 @@
-0.185 1
+0.191 1
diff --git a/extra/libepoxy/build b/extra/libepoxy/build
index 8893893e..239ebddb 100755
--- a/extra/libepoxy/build
+++ b/extra/libepoxy/build
@@ -1,6 +1,6 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
cl-meson \
-Degl=yes \
diff --git a/extra/libepoxy/checksums b/extra/libepoxy/checksums
index f8cd6c89..c753754b 100644
--- a/extra/libepoxy/checksums
+++ b/extra/libepoxy/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-b8d72d359c2a6610b9363187f0bfa292dd472932c1cf929b213825e1318babc3 1.5.9.tar.gz
+df74575d2a4ca65bf98d15ed6357cb066b6369704137e53b5e1d35b6d582657e 1.5.10.tar.gz
diff --git a/extra/libepoxy/sources b/extra/libepoxy/sources
index 30c3b9f5..b2f49af0 100644
--- a/extra/libepoxy/sources
+++ b/extra/libepoxy/sources
@@ -1 +1 @@
-https://github.com/anholt/libepoxy/archive/1.5.9.tar.gz
+https://github.com/anholt/libepoxy/archive/1.5.10.tar.gz
diff --git a/extra/libepoxy/version b/extra/libepoxy/version
index 352111fe..e5b15e71 100644
--- a/extra/libepoxy/version
+++ b/extra/libepoxy/version
@@ -1 +1 @@
-1.5.9 1
+1.5.10 1
diff --git a/extra/liberation-fonts-ttf/checksums b/extra/liberation-fonts-ttf/checksums
index 99f57217..e6a22795 100644
--- a/extra/liberation-fonts-ttf/checksums
+++ b/extra/liberation-fonts-ttf/checksums
@@ -1,4 +1,5 @@
-26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef liberation-fonts-ttf-2.1.4.tar.gz
-54a2bbb928fec39322852df8069a5dfd03be454b5da7849e647114cbcc7375ce 30-0-liberation-serif.conf
-40e12440024c568dd9159b8e0089ebde98651dcb4dd50d188cbb121d83c49e5c 30-0-liberation-mono.conf
-255da464c88a189a9e59ab412464f1d7ff64767c99f2a7477bafb4f92bc64121 30-0-liberation-sans.conf
+%BLAKE3
+5ca2163d2f2ec538005381049fd2f02b531b868903ace9a49cb10b74cf33035d liberation-fonts-ttf-2.1.5.tar.gz
+d9934fb3c7c50ac3a5edfa373b91f9cb8f025c599b99433844561629c4e20f6f 30-0-liberation-serif.conf
+40b17fe2a26207c475ea325bc0e9a7c8f1421c98033c3e0ef83d35c887b6536b 30-0-liberation-mono.conf
+1849b579edc8b67775800a794c01b11901e5a8d2a0d809e34423eced2f8863d9 30-0-liberation-sans.conf
diff --git a/extra/liberation-fonts-ttf/sources b/extra/liberation-fonts-ttf/sources
index 5d9432bb..ce3cb847 100644
--- a/extra/liberation-fonts-ttf/sources
+++ b/extra/liberation-fonts-ttf/sources
@@ -1,4 +1,4 @@
-https://github.com/liberationfonts/liberation-fonts/files/6418984/liberation-fonts-ttf-2.1.4.tar.gz
+https://github.com/liberationfonts/liberation-fonts/files/7261482/liberation-fonts-ttf-2.1.5.tar.gz
files/30-0-liberation-serif.conf
files/30-0-liberation-mono.conf
files/30-0-liberation-sans.conf
diff --git a/extra/liberation-fonts-ttf/version b/extra/liberation-fonts-ttf/version
index 0c298421..94824b5c 100644
--- a/extra/liberation-fonts-ttf/version
+++ b/extra/liberation-fonts-ttf/version
@@ -1 +1 @@
-2.1.4 1
+2.1.5 1
diff --git a/extra/libevdev/checksums b/extra/libevdev/checksums
index f29c695e..c60d5f64 100644
--- a/extra/libevdev/checksums
+++ b/extra/libevdev/checksums
@@ -1 +1,2 @@
-63f4ea1489858a109080e0b40bd43e4e0903a1e12ea888d581db8c495747c2d0 libevdev-1.11.0.tar.xz
+%BLAKE3
+7154159ecc390d8ebda7f8b95ecf02acd86fc5ddce072020d6e84de142614ae1 libevdev-1.13.3.tar.xz
diff --git a/extra/libevdev/sources b/extra/libevdev/sources
index 839ef67f..10b0bfe5 100644
--- a/extra/libevdev/sources
+++ b/extra/libevdev/sources
@@ -1 +1 @@
-https://www.freedesktop.org/software/libevdev/libevdev-1.11.0.tar.xz
+https://www.freedesktop.org/software/libevdev/libevdev-1.13.3.tar.xz
diff --git a/extra/libevdev/version b/extra/libevdev/version
index 0da43b10..77327e8b 100644
--- a/extra/libevdev/version
+++ b/extra/libevdev/version
@@ -1 +1 @@
-1.11.0 1
+1.13.3 1
diff --git a/extra/libexif/checksums b/extra/libexif/checksums
index c72e579a..08d7a4b4 100644
--- a/extra/libexif/checksums
+++ b/extra/libexif/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-3c827510aad160cc15474b09d4f08e9067068a70531ae6d85f422410fd0b7cc3 libexif-0.6.23.tar.xz
+96f254ecec850492105d3c6f2b5ee10fd513fe6eec18ad2e2e6fb8677b3062bc libexif-0.6.24.tar.bz2
diff --git a/extra/gtk+2/meta b/extra/libexif/meta
index e84a6429..3ee6dc33 100644
--- a/extra/gtk+2/meta
+++ b/extra/libexif/meta
@@ -1,3 +1,3 @@
-description: GTK+ toolkit v2
+description: EXIF file library
license: LGPL-2.1-or-later
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libexif/sources b/extra/libexif/sources
index b03b706e..17a3ec91 100644
--- a/extra/libexif/sources
+++ b/extra/libexif/sources
@@ -1 +1 @@
-https://github.com/libexif/libexif/releases/download/v0.6.23/libexif-0.6.23.tar.xz
+https://github.com/libexif/libexif/releases/download/v0.6.24/libexif-0.6.24.tar.bz2
diff --git a/extra/libexif/version b/extra/libexif/version
index 3e9ec1e8..6cb8b4e5 100644
--- a/extra/libexif/version
+++ b/extra/libexif/version
@@ -1 +1 @@
-0.6.23 1
+0.6.24 1
diff --git a/extra/libffi/checksums b/extra/libffi/checksums
index 2f95a7e1..9cb23461 100644
--- a/extra/libffi/checksums
+++ b/extra/libffi/checksums
@@ -1 +1,2 @@
-540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620 libffi-3.4.2.tar.gz
+%BLAKE3
+c7d7a36b1dad81ff39ca53f3a11c3e01450dfb2d787e05ca60cfe1b4b6491759 libffi-3.4.6.tar.gz
diff --git a/extra/libffi/sources b/extra/libffi/sources
index a966e96d..dd847e81 100644
--- a/extra/libffi/sources
+++ b/extra/libffi/sources
@@ -1 +1 @@
-https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz
+https://github.com/libffi/libffi/releases/download/v3.4.6/libffi-3.4.6.tar.gz
diff --git a/extra/libffi/version b/extra/libffi/version
index 7675fd4a..0b14d12f 100644
--- a/extra/libffi/version
+++ b/extra/libffi/version
@@ -1 +1 @@
-3.4.2 1
+3.4.6 1
diff --git a/extra/libfontenc/checksums b/extra/libfontenc/checksums
index 23248ab2..0a1c646a 100644
--- a/extra/libfontenc/checksums
+++ b/extra/libfontenc/checksums
@@ -1 +1,2 @@
-2cfcce810ddd48f2e5dc658d28c1808e86dcf303eaff16728b9aa3dbc0092079 libfontenc-1.1.4.tar.bz2
+%BLAKE3
+6ab127a335f7cb4892566e59448d91e9ec43ac522f31f97a3c94350f0a3ecaf4 libfontenc-1.1.8.tar.xz
diff --git a/extra/libfontenc/sources b/extra/libfontenc/sources
index 149bdd87..214c94ec 100644
--- a/extra/libfontenc/sources
+++ b/extra/libfontenc/sources
@@ -1 +1 @@
-https://www.x.org/releases/individual/lib/libfontenc-1.1.4.tar.bz2
+https://www.x.org/releases/individual/lib/libfontenc-1.1.8.tar.xz
diff --git a/extra/libfontenc/version b/extra/libfontenc/version
index 6cab2e0c..7a39cf64 100644
--- a/extra/libfontenc/version
+++ b/extra/libfontenc/version
@@ -1 +1 @@
-1.1.4 2
+1.1.8 1
diff --git a/extra/libgcrypt/build b/extra/libgcrypt/build
index 7ce6252f..e4ad65a7 100755
--- a/extra/libgcrypt/build
+++ b/extra/libgcrypt/build
@@ -1,5 +1,8 @@
#!/bin/sh -e
+clsed '43a #include <limits.h>' random/jitterentropy-base-user.h
+clsed '44a #include <fcntl.h>' random/jitterentropy-base-user.h
+
./configure \
--prefix=/usr \
--sysconfdir=/etc \
@@ -7,5 +10,5 @@
--localstatedir=/var \
--enable-static
-make
+make -j1
make DESTDIR="$1" install
diff --git a/extra/libgcrypt/checksums b/extra/libgcrypt/checksums
index 7d524cd6..34c5e841 100644
--- a/extra/libgcrypt/checksums
+++ b/extra/libgcrypt/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-52ed8a52e88bca6a3e27b818837b4c0769f291e13c8c0a14b6aa517a619bda87 libgcrypt-1.9.4.tar.bz2
+a236b238d5f1d44be9b91422b9bee0b606c957a13847794f1de437d50f12b37d libgcrypt-1.11.0.tar.bz2
diff --git a/extra/libgcrypt/sources b/extra/libgcrypt/sources
index c49002cf..4f04d30b 100644
--- a/extra/libgcrypt/sources
+++ b/extra/libgcrypt/sources
@@ -1 +1 @@
-https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.9.4.tar.bz2
+https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.0.tar.bz2
diff --git a/extra/libgcrypt/version b/extra/libgcrypt/version
index 39bc92ac..0da43b10 100644
--- a/extra/libgcrypt/version
+++ b/extra/libgcrypt/version
@@ -1 +1 @@
-1.9.4 1
+1.11.0 1
diff --git a/extra/libgit2/checksums b/extra/libgit2/checksums
index 6bb33d9a..47e732d1 100644
--- a/extra/libgit2/checksums
+++ b/extra/libgit2/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-a971761b4cce3869bf0faba3d5ac67c3144d1382744baeceb7ed4ae6f905ff02 v1.2.0.tar.gz
+c5f3a4d132e9faa12ddcd1c1dc073a8b3280a77b27ec681c88e781e815afe2e8 v1.8.1.tar.gz
diff --git a/extra/libgit2/depends b/extra/libgit2/depends
index 7d91ec22..f7353249 100644
--- a/extra/libgit2/depends
+++ b/extra/libgit2/depends
@@ -1 +1,2 @@
cmake make
+libressl
diff --git a/extra/libgit2/sources b/extra/libgit2/sources
index 36a670f0..0b214420 100644
--- a/extra/libgit2/sources
+++ b/extra/libgit2/sources
@@ -1 +1 @@
-https://github.com/libgit2/libgit2/archive/v1.2.0.tar.gz
+https://github.com/libgit2/libgit2/archive/v1.8.1.tar.gz
diff --git a/extra/libgit2/version b/extra/libgit2/version
index 9d7d10ab..8aa37bcd 100644
--- a/extra/libgit2/version
+++ b/extra/libgit2/version
@@ -1 +1 @@
-1.2.0 2
+1.8.1 1
diff --git a/extra/libgpg-error/checksums b/extra/libgpg-error/checksums
index 3607f63d..9b0f4bb9 100644
--- a/extra/libgpg-error/checksums
+++ b/extra/libgpg-error/checksums
@@ -1 +1,2 @@
-fc07e70f6c615f8c4f590a8e37a9b8dd2e2ca1e9408f8e60459c67452b925e23 libgpg-error-1.42.tar.bz2
+%BLAKE3
+9e30e6a7e2529c24a4c06c3343b2ae453b3c35969e91fd124879cbf4a44967ac libgpg-error-1.50.tar.bz2
diff --git a/extra/libgpg-error/sources b/extra/libgpg-error/sources
index 2be693a0..5417c817 100644
--- a/extra/libgpg-error/sources
+++ b/extra/libgpg-error/sources
@@ -1 +1 @@
-https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.42.tar.bz2
+https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.50.tar.bz2
diff --git a/extra/libgpg-error/version b/extra/libgpg-error/version
index 8fce8e69..d91df1b2 100644
--- a/extra/libgpg-error/version
+++ b/extra/libgpg-error/version
@@ -1 +1 @@
-1.42 1
+1.50 1
diff --git a/extra/libgrapheme/build b/extra/libgrapheme/build
new file mode 100755
index 00000000..d7375f0f
--- /dev/null
+++ b/extra/libgrapheme/build
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+
+make
+make LDCONFIG='' PREFIX=/usr DESTDIR="$1" install
diff --git a/extra/libgrapheme/checksums b/extra/libgrapheme/checksums
new file mode 100644
index 00000000..e626ef21
--- /dev/null
+++ b/extra/libgrapheme/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+5f9d7c76e8c3ccb40ca70696a7b6513af3c08b40fb94cbddfe2a6b4b2f2295ce libgrapheme-2.0.2.tar.gz
diff --git a/extra/iw/meta b/extra/libgrapheme/meta
index ac0ae5ea..a0603c10 100644
--- a/extra/iw/meta
+++ b/extra/libgrapheme/meta
@@ -1,3 +1,3 @@
-description: Wireless device configuration utility
+description: Unicode string library
license: ISC
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libgrapheme/sources b/extra/libgrapheme/sources
new file mode 100644
index 00000000..b7636766
--- /dev/null
+++ b/extra/libgrapheme/sources
@@ -0,0 +1 @@
+https://dl.suckless.org/libgrapheme/libgrapheme-2.0.2.tar.gz
diff --git a/extra/libgrapheme/version b/extra/libgrapheme/version
new file mode 100644
index 00000000..d486df1f
--- /dev/null
+++ b/extra/libgrapheme/version
@@ -0,0 +1 @@
+2.0.2 1
diff --git a/extra/libinput/build b/extra/libinput/build
index 93cfd3d4..e7087fd5 100755
--- a/extra/libinput/build
+++ b/extra/libinput/build
@@ -7,9 +7,9 @@ cl-meson \
-Ddocumentation=false \
-Dtests=false \
-Dlibwacom=false \
- -Dudev=true \
- -Dtools=true \
. output
ninja -C output
ninja -C output install
+
+rmdir "$1/etc/libinput" "$1/etc"
diff --git a/extra/libinput/checksums b/extra/libinput/checksums
index 522b75fe..5240800e 100644
--- a/extra/libinput/checksums
+++ b/extra/libinput/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-a2c7f80efd3bd52564f39b1d3769a1b68ccf6b50888e7f17ffab4061e6a20a53 libinput-1.19.0.tar.xz
+73b0936fe2c22fc5c0f307089a7debbb46b051bcda400fab5af80f7b9dd37b10 libinput-1.26.2.tar.gz
diff --git a/extra/libinput/sources b/extra/libinput/sources
index 450a26e0..9d99bb48 100644
--- a/extra/libinput/sources
+++ b/extra/libinput/sources
@@ -1 +1 @@
-https://www.freedesktop.org/software/libinput/libinput-1.19.0.tar.xz
+https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.26.2/libinput-1.26.2.tar.gz
diff --git a/extra/libinput/version b/extra/libinput/version
index 0d6bfe8d..b60e4cec 100644
--- a/extra/libinput/version
+++ b/extra/libinput/version
@@ -1 +1 @@
-1.19.0 1
+1.26.2 1
diff --git a/extra/libjpeg-turbo/checksums b/extra/libjpeg-turbo/checksums
index 939dfbfa..ab13ac0e 100644
--- a/extra/libjpeg-turbo/checksums
+++ b/extra/libjpeg-turbo/checksums
@@ -1 +1,2 @@
-20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4 2.1.1.tar.gz
+%BLAKE3
+3e2bc34658ffb966cf99b5fcc1a20451c6c9077d95e6f77676f31001d9eddcdb 3.0.4.tar.gz
diff --git a/extra/libjpeg-turbo/sources b/extra/libjpeg-turbo/sources
index 7d20acf5..65e2ec18 100644
--- a/extra/libjpeg-turbo/sources
+++ b/extra/libjpeg-turbo/sources
@@ -1 +1 @@
-https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.1.1.tar.gz
+https://github.com/libjpeg-turbo/libjpeg-turbo/archive/3.0.4.tar.gz
diff --git a/extra/libjpeg-turbo/version b/extra/libjpeg-turbo/version
index 05565a80..aba54801 100644
--- a/extra/libjpeg-turbo/version
+++ b/extra/libjpeg-turbo/version
@@ -1 +1 @@
-2.1.1 1
+3.0.4 1
diff --git a/extra/libksba/checksums b/extra/libksba/checksums
index 735a5b79..0b37abb7 100644
--- a/extra/libksba/checksums
+++ b/extra/libksba/checksums
@@ -1 +1,2 @@
-dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b libksba-1.6.0.tar.bz2
+%BLAKE3
+cb5bafe9d11429796c31358d9b96695ceeab80e33da75991902075c597c708cf libksba-1.6.7.tar.bz2
diff --git a/extra/libksba/sources b/extra/libksba/sources
index b6811a00..6b1a07a0 100644
--- a/extra/libksba/sources
+++ b/extra/libksba/sources
@@ -1 +1 @@
-https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.0.tar.bz2
+https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.7.tar.bz2
diff --git a/extra/libksba/version b/extra/libksba/version
index bfa5a6a4..71e9bb62 100644
--- a/extra/libksba/version
+++ b/extra/libksba/version
@@ -1 +1 @@
-1.6.0 1
+1.6.7 1
diff --git a/extra/libmpc/checksums b/extra/libmpc/checksums
deleted file mode 100644
index 7ed2351c..00000000
--- a/extra/libmpc/checksums
+++ /dev/null
@@ -1 +0,0 @@
-17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 mpc-1.2.1.tar.gz
diff --git a/extra/libmpc/depends b/extra/libmpc/depends
deleted file mode 100644
index d15d83e2..00000000
--- a/extra/libmpc/depends
+++ /dev/null
@@ -1,2 +0,0 @@
-gmp
-mpfr
diff --git a/extra/libmpc/meta b/extra/libmpc/meta
deleted file mode 100644
index dbdc29da..00000000
--- a/extra/libmpc/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: Library for the arithmetic of complex numbers
-license: LGPL-3.0-or-later
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libmpc/sources b/extra/libmpc/sources
deleted file mode 100644
index c4f29c29..00000000
--- a/extra/libmpc/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz
diff --git a/extra/libnghttp2/build b/extra/libnghttp2/build
new file mode 100755
index 00000000..dc08efc4
--- /dev/null
+++ b/extra/libnghttp2/build
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --enable-lib-only
+
+make
+make DESTDIR="$1" install
+
+# Even when only installing libraries, the build system installs manual pages
+# and documentation for the utilities.
+rm -r "${1:?}/usr/share"
diff --git a/extra/libnghttp2/checksums b/extra/libnghttp2/checksums
new file mode 100644
index 00000000..c3c5ecb4
--- /dev/null
+++ b/extra/libnghttp2/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+f70624e0745008c6247f07b0c6e26be48ebe72aeb66ec3deecf214918246167e nghttp2-1.56.0.tar.xz
diff --git a/extra/libnghttp2/meta b/extra/libnghttp2/meta
new file mode 100644
index 00000000..8a488f7e
--- /dev/null
+++ b/extra/libnghttp2/meta
@@ -0,0 +1,3 @@
+description: Framing layer of HTTP/2 implemented as a form of reusable C library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libnghttp2/sources b/extra/libnghttp2/sources
new file mode 100644
index 00000000..9ee051e4
--- /dev/null
+++ b/extra/libnghttp2/sources
@@ -0,0 +1 @@
+https://github.com/nghttp2/nghttp2/releases/download/v1.56.0/nghttp2-1.56.0.tar.xz
diff --git a/extra/libnghttp2/version b/extra/libnghttp2/version
new file mode 100644
index 00000000..bd9ce8b5
--- /dev/null
+++ b/extra/libnghttp2/version
@@ -0,0 +1 @@
+1.56.0 1
diff --git a/extra/libpciaccess/build b/extra/libpciaccess/build
index 6daf22f8..20b55fd4 100755
--- a/extra/libpciaccess/build
+++ b/extra/libpciaccess/build
@@ -1,7 +1,9 @@
#!/bin/sh -e
-./configure \
- --prefix=/usr
+export DESTDIR="$1"
-make
-make DESTDIR="$1" install
+cl-meson \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/libpciaccess/checksums b/extra/libpciaccess/checksums
index 3e2c8c14..851d121b 100644
--- a/extra/libpciaccess/checksums
+++ b/extra/libpciaccess/checksums
@@ -1 +1,2 @@
-214c9d0d884fdd7375ec8da8dcb91a8d3169f263294c9a90c575bf1938b9f489 libpciaccess-0.16.tar.bz2
+%BLAKE3
+ea20d4e12331620d1921edb6a5a043410416037869dc63264990861b23d0323b libpciaccess-0.18.1.tar.xz
diff --git a/extra/libpciaccess/depends b/extra/libpciaccess/depends
new file mode 100644
index 00000000..36f6fe6c
--- /dev/null
+++ b/extra/libpciaccess/depends
@@ -0,0 +1 @@
+meson make
diff --git a/extra/libpciaccess/sources b/extra/libpciaccess/sources
index 8b91d752..a21912cc 100644
--- a/extra/libpciaccess/sources
+++ b/extra/libpciaccess/sources
@@ -1 +1 @@
-https://www.x.org/releases/individual/lib/libpciaccess-0.16.tar.bz2
+https://www.x.org/releases/individual/lib/libpciaccess-0.18.1.tar.xz
diff --git a/extra/libpciaccess/version b/extra/libpciaccess/version
index 06da242c..10895720 100644
--- a/extra/libpciaccess/version
+++ b/extra/libpciaccess/version
@@ -1 +1 @@
-0.16 1
+0.18.1 1
diff --git a/extra/libplacebo/build b/extra/libplacebo/build
new file mode 100755
index 00000000..1c4a40bf
--- /dev/null
+++ b/extra/libplacebo/build
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+export CXXFLAGS="$CXXFLAGS -static-libgcc -static-libstdc++"
+
+cl-meson \
+ -Dlcms=enabled \
+ -Dopengl=enabled \
+ -Dvulkan=enabled \
+ -Ddemos=false \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/libplacebo/checksums b/extra/libplacebo/checksums
new file mode 100644
index 00000000..f6c76976
--- /dev/null
+++ b/extra/libplacebo/checksums
@@ -0,0 +1,3 @@
+%BLAKE3
+3363de224b28315dc695160d44bdc2eff3d6856b5e379583b5c720b5fff766aa libplacebo-v7.349.0.tar.gz
+75ccae516b2812bb4510956aed782f6ceb4e1036381916f965f658504af2eb51 v2.0.8.tar.gz
diff --git a/extra/libplacebo/depends b/extra/libplacebo/depends
new file mode 100644
index 00000000..fbb7f8fe
--- /dev/null
+++ b/extra/libplacebo/depends
@@ -0,0 +1,4 @@
+Vulkan-Headers
+lcms2
+meson make
+vulkan-loader make
diff --git a/extra/libplacebo/meta b/extra/libplacebo/meta
new file mode 100644
index 00000000..551334f4
--- /dev/null
+++ b/extra/libplacebo/meta
@@ -0,0 +1,3 @@
+description: Reusable library for GPU-accelerated image/video processing primitives and shaders, as well a batteries-included, extensible, high-quality rendering pipeline
+license: LGPL-2.1-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libplacebo/sources b/extra/libplacebo/sources
new file mode 100644
index 00000000..49833c0d
--- /dev/null
+++ b/extra/libplacebo/sources
@@ -0,0 +1,2 @@
+https://code.videolan.org/videolan/libplacebo/-/archive/v7.349.0/libplacebo-v7.349.0.tar.gz
+https://github.com/Dav1dde/glad/archive/refs/tags/v2.0.8.tar.gz 3rdparty/glad
diff --git a/extra/libplacebo/version b/extra/libplacebo/version
new file mode 100644
index 00000000..fb7181e6
--- /dev/null
+++ b/extra/libplacebo/version
@@ -0,0 +1 @@
+7.349.0 1
diff --git a/extra/libpng/build b/extra/libpng/build
index 5be67a84..6daf22f8 100755
--- a/extra/libpng/build
+++ b/extra/libpng/build
@@ -1,7 +1,5 @@
#!/bin/sh -e
-patch -p1 < libpng-1.6.37-apng.patch
-
./configure \
--prefix=/usr
diff --git a/extra/libpng/checksums b/extra/libpng/checksums
index d0278b60..2dac2350 100644
--- a/extra/libpng/checksums
+++ b/extra/libpng/checksums
@@ -1,2 +1,2 @@
-ca74a0dace179a8422187671aee97dd3892b53e168627145271cad5b5ac81307 v1.6.37.tar.gz
-18b71dcd329af6ddb483cb6d145535861e04918f7eb95e8051545f0bbce7d517 libpng-1.6.37-apng.patch
+%BLAKE3
+6e995123b935af5b7887e53cdfe6e5bc7b8088ee921b1023a7e33388188507c3 v1.6.44.tar.gz
diff --git a/extra/libpng/patches/libpng-1.6.37-apng.patch b/extra/libpng/patches/libpng-1.6.37-apng.patch
deleted file mode 100644
index 8aaa50b9..00000000
--- a/extra/libpng/patches/libpng-1.6.37-apng.patch
+++ /dev/null
@@ -1,1728 +0,0 @@
-diff -Naru libpng-1.6.37.org/png.h libpng-1.6.37/png.h
---- libpng-1.6.37.org/png.h 2019-04-19 07:21:37.398024800 +0900
-+++ libpng-1.6.37/png.h 2019-04-19 07:22:37.871245630 +0900
-@@ -330,6 +330,10 @@
- # include "pnglibconf.h"
- #endif
-
-+#define PNG_APNG_SUPPORTED
-+#define PNG_READ_APNG_SUPPORTED
-+#define PNG_WRITE_APNG_SUPPORTED
-+
- #ifndef PNG_VERSION_INFO_ONLY
- /* Machine specific configuration. */
- # include "pngconf.h"
-@@ -425,6 +429,17 @@
- * See pngconf.h for base types that vary by machine/system
- */
-
-+#ifdef PNG_APNG_SUPPORTED
-+/* dispose_op flags from inside fcTL */
-+#define PNG_DISPOSE_OP_NONE 0x00U
-+#define PNG_DISPOSE_OP_BACKGROUND 0x01U
-+#define PNG_DISPOSE_OP_PREVIOUS 0x02U
-+
-+/* blend_op flags from inside fcTL */
-+#define PNG_BLEND_OP_SOURCE 0x00U
-+#define PNG_BLEND_OP_OVER 0x01U
-+#endif /* PNG_APNG_SUPPORTED */
-+
- /* This triggers a compiler error in png.c, if png.c and png.h
- * do not agree upon the version number.
- */
-@@ -746,6 +761,10 @@
- #define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */
- #define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */
- #define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */
-+#ifdef PNG_APNG_SUPPORTED
-+#define PNG_INFO_acTL 0x20000U
-+#define PNG_INFO_fcTL 0x40000U
-+#endif
-
- /* This is used for the transformation routines, as some of them
- * change these values for the row. It also should enable using
-@@ -783,6 +802,10 @@
- #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
- typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop));
- typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop));
-+#ifdef PNG_APNG_SUPPORTED
-+typedef PNG_CALLBACK(void, *png_progressive_frame_ptr, (png_structp,
-+ png_uint_32));
-+#endif
-
- /* The following callback receives png_uint_32 row_number, int pass for the
- * png_bytep data of the row. When transforming an interlaced image the
-@@ -3226,6 +3249,74 @@
- /*******************************************************************************
- * END OF HARDWARE AND SOFTWARE OPTIONS
- ******************************************************************************/
-+#ifdef PNG_APNG_SUPPORTED
-+PNG_EXPORT(250, png_uint_32, png_get_acTL, (png_structp png_ptr,
-+ png_infop info_ptr, png_uint_32 *num_frames, png_uint_32 *num_plays));
-+
-+PNG_EXPORT(251, png_uint_32, png_set_acTL, (png_structp png_ptr,
-+ png_infop info_ptr, png_uint_32 num_frames, png_uint_32 num_plays));
-+
-+PNG_EXPORT(252, png_uint_32, png_get_num_frames, (png_structp png_ptr,
-+ png_infop info_ptr));
-+
-+PNG_EXPORT(253, png_uint_32, png_get_num_plays, (png_structp png_ptr,
-+ png_infop info_ptr));
-+
-+PNG_EXPORT(254, png_uint_32, png_get_next_frame_fcTL,
-+ (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width,
-+ png_uint_32 *height, png_uint_32 *x_offset, png_uint_32 *y_offset,
-+ png_uint_16 *delay_num, png_uint_16 *delay_den, png_byte *dispose_op,
-+ png_byte *blend_op));
-+
-+PNG_EXPORT(255, png_uint_32, png_set_next_frame_fcTL,
-+ (png_structp png_ptr, png_infop info_ptr, png_uint_32 width,
-+ png_uint_32 height, png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op));
-+
-+PNG_EXPORT(256, png_uint_32, png_get_next_frame_width,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(257, png_uint_32, png_get_next_frame_height,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(258, png_uint_32, png_get_next_frame_x_offset,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(259, png_uint_32, png_get_next_frame_y_offset,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(260, png_uint_16, png_get_next_frame_delay_num,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(261, png_uint_16, png_get_next_frame_delay_den,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(262, png_byte, png_get_next_frame_dispose_op,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(263, png_byte, png_get_next_frame_blend_op,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(264, png_byte, png_get_first_frame_is_hidden,
-+ (png_structp png_ptr, png_infop info_ptr));
-+PNG_EXPORT(265, png_uint_32, png_set_first_frame_is_hidden,
-+ (png_structp png_ptr, png_infop info_ptr, png_byte is_hidden));
-+
-+#ifdef PNG_READ_APNG_SUPPORTED
-+PNG_EXPORT(266, void, png_read_frame_head, (png_structp png_ptr,
-+ png_infop info_ptr));
-+#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-+PNG_EXPORT(267, void, png_set_progressive_frame_fn, (png_structp png_ptr,
-+ png_progressive_frame_ptr frame_info_fn,
-+ png_progressive_frame_ptr frame_end_fn));
-+#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+PNG_EXPORT(268, void, png_write_frame_head, (png_structp png_ptr,
-+ png_infop info_ptr, png_bytepp row_pointers,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op));
-+
-+PNG_EXPORT(269, void, png_write_frame_tail, (png_structp png_ptr,
-+ png_infop info_ptr));
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
-+#endif /* PNG_APNG_SUPPORTED */
-
- /* Maintainer: Put new public prototypes here ^, in libpng.3, in project
- * defs, and in scripts/symbols.def.
-@@ -3235,7 +3326,11 @@
- * one to use is one more than this.)
- */
- #ifdef PNG_EXPORT_LAST_ORDINAL
-+#ifdef PNG_APNG_SUPPORTED
-+ PNG_EXPORT_LAST_ORDINAL(269);
-+#else
- PNG_EXPORT_LAST_ORDINAL(249);
-+#endif /* PNG_APNG_SUPPORTED */
- #endif
-
- #ifdef __cplusplus
-diff -Naru libpng-1.6.37.org/pngget.c libpng-1.6.37/pngget.c
---- libpng-1.6.37.org/pngget.c 2019-04-19 07:21:37.399024787 +0900
-+++ libpng-1.6.37/pngget.c 2019-04-19 07:22:37.850245901 +0900
-@@ -1246,4 +1246,166 @@
- # endif
- #endif
-
-+#ifdef PNG_APNG_SUPPORTED
-+png_uint_32 PNGAPI
-+png_get_acTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 *num_frames, png_uint_32 *num_plays)
-+{
-+ png_debug1(1, "in %s retrieval function", "acTL");
-+
-+ if (png_ptr != NULL && info_ptr != NULL &&
-+ (info_ptr->valid & PNG_INFO_acTL) &&
-+ num_frames != NULL && num_plays != NULL)
-+ {
-+ *num_frames = info_ptr->num_frames;
-+ *num_plays = info_ptr->num_plays;
-+ return (1);
-+ }
-+
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_num_frames(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_num_frames()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->num_frames);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_num_plays(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_num_plays()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->num_plays);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 *width, png_uint_32 *height,
-+ png_uint_32 *x_offset, png_uint_32 *y_offset,
-+ png_uint_16 *delay_num, png_uint_16 *delay_den,
-+ png_byte *dispose_op, png_byte *blend_op)
-+{
-+ png_debug1(1, "in %s retrieval function", "fcTL");
-+
-+ if (png_ptr != NULL && info_ptr != NULL &&
-+ (info_ptr->valid & PNG_INFO_fcTL) &&
-+ width != NULL && height != NULL &&
-+ x_offset != NULL && y_offset != NULL &&
-+ delay_num != NULL && delay_den != NULL &&
-+ dispose_op != NULL && blend_op != NULL)
-+ {
-+ *width = info_ptr->next_frame_width;
-+ *height = info_ptr->next_frame_height;
-+ *x_offset = info_ptr->next_frame_x_offset;
-+ *y_offset = info_ptr->next_frame_y_offset;
-+ *delay_num = info_ptr->next_frame_delay_num;
-+ *delay_den = info_ptr->next_frame_delay_den;
-+ *dispose_op = info_ptr->next_frame_dispose_op;
-+ *blend_op = info_ptr->next_frame_blend_op;
-+ return (1);
-+ }
-+
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_width()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_width);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_height()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_height);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_x_offset()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_x_offset);
-+ return (0);
-+}
-+
-+png_uint_32 PNGAPI
-+png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_y_offset()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_y_offset);
-+ return (0);
-+}
-+
-+png_uint_16 PNGAPI
-+png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_delay_num()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_delay_num);
-+ return (0);
-+}
-+
-+png_uint_16 PNGAPI
-+png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_delay_den()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_delay_den);
-+ return (0);
-+}
-+
-+png_byte PNGAPI
-+png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_dispose_op()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_dispose_op);
-+ return (0);
-+}
-+
-+png_byte PNGAPI
-+png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_get_next_frame_blend_op()");
-+
-+ if (png_ptr != NULL && info_ptr != NULL)
-+ return (info_ptr->next_frame_blend_op);
-+ return (0);
-+}
-+
-+png_byte PNGAPI
-+png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_first_frame_is_hidden()");
-+
-+ if (png_ptr != NULL)
-+ return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN);
-+
-+ PNG_UNUSED(info_ptr)
-+
-+ return 0;
-+}
-+#endif /* PNG_APNG_SUPPORTED */
- #endif /* READ || WRITE */
-diff -Naru libpng-1.6.37.org/pnginfo.h libpng-1.6.37/pnginfo.h
---- libpng-1.6.37.org/pnginfo.h 2019-04-19 07:21:37.399024787 +0900
-+++ libpng-1.6.37/pnginfo.h 2019-04-19 07:22:37.850245901 +0900
-@@ -263,5 +263,18 @@
- png_bytepp row_pointers; /* the image bits */
- #endif
-
-+#ifdef PNG_APNG_SUPPORTED
-+ png_uint_32 num_frames; /* including default image */
-+ png_uint_32 num_plays;
-+ png_uint_32 next_frame_width;
-+ png_uint_32 next_frame_height;
-+ png_uint_32 next_frame_x_offset;
-+ png_uint_32 next_frame_y_offset;
-+ png_uint_16 next_frame_delay_num;
-+ png_uint_16 next_frame_delay_den;
-+ png_byte next_frame_dispose_op;
-+ png_byte next_frame_blend_op;
-+#endif
-+
- };
- #endif /* PNGINFO_H */
-diff -Naru libpng-1.6.37.org/pngpread.c libpng-1.6.37/pngpread.c
---- libpng-1.6.37.org/pngpread.c 2019-04-19 07:21:37.399024787 +0900
-+++ libpng-1.6.37/pngpread.c 2019-04-19 07:22:37.850245901 +0900
-@@ -195,6 +195,106 @@
-
- chunk_name = png_ptr->chunk_name;
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ if (png_ptr->num_frames_read > 0 &&
-+ png_ptr->num_frames_read < info_ptr->num_frames)
-+ {
-+ if (chunk_name == png_IDAT)
-+ {
-+ /* Discard trailing IDATs for the first frame */
-+ if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1)
-+ png_error(png_ptr, "out of place IDAT");
-+
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+ else if (chunk_name == png_fdAT)
-+ {
-+ if (png_ptr->buffer_size < 4)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+
-+ png_ensure_sequence_number(png_ptr, 4);
-+
-+ if (!(png_ptr->mode & PNG_HAVE_fcTL))
-+ {
-+ /* Discard trailing fdATs for frames other than the first */
-+ if (png_ptr->num_frames_read < 2)
-+ png_error(png_ptr, "out of place fdAT");
-+
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+
-+ else
-+ {
-+ /* frame data follows */
-+ png_ptr->idat_size = png_ptr->push_length - 4;
-+ png_ptr->mode |= PNG_HAVE_IDAT;
-+ png_ptr->process_mode = PNG_READ_IDAT_MODE;
-+
-+ return;
-+ }
-+ }
-+
-+ else if (chunk_name == png_fcTL)
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+
-+ png_read_reset(png_ptr);
-+ png_ptr->mode &= ~PNG_HAVE_fcTL;
-+
-+ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
-+
-+ if (!(png_ptr->mode & PNG_HAVE_fcTL))
-+ png_error(png_ptr, "missing required fcTL chunk");
-+
-+ png_read_reinit(png_ptr, info_ptr);
-+ png_progressive_read_reset(png_ptr);
-+
-+ if (png_ptr->frame_info_fn != NULL)
-+ (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read);
-+
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+
-+ return;
-+ }
-+
-+ else
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_warning(png_ptr, "Skipped (ignored) a chunk "
-+ "between APNG chunks");
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+
-+ return;
-+ }
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
- if (chunk_name == png_IDAT)
- {
- if ((png_ptr->mode & PNG_AFTER_IDAT) != 0)
-@@ -261,6 +361,9 @@
-
- else if (chunk_name == png_IDAT)
- {
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ png_have_info(png_ptr, info_ptr);
-+#endif
- png_ptr->idat_size = png_ptr->push_length;
- png_ptr->process_mode = PNG_READ_IDAT_MODE;
- png_push_have_info(png_ptr, info_ptr);
-@@ -406,6 +509,30 @@
- png_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length);
- }
- #endif
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ else if (chunk_name == png_acTL)
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+
-+ png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length);
-+ }
-+
-+ else if (chunk_name == png_fcTL)
-+ {
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+
-+ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
-+ }
-+
-+#endif /* PNG_READ_APNG_SUPPORTED */
-
- else
- {
-@@ -539,7 +666,11 @@
- png_byte chunk_tag[4];
-
- /* TODO: this code can be commoned up with the same code in push_read */
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ PNG_PUSH_SAVE_BUFFER_IF_LT(12)
-+#else
- PNG_PUSH_SAVE_BUFFER_IF_LT(8)
-+#endif
- png_push_fill_buffer(png_ptr, chunk_length, 4);
- png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length);
- png_reset_crc(png_ptr);
-@@ -547,17 +678,64 @@
- png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag);
- png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ if (png_ptr->chunk_name != png_fdAT && png_ptr->num_frames_read > 0)
-+ {
-+ if (png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED)
-+ {
-+ png_ptr->process_mode = PNG_READ_CHUNK_MODE;
-+ if (png_ptr->frame_end_fn != NULL)
-+ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
-+ png_ptr->num_frames_read++;
-+ return;
-+ }
-+ else
-+ {
-+ if (png_ptr->chunk_name == png_IEND)
-+ png_error(png_ptr, "Not enough image data");
-+ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
-+ {
-+ png_push_save_buffer(png_ptr);
-+ return;
-+ }
-+ png_warning(png_ptr, "Skipping (ignoring) a chunk between "
-+ "APNG chunks");
-+ png_crc_finish(png_ptr, png_ptr->push_length);
-+ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
-+ return;
-+ }
-+ }
-+ else
-+#endif
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ if (png_ptr->chunk_name != png_IDAT && png_ptr->num_frames_read == 0)
-+#else
- if (png_ptr->chunk_name != png_IDAT)
-+#endif
- {
- png_ptr->process_mode = PNG_READ_CHUNK_MODE;
-
- if ((png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) == 0)
- png_error(png_ptr, "Not enough compressed data");
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ if (png_ptr->frame_end_fn != NULL)
-+ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
-+ png_ptr->num_frames_read++;
-+#endif
-+
- return;
- }
-
- png_ptr->idat_size = png_ptr->push_length;
-+
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ if (png_ptr->num_frames_read > 0)
-+ {
-+ png_ensure_sequence_number(png_ptr, 4);
-+ png_ptr->idat_size -= 4;
-+ }
-+#endif
- }
-
- if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0)
-@@ -631,6 +809,15 @@
- if (!(buffer_length > 0) || buffer == NULL)
- png_error(png_ptr, "No IDAT data (internal error)");
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ /* If the app is not APNG-aware, decode only the first frame */
-+ if (!(png_ptr->apng_flags & PNG_APNG_APP) && png_ptr->num_frames_read > 0)
-+ {
-+ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
-+ return;
-+ }
-+#endif
-+
- /* This routine must process all the data it has been given
- * before returning, calling the row callback as required to
- * handle the uncompressed results.
-@@ -1085,6 +1272,18 @@
- png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer);
- }
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+void PNGAPI
-+png_set_progressive_frame_fn(png_structp png_ptr,
-+ png_progressive_frame_ptr frame_info_fn,
-+ png_progressive_frame_ptr frame_end_fn)
-+{
-+ png_ptr->frame_info_fn = frame_info_fn;
-+ png_ptr->frame_end_fn = frame_end_fn;
-+ png_ptr->apng_flags |= PNG_APNG_APP;
-+}
-+#endif
-+
- png_voidp PNGAPI
- png_get_progressive_ptr(png_const_structrp png_ptr)
- {
-diff -Naru libpng-1.6.37.org/pngpriv.h libpng-1.6.37/pngpriv.h
---- libpng-1.6.37.org/pngpriv.h 2019-04-19 07:21:37.399024787 +0900
-+++ libpng-1.6.37/pngpriv.h 2019-04-19 07:22:37.850245901 +0900
-@@ -637,6 +637,10 @@
- #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */
- /* 0x4000U (unused) */
- #define PNG_IS_READ_STRUCT 0x8000U /* Else is a write struct */
-+#ifdef PNG_APNG_SUPPORTED
-+#define PNG_HAVE_acTL 0x10000U
-+#define PNG_HAVE_fcTL 0x20000U
-+#endif
-
- /* Flags for the transformations the PNG library does on the image data */
- #define PNG_BGR 0x0001U
-@@ -873,6 +877,16 @@
- #define png_tRNS PNG_U32(116, 82, 78, 83)
- #define png_zTXt PNG_U32(122, 84, 88, 116)
-
-+#ifdef PNG_APNG_SUPPORTED
-+#define png_acTL PNG_U32( 97, 99, 84, 76)
-+#define png_fcTL PNG_U32(102, 99, 84, 76)
-+#define png_fdAT PNG_U32(102, 100, 65, 84)
-+
-+/* For png_struct.apng_flags: */
-+#define PNG_FIRST_FRAME_HIDDEN 0x0001U
-+#define PNG_APNG_APP 0x0002U
-+#endif
-+
- /* The following will work on (signed char*) strings, whereas the get_uint_32
- * macro will fail on top-bit-set values because of the sign extension.
- */
-@@ -1644,6 +1658,47 @@
- */
- #endif
-
-+#ifdef PNG_APNG_SUPPORTED
-+PNG_INTERNAL_FUNCTION(void,png_ensure_fcTL_is_valid,(png_structp png_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op), PNG_EMPTY);
-+
-+#ifdef PNG_READ_APNG_SUPPORTED
-+PNG_INTERNAL_FUNCTION(void,png_handle_acTL,(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 length),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_handle_fcTL,(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 length),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_handle_fdAT,(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 length),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_have_info,(png_structp png_ptr, png_infop info_ptr),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_ensure_sequence_number,(png_structp png_ptr,
-+ png_uint_32 length),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_read_reset,(png_structp png_ptr),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_read_reinit,(png_structp png_ptr,
-+ png_infop info_ptr),PNG_EMPTY);
-+#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-+PNG_INTERNAL_FUNCTION(void,png_progressive_read_reset,(png_structp png_ptr),PNG_EMPTY);
-+#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+PNG_INTERNAL_FUNCTION(void,png_write_acTL,(png_structp png_ptr,
-+ png_uint_32 num_frames, png_uint_32 num_plays),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_write_fcTL,(png_structp png_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_write_fdAT,(png_structp png_ptr,
-+ png_const_bytep data, png_size_t length),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_write_reset,(png_structp png_ptr),PNG_EMPTY);
-+PNG_INTERNAL_FUNCTION(void,png_write_reinit,(png_structp png_ptr,
-+ png_infop info_ptr, png_uint_32 width, png_uint_32 height),PNG_EMPTY);
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
-+#endif /* PNG_APNG_SUPPORTED */
-+
- /* Added at libpng version 1.4.0 */
- #ifdef PNG_COLORSPACE_SUPPORTED
- /* These internal functions are for maintaining the colorspace structure within
-diff -Naru libpng-1.6.37.org/pngread.c libpng-1.6.37/pngread.c
---- libpng-1.6.37.org/pngread.c 2019-04-19 07:21:37.400024774 +0900
-+++ libpng-1.6.37/pngread.c 2019-04-19 07:22:37.851245887 +0900
-@@ -161,6 +161,9 @@
-
- else if (chunk_name == png_IDAT)
- {
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ png_have_info(png_ptr, info_ptr);
-+#endif
- png_ptr->idat_size = length;
- break;
- }
-@@ -255,6 +258,17 @@
- png_handle_iTXt(png_ptr, info_ptr, length);
- #endif
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ else if (chunk_name == png_acTL)
-+ png_handle_acTL(png_ptr, info_ptr, length);
-+
-+ else if (chunk_name == png_fcTL)
-+ png_handle_fcTL(png_ptr, info_ptr, length);
-+
-+ else if (chunk_name == png_fdAT)
-+ png_handle_fdAT(png_ptr, info_ptr, length);
-+#endif
-+
- else
- png_handle_unknown(png_ptr, info_ptr, length,
- PNG_HANDLE_CHUNK_AS_DEFAULT);
-@@ -262,6 +276,72 @@
- }
- #endif /* SEQUENTIAL_READ */
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+void PNGAPI
-+png_read_frame_head(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */
-+
-+ png_debug(0, "Reading frame head");
-+
-+ if (!(png_ptr->mode & PNG_HAVE_acTL))
-+ png_error(png_ptr, "attempt to png_read_frame_head() but "
-+ "no acTL present");
-+
-+ /* do nothing for the main IDAT */
-+ if (png_ptr->num_frames_read == 0)
-+ return;
-+
-+ png_read_reset(png_ptr);
-+ png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
-+ png_ptr->mode &= ~PNG_HAVE_fcTL;
-+
-+ have_chunk_after_DAT = 0;
-+ for (;;)
-+ {
-+ png_uint_32 length = png_read_chunk_header(png_ptr);
-+
-+ if (png_ptr->chunk_name == png_IDAT)
-+ {
-+ /* discard trailing IDATs for the first frame */
-+ if (have_chunk_after_DAT || png_ptr->num_frames_read > 1)
-+ png_error(png_ptr, "png_read_frame_head(): out of place IDAT");
-+ png_crc_finish(png_ptr, length);
-+ }
-+
-+ else if (png_ptr->chunk_name == png_fcTL)
-+ {
-+ png_handle_fcTL(png_ptr, info_ptr, length);
-+ have_chunk_after_DAT = 1;
-+ }
-+
-+ else if (png_ptr->chunk_name == png_fdAT)
-+ {
-+ png_ensure_sequence_number(png_ptr, length);
-+
-+ /* discard trailing fdATs for frames other than the first */
-+ if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1)
-+ png_crc_finish(png_ptr, length - 4);
-+ else if(png_ptr->mode & PNG_HAVE_fcTL)
-+ {
-+ png_ptr->idat_size = length - 4;
-+ png_ptr->mode |= PNG_HAVE_IDAT;
-+
-+ break;
-+ }
-+ else
-+ png_error(png_ptr, "png_read_frame_head(): out of place fdAT");
-+ }
-+ else
-+ {
-+ png_warning(png_ptr, "Skipped (ignored) a chunk "
-+ "between APNG chunks");
-+ png_crc_finish(png_ptr, length);
-+ }
-+ }
-+}
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
- /* Optional call to update the users info_ptr structure */
- void PNGAPI
- png_read_update_info(png_structrp png_ptr, png_inforp info_ptr)
-diff -Naru libpng-1.6.37.org/pngrutil.c libpng-1.6.37/pngrutil.c
---- libpng-1.6.37.org/pngrutil.c 2019-04-19 07:21:37.401024761 +0900
-+++ libpng-1.6.37/pngrutil.c 2019-04-19 07:22:37.853245862 +0900
-@@ -865,6 +865,11 @@
- filter_type = buf[11];
- interlace_type = buf[12];
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ png_ptr->first_frame_width = width;
-+ png_ptr->first_frame_height = height;
-+#endif
-+
- /* Set internal variables */
- png_ptr->width = width;
- png_ptr->height = height;
-@@ -2857,6 +2862,179 @@
- }
- #endif
-
-+#ifdef PNG_READ_APNG_SUPPORTED
-+void /* PRIVATE */
-+png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
-+{
-+ png_byte data[8];
-+ png_uint_32 num_frames;
-+ png_uint_32 num_plays;
-+ png_uint_32 didSet;
-+
-+ png_debug(1, "in png_handle_acTL");
-+
-+ if (!(png_ptr->mode & PNG_HAVE_IHDR))
-+ {
-+ png_error(png_ptr, "Missing IHDR before acTL");
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_IDAT)
-+ {
-+ png_warning(png_ptr, "Invalid acTL after IDAT skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_acTL)
-+ {
-+ png_warning(png_ptr, "Duplicate acTL skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+ else if (length != 8)
-+ {
-+ png_warning(png_ptr, "acTL with invalid length skipped");
-+ png_crc_finish(png_ptr, length);
-+ return;
-+ }
-+
-+ png_crc_read(png_ptr, data, 8);
-+ png_crc_finish(png_ptr, 0);
-+
-+ num_frames = png_get_uint_31(png_ptr, data);
-+ num_plays = png_get_uint_31(png_ptr, data + 4);
-+
-+ /* the set function will do error checking on num_frames */
-+ didSet = png_set_acTL(png_ptr, info_ptr, num_frames, num_plays);
-+ if(didSet)
-+ png_ptr->mode |= PNG_HAVE_acTL;
-+}
-+
-+void /* PRIVATE */
-+png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
-+{
-+ png_byte data[22];
-+ png_uint_32 width;
-+ png_uint_32 height;
-+ png_uint_32 x_offset;
-+ png_uint_32 y_offset;
-+ png_uint_16 delay_num;
-+ png_uint_16 delay_den;
-+ png_byte dispose_op;
-+ png_byte blend_op;
-+
-+ png_debug(1, "in png_handle_fcTL");
-+
-+ png_ensure_sequence_number(png_ptr, length);
-+
-+ if (!(png_ptr->mode & PNG_HAVE_IHDR))
-+ {
-+ png_error(png_ptr, "Missing IHDR before fcTL");
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_IDAT)
-+ {
-+ /* for any frames other then the first this message may be misleading,
-+ * but correct. PNG_HAVE_IDAT is unset before the frame head is read
-+ * i can't think of a better message */
-+ png_warning(png_ptr, "Invalid fcTL after IDAT skipped");
-+ png_crc_finish(png_ptr, length-4);
-+ return;
-+ }
-+ else if (png_ptr->mode & PNG_HAVE_fcTL)
-+ {
-+ png_warning(png_ptr, "Duplicate fcTL within one frame skipped");
-+ png_crc_finish(png_ptr, length-4);
-+ return;
-+ }
-+ else if (length != 26)
-+ {
-+ png_warning(png_ptr, "fcTL with invalid length skipped");
-+ png_crc_finish(png_ptr, length-4);
-+ return;
-+ }
-+
-+ png_crc_read(png_ptr, data, 22);
-+ png_crc_finish(png_ptr, 0);
-+
-+ width = png_get_uint_31(png_ptr, data);
-+ height = png_get_uint_31(png_ptr, data + 4);
-+ x_offset = png_get_uint_31(png_ptr, data + 8);
-+ y_offset = png_get_uint_31(png_ptr, data + 12);
-+ delay_num = png_get_uint_16(data + 16);
-+ delay_den = png_get_uint_16(data + 18);
-+ dispose_op = data[20];
-+ blend_op = data[21];
-+
-+ if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0))
-+ {
-+ png_warning(png_ptr, "fcTL for the first frame must have zero offset");
-+ return;
-+ }
-+
-+ if (info_ptr != NULL)
-+ {
-+ if (png_ptr->num_frames_read == 0 &&
-+ (width != info_ptr->width || height != info_ptr->height))
-+ {
-+ png_warning(png_ptr, "size in first frame's fcTL must match "
-+ "the size in IHDR");
-+ return;
-+ }
-+
-+ /* The set function will do more error checking */
-+ png_set_next_frame_fcTL(png_ptr, info_ptr, width, height,
-+ x_offset, y_offset, delay_num, delay_den,
-+ dispose_op, blend_op);
-+
-+ png_read_reinit(png_ptr, info_ptr);
-+
-+ png_ptr->mode |= PNG_HAVE_fcTL;
-+ }
-+}
-+
-+void /* PRIVATE */
-+png_have_info(png_structp png_ptr, png_infop info_ptr)
-+{
-+ if((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL))
-+ {
-+ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
-+ info_ptr->num_frames++;
-+ }
-+}
-+
-+void /* PRIVATE */
-+png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
-+{
-+ png_ensure_sequence_number(png_ptr, length);
-+
-+ /* This function is only called from png_read_end(), png_read_info(),
-+ * and png_push_read_chunk() which means that:
-+ * - the user doesn't want to read this frame
-+ * - or this is an out-of-place fdAT
-+ * in either case it is safe to ignore the chunk with a warning */
-+ png_warning(png_ptr, "ignoring fdAT chunk");
-+ png_crc_finish(png_ptr, length - 4);
-+ PNG_UNUSED(info_ptr)
-+}
-+
-+void /* PRIVATE */
-+png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length)
-+{
-+ png_byte data[4];
-+ png_uint_32 sequence_number;
-+
-+ if (length < 4)
-+ png_error(png_ptr, "invalid fcTL or fdAT chunk found");
-+
-+ png_crc_read(png_ptr, data, 4);
-+ sequence_number = png_get_uint_31(png_ptr, data);
-+
-+ if (sequence_number != png_ptr->next_seq_num)
-+ png_error(png_ptr, "fcTL or fdAT chunk with out-of-order sequence "
-+ "number found");
-+
-+ png_ptr->next_seq_num++;
-+}
-+#endif /* PNG_READ_APNG_SUPPORTED */
-+
- #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
- /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */
- static int
-@@ -4165,7 +4343,38 @@
- {
- uInt avail_in;
- png_bytep buffer;
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ png_uint_32 bytes_to_skip = 0;
-+
-+ while (png_ptr->idat_size == 0 || bytes_to_skip != 0)
-+ {
-+ png_crc_finish(png_ptr, bytes_to_skip);
-+ bytes_to_skip = 0;
-
-+ png_ptr->idat_size = png_read_chunk_header(png_ptr);
-+ if (png_ptr->num_frames_read == 0)
-+ {
-+ if (png_ptr->chunk_name != png_IDAT)
-+ png_error(png_ptr, "Not enough image data");
-+ }
-+ else
-+ {
-+ if (png_ptr->chunk_name == png_IEND)
-+ png_error(png_ptr, "Not enough image data");
-+ if (png_ptr->chunk_name != png_fdAT)
-+ {
-+ png_warning(png_ptr, "Skipped (ignored) a chunk "
-+ "between APNG chunks");
-+ bytes_to_skip = png_ptr->idat_size;
-+ continue;
-+ }
-+
-+ png_ensure_sequence_number(png_ptr, png_ptr->idat_size);
-+
-+ png_ptr->idat_size -= 4;
-+ }
-+ }
-+#else
- while (png_ptr->idat_size == 0)
- {
- png_crc_finish(png_ptr, 0);
-@@ -4177,7 +4386,7 @@
- if (png_ptr->chunk_name != png_IDAT)
- png_error(png_ptr, "Not enough image data");
- }
--
-+#endif /* PNG_READ_APNG_SUPPORTED */
- avail_in = png_ptr->IDAT_read_size;
-
- if (avail_in > png_ptr->idat_size)
-@@ -4240,6 +4449,9 @@
-
- png_ptr->mode |= PNG_AFTER_IDAT;
- png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ png_ptr->num_frames_read++;
-+#endif
-
- if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0)
- png_chunk_benign_error(png_ptr, "Extra compressed data");
-@@ -4678,4 +4890,80 @@
-
- png_ptr->flags |= PNG_FLAG_ROW_INIT;
- }
-+
-+#ifdef PNG_READ_APNG_SUPPORTED
-+/* This function is to be called after the main IDAT set has been read and
-+ * before a new IDAT is read. It resets some parts of png_ptr
-+ * to make them usable by the read functions again */
-+void /* PRIVATE */
-+png_read_reset(png_structp png_ptr)
-+{
-+ png_ptr->mode &= ~PNG_HAVE_IDAT;
-+ png_ptr->mode &= ~PNG_AFTER_IDAT;
-+ png_ptr->row_number = 0;
-+ png_ptr->pass = 0;
-+}
-+
-+void /* PRIVATE */
-+png_read_reinit(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_ptr->width = info_ptr->next_frame_width;
-+ png_ptr->height = info_ptr->next_frame_height;
-+ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width);
-+ png_ptr->info_rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth,
-+ png_ptr->width);
-+ if (png_ptr->prev_row)
-+ memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
-+}
-+
-+#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-+/* same as png_read_reset() but for the progressive reader */
-+void /* PRIVATE */
-+png_progressive_read_reset(png_structp png_ptr)
-+{
-+#ifdef PNG_READ_INTERLACING_SUPPORTED
-+ /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-+
-+ /* Start of interlace block */
-+ const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
-+
-+ /* Offset to next interlace block */
-+ const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
-+
-+ /* Start of interlace block in the y direction */
-+ const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
-+
-+ /* Offset to next interlace block in the y direction */
-+ const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
-+
-+ if (png_ptr->interlaced)
-+ {
-+ if (!(png_ptr->transformations & PNG_INTERLACE))
-+ png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 -
-+ png_pass_ystart[0]) / png_pass_yinc[0];
-+ else
-+ png_ptr->num_rows = png_ptr->height;
-+
-+ png_ptr->iwidth = (png_ptr->width +
-+ png_pass_inc[png_ptr->pass] - 1 -
-+ png_pass_start[png_ptr->pass]) /
-+ png_pass_inc[png_ptr->pass];
-+ }
-+ else
-+#endif /* PNG_READ_INTERLACING_SUPPORTED */
-+ {
-+ png_ptr->num_rows = png_ptr->height;
-+ png_ptr->iwidth = png_ptr->width;
-+ }
-+ png_ptr->flags &= ~PNG_FLAG_ZSTREAM_ENDED;
-+ if (inflateReset(&(png_ptr->zstream)) != Z_OK)
-+ png_error(png_ptr, "inflateReset failed");
-+ png_ptr->zstream.avail_in = 0;
-+ png_ptr->zstream.next_in = 0;
-+ png_ptr->zstream.next_out = png_ptr->row_buf;
-+ png_ptr->zstream.avail_out = (uInt)PNG_ROWBYTES(png_ptr->pixel_depth,
-+ png_ptr->iwidth) + 1;
-+}
-+#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
-+#endif /* PNG_READ_APNG_SUPPORTED */
- #endif /* READ */
-diff -Naru libpng-1.6.37.org/pngset.c libpng-1.6.37/pngset.c
---- libpng-1.6.37.org/pngset.c 2019-04-19 07:21:37.401024761 +0900
-+++ libpng-1.6.37/pngset.c 2019-04-19 07:22:37.858245798 +0900
-@@ -288,6 +288,11 @@
- info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth);
-
- info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width);
-+
-+#ifdef PNG_APNG_SUPPORTED
-+ /* for non-animated png. this may be overwritten from an acTL chunk later */
-+ info_ptr->num_frames = 1;
-+#endif
- }
-
- #ifdef PNG_oFFs_SUPPORTED
-@@ -1158,6 +1163,147 @@
- }
- #endif /* sPLT */
-
-+#ifdef PNG_APNG_SUPPORTED
-+png_uint_32 PNGAPI
-+png_set_acTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 num_frames, png_uint_32 num_plays)
-+{
-+ png_debug1(1, "in %s storage function", "acTL");
-+
-+ if (png_ptr == NULL || info_ptr == NULL)
-+ {
-+ png_warning(png_ptr,
-+ "Call to png_set_acTL() with NULL png_ptr "
-+ "or info_ptr ignored");
-+ return (0);
-+ }
-+ if (num_frames == 0)
-+ {
-+ png_warning(png_ptr,
-+ "Ignoring attempt to set acTL with num_frames zero");
-+ return (0);
-+ }
-+ if (num_frames > PNG_UINT_31_MAX)
-+ {
-+ png_warning(png_ptr,
-+ "Ignoring attempt to set acTL with num_frames > 2^31-1");
-+ return (0);
-+ }
-+ if (num_plays > PNG_UINT_31_MAX)
-+ {
-+ png_warning(png_ptr,
-+ "Ignoring attempt to set acTL with num_plays "
-+ "> 2^31-1");
-+ return (0);
-+ }
-+
-+ info_ptr->num_frames = num_frames;
-+ info_ptr->num_plays = num_plays;
-+
-+ info_ptr->valid |= PNG_INFO_acTL;
-+
-+ return (1);
-+}
-+
-+/* delay_num and delay_den can hold any 16-bit values including zero */
-+png_uint_32 PNGAPI
-+png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op)
-+{
-+ png_debug1(1, "in %s storage function", "fcTL");
-+
-+ if (png_ptr == NULL || info_ptr == NULL)
-+ {
-+ png_warning(png_ptr,
-+ "Call to png_set_fcTL() with NULL png_ptr or info_ptr "
-+ "ignored");
-+ return (0);
-+ }
-+
-+ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
-+ delay_num, delay_den, dispose_op, blend_op);
-+
-+ if (blend_op == PNG_BLEND_OP_OVER)
-+ {
-+ if (!(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) &&
-+ !(png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)))
-+ {
-+ png_warning(png_ptr, "PNG_BLEND_OP_OVER is meaningless "
-+ "and wasteful for opaque images, ignored");
-+ blend_op = PNG_BLEND_OP_SOURCE;
-+ }
-+ }
-+
-+ info_ptr->next_frame_width = width;
-+ info_ptr->next_frame_height = height;
-+ info_ptr->next_frame_x_offset = x_offset;
-+ info_ptr->next_frame_y_offset = y_offset;
-+ info_ptr->next_frame_delay_num = delay_num;
-+ info_ptr->next_frame_delay_den = delay_den;
-+ info_ptr->next_frame_dispose_op = dispose_op;
-+ info_ptr->next_frame_blend_op = blend_op;
-+
-+ info_ptr->valid |= PNG_INFO_fcTL;
-+
-+ return (1);
-+}
-+
-+void /* PRIVATE */
-+png_ensure_fcTL_is_valid(png_structp png_ptr,
-+ png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den,
-+ png_byte dispose_op, png_byte blend_op)
-+{
-+ if (width == 0 || width > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid width in fcTL (> 2^31-1)");
-+ if (height == 0 || height > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid height in fcTL (> 2^31-1)");
-+ if (x_offset > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)");
-+ if (y_offset > PNG_UINT_31_MAX)
-+ png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)");
-+ if (width + x_offset > png_ptr->first_frame_width ||
-+ height + y_offset > png_ptr->first_frame_height)
-+ png_error(png_ptr, "dimensions of a frame are greater than"
-+ "the ones in IHDR");
-+
-+ if (dispose_op != PNG_DISPOSE_OP_NONE &&
-+ dispose_op != PNG_DISPOSE_OP_BACKGROUND &&
-+ dispose_op != PNG_DISPOSE_OP_PREVIOUS)
-+ png_error(png_ptr, "invalid dispose_op in fcTL");
-+
-+ if (blend_op != PNG_BLEND_OP_SOURCE &&
-+ blend_op != PNG_BLEND_OP_OVER)
-+ png_error(png_ptr, "invalid blend_op in fcTL");
-+
-+ PNG_UNUSED(delay_num)
-+ PNG_UNUSED(delay_den)
-+}
-+
-+png_uint_32 PNGAPI
-+png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr,
-+ png_byte is_hidden)
-+{
-+ png_debug(1, "in png_first_frame_is_hidden()");
-+
-+ if (png_ptr == NULL)
-+ return 0;
-+
-+ if (is_hidden)
-+ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
-+ else
-+ png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN;
-+
-+ PNG_UNUSED(info_ptr)
-+
-+ return 1;
-+}
-+#endif /* PNG_APNG_SUPPORTED */
-+
- #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
- static png_byte
- check_location(png_const_structrp png_ptr, int location)
-diff -Naru libpng-1.6.37.org/pngstruct.h libpng-1.6.37/pngstruct.h
---- libpng-1.6.37.org/pngstruct.h 2019-04-19 07:21:37.401024761 +0900
-+++ libpng-1.6.37/pngstruct.h 2019-04-19 07:22:37.854245849 +0900
-@@ -409,6 +409,27 @@
- png_byte filter_type;
- #endif
-
-+#ifdef PNG_APNG_SUPPORTED
-+ png_uint_32 apng_flags;
-+ png_uint_32 next_seq_num; /* next fcTL/fdAT chunk sequence number */
-+ png_uint_32 first_frame_width;
-+ png_uint_32 first_frame_height;
-+
-+#ifdef PNG_READ_APNG_SUPPORTED
-+ png_uint_32 num_frames_read; /* incremented after all image data of */
-+ /* a frame is read */
-+#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
-+ png_progressive_frame_ptr frame_info_fn; /* frame info read callback */
-+ png_progressive_frame_ptr frame_end_fn; /* frame data read callback */
-+#endif
-+#endif
-+
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ png_uint_32 num_frames_to_write;
-+ png_uint_32 num_frames_written;
-+#endif
-+#endif /* PNG_APNG_SUPPORTED */
-+
- /* New members added in libpng-1.2.0 */
-
- /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
-diff -Naru libpng-1.6.37.org/pngtest.c libpng-1.6.37/pngtest.c
---- libpng-1.6.37.org/pngtest.c 2019-04-19 07:21:37.401024761 +0900
-+++ libpng-1.6.37/pngtest.c 2019-04-19 07:22:37.854245849 +0900
-@@ -875,6 +875,10 @@
- volatile int num_passes;
- int pass;
- int bit_depth, color_type;
-+#ifdef PNG_APNG_SUPPORTED
-+ png_uint_32 num_frames;
-+ png_uint_32 num_plays;
-+#endif
-
- row_buf = NULL;
- error_parameters.file_name = inname;
-@@ -1383,6 +1387,22 @@
- }
- }
- #endif
-+
-+#ifdef PNG_APNG_SUPPORTED
-+ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
-+ {
-+ if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays))
-+ {
-+ png_byte is_hidden;
-+ pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)",
-+ num_frames, num_plays);
-+ png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays);
-+ is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr);
-+ png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden);
-+ }
-+ }
-+#endif
-+
- #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
- {
- png_unknown_chunkp unknowns;
-@@ -1463,6 +1483,110 @@
- t_misc += (t_stop - t_start);
- t_start = t_stop;
- #endif
-+#ifdef PNG_APNG_SUPPORTED
-+ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
-+ {
-+ png_uint_32 frame;
-+ for (frame = 0; frame < num_frames; frame++)
-+ {
-+ png_uint_32 frame_width;
-+ png_uint_32 frame_height;
-+ png_uint_32 x_offset;
-+ png_uint_32 y_offset;
-+ png_uint_16 delay_num;
-+ png_uint_16 delay_den;
-+ png_byte dispose_op;
-+ png_byte blend_op;
-+ png_read_frame_head(read_ptr, read_info_ptr);
-+ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL))
-+ {
-+ png_get_next_frame_fcTL(read_ptr, read_info_ptr,
-+ &frame_width, &frame_height,
-+ &x_offset, &y_offset,
-+ &delay_num, &delay_den,
-+ &dispose_op, &blend_op);
-+ }
-+ else
-+ {
-+ frame_width = width;
-+ frame_height = height;
-+ x_offset = 0;
-+ y_offset = 0;
-+ delay_num = 1;
-+ delay_den = 1;
-+ dispose_op = PNG_DISPOSE_OP_NONE;
-+ blend_op = PNG_BLEND_OP_SOURCE;
-+ }
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf,
-+ frame_width, frame_height,
-+ x_offset, y_offset,
-+ delay_num, delay_den,
-+ dispose_op, blend_op);
-+#endif
-+ for (pass = 0; pass < num_passes; pass++)
-+ {
-+# ifdef calc_pass_height
-+ png_uint_32 pass_height;
-+
-+ if (num_passes == 7) /* interlaced */
-+ {
-+ if (PNG_PASS_COLS(frame_width, pass) > 0)
-+ pass_height = PNG_PASS_ROWS(frame_height, pass);
-+
-+ else
-+ pass_height = 0;
-+ }
-+
-+ else /* not interlaced */
-+ pass_height = frame_height;
-+# else
-+# define pass_height frame_height
-+# endif
-+
-+ pngtest_debug1("Writing row data for pass %d", pass);
-+ for (y = 0; y < pass_height; y++)
-+ {
-+#ifndef SINGLE_ROWBUF_ALLOC
-+ pngtest_debug2("Allocating row buffer (pass %d, y = %u)...", pass, y);
-+
-+ row_buf = (png_bytep)png_malloc(read_ptr,
-+ png_get_rowbytes(read_ptr, read_info_ptr));
-+
-+ pngtest_debug2("\t0x%08lx (%lu bytes)", (unsigned long)row_buf,
-+ (unsigned long)png_get_rowbytes(read_ptr, read_info_ptr));
-+
-+#endif /* !SINGLE_ROWBUF_ALLOC */
-+ png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1);
-+
-+#ifdef PNG_WRITE_SUPPORTED
-+#ifdef PNGTEST_TIMING
-+ t_stop = (float)clock();
-+ t_decode += (t_stop - t_start);
-+ t_start = t_stop;
-+#endif
-+ png_write_rows(write_ptr, (png_bytepp)&row_buf, 1);
-+#ifdef PNGTEST_TIMING
-+ t_stop = (float)clock();
-+ t_encode += (t_stop - t_start);
-+ t_start = t_stop;
-+#endif
-+#endif /* PNG_WRITE_SUPPORTED */
-+
-+#ifndef SINGLE_ROWBUF_ALLOC
-+ pngtest_debug2("Freeing row buffer (pass %d, y = %u)", pass, y);
-+ png_free(read_ptr, row_buf);
-+ row_buf = NULL;
-+#endif /* !SINGLE_ROWBUF_ALLOC */
-+ }
-+ }
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ png_write_frame_tail(write_ptr, write_info_ptr);
-+#endif
-+ }
-+ }
-+ else
-+#endif
- for (pass = 0; pass < num_passes; pass++)
- {
- # ifdef calc_pass_height
-diff -Naru libpng-1.6.37.org/pngwrite.c libpng-1.6.37/pngwrite.c
---- libpng-1.6.37.org/pngwrite.c 2019-04-19 07:21:37.402024748 +0900
-+++ libpng-1.6.37/pngwrite.c 2019-04-19 07:22:37.855245836 +0900
-@@ -128,6 +128,10 @@
- * the application continues writing the PNG. So check the 'invalid'
- * flag here too.
- */
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ if (info_ptr->valid & PNG_INFO_acTL)
-+ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays);
-+#endif
- #ifdef PNG_GAMMA_SUPPORTED
- # ifdef PNG_WRITE_gAMA_SUPPORTED
- if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
-@@ -370,6 +374,11 @@
- png_benign_error(png_ptr, "Wrote palette index exceeding num_palette");
- #endif
-
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ if (png_ptr->num_frames_written != png_ptr->num_frames_to_write)
-+ png_error(png_ptr, "Not enough frames written");
-+#endif
-+
- /* See if user wants us to write information chunks */
- if (info_ptr != NULL)
- {
-@@ -1461,6 +1470,43 @@
- }
- #endif
-
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+void PNGAPI
-+png_write_frame_head(png_structp png_ptr, png_infop info_ptr,
-+ png_bytepp row_pointers, png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op)
-+{
-+ png_debug(1, "in png_write_frame_head");
-+
-+ /* there is a chance this has been set after png_write_info was called,
-+ * so it would be set but not written. is there a way to be sure? */
-+ if (!(info_ptr->valid & PNG_INFO_acTL))
-+ png_error(png_ptr, "png_write_frame_head(): acTL not set");
-+
-+ png_write_reset(png_ptr);
-+
-+ png_write_reinit(png_ptr, info_ptr, width, height);
-+
-+ if ( !(png_ptr->num_frames_written == 0 &&
-+ (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ) )
-+ png_write_fcTL(png_ptr, width, height, x_offset, y_offset,
-+ delay_num, delay_den, dispose_op, blend_op);
-+
-+ PNG_UNUSED(row_pointers)
-+}
-+
-+void PNGAPI
-+png_write_frame_tail(png_structp png_ptr, png_infop info_ptr)
-+{
-+ png_debug(1, "in png_write_frame_tail");
-+
-+ png_ptr->num_frames_written++;
-+
-+ PNG_UNUSED(info_ptr)
-+}
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
-
- #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED
- /* Initialize the write structure - general purpose utility. */
-diff -Naru libpng-1.6.37.org/pngwutil.c libpng-1.6.37/pngwutil.c
---- libpng-1.6.37.org/pngwutil.c 2019-04-19 07:21:37.402024748 +0900
-+++ libpng-1.6.37/pngwutil.c 2019-04-19 07:22:37.867245682 +0900
-@@ -821,6 +821,11 @@
- /* Write the chunk */
- png_write_complete_chunk(png_ptr, png_IHDR, buf, 13);
-
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ png_ptr->first_frame_width = width;
-+ png_ptr->first_frame_height = height;
-+#endif
-+
- if ((png_ptr->do_filter) == PNG_NO_FILTERS)
- {
- if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE ||
-@@ -1002,8 +1007,17 @@
- optimize_cmf(data, png_image_size(png_ptr));
- #endif
-
-- if (size > 0)
-- png_write_complete_chunk(png_ptr, png_IDAT, data, size);
-+ if (size > 0)
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ {
-+ if (png_ptr->num_frames_written == 0)
-+#endif
-+ png_write_complete_chunk(png_ptr, png_IDAT, data, size);
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ else
-+ png_write_fdAT(png_ptr, data, size);
-+ }
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
- png_ptr->mode |= PNG_HAVE_IDAT;
-
- png_ptr->zstream.next_out = data;
-@@ -1050,7 +1064,17 @@
- #endif
-
- if (size > 0)
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ {
-+ if (png_ptr->num_frames_written == 0)
-+#endif
- png_write_complete_chunk(png_ptr, png_IDAT, data, size);
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+ else
-+ png_write_fdAT(png_ptr, data, size);
-+ }
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
-+
- png_ptr->zstream.avail_out = 0;
- png_ptr->zstream.next_out = NULL;
- png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT;
-@@ -1885,6 +1909,82 @@
- }
- #endif
-
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+void /* PRIVATE */
-+png_write_acTL(png_structp png_ptr,
-+ png_uint_32 num_frames, png_uint_32 num_plays)
-+{
-+ png_byte buf[8];
-+
-+ png_debug(1, "in png_write_acTL");
-+
-+ png_ptr->num_frames_to_write = num_frames;
-+
-+ if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN)
-+ num_frames--;
-+
-+ png_save_uint_32(buf, num_frames);
-+ png_save_uint_32(buf + 4, num_plays);
-+
-+ png_write_complete_chunk(png_ptr, png_acTL, buf, (png_size_t)8);
-+}
-+
-+void /* PRIVATE */
-+png_write_fcTL(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
-+ png_uint_32 x_offset, png_uint_32 y_offset,
-+ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
-+ png_byte blend_op)
-+{
-+ png_byte buf[26];
-+
-+ png_debug(1, "in png_write_fcTL");
-+
-+ if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0))
-+ png_error(png_ptr, "x and/or y offset for the first frame aren't 0");
-+ if (png_ptr->num_frames_written == 0 &&
-+ (width != png_ptr->first_frame_width ||
-+ height != png_ptr->first_frame_height))
-+ png_error(png_ptr, "width and/or height in the first frame's fcTL "
-+ "don't match the ones in IHDR");
-+
-+ /* more error checking */
-+ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
-+ delay_num, delay_den, dispose_op, blend_op);
-+
-+ png_save_uint_32(buf, png_ptr->next_seq_num);
-+ png_save_uint_32(buf + 4, width);
-+ png_save_uint_32(buf + 8, height);
-+ png_save_uint_32(buf + 12, x_offset);
-+ png_save_uint_32(buf + 16, y_offset);
-+ png_save_uint_16(buf + 20, delay_num);
-+ png_save_uint_16(buf + 22, delay_den);
-+ buf[24] = dispose_op;
-+ buf[25] = blend_op;
-+
-+ png_write_complete_chunk(png_ptr, png_fcTL, buf, (png_size_t)26);
-+
-+ png_ptr->next_seq_num++;
-+}
-+
-+void /* PRIVATE */
-+png_write_fdAT(png_structp png_ptr,
-+ png_const_bytep data, png_size_t length)
-+{
-+ png_byte buf[4];
-+
-+ png_write_chunk_header(png_ptr, png_fdAT, (png_uint_32)(4 + length));
-+
-+ png_save_uint_32(buf, png_ptr->next_seq_num);
-+ png_write_chunk_data(png_ptr, buf, 4);
-+
-+ png_write_chunk_data(png_ptr, data, length);
-+
-+ png_write_chunk_end(png_ptr);
-+
-+ png_ptr->next_seq_num++;
-+}
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
-+
- /* Initializes the row writing capability of libpng */
- void /* PRIVATE */
- png_write_start_row(png_structrp png_ptr)
-@@ -2778,4 +2878,39 @@
- }
- #endif /* WRITE_FLUSH */
- }
-+
-+#ifdef PNG_WRITE_APNG_SUPPORTED
-+void /* PRIVATE */
-+png_write_reset(png_structp png_ptr)
-+{
-+ png_ptr->row_number = 0;
-+ png_ptr->pass = 0;
-+ png_ptr->mode &= ~PNG_HAVE_IDAT;
-+}
-+
-+void /* PRIVATE */
-+png_write_reinit(png_structp png_ptr, png_infop info_ptr,
-+ png_uint_32 width, png_uint_32 height)
-+{
-+ if (png_ptr->num_frames_written == 0 &&
-+ (width != png_ptr->first_frame_width ||
-+ height != png_ptr->first_frame_height))
-+ png_error(png_ptr, "width and/or height in the first frame's fcTL "
-+ "don't match the ones in IHDR");
-+ if (width > png_ptr->first_frame_width ||
-+ height > png_ptr->first_frame_height)
-+ png_error(png_ptr, "width and/or height for a frame greater than"
-+ "the ones in IHDR");
-+
-+ png_set_IHDR(png_ptr, info_ptr, width, height,
-+ info_ptr->bit_depth, info_ptr->color_type,
-+ info_ptr->interlace_type, info_ptr->compression_type,
-+ info_ptr->filter_type);
-+
-+ png_ptr->width = width;
-+ png_ptr->height = height;
-+ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width);
-+ png_ptr->usr_width = png_ptr->width;
-+}
-+#endif /* PNG_WRITE_APNG_SUPPORTED */
- #endif /* WRITE */
-diff -Naru libpng-1.6.37.org/scripts/symbols.def libpng-1.6.37/scripts/symbols.def
---- libpng-1.6.37.org/scripts/symbols.def 2019-04-19 07:21:37.405024710 +0900
-+++ libpng-1.6.37/scripts/symbols.def 2019-04-19 07:22:37.856245823 +0900
-@@ -253,3 +253,23 @@
- png_set_eXIf @247
- png_get_eXIf_1 @248
- png_set_eXIf_1 @249
-+ png_get_acTL @250
-+ png_set_acTL @251
-+ png_get_num_frames @252
-+ png_get_num_plays @253
-+ png_get_next_frame_fcTL @254
-+ png_set_next_frame_fcTL @255
-+ png_get_next_frame_width @256
-+ png_get_next_frame_height @257
-+ png_get_next_frame_x_offset @258
-+ png_get_next_frame_y_offset @259
-+ png_get_next_frame_delay_num @260
-+ png_get_next_frame_delay_den @261
-+ png_get_next_frame_dispose_op @262
-+ png_get_next_frame_blend_op @263
-+ png_get_first_frame_is_hidden @264
-+ png_set_first_frame_is_hidden @265
-+ png_read_frame_head @266
-+ png_set_progressive_frame_fn @267
-+ png_write_frame_head @268
-+ png_write_frame_tail @269
diff --git a/extra/libpng/sources b/extra/libpng/sources
index d6556f0c..a55b6c10 100644
--- a/extra/libpng/sources
+++ b/extra/libpng/sources
@@ -1,2 +1 @@
-https://github.com/glennrp/libpng/archive/v1.6.37.tar.gz
-patches/libpng-1.6.37-apng.patch
+https://github.com/glennrp/libpng/archive/v1.6.44.tar.gz
diff --git a/extra/libpng/version b/extra/libpng/version
index d61fa1c5..886ac461 100644
--- a/extra/libpng/version
+++ b/extra/libpng/version
@@ -1 +1 @@
-1.6.37 2
+1.6.44 1
diff --git a/extra/libpsl/checksums b/extra/libpsl/checksums
index b464bd36..396cec3a 100644
--- a/extra/libpsl/checksums
+++ b/extra/libpsl/checksums
@@ -1 +1,2 @@
-ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c libpsl-0.21.1.tar.gz
+%BLAKE3
+75520a5e4ef205ad5fcb236075182c9e7aeb4f3122ebdb32854a14f49dc52676 libpsl-0.21.5.tar.gz
diff --git a/extra/libpsl/sources b/extra/libpsl/sources
index 57a914d0..53cb1955 100644
--- a/extra/libpsl/sources
+++ b/extra/libpsl/sources
@@ -1 +1 @@
-https://github.com/rockdaboot/libpsl/releases/download/0.21.1/libpsl-0.21.1.tar.gz
+https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz
diff --git a/extra/libpsl/version b/extra/libpsl/version
index e54d47e7..c0d138bc 100644
--- a/extra/libpsl/version
+++ b/extra/libpsl/version
@@ -1 +1 @@
-0.21.1 3
+0.21.5 1
diff --git a/extra/libsoup/build b/extra/libsoup/build
index dbf11245..d7746acd 100755
--- a/extra/libsoup/build
+++ b/extra/libsoup/build
@@ -3,6 +3,7 @@
export DESTDIR="$1"
cl-meson \
+ -Dlocaledir="$PWD/trash" \
-Dtls_check=false \
. output
diff --git a/extra/libsoup/checksums b/extra/libsoup/checksums
index 88ed02ce..769d4edb 100644
--- a/extra/libsoup/checksums
+++ b/extra/libsoup/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-793005e7705e9dfb50b35f04456a143a12cd4b43b63e1780ce4f98fdd92cdcec libsoup-2.74.0.tar.xz
+aea13f39e4c0979a22aa30f1b5d5a400a01ae9dbd310a1f19ca016d913bd61ab libsoup-2.74.2.tar.xz
diff --git a/extra/libsoup/sources b/extra/libsoup/sources
index 310011ac..d6c309b1 100644
--- a/extra/libsoup/sources
+++ b/extra/libsoup/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/libsoup/2.74/libsoup-2.74.0.tar.xz
+https://download.gnome.org/sources/libsoup/2.74/libsoup-2.74.2.tar.xz
diff --git a/extra/libsoup/version b/extra/libsoup/version
index df45d70f..9ece8cc3 100644
--- a/extra/libsoup/version
+++ b/extra/libsoup/version
@@ -1 +1 @@
-2.74.0 1
+2.74.2 2
diff --git a/extra/libtasn1/checksums b/extra/libtasn1/checksums
index 636023e1..be65d2a7 100644
--- a/extra/libtasn1/checksums
+++ b/extra/libtasn1/checksums
@@ -1 +1,2 @@
-ece7551cea7922b8e10d7ebc70bc2248d1fdd73351646a2d6a8d68a9421c45a5 libtasn1-4.17.0.tar.gz
+%BLAKE3
+6e7ee1c99c271fd9a347e3a46056f00c2ab5cf481328a6bac8d1f727fe7bfd9e libtasn1-4.19.0.tar.gz
diff --git a/extra/libtasn1/sources b/extra/libtasn1/sources
index e4b6e157..a39bd6fa 100644
--- a/extra/libtasn1/sources
+++ b/extra/libtasn1/sources
@@ -1 +1 @@
-https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.17.0.tar.gz
+https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.19.0.tar.gz
diff --git a/extra/libtasn1/version b/extra/libtasn1/version
index 43d01b2d..ce45c3e9 100644
--- a/extra/libtasn1/version
+++ b/extra/libtasn1/version
@@ -1 +1 @@
-4.17.0 1
+4.19.0 1
diff --git a/extra/libtirpc/checksums b/extra/libtirpc/checksums
index e9fae72e..01d51d6d 100644
--- a/extra/libtirpc/checksums
+++ b/extra/libtirpc/checksums
@@ -1 +1,2 @@
-e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd libtirpc-1.3.2.tar.bz2
+%BLAKE3
+4dd37bb207a200ab90739658efd908099f329ce2244f2a02f2ef918a33cf31b0 libtirpc-1.3.5.tar.bz2
diff --git a/extra/libtirpc/sources b/extra/libtirpc/sources
index 2b5f041b..7a96d0e0 100644
--- a/extra/libtirpc/sources
+++ b/extra/libtirpc/sources
@@ -1 +1 @@
-https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.2.tar.bz2
+https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.5.tar.bz2
diff --git a/extra/libtirpc/version b/extra/libtirpc/version
index a8cebfe5..a06f6a21 100644
--- a/extra/libtirpc/version
+++ b/extra/libtirpc/version
@@ -1 +1 @@
-1.3.2 1
+1.3.5 1
diff --git a/extra/libtool/checksums b/extra/libtool/checksums
index 238a49a3..b2f4429d 100644
--- a/extra/libtool/checksums
+++ b/extra/libtool/checksums
@@ -1 +1,2 @@
-7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f libtool-2.4.6.tar.xz
+%BLAKE3
+2ea6756908621775a2466f58d79095fb42e6fb6aa599c3a334f3c688781e00e3 libtool-2.4.7.tar.xz
diff --git a/extra/libtool/sources b/extra/libtool/sources
index 5f32de1a..0d2fc68c 100644
--- a/extra/libtool/sources
+++ b/extra/libtool/sources
@@ -1 +1 @@
-https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.xz
+https://ftp.gnu.org/gnu/libtool/libtool-2.4.7.tar.xz
diff --git a/extra/libtool/version b/extra/libtool/version
index c2d12dbd..157dfb24 100644
--- a/extra/libtool/version
+++ b/extra/libtool/version
@@ -1 +1 @@
-2.4.6 1
+2.4.7 1
diff --git a/extra/libutf8proc/build b/extra/libutf8proc/build
new file mode 100755
index 00000000..4fb89fb1
--- /dev/null
+++ b/extra/libutf8proc/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+make libutf8proc.a
+
+clinst -Dm644 libutf8proc.a "$1/usr/lib/libutf8proc.a"
+clinst -Dm644 utf8proc.h "$1/usr/include/utf8proc.h"
+clinst -Dm644 -s "s,@VERSION@,$2,g" libutf8proc.pc.in "$1/usr/lib/pkgconfig/libutf8proc.pc"
diff --git a/extra/libutf8proc/checksums b/extra/libutf8proc/checksums
new file mode 100644
index 00000000..b4ce135f
--- /dev/null
+++ b/extra/libutf8proc/checksums
@@ -0,0 +1,3 @@
+%BLAKE3
+8510f33877582eda2e8ee282ef290f3407de48d8feb6becb2f41c1f3aa3669d0 v2.8.0.tar.gz
+3a337eb8fb3d857216a65110568f09be3644a85331eb70526d4a448df0be719d libutf8proc.pc.in
diff --git a/extra/libutf8proc/files/libutf8proc.pc.in b/extra/libutf8proc/files/libutf8proc.pc.in
new file mode 100644
index 00000000..c59a78a1
--- /dev/null
+++ b/extra/libutf8proc/files/libutf8proc.pc.in
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libutf8proc
+Description: UTF8 processing
+Version: @VERSION@
+Libs: -L${libdir} -lutf8proc
+Cflags: -I${includedir} -DUTF8PROC_EXPORTS
diff --git a/extra/libutf8proc/meta b/extra/libutf8proc/meta
new file mode 100644
index 00000000..135ee8c4
--- /dev/null
+++ b/extra/libutf8proc/meta
@@ -0,0 +1,3 @@
+description: C library for processing UTF-8 encoded Unicode strings
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libutf8proc/sources b/extra/libutf8proc/sources
new file mode 100644
index 00000000..3ceca38b
--- /dev/null
+++ b/extra/libutf8proc/sources
@@ -0,0 +1,2 @@
+https://github.com/JuliaStrings/utf8proc/archive/refs/tags/v2.8.0.tar.gz
+files/libutf8proc.pc.in
diff --git a/extra/libutf8proc/version b/extra/libutf8proc/version
new file mode 100644
index 00000000..0678a364
--- /dev/null
+++ b/extra/libutf8proc/version
@@ -0,0 +1 @@
+2.8.0 1
diff --git a/extra/libuv/build b/extra/libuv/build
new file mode 100755
index 00000000..65a28cd5
--- /dev/null
+++ b/extra/libuv/build
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib
+
+cmake --build build
+cmake --install build
diff --git a/extra/libuv/checksums b/extra/libuv/checksums
new file mode 100644
index 00000000..d0251ccf
--- /dev/null
+++ b/extra/libuv/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+5b1103c6f44df233f2de0c66d0a88f88b6a1cf18522eb1a3ab2b99984efd932e libuv-v1.49.0.tar.gz
diff --git a/extra/libuv/depends b/extra/libuv/depends
new file mode 100644
index 00000000..7d91ec22
--- /dev/null
+++ b/extra/libuv/depends
@@ -0,0 +1 @@
+cmake make
diff --git a/extra/libuv/meta b/extra/libuv/meta
new file mode 100644
index 00000000..762209e2
--- /dev/null
+++ b/extra/libuv/meta
@@ -0,0 +1,3 @@
+description: Multi-platform support library with a focus on asynchronous I/O
+license: MIT, BSD-2-Clause, ISC
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libuv/sources b/extra/libuv/sources
new file mode 100644
index 00000000..54d99f85
--- /dev/null
+++ b/extra/libuv/sources
@@ -0,0 +1 @@
+https://dist.libuv.org/dist/v1.49.0/libuv-v1.49.0.tar.gz
diff --git a/extra/libuv/version b/extra/libuv/version
new file mode 100644
index 00000000..4f719e4a
--- /dev/null
+++ b/extra/libuv/version
@@ -0,0 +1 @@
+1.49.0 1
diff --git a/extra/libva-utils/checksums b/extra/libva-utils/checksums
index f95df8ba..ae61806c 100644
--- a/extra/libva-utils/checksums
+++ b/extra/libva-utils/checksums
@@ -1 +1,2 @@
-bcab647f42147aa5cf83b324b6c3fe69e392e44d34aababfafcb6c3b4310377d 2.12.0.tar.gz
+%BLAKE3
+9e73b488b6444e0f206eab32213299a65089f85a93f915a9fd59921a6787e668 2.22.0.tar.gz
diff --git a/extra/libva-utils/sources b/extra/libva-utils/sources
index b969808c..f6227961 100644
--- a/extra/libva-utils/sources
+++ b/extra/libva-utils/sources
@@ -1 +1 @@
-https://github.com/intel/libva-utils/archive/2.12.0.tar.gz
+https://github.com/intel/libva-utils/archive/2.22.0.tar.gz
diff --git a/extra/libva-utils/version b/extra/libva-utils/version
index f30894e2..c163c974 100644
--- a/extra/libva-utils/version
+++ b/extra/libva-utils/version
@@ -1 +1 @@
-2.12.0 1
+2.22.0 1
diff --git a/extra/libva/checksums b/extra/libva/checksums
index 03a43bb1..94408426 100644
--- a/extra/libva/checksums
+++ b/extra/libva/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-374b47bbd948a9d357df8b2148cc36fe1004963ddda60338db30127a4b015cb1 2.13.0.tar.gz
+9b62ba8e9b496aaf453beffd1a9e0d915da4f3d04943c44856ef4137a228e123 2.22.0.tar.gz
diff --git a/extra/libva/sources b/extra/libva/sources
index 76a8a08a..c8a5e456 100644
--- a/extra/libva/sources
+++ b/extra/libva/sources
@@ -1 +1 @@
-https://github.com/intel/libva/archive/2.13.0.tar.gz
+https://github.com/intel/libva/archive/2.22.0.tar.gz
diff --git a/extra/libva/version b/extra/libva/version
index 18a9746a..c163c974 100644
--- a/extra/libva/version
+++ b/extra/libva/version
@@ -1 +1 @@
-2.13.0 1
+2.22.0 1
diff --git a/extra/libvpx/checksums b/extra/libvpx/checksums
index b61b83bb..82e367e7 100644
--- a/extra/libvpx/checksums
+++ b/extra/libvpx/checksums
@@ -1,2 +1,3 @@
-85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a v1.10.0.tar.gz
-ce802d64bcbeb4230527aea2b4284d9844fb12fa5aca868a94e03982f85ec45b fix-busybox-diff.patch
+%BLAKE3
+b0ce781a9095db8fbe0e552664b4c14867ef607fa52ab73456a420e1269a9c43 v1.14.1.tar.gz
+083edfe3cde754ce0eebd3545ac28c64c3f5bb6ff51ff623e00ed740f9bfe984 fix-busybox-diff.patch
diff --git a/extra/libvpx/depends b/extra/libvpx/depends
index f56f4f37..6be80953 100644
--- a/extra/libvpx/depends
+++ b/extra/libvpx/depends
@@ -1,2 +1,2 @@
nasm make
-perl make
+# perl make
diff --git a/extra/libvpx/sources b/extra/libvpx/sources
index 26dad794..bd406f44 100644
--- a/extra/libvpx/sources
+++ b/extra/libvpx/sources
@@ -1,2 +1,2 @@
-https://github.com/webmproject/libvpx/archive/v1.10.0.tar.gz
+https://github.com/webmproject/libvpx/archive/v1.14.1.tar.gz
patches/fix-busybox-diff.patch
diff --git a/extra/libvpx/version b/extra/libvpx/version
index ac83b38b..045ad770 100644
--- a/extra/libvpx/version
+++ b/extra/libvpx/version
@@ -1 +1 @@
-1.10.0 1
+1.14.1 1
diff --git a/extra/libwebp/checksums b/extra/libwebp/checksums
index 62d6366f..4eba68ae 100644
--- a/extra/libwebp/checksums
+++ b/extra/libwebp/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-3e7737ef321bbfff69fe985bc370c00213aba1bda30b0cfd47053492817d661a libwebp-1.2.1.tar.gz
+f1d43e193fb3a68c469388254ed1339d0dcb0dc277cc0b3dfe93f97277e795a0 libwebp-1.4.0.tar.gz
diff --git a/extra/libwebp/depends b/extra/libwebp/depends
index 901a7cd2..609ddef0 100644
--- a/extra/libwebp/depends
+++ b/extra/libwebp/depends
@@ -1,3 +1,3 @@
-pkgconf make
-libpng
libjpeg-turbo
+libpng
+pkgconf make
diff --git a/extra/libwebp/sources b/extra/libwebp/sources
index f71b0499..045c8f18 100644
--- a/extra/libwebp/sources
+++ b/extra/libwebp/sources
@@ -1 +1 @@
-http://downloads.webmproject.org/releases/webp/libwebp-1.2.1.tar.gz
+http://downloads.webmproject.org/releases/webp/libwebp-1.4.0.tar.gz
diff --git a/extra/libwebp/version b/extra/libwebp/version
index cd3d02bc..bf41768f 100644
--- a/extra/libwebp/version
+++ b/extra/libwebp/version
@@ -1 +1 @@
-1.2.1 1
+1.4.0 1
diff --git a/extra/libwpe/build b/extra/libwpe/build
new file mode 100755
index 00000000..699f1e6b
--- /dev/null
+++ b/extra/libwpe/build
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+export CXXFLAGS="$CXXFLAGS -static-libstdc++ -static-libgcc"
+
+cl-meson \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/libwpe/checksums b/extra/libwpe/checksums
new file mode 100644
index 00000000..a1aa026a
--- /dev/null
+++ b/extra/libwpe/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+22e1668819c88b803c5de8c9a087358710dcc3d97e38eecce954812944042892 libwpe-1.16.0.tar.xz
diff --git a/extra/libwpe/depends b/extra/libwpe/depends
new file mode 100644
index 00000000..e1eb46a2
--- /dev/null
+++ b/extra/libwpe/depends
@@ -0,0 +1,2 @@
+libxkbcommon
+meson make
diff --git a/extra/libwpe/meta b/extra/libwpe/meta
new file mode 100644
index 00000000..2219a89c
--- /dev/null
+++ b/extra/libwpe/meta
@@ -0,0 +1,3 @@
+description: General-pupose library for WPE flavoured WebKit
+license: BSD-2-Clause
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libwpe/sources b/extra/libwpe/sources
new file mode 100644
index 00000000..7ebbf03c
--- /dev/null
+++ b/extra/libwpe/sources
@@ -0,0 +1 @@
+https://wpewebkit.org/releases/libwpe-1.16.0.tar.xz
diff --git a/extra/libwpe/version b/extra/libwpe/version
new file mode 100644
index 00000000..df10ebf3
--- /dev/null
+++ b/extra/libwpe/version
@@ -0,0 +1 @@
+1.16.0 1
diff --git a/extra/libxaw3d/checksums b/extra/libxaw3d/checksums
index 2011b158..b6ebab3e 100644
--- a/extra/libxaw3d/checksums
+++ b/extra/libxaw3d/checksums
@@ -1 +1,2 @@
-2dba993f04429ec3d7e99341e91bf46be265cc482df25963058c15f1901ec544 libXaw3d-1.6.3.tar.bz2
+%BLAKE3
+0216825493567d86077531c3267ca7ff326e43932cd8282851c990c90922f389 libXaw3d-1.6.5.tar.xz
diff --git a/extra/libxaw3d/sources b/extra/libxaw3d/sources
index 2223bf43..9a76e681 100644
--- a/extra/libxaw3d/sources
+++ b/extra/libxaw3d/sources
@@ -1 +1 @@
-https://www.x.org/archive/individual/lib/libXaw3d-1.6.3.tar.bz2
+https://www.x.org/archive/individual/lib/libXaw3d-1.6.5.tar.xz
diff --git a/extra/libxaw3d/version b/extra/libxaw3d/version
index 05465e05..b08dfe34 100644
--- a/extra/libxaw3d/version
+++ b/extra/libxaw3d/version
@@ -1 +1 @@
-1.6.3 1
+1.6.5 1
diff --git a/extra/libxcb/build b/extra/libxcb/build
new file mode 100755
index 00000000..7ef0193f
--- /dev/null
+++ b/extra/libxcb/build
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+clsed 's/pthread-stubs //' configure
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libxcb/checksums b/extra/libxcb/checksums
new file mode 100644
index 00000000..e0dca611
--- /dev/null
+++ b/extra/libxcb/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+3dce3b8adc257177dfec9b6b6cf55eeac13921520dd6c372fd8f9d867600337b libxcb-1.17.0.tar.xz
diff --git a/extra/libxcb/depends b/extra/libxcb/depends
new file mode 100644
index 00000000..4298110e
--- /dev/null
+++ b/extra/libxcb/depends
@@ -0,0 +1,4 @@
+libXau
+python make
+xcb-proto
+xorg-util-macros
diff --git a/extra/libxcb/meta b/extra/libxcb/meta
new file mode 100644
index 00000000..190c35e2
--- /dev/null
+++ b/extra/libxcb/meta
@@ -0,0 +1,3 @@
+description: C-language bindings for X protocol
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libxcb/sources b/extra/libxcb/sources
new file mode 100644
index 00000000..c76ee62f
--- /dev/null
+++ b/extra/libxcb/sources
@@ -0,0 +1 @@
+https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.17.0.tar.xz
diff --git a/extra/libxcb/version b/extra/libxcb/version
new file mode 100644
index 00000000..8aac6e6e
--- /dev/null
+++ b/extra/libxcb/version
@@ -0,0 +1 @@
+1.17.0 1
diff --git a/extra/libxcvt/build b/extra/libxcvt/build
new file mode 100755
index 00000000..1e5e690f
--- /dev/null
+++ b/extra/libxcvt/build
@@ -0,0 +1,14 @@
+#!/bin/sh -e
+
+# Very small library only needed by X server. We don't need shared libraries
+# for this package.
+
+clsed 's/shared_library/static_library/;/version/d' lib/meson.build
+
+export DESTDIR="$1"
+
+cl-meson \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/libxcvt/checksums b/extra/libxcvt/checksums
new file mode 100644
index 00000000..0a839807
--- /dev/null
+++ b/extra/libxcvt/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+ccbe63a8b68a581aea632da0e867b605d890847eb91b468c930ba7ded7bb7a95 libxcvt-0.1.2.tar.xz
diff --git a/extra/libxcvt/depends b/extra/libxcvt/depends
new file mode 100644
index 00000000..36f6fe6c
--- /dev/null
+++ b/extra/libxcvt/depends
@@ -0,0 +1 @@
+meson make
diff --git a/extra/libxcvt/meta b/extra/libxcvt/meta
new file mode 100644
index 00000000..f881adac
--- /dev/null
+++ b/extra/libxcvt/meta
@@ -0,0 +1,3 @@
+description: VESA CVT standard timing modelines generator
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libxcvt/sources b/extra/libxcvt/sources
new file mode 100644
index 00000000..7f5ddb51
--- /dev/null
+++ b/extra/libxcvt/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libxcvt-0.1.2.tar.xz
diff --git a/extra/libxcvt/version b/extra/libxcvt/version
new file mode 100644
index 00000000..934b25da
--- /dev/null
+++ b/extra/libxcvt/version
@@ -0,0 +1 @@
+0.1.2 1
diff --git a/extra/libxkbfile/build b/extra/libxkbfile/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libxkbfile/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libxkbfile/checksums b/extra/libxkbfile/checksums
new file mode 100644
index 00000000..6c063389
--- /dev/null
+++ b/extra/libxkbfile/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+9566ee417df1127f21dd0e1fbcfcc14dacb366c07a1ec2de51f89af12535c06d libxkbfile-1.1.3.tar.xz
diff --git a/extra/libxkbfile/depends b/extra/libxkbfile/depends
new file mode 100644
index 00000000..ac4a28ab
--- /dev/null
+++ b/extra/libxkbfile/depends
@@ -0,0 +1,2 @@
+libX11 make
+xorgproto make
diff --git a/extra/libxkbfile/meta b/extra/libxkbfile/meta
new file mode 100644
index 00000000..599d097f
--- /dev/null
+++ b/extra/libxkbfile/meta
@@ -0,0 +1,3 @@
+description: Xkbfile library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libxkbfile/sources b/extra/libxkbfile/sources
new file mode 100644
index 00000000..67b6795d
--- /dev/null
+++ b/extra/libxkbfile/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libxkbfile-1.1.3.tar.xz
diff --git a/extra/libxkbfile/version b/extra/libxkbfile/version
new file mode 100644
index 00000000..035474a2
--- /dev/null
+++ b/extra/libxkbfile/version
@@ -0,0 +1 @@
+1.1.3 1
diff --git a/extra/libxml2/checksums b/extra/libxml2/checksums
index a0c49df9..5b4e0c67 100644
--- a/extra/libxml2/checksums
+++ b/extra/libxml2/checksums
@@ -1 +1,2 @@
-c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92 libxml2-2.9.12.tar.gz
+%BLAKE3
+0e75cf5930de4b9f04873b70d281039848ff822ed930bf1b7115b5d121ea5713 libxml2-2.13.4.tar.xz
diff --git a/extra/libxml2/sources b/extra/libxml2/sources
index 16197a6e..0189dd64 100644
--- a/extra/libxml2/sources
+++ b/extra/libxml2/sources
@@ -1 +1 @@
-http://xmlsoft.org/sources/libxml2-2.9.12.tar.gz
+https://download.gnome.org/sources/libxml2/2.13/libxml2-2.13.4.tar.xz
diff --git a/extra/libxml2/version b/extra/libxml2/version
index 477e5f78..0d57e54e 100644
--- a/extra/libxml2/version
+++ b/extra/libxml2/version
@@ -1 +1 @@
-2.9.12 1
+2.13.4 1
diff --git a/extra/libxshmfence/build b/extra/libxshmfence/build
new file mode 100755
index 00000000..4a70bbd8
--- /dev/null
+++ b/extra/libxshmfence/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --with-shared-memory-dir=/dev/shm
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libxshmfence/checksums b/extra/libxshmfence/checksums
new file mode 100644
index 00000000..f617aa3c
--- /dev/null
+++ b/extra/libxshmfence/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+b3eefd5b67f263d5c83ca064f53d47148c21fb384527bf691eb2a1b879364a6b libxshmfence-1.3.2.tar.xz
diff --git a/extra/libxshmfence/depends b/extra/libxshmfence/depends
new file mode 100644
index 00000000..32e0e265
--- /dev/null
+++ b/extra/libxshmfence/depends
@@ -0,0 +1 @@
+xorgproto make
diff --git a/extra/libxshmfence/meta b/extra/libxshmfence/meta
new file mode 100644
index 00000000..2762916b
--- /dev/null
+++ b/extra/libxshmfence/meta
@@ -0,0 +1,3 @@
+description: Shared memory SyncFence library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libxshmfence/sources b/extra/libxshmfence/sources
new file mode 100644
index 00000000..11f2543b
--- /dev/null
+++ b/extra/libxshmfence/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/libxshmfence-1.3.2.tar.xz
diff --git a/extra/libxshmfence/version b/extra/libxshmfence/version
new file mode 100644
index 00000000..a8cebfe5
--- /dev/null
+++ b/extra/libxshmfence/version
@@ -0,0 +1 @@
+1.3.2 1
diff --git a/extra/libxslt/build b/extra/libxslt/build
index 6daf22f8..bae24137 100755
--- a/extra/libxslt/build
+++ b/extra/libxslt/build
@@ -1,5 +1,11 @@
#!/bin/sh -e
+cpt l -q python && {
+ pyver=$(python --version)
+ pyver=${pyver##* }
+ export am_cv_python_version="${pyver%.*}"
+}
+
./configure \
--prefix=/usr
diff --git a/extra/libxslt/checksums b/extra/libxslt/checksums
index a4e52d58..62db01fb 100644
--- a/extra/libxslt/checksums
+++ b/extra/libxslt/checksums
@@ -1 +1,2 @@
-98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f libxslt-1.1.34.tar.gz
+%BLAKE3
+d7994f65a2bcb56c17d5e61c013139098138598cecb780bf8d13ba44f8474a29 libxslt-1.1.42.tar.xz
diff --git a/extra/libxslt/sources b/extra/libxslt/sources
index a25df5f8..3e663279 100644
--- a/extra/libxslt/sources
+++ b/extra/libxslt/sources
@@ -1 +1 @@
-https://fossies.org/linux/www/libxslt-1.1.34.tar.gz
+https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.42.tar.xz
diff --git a/extra/libxslt/version b/extra/libxslt/version
index 618d8e27..4f372ac0 100644
--- a/extra/libxslt/version
+++ b/extra/libxslt/version
@@ -1 +1 @@
-1.1.34 1
+1.1.42 1
diff --git a/extra/libyaml/build b/extra/libyaml/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/libyaml/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/libyaml/checksums b/extra/libyaml/checksums
new file mode 100644
index 00000000..563c273d
--- /dev/null
+++ b/extra/libyaml/checksums
@@ -0,0 +1 @@
+c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4 yaml-0.2.5.tar.gz
diff --git a/extra/libyaml/meta b/extra/libyaml/meta
new file mode 100644
index 00000000..b02fca7d
--- /dev/null
+++ b/extra/libyaml/meta
@@ -0,0 +1,3 @@
+description: YAML parser library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/libyaml/sources b/extra/libyaml/sources
new file mode 100644
index 00000000..73b73e38
--- /dev/null
+++ b/extra/libyaml/sources
@@ -0,0 +1 @@
+https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
diff --git a/extra/libyaml/version b/extra/libyaml/version
new file mode 100644
index 00000000..2e436a0b
--- /dev/null
+++ b/extra/libyaml/version
@@ -0,0 +1 @@
+0.2.5 1
diff --git a/extra/links/build b/extra/links/build
index 51eedad9..6e2291c8 100755
--- a/extra/links/build
+++ b/extra/links/build
@@ -8,5 +8,9 @@ export LDFLAGS="$LDFLAGS -static"
--without-libevent \
--with-ssl
+# We don't need libbsd, there is no way to disable it from
+printf '#undef HAVE_LIBBSD\n' >> config.h
+clsed 's/-lbsd//' Makefile
+
make
make DESTDIR="$1" install
diff --git a/extra/links/checksums b/extra/links/checksums
index 7990ad67..cef76de2 100644
--- a/extra/links/checksums
+++ b/extra/links/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-9cdbae2fecb112b96ad8ecc02ce37581e8ce8033a075f658fff15e39cf6a756a links-2.24.tar.bz2
+aa3d076f922ed58689de981566b1665709cc4e5efb1636c863fd0401727f75bb links-2.30.tar.bz2
diff --git a/extra/links/sources b/extra/links/sources
index 591db3aa..9b15c028 100644
--- a/extra/links/sources
+++ b/extra/links/sources
@@ -1 +1 @@
-http://links.twibright.com/download/links-2.24.tar.bz2
+http://links.twibright.com/download/links-2.30.tar.bz2
diff --git a/extra/links/version b/extra/links/version
index 857af57a..fa5f2f59 100644
--- a/extra/links/version
+++ b/extra/links/version
@@ -1 +1 @@
-2.24 1
+2.30 1
diff --git a/extra/llvm/build b/extra/llvm/build
index 337ebeb3..f8b0f3b0 100755
--- a/extra/llvm/build
+++ b/extra/llvm/build
@@ -2,12 +2,13 @@
export DESTDIR="$1"
-cmake -B build \
+cmake -S llvm -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
+ -DLIBCXX_HAS_MUSL_LIBC=YES \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
- -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
+ -DLLVM_ENABLE_PROJECTS="clang;lld" \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_HOST_TRIPLE="$(cc -dumpmachine)" \
-DLLVM_BUILD_EXAMPLES=OFF \
diff --git a/extra/llvm/checksums b/extra/llvm/checksums
index 52954be8..d335a56a 100644
--- a/extra/llvm/checksums
+++ b/extra/llvm/checksums
@@ -1 +1,2 @@
-7d9a8405f557cefc5a21bf5672af73903b64749d9bc3a50322239f56f34ffddf llvm-12.0.1.src.tar.xz
+%BLAKE3
+ddd9f13b86a2bff6d6b9a9cedd0a3cffb118345b954ae3e7a988a8d80e7bb1c9 llvm-project-15.0.7.src.tar.xz
diff --git a/extra/llvm/sources b/extra/llvm/sources
index f19005d8..150b909f 100644
--- a/extra/llvm/sources
+++ b/extra/llvm/sources
@@ -1 +1 @@
-https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.1/llvm-12.0.1.src.tar.xz
+https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/llvm-project-15.0.7.src.tar.xz
diff --git a/extra/llvm/version b/extra/llvm/version
index 0ada45b8..e5547f52 100644
--- a/extra/llvm/version
+++ b/extra/llvm/version
@@ -1 +1 @@
-12.0.1 1
+15.0.7 1
diff --git a/extra/lzip/checksums b/extra/lzip/checksums
index c36bdcac..3b069208 100644
--- a/extra/lzip/checksums
+++ b/extra/lzip/checksums
@@ -1 +1,2 @@
-c3342d42e67139c165b8b128d033b5c96893a13ac5f25933190315214e87a948 lzip-1.22.tar.gz
+%BLAKE3
+3b50e7f9779cbcd3e7c236bc33b6786a0f72bce4d39dc551720f05c20c889b9e lzip-1.24.1.tar.gz
diff --git a/extra/lzip/sources b/extra/lzip/sources
index 850f6cdb..3dd02626 100644
--- a/extra/lzip/sources
+++ b/extra/lzip/sources
@@ -1 +1 @@
-https://download.savannah.gnu.org/releases/lzip/lzip-1.22.tar.gz
+https://download.savannah.gnu.org/releases/lzip/lzip-1.24.1.tar.gz
diff --git a/extra/lzip/version b/extra/lzip/version
index d8d7075c..801ac41e 100644
--- a/extra/lzip/version
+++ b/extra/lzip/version
@@ -1 +1 @@
-1.22 1
+1.24.1 1
diff --git a/extra/man-pages/build b/extra/man-pages/build
index b6b2ba42..0af3f8a2 100755
--- a/extra/man-pages/build
+++ b/extra/man-pages/build
@@ -1,3 +1,3 @@
#!/bin/sh -e
-find . -name '*.[1-8]' -exec clman -d "$1" {} +
+find man*/ -name '*.[1-8]*' -exec clman -d "$1" {} +
diff --git a/extra/man-pages/checksums b/extra/man-pages/checksums
index 467595bf..8939bb16 100644
--- a/extra/man-pages/checksums
+++ b/extra/man-pages/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-e4797eba2085c469c58d100d82a6aab134a1dda50310407ce40f0eeea07f161f man-pages-5.13.tar.xz
+8eaa901591c5c7947dfd06300655233fcf7d6f0aea2a303ed6e2b4b5d7a53f61 man-pages-6.9.1.tar.gz
diff --git a/extra/man-pages/sources b/extra/man-pages/sources
index 3f7ba675..fe1e65c4 100644
--- a/extra/man-pages/sources
+++ b/extra/man-pages/sources
@@ -1 +1 @@
-https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/man-pages-5.13.tar.xz
+https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/snapshot/man-pages-6.9.1.tar.gz
diff --git a/extra/man-pages/version b/extra/man-pages/version
index c20eb4cc..683bf447 100644
--- a/extra/man-pages/version
+++ b/extra/man-pages/version
@@ -1 +1 @@
-5.13 1
+6.9.1 1
diff --git a/extra/mercurial/checksums b/extra/mercurial/checksums
index 3ad9c288..111834b3 100644
--- a/extra/mercurial/checksums
+++ b/extra/mercurial/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-bce86fa7173573a637e49b5181c92439b1cf2eeab5aa967c857b3bcf99ac6192 mercurial-5.9.1.tar.gz
+57d71937b9eac4491a57382a72825faf52412c71ba75bdbf2f6b9f166e8ad57c mercurial-6.8.1.tar.gz
diff --git a/extra/mercurial/sources b/extra/mercurial/sources
index 056f2067..5e2da6f0 100644
--- a/extra/mercurial/sources
+++ b/extra/mercurial/sources
@@ -1 +1 @@
-https://www.mercurial-scm.org/release/mercurial-5.9.1.tar.gz
+https://www.mercurial-scm.org/release/mercurial-6.8.1.tar.gz
diff --git a/extra/mercurial/version b/extra/mercurial/version
index 44225220..b0a3ed87 100644
--- a/extra/mercurial/version
+++ b/extra/mercurial/version
@@ -1 +1 @@
-5.9.1 1
+6.8.1 1
diff --git a/extra/mesa/build b/extra/mesa/build
index 26d29fcb..64bc5128 100755
--- a/extra/mesa/build
+++ b/extra/mesa/build
@@ -1,5 +1,9 @@
#!/bin/sh -e
+# Support for vulkan drivers of intel, amd, and broadcom. Change if you just
+# want to specify your own graphics card.
+vulkan_drivers=amd,intel,broadcom
+
# Temporarily install python-mako to build mesa
(
cd mako
@@ -11,12 +15,10 @@
)
-pyver=$(python3 --version) pyver=${pyver##* }
-PYTHONPATH="$PWD/mako/dist/usr/lib/python${pyver%.*}/site-packages:$(python -c "import sys; print(':'.join(sys.path))")"
+PYTHONPATH=$(./pythonpath)
export PYTHONPATH
export DESTDIR="$1"
-export CFLAGS="-DGLX_X86_READONLY_TEXT $CFLAGS"
# Fix issues with musl and firefox.
# https://bugs.freedesktop.org/show_bug.cgi?id=35268
@@ -25,12 +27,21 @@ clsed "/pre_args += '-DUSE_ELF_TLS'/d" meson.build
python3 bin/git_sha1_gen.py --output include/git_sha1.h
-platforms=x11
-cpt l -q wayland-protocols && platforms=$platforms,wayland
-
cl-meson \
- -Dplatforms="$platforms" \
- -Dzstd=false \
+ -Dplatforms=x11,wayland \
+ -Dexpat=enabled \
+ -Ddri3=enabled \
+ -Degl=enabled \
+ -Dgbm=enabled \
+ -Dgles1=enabled \
+ -Dgles2=enabled \
+ -Dglx-read-only-text=true \
+ -Dglx=dri \
+ -Dllvm=enabled \
+ -Dshared-glapi=enabled \
+ -Dvulkan-drivers="$vulkan_drivers" \
+ -Dxmlconfig=enabled \
+ -Dzstd=disabled \
. output
ninja -C output
diff --git a/extra/mesa/checksums b/extra/mesa/checksums
index 6033709a..4f7471b8 100644
--- a/extra/mesa/checksums
+++ b/extra/mesa/checksums
@@ -1,3 +1,4 @@
%BLAKE3
-2724653e4caed8186a66e2d71b5b657c27344d8ad5d8757d32b2518bc40cca26 mesa-21.2.2.tar.gz
-6137ab643355c5770cacdc1999d0026e8a5e7437a052c31ca7170e98b9c2c3c9 Mako-1.1.1.tar.gz
+f2cc4568e62b58cbe399cf1c786c4c69d8fff198f3c532f912e89933889979a3 mesa-24.2.4.tar.xz
+d9023ad9f38b0f0d95e0d8dba698b35bbcf70194910e3f1f86c89ca81bededee Mako-1.2.4.tar.gz
+f8dd3db221098d462b08038180a5a9341f9df9e0bda97bdb072402ff865978af pythonpath
diff --git a/extra/mesa/depends b/extra/mesa/depends
index 582eef94..320e4ec3 100644
--- a/extra/mesa/depends
+++ b/extra/mesa/depends
@@ -1,17 +1,23 @@
+eudev
expat
-flex make
+flex make
+glslang make
libX11
libXdamage
libXext
libXrandr
libXrender
libXxf86vm
+libclc
libdrm
libelf
libxcb
libxshmfence
llvm
-meson make
-python make
-xorgproto
+meson make
+python make
+spirv-llvm-translator make
+wayland
+wayland-protocols make
+xorgproto make
zlib
diff --git a/extra/mesa/files/pythonpath b/extra/mesa/files/pythonpath
new file mode 100755
index 00000000..563786ed
--- /dev/null
+++ b/extra/mesa/files/pythonpath
@@ -0,0 +1,6 @@
+#!/usr/bin/python3
+import os
+import sys
+
+print("%s/mako/dist/usr/lib/python%d.%d/site-packages:%s"
+ % (os.getcwd(), sys.version_info.major, sys.version_info.minor, ':'.join(sys.path)))
diff --git a/extra/mesa/sources b/extra/mesa/sources
index f5a8da8b..4d118308 100644
--- a/extra/mesa/sources
+++ b/extra/mesa/sources
@@ -1,2 +1,3 @@
-https://github.com/mesa3d/mesa/archive/mesa-21.2.2.tar.gz
-https://files.pythonhosted.org/packages/source/M/Mako/Mako-1.1.1.tar.gz mako
+https://mesa.freedesktop.org/archive/mesa-24.2.4.tar.xz
+https://files.pythonhosted.org/packages/source/M/Mako/Mako-1.2.4.tar.gz mako
+files/pythonpath
diff --git a/extra/mesa/version b/extra/mesa/version
index 64a108ae..ec32baf5 100644
--- a/extra/mesa/version
+++ b/extra/mesa/version
@@ -1 +1 @@
-21.2.2 1
+24.2.4 1
diff --git a/extra/meson/checksums b/extra/meson/checksums
index 93209d4f..4ef2901c 100644
--- a/extra/meson/checksums
+++ b/extra/meson/checksums
@@ -1,3 +1,3 @@
%BLAKE3
-0e059fa8f293cd5ce5c5efcd330788c1a60c40f987efd2ae4ae89cc5dfd8a1ae 0.59.1.tar.gz
+47bcfddd093e51c1e2e2d33f3e0b1445636ada9dfdd6c777814b34d2373633aa 1.5.2.tar.gz
935ac488caa2a40dc03e9d88ee2e7314c0e330533b6211c9f9cb34d0ba6c81d3 cl-meson
diff --git a/extra/meson/files/cl-meson.1 b/extra/meson/files/cl-meson.1
new file mode 100644
index 00000000..bef9b5cc
--- /dev/null
+++ b/extra/meson/files/cl-meson.1
@@ -0,0 +1,10 @@
+.Dd Dec 03, 2022
+.Dt cl-meson 1
+.Sh NAME
+.Nm cl-meson
+.Nd carbs linux wrapper for meson
+.Sh SYNOPSIS
+.Nm
+.Op Ar meson options...
+.Ar sourcedir
+.Ar builddir
diff --git a/extra/meson/sources b/extra/meson/sources
index 59e407d8..75eb2892 100644
--- a/extra/meson/sources
+++ b/extra/meson/sources
@@ -1,2 +1,2 @@
-https://github.com/mesonbuild/meson/archive/0.59.1.tar.gz
+https://github.com/mesonbuild/meson/archive/1.5.2.tar.gz
files/cl-meson
diff --git a/extra/meson/version b/extra/meson/version
index 91270317..5b702ae2 100644
--- a/extra/meson/version
+++ b/extra/meson/version
@@ -1 +1 @@
-0.59.1 3
+1.5.2 1
diff --git a/extra/mold/build b/extra/mold/build
new file mode 100755
index 00000000..477dc98c
--- /dev/null
+++ b/extra/mold/build
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+# Create static library of xxhash to link locally.
+make -C xxhash
+
+export CXXFLAGS="$CXXFLAGS -I$PWD/xxhash -L$PWD/xxhash -static-libgcc -static-libstdc++"
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DMI_BUILD_SHARED=OFF \
+ -DMOLD_MOSTLY_STATIC=ON
+
+cmake --build build
+cmake --install build
+
+ln -s mold "$1/usr/bin/ld"
+
+# Create symbolic link for GCC to use mold.
+mkdir -p "$1/usr/lib/mold"
+ln -s ../../bin/mold "$1/usr/lib/mold/ld"
diff --git a/extra/mold/checksums b/extra/mold/checksums
new file mode 100644
index 00000000..bdf495e8
--- /dev/null
+++ b/extra/mold/checksums
@@ -0,0 +1,3 @@
+%BLAKE3
+1ec3a467e110affec952be7823a93de2c56700107da4179dd0ee401754914fb6 v2.1.0.tar.gz
+65ffa3883d271c3949c4d7b69d3140196c02d4b3a0338ea163fb5bdd60a6161e v0.8.1.tar.gz
diff --git a/extra/fossil/depends b/extra/mold/depends
index 3788ab13..ba0aaf32 100644
--- a/extra/fossil/depends
+++ b/extra/mold/depends
@@ -1,2 +1,3 @@
+cmake make
libressl make
zlib make
diff --git a/extra/mold/meta b/extra/mold/meta
new file mode 100644
index 00000000..1df1bcc0
--- /dev/null
+++ b/extra/mold/meta
@@ -0,0 +1,3 @@
+description: A modern linker
+license: AGPL-3.0-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/mold/sources b/extra/mold/sources
new file mode 100644
index 00000000..6dc48e33
--- /dev/null
+++ b/extra/mold/sources
@@ -0,0 +1,2 @@
+https://github.com/rui314/mold/archive/refs/tags/v2.1.0.tar.gz
+https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.1.tar.gz xxhash
diff --git a/extra/mold/version b/extra/mold/version
new file mode 100644
index 00000000..ef862396
--- /dev/null
+++ b/extra/mold/version
@@ -0,0 +1 @@
+2.1.0 1
diff --git a/extra/mpfr/checksums b/extra/mpfr/checksums
deleted file mode 100644
index fe27d868..00000000
--- a/extra/mpfr/checksums
+++ /dev/null
@@ -1 +0,0 @@
-0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f mpfr-4.1.0.tar.xz
diff --git a/extra/mpfr/depends b/extra/mpfr/depends
deleted file mode 100644
index a0a04787..00000000
--- a/extra/mpfr/depends
+++ /dev/null
@@ -1 +0,0 @@
-gmp
diff --git a/extra/mpfr/meta b/extra/mpfr/meta
deleted file mode 100644
index bdb73fa0..00000000
--- a/extra/mpfr/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: GNU MPFR library
-license: LGPL-3.0-or-later
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/mpfr/sources b/extra/mpfr/sources
deleted file mode 100644
index a68892a8..00000000
--- a/extra/mpfr/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://www.mpfr.org/mpfr-current/mpfr-4.1.0.tar.xz
diff --git a/extra/mpfr/version b/extra/mpfr/version
deleted file mode 100644
index 1bc2766f..00000000
--- a/extra/mpfr/version
+++ /dev/null
@@ -1 +0,0 @@
-4.1.0 1
diff --git a/extra/mpv/build b/extra/mpv/build
index d34cc813..84ccc384 100755
--- a/extra/mpv/build
+++ b/extra/mpv/build
@@ -1,11 +1,13 @@
#!/bin/sh -e
-python waf/waf-light configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --confdir=/etc/mpv \
- --enable-alsa \
- --disable-libarchive
+export DESTDIR="$1"
-python waf/waf-light build
-python waf/waf-light install --destdir="$1"
+cl-meson \
+ --auto-features=auto \
+ -Dalsa=enabled \
+ -Dx11=disabled \
+ -Dlibarchive=disabled \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/mpv/checksums b/extra/mpv/checksums
index c75d33db..3d6bfa76 100644
--- a/extra/mpv/checksums
+++ b/extra/mpv/checksums
@@ -1,2 +1,2 @@
-100a116b9f23bdcda3a596e9f26be3a69f166a4f1d00910d1789b6571c46f3a9 v0.33.1.tar.gz
-841648ed90b13df1dac9ef2dc704fe1fe1cba66f7f0e92ff97f8b15d8d04d967 waf-2.0.22.tar.bz2
+%BLAKE3
+12c395ac044fbe9d032fa45a0607877e2c8dbf63728fb2bef59b1d3a52ff8474 v0.36.0.tar.gz
diff --git a/extra/mpv/depends b/extra/mpv/depends
index 334650cf..0824b900 100644
--- a/extra/mpv/depends
+++ b/extra/mpv/depends
@@ -2,8 +2,5 @@ alsa-lib
ffmpeg
freetype-harfbuzz
libass
-libXScrnSaver
-libXinerama
-libXrandr
mesa
-python make
+meson make
diff --git a/extra/mpv/sources b/extra/mpv/sources
index 6b73bd52..51180b90 100644
--- a/extra/mpv/sources
+++ b/extra/mpv/sources
@@ -1,2 +1 @@
-https://github.com/mpv-player/mpv/archive/v0.33.1.tar.gz
-https://waf.io/waf-2.0.22.tar.bz2 waf
+https://github.com/mpv-player/mpv/archive/v0.36.0.tar.gz
diff --git a/extra/mpv/version b/extra/mpv/version
index 472281f6..a8833f1b 100644
--- a/extra/mpv/version
+++ b/extra/mpv/version
@@ -1 +1 @@
-0.33.1 1
+0.36.0 1
diff --git a/extra/nano/checksums b/extra/nano/checksums
index b66d9d8b..a3a7217d 100644
--- a/extra/nano/checksums
+++ b/extra/nano/checksums
@@ -1 +1,2 @@
-f47c7407d4d7b780c4a8fa20706ebf5740c0df41dc0e521a536916660bc18ec4 nano-5.8.tar.gz
+%BLAKE3
+770bd6cc1e6c632c92429d8cb267b9bacbb95211e43a991f4498929c8beb1c3d nano-8.2.tar.gz
diff --git a/extra/nano/sources b/extra/nano/sources
index 853639bd..b3511cd7 100644
--- a/extra/nano/sources
+++ b/extra/nano/sources
@@ -1 +1 @@
-https://www.nano-editor.org/dist/v5/nano-5.8.tar.gz
+https://www.nano-editor.org/dist/v8/nano-8.2.tar.gz
diff --git a/extra/nano/version b/extra/nano/version
index 720a07fa..2ca496f0 100644
--- a/extra/nano/version
+++ b/extra/nano/version
@@ -1 +1 @@
-5.8 1
+8.2 1
diff --git a/extra/nasm/checksums b/extra/nasm/checksums
index 43958468..a1a000c8 100644
--- a/extra/nasm/checksums
+++ b/extra/nasm/checksums
@@ -1 +1,2 @@
-3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f nasm-2.15.05.tar.xz
+%BLAKE3
+d3bb44f055dc56ea9fe6951487ccd32cb0df742a5ed407e587b15e0139cd6086 nasm-2.16.01.tar.xz
diff --git a/extra/nasm/sources b/extra/nasm/sources
index 8f328994..3dda33e0 100644
--- a/extra/nasm/sources
+++ b/extra/nasm/sources
@@ -1 +1 @@
-https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz
+https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.xz
diff --git a/extra/nasm/version b/extra/nasm/version
index 97b3c2d2..cdc4c5c7 100644
--- a/extra/nasm/version
+++ b/extra/nasm/version
@@ -1 +1 @@
-2.15.05 1
+2.16.01 1
diff --git a/extra/ncurses/build b/extra/ncurses/build
index dfd67820..34b35911 100755
--- a/extra/ncurses/build
+++ b/extra/ncurses/build
@@ -1,5 +1,8 @@
#!/bin/sh -e
+# Don't let foot break your ncurses compilation.
+unset TERMINFO
+
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
diff --git a/extra/ncurses/checksums b/extra/ncurses/checksums
index 3d3b37b7..c7d383e4 100644
--- a/extra/ncurses/checksums
+++ b/extra/ncurses/checksums
@@ -1 +1,2 @@
-30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d ncurses-6.2.tar.gz
+%BLAKE3
+ed80506d81b59b960497a758a2c50e65ed167dcf658c21a4bc6c66146b68be26 ncurses-6.5.tar.gz
diff --git a/extra/ncurses/sources b/extra/ncurses/sources
index e1e0d6a3..dbe8c57d 100644
--- a/extra/ncurses/sources
+++ b/extra/ncurses/sources
@@ -1 +1 @@
-https://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz
+https://invisible-mirror.net/archives/ncurses/ncurses-6.5.tar.gz
diff --git a/extra/ncurses/version b/extra/ncurses/version
index e27e6a2c..f488920e 100644
--- a/extra/ncurses/version
+++ b/extra/ncurses/version
@@ -1 +1 @@
-6.2 3
+6.5 1
diff --git a/extra/nettle/build b/extra/nettle/build
index 32a77951..977edacb 100755
--- a/extra/nettle/build
+++ b/extra/nettle/build
@@ -7,5 +7,5 @@
--enable-mini-gmp \
--disable-documentation
-make
+make M4=gm4
make DESTDIR="$1" install
diff --git a/extra/nettle/checksums b/extra/nettle/checksums
index 78a4f6ea..a38f176c 100644
--- a/extra/nettle/checksums
+++ b/extra/nettle/checksums
@@ -1 +1,2 @@
-661f5eb03f048a3b924c3a8ad2515d4068e40f67e774e8a26827658007e3bcf0 nettle-3.7.3.tar.gz
+%BLAKE3
+c2b37a2c9500b6eea1b186ccd525c7c7f82abb2039bd0ff6ba1c0232329832d0 nettle-3.10.tar.gz
diff --git a/extra/gmp/depends b/extra/nettle/depends
index e8fb4a13..e8fb4a13 100644
--- a/extra/gmp/depends
+++ b/extra/nettle/depends
diff --git a/extra/nettle/sources b/extra/nettle/sources
index 67ee87da..f8c7264c 100644
--- a/extra/nettle/sources
+++ b/extra/nettle/sources
@@ -1 +1 @@
-https://ftp.gnu.org/gnu/nettle/nettle-3.7.3.tar.gz
+https://ftp.gnu.org/gnu/nettle/nettle-3.10.tar.gz
diff --git a/extra/nettle/version b/extra/nettle/version
index 3f0b66c4..8380b266 100644
--- a/extra/nettle/version
+++ b/extra/nettle/version
@@ -1 +1 @@
-3.7.3 1
+3.10 1
diff --git a/extra/nginx/build b/extra/nginx/build
index d42fe8f6..f6a3b41d 100755
--- a/extra/nginx/build
+++ b/extra/nginx/build
@@ -1,5 +1,7 @@
#!/bin/sh -e
+export CFLAGS="$CFLAGS -static"
+
cfgdir=/etc/nginx
tmpdir=/var/tmp/nginx
diff --git a/extra/nginx/checksums b/extra/nginx/checksums
index 9bb5e10c..ac7962d0 100644
--- a/extra/nginx/checksums
+++ b/extra/nginx/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-db69fddca5fe6f47b8236b8e8946cf19303bf23bafdefd29195b137d516ff84c nginx-1.21.3.tar.gz
+98e6811fe53cc30c0e13efc95c76bd0e1379f72023bf9b88de4d350f42d5c097 nginx-1.25.2.tar.gz
diff --git a/extra/nginx/depends b/extra/nginx/depends
index 1468cb1d..a7115da8 100644
--- a/extra/nginx/depends
+++ b/extra/nginx/depends
@@ -1,3 +1,3 @@
libressl
-pcre
+pcre2
zlib
diff --git a/extra/nginx/sources b/extra/nginx/sources
index d6e0e23d..9bba778b 100644
--- a/extra/nginx/sources
+++ b/extra/nginx/sources
@@ -1 +1 @@
-https://nginx.org/download/nginx-1.21.3.tar.gz
+https://nginx.org/download/nginx-1.25.2.tar.gz
diff --git a/extra/nginx/version b/extra/nginx/version
index 5c6f6d02..a22675c2 100644
--- a/extra/nginx/version
+++ b/extra/nginx/version
@@ -1 +1 @@
-1.21.3 2
+1.25.2 1
diff --git a/extra/nodejs/build b/extra/nodejs/build
index 0ef981e1..e773f969 100755
--- a/extra/nodejs/build
+++ b/extra/nodejs/build
@@ -1,12 +1,16 @@
#!/bin/sh -e
-# shellcheck disable=3045
+# shellcheck disable=3045,2039
ulimit -n 4096 ||:
./configure \
--prefix=/usr \
- --with-intl=none \
+ --with-intl=small-icu \
+ --fully-static \
--ninja
+# Remove broken subninja that we don't require anyway.
+# clsed '/^subninja.*openssl-fipsmodule/d' out/Release/build.ninja
+
ninja -C out/Release
tools/install.py install "$1" /usr
diff --git a/extra/nodejs/checksums b/extra/nodejs/checksums
index d9b18da2..abd1414a 100644
--- a/extra/nodejs/checksums
+++ b/extra/nodejs/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-b50f99929c1d69b8d7c19a342cb7194992e689aac02af73f7494ee722c1b1078 v16.10.0.tar.gz
+85f2e67e2f6e8f290494ca8fb595d5a4fd5e9f7b0d480376e814c97da2f3f222 v20.7.0.tar.gz
diff --git a/extra/nodejs/sources b/extra/nodejs/sources
index 29a4c725..6886b973 100644
--- a/extra/nodejs/sources
+++ b/extra/nodejs/sources
@@ -1 +1 @@
-https://github.com/nodejs/node/archive/v16.10.0.tar.gz
+https://github.com/nodejs/node/archive/v20.7.0.tar.gz
diff --git a/extra/nodejs/version b/extra/nodejs/version
index 37a9bdf0..0a2edb2c 100644
--- a/extra/nodejs/version
+++ b/extra/nodejs/version
@@ -1 +1 @@
-16.10.0 1
+20.7.0 1
diff --git a/extra/npth/build b/extra/npth/build
index ffd10172..1f783bf1 100755
--- a/extra/npth/build
+++ b/extra/npth/build
@@ -4,5 +4,7 @@
--prefix=/usr \
--enable-static
+clsed 's/defined(__USE_UNIX98) || defined(__USE_XOPEN2K)/1/' src/npth.h
+
make
make DESTDIR="$1" install
diff --git a/extra/npth/checksums b/extra/npth/checksums
index 22a525bd..b2fcaec4 100644
--- a/extra/npth/checksums
+++ b/extra/npth/checksums
@@ -1 +1,2 @@
-1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 npth-1.6.tar.bz2
+%BLAKE3
+ae5f6f1d733151d6f13a813486e4e7aa4ed6c41030075e893196b5dfa6de99b6 npth-1.7.tar.bz2
diff --git a/extra/npth/sources b/extra/npth/sources
index 1ed14146..fbed2034 100644
--- a/extra/npth/sources
+++ b/extra/npth/sources
@@ -1 +1 @@
-https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2
+https://gnupg.org/ftp/gcrypt/npth/npth-1.7.tar.bz2
diff --git a/extra/npth/version b/extra/npth/version
index d1ad7a00..46b73aef 100644
--- a/extra/npth/version
+++ b/extra/npth/version
@@ -1 +1 @@
-1.6 1
+1.7 1
diff --git a/extra/ntfs-3g/checksums b/extra/ntfs-3g/checksums
index 5578c017..b1e1cffc 100644
--- a/extra/ntfs-3g/checksums
+++ b/extra/ntfs-3g/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-5e43633f2d824877038f965d7263eaaffdfd1553e3f2639af4dd9aa1c869cf9b ntfs-3g_ntfsprogs-2021.8.22.tgz
+a69476beba27067f018cc53ac3e18bf97b11c078dbe589f787b2d9546bf7fecc ntfs-3g_ntfsprogs-2022.10.3.tgz
diff --git a/extra/ntfs-3g/sources b/extra/ntfs-3g/sources
index 8762db14..2e2aaf3f 100644
--- a/extra/ntfs-3g/sources
+++ b/extra/ntfs-3g/sources
@@ -1 +1 @@
-https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2021.8.22.tgz
+https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz
diff --git a/extra/ntfs-3g/version b/extra/ntfs-3g/version
index 33dd57ba..712ea374 100644
--- a/extra/ntfs-3g/version
+++ b/extra/ntfs-3g/version
@@ -1 +1 @@
-2021.8.22 1
+2022.10.3 1
diff --git a/extra/oksh/checksums b/extra/oksh/checksums
index aaa45fa6..cd587210 100644
--- a/extra/oksh/checksums
+++ b/extra/oksh/checksums
@@ -1 +1,2 @@
-c08d97b2ac9ee5d88e9e508d27c75502b2d06c20d4c5ab87b496cb3b9951bd35 oksh-6.9.tar.gz
+%BLAKE3
+cf8ea348d0e94ff7a04e0a7b5c66e1115d06f5860faf5752900f6d28a0f1489a oksh-7.3.tar.gz
diff --git a/extra/oksh/sources b/extra/oksh/sources
index 67e2b3a1..558b3495 100644
--- a/extra/oksh/sources
+++ b/extra/oksh/sources
@@ -1 +1 @@
-https://github.com/ibara/oksh/releases/download/oksh-6.9/oksh-6.9.tar.gz
+https://github.com/ibara/oksh/releases/download/oksh-7.3/oksh-7.3.tar.gz
diff --git a/extra/oksh/version b/extra/oksh/version
index 3957d4e4..c2a5e9d5 100644
--- a/extra/oksh/version
+++ b/extra/oksh/version
@@ -1 +1 @@
-6.9 1
+7.3 1
diff --git a/extra/openjpeg2/checksums b/extra/openjpeg2/checksums
index 0c8061d1..a7af4c0b 100644
--- a/extra/openjpeg2/checksums
+++ b/extra/openjpeg2/checksums
@@ -1 +1,2 @@
-8702ba68b442657f11aaeb2b338443ca8d5fb95b0d845757968a7be31ef7f16d
+%BLAKE3
+92cf5c7c3745695dacacfa49de3ea77874b8991d2bc20663984d6591fb65b40b v2.5.2.tar.gz
diff --git a/extra/openjpeg2/depends b/extra/openjpeg2/depends
index 3b96bae5..37e954b2 100644
--- a/extra/openjpeg2/depends
+++ b/extra/openjpeg2/depends
@@ -1,5 +1,5 @@
+cmake make
+lcms2
libpng
tiff
-lcms2
-cmake make
zlib
diff --git a/extra/openjpeg2/sources b/extra/openjpeg2/sources
index 027f57e2..2f2ad39c 100644
--- a/extra/openjpeg2/sources
+++ b/extra/openjpeg2/sources
@@ -1 +1 @@
-https://github.com/uclouvain/openjpeg/archive/v2.4.0.tar.gz
+https://github.com/uclouvain/openjpeg/archive/v2.5.2.tar.gz
diff --git a/extra/openjpeg2/version b/extra/openjpeg2/version
index 36c97d93..e99804da 100644
--- a/extra/openjpeg2/version
+++ b/extra/openjpeg2/version
@@ -1 +1 @@
-2.4.0 1
+2.5.2 1
diff --git a/extra/openssh/checksums b/extra/openssh/checksums
index 06ccd6dc..f29d9264 100644
--- a/extra/openssh/checksums
+++ b/extra/openssh/checksums
@@ -1,3 +1,3 @@
%BLAKE3
-7083eadd343a5f1d6b9ff16b908b55f687ebbfe6f77dd124c85fabf88480614e openssh-8.7p1.tar.gz
+c7fc21d8f0b0b0d609dc13bc93e52c3d18dcc75ae1afc7910c269952c9178d86 openssh-9.4p1.tar.gz
8e37003f1e5bf10127ac021a79b9547e33bd042ac89102084e68dafcefe00b7d sshd.run
diff --git a/extra/openssh/sources b/extra/openssh/sources
index d8389419..a45f88ef 100644
--- a/extra/openssh/sources
+++ b/extra/openssh/sources
@@ -1,2 +1,2 @@
-https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
+https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz
files/sshd.run
diff --git a/extra/openssh/version b/extra/openssh/version
index c5be312d..640736ab 100644
--- a/extra/openssh/version
+++ b/extra/openssh/version
@@ -1 +1 @@
-8.7p1 1
+9.4p1 1
diff --git a/extra/opus/build b/extra/opus/build
index 23f46765..4ca5268b 100755
--- a/extra/opus/build
+++ b/extra/opus/build
@@ -1,9 +1,11 @@
#!/bin/sh -e
-./configure \
- --prefix=/usr \
- --enable-custom-modes \
- --enable-float-approx
+export DESTDIR="$1"
-make
-make DESTDIR="$1" install
+cl-meson \
+ -Dcustom-modes=true \
+ -Dfloat-api=true \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/opus/checksums b/extra/opus/checksums
index 77a9ad97..3a5dca81 100644
--- a/extra/opus/checksums
+++ b/extra/opus/checksums
@@ -1 +1,2 @@
-65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d opus-1.3.1.tar.gz
+%BLAKE3
+3eafe0d8609ec65d327960c062930daf324dd11de84e3b27b76db44fd0daeaac opus-1.4.tar.gz
diff --git a/extra/opus/depends b/extra/opus/depends
new file mode 100644
index 00000000..36f6fe6c
--- /dev/null
+++ b/extra/opus/depends
@@ -0,0 +1 @@
+meson make
diff --git a/extra/opus/sources b/extra/opus/sources
index d11f0722..024ea54e 100644
--- a/extra/opus/sources
+++ b/extra/opus/sources
@@ -1 +1 @@
-https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
+https://github.com/xiph/opus/releases/download/v1.4/opus-1.4.tar.gz
diff --git a/extra/opus/version b/extra/opus/version
index 957d07e2..0ab1228d 100644
--- a/extra/opus/version
+++ b/extra/opus/version
@@ -1 +1 @@
-1.3.1 1
+1.4 1
diff --git a/extra/mpfr/build b/extra/opusfile/build
index 9e85cfce..f7c248ab 100755
--- a/extra/mpfr/build
+++ b/extra/opusfile/build
@@ -2,6 +2,7 @@
./configure \
--prefix=/usr \
+ --enable-static \
--enable-shared
make
diff --git a/extra/opusfile/checksums b/extra/opusfile/checksums
new file mode 100644
index 00000000..18ace3d1
--- /dev/null
+++ b/extra/opusfile/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+1b6a5c371a0ea2ae8e37ab2e921388dfef9252dbf7f60045192dabbdd898f2bf opusfile-0.12.tar.gz
diff --git a/extra/opusfile/depends b/extra/opusfile/depends
new file mode 100644
index 00000000..1ee1b5da
--- /dev/null
+++ b/extra/opusfile/depends
@@ -0,0 +1,3 @@
+libogg
+libressl
+opus
diff --git a/extra/opusfile/meta b/extra/opusfile/meta
new file mode 100644
index 00000000..f2da37bd
--- /dev/null
+++ b/extra/opusfile/meta
@@ -0,0 +1,3 @@
+description: Library for opening, seeking, and decoding .opus files
+license: BSD-3-Clause
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/opusfile/sources b/extra/opusfile/sources
new file mode 100644
index 00000000..e3050870
--- /dev/null
+++ b/extra/opusfile/sources
@@ -0,0 +1 @@
+https://downloads.xiph.org/releases/opus/opusfile-0.12.tar.gz
diff --git a/extra/opusfile/version b/extra/opusfile/version
new file mode 100644
index 00000000..52747456
--- /dev/null
+++ b/extra/opusfile/version
@@ -0,0 +1 @@
+0.12 2
diff --git a/extra/p11-kit/checksums b/extra/p11-kit/checksums
index b165499e..b16d3650 100644
--- a/extra/p11-kit/checksums
+++ b/extra/p11-kit/checksums
@@ -1 +1,2 @@
-81e6140584f635e4e956a1b93a32239acf3811ff5b2d3a5c6094e94e99d2c685 p11-kit-0.24.0.tar.xz
+%BLAKE3
+0e961850bccfdd14d1a0b659109d244ad48e22b4d7c19d776bb538bb2af92b8b p11-kit-0.25.5.tar.xz
diff --git a/extra/p11-kit/sources b/extra/p11-kit/sources
index f27b7486..6fc82692 100644
--- a/extra/p11-kit/sources
+++ b/extra/p11-kit/sources
@@ -1 +1 @@
-https://github.com/p11-glue/p11-kit/releases/download/0.24.0/p11-kit-0.24.0.tar.xz
+https://github.com/p11-glue/p11-kit/releases/download/0.25.5/p11-kit-0.25.5.tar.xz
diff --git a/extra/p11-kit/version b/extra/p11-kit/version
index d80ee5dc..e74e7ffe 100644
--- a/extra/p11-kit/version
+++ b/extra/p11-kit/version
@@ -1 +1 @@
-0.24.0 2
+0.25.5 1
diff --git a/extra/pango/build b/extra/pango/build
index 3af594b8..43923ce0 100755
--- a/extra/pango/build
+++ b/extra/pango/build
@@ -7,7 +7,6 @@ cl-meson \
-Dfreetype=enabled \
-Dcairo=enabled \
-Dxft=enabled \
- -Dgir=true \
-Dgtk_doc=false \
-Dintrospection=enabled \
. build
diff --git a/extra/pango/checksums b/extra/pango/checksums
index 92aae540..667971b5 100644
--- a/extra/pango/checksums
+++ b/extra/pango/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-f5a4d76bb4d71c3207748f376efecffe2e4afefdc2736398ad12664a860b5d6e pango-1.48.10.tar.xz
+1d025a3d857cbfcb1eb93244e1b9a6bd76b120c260096a4ec3554333e4fbef1a pango-1.54.0.tar.xz
diff --git a/extra/pango/sources b/extra/pango/sources
index 6397732f..8b41b00d 100644
--- a/extra/pango/sources
+++ b/extra/pango/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/pango/1.48/pango-1.48.10.tar.xz
+https://download.gnome.org/sources/pango/1.54/pango-1.54.0.tar.xz
diff --git a/extra/pango/version b/extra/pango/version
index 726c79d7..67971158 100644
--- a/extra/pango/version
+++ b/extra/pango/version
@@ -1 +1 @@
-1.48.10 1
+1.54.0 1
diff --git a/extra/pciutils/checksums b/extra/pciutils/checksums
index 5b07a7d0..f3c4a522 100644
--- a/extra/pciutils/checksums
+++ b/extra/pciutils/checksums
@@ -1 +1,3 @@
-2432e7a2e12000502d36cf769ab6e5a0cf4931e5050ccaf8b02984b2d3cb0948 pciutils-3.7.0.tar.gz
+%BLAKE3
+185d968fae4b303e9e165d556ae5a2091d6ffb896e57423faa4a0f45ca9d14ef v3.10.0.tar.gz
+185d968fae4b303e9e165d556ae5a2091d6ffb896e57423faa4a0f45ca9d14ef v3.10.0.tar.gz
diff --git a/extra/pciutils/sources b/extra/pciutils/sources
index d098e756..4d2f3306 100644
--- a/extra/pciutils/sources
+++ b/extra/pciutils/sources
@@ -1,2 +1,2 @@
-https://www.kernel.org/pub/software/utils/pciutils/pciutils-3.7.0.tar.gz yes
-https://www.kernel.org/pub/software/utils/pciutils/pciutils-3.7.0.tar.gz no
+https://github.com/pciutils/pciutils/archive/refs/tags/v3.10.0.tar.gz yes
+https://github.com/pciutils/pciutils/archive/refs/tags/v3.10.0.tar.gz no
diff --git a/extra/pciutils/version b/extra/pciutils/version
index 68796f59..7951492a 100644
--- a/extra/pciutils/version
+++ b/extra/pciutils/version
@@ -1 +1 @@
-3.7.0 1
+3.10.0 1
diff --git a/extra/pcre/checksums b/extra/pcre/checksums
deleted file mode 100644
index 8c85820f..00000000
--- a/extra/pcre/checksums
+++ /dev/null
@@ -1 +0,0 @@
-4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09 pcre-8.45.tar.gz
diff --git a/extra/pcre/sources b/extra/pcre/sources
deleted file mode 100644
index 352447f2..00000000
--- a/extra/pcre/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://ftp.pcre.org/pub/pcre/pcre-8.45.tar.gz
diff --git a/extra/pcre/version b/extra/pcre/version
deleted file mode 100644
index d300bfb9..00000000
--- a/extra/pcre/version
+++ /dev/null
@@ -1 +0,0 @@
-8.45 1
diff --git a/extra/libmpc/build b/extra/pcre2/build
index 6804298f..8ee17340 100755
--- a/extra/libmpc/build
+++ b/extra/pcre2/build
@@ -3,9 +3,10 @@
./configure \
--prefix=/usr \
--enable-static \
- --enable-shared
+ --enable-jit
make
make DESTDIR="$1" install
-mv "$1/usr/share/info/mpc.info" "$1/usr/share/info/libmpc.info"
+# Remove html docs
+rm -r "$1/usr/share/doc"
diff --git a/extra/pcre2/checksums b/extra/pcre2/checksums
new file mode 100644
index 00000000..e2de9a4c
--- /dev/null
+++ b/extra/pcre2/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+1e4a9560c8ea165725e920962467e14b3a627a08c29267bb79470f521527e14a pcre2-10.42.tar.bz2
diff --git a/extra/pcre2/meta b/extra/pcre2/meta
new file mode 100644
index 00000000..8e795df6
--- /dev/null
+++ b/extra/pcre2/meta
@@ -0,0 +1,3 @@
+description: Perl Compatible Regular Expressions (2nd version)
+license: BSD-3-Clause
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/pcre2/sources b/extra/pcre2/sources
new file mode 100644
index 00000000..dd1e7643
--- /dev/null
+++ b/extra/pcre2/sources
@@ -0,0 +1 @@
+https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2
diff --git a/extra/pcre2/version b/extra/pcre2/version
new file mode 100644
index 00000000..32642a1f
--- /dev/null
+++ b/extra/pcre2/version
@@ -0,0 +1 @@
+10.42 1
diff --git a/extra/perl/build b/extra/perl/build
index 75b09a56..09750fc4 100755
--- a/extra/perl/build
+++ b/extra/perl/build
@@ -24,7 +24,7 @@ export CFLAGS="$CFLAGS -DNO_POSIX_2008_LOCALE -D_GNU_SOURCE"
-Dar="${AR:-ar}" \
-Dnm="${NM:-nm}" \
-Dranlib="${RANLIB:-ranlib}" \
- -Dperl_static_inline="static __inline__" \
+ -Dperl_static_inline="static __inline__" \
-Dd_static_inline
make
@@ -42,3 +42,7 @@ find "$1" \( \
# Fix permissions.
find "$1/usr/lib" -type f -exec chmod 644 {} \;
+
+# This is the first time ever that I'm removing the manual pages from a package,
+# but perl install hundreds of manual pages and they are over 20MBs total.
+rm -rf "$1/usr/share/man"
diff --git a/extra/perl/checksums b/extra/perl/checksums
index ff0b336c..096a26d5 100644
--- a/extra/perl/checksums
+++ b/extra/perl/checksums
@@ -1 +1,2 @@
-ce4ac9ce7ea5206a507651f7018655651603b99d5bd51645e9e4ea83dfbf0e36 v5.34.0.tar.gz
+%BLAKE3
+f2bdae4dbcc64d6de988c56fbb149146c16acb59d4336cf322927cab7b8e2fa8 v5.38.2.tar.gz
diff --git a/extra/perl/sources b/extra/perl/sources
index cf29fcbc..b4be51ae 100644
--- a/extra/perl/sources
+++ b/extra/perl/sources
@@ -1 +1 @@
-https://github.com/Perl/perl5/archive/v5.34.0.tar.gz
+https://github.com/Perl/perl5/archive/v5.38.2.tar.gz
diff --git a/extra/perl/version b/extra/perl/version
index 23cfb126..fcbc96c2 100644
--- a/extra/perl/version
+++ b/extra/perl/version
@@ -1 +1 @@
-5.34.0 1
+5.38.2 1
diff --git a/extra/pinentry-dmenu/build b/extra/pinentry-dmenu/build
deleted file mode 100755
index 431cc725..00000000
--- a/extra/pinentry-dmenu/build
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh -e
-
-make
-make DESTDIR="$1" PREFIX=/usr install
diff --git a/extra/pinentry-dmenu/checksums b/extra/pinentry-dmenu/checksums
deleted file mode 100644
index f6727d35..00000000
--- a/extra/pinentry-dmenu/checksums
+++ /dev/null
@@ -1 +0,0 @@
-a3ad1a1adbd42f74e60bf0792dddf0605706322040394aaa9bb0fab5ec54cb73 pinentry-dmenu-0.1.1.tar.gz
diff --git a/extra/pinentry-dmenu/depends b/extra/pinentry-dmenu/depends
deleted file mode 120000
index 11df41b0..00000000
--- a/extra/pinentry-dmenu/depends
+++ /dev/null
@@ -1 +0,0 @@
-../dmenu/depends \ No newline at end of file
diff --git a/extra/pinentry-dmenu/sources b/extra/pinentry-dmenu/sources
deleted file mode 100644
index a9b5064c..00000000
--- a/extra/pinentry-dmenu/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://git.ckyln.com/archives/pinentry-dmenu/pinentry-dmenu-0.1.1.tar.gz
diff --git a/extra/pinentry-dmenu/version b/extra/pinentry-dmenu/version
deleted file mode 100644
index 57aa7884..00000000
--- a/extra/pinentry-dmenu/version
+++ /dev/null
@@ -1 +0,0 @@
-0.1.1 1
diff --git a/extra/pinentry/checksums b/extra/pinentry/checksums
index 7bd90236..3e072ab5 100644
--- a/extra/pinentry/checksums
+++ b/extra/pinentry/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-5737eaf61b151b44dde3533dec9b6efd29d8cc0de2c3fed749ffd1d7ae3164e8 pinentry-1.2.0.tar.bz2
+7b6f8a98364549ffc6559be6e32ba5bf757825ac5af8f32716d27fa6ffa9b836 pinentry-1.3.1.tar.bz2
diff --git a/extra/pinentry/depends b/extra/pinentry/depends
index 6a470ffa..7cc0f11e 100644
--- a/extra/pinentry/depends
+++ b/extra/pinentry/depends
@@ -1 +1,3 @@
+libassuan
+libgpg-error
ncurses
diff --git a/extra/pinentry/sources b/extra/pinentry/sources
index ccabafb6..f571942e 100644
--- a/extra/pinentry/sources
+++ b/extra/pinentry/sources
@@ -1 +1 @@
-https://gnupg.org/ftp/gcrypt/pinentry/pinentry-1.2.0.tar.bz2
+https://gnupg.org/ftp/gcrypt/pinentry/pinentry-1.3.1.tar.bz2
diff --git a/extra/pinentry/version b/extra/pinentry/version
index 8b9a47f0..957d07e2 100644
--- a/extra/pinentry/version
+++ b/extra/pinentry/version
@@ -1 +1 @@
-1.2.0 1
+1.3.1 1
diff --git a/extra/pixman/build b/extra/pixman/build
new file mode 100755
index 00000000..21a489bb
--- /dev/null
+++ b/extra/pixman/build
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cl-meson \
+ -Ddefault_library=both \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/pixman/checksums b/extra/pixman/checksums
new file mode 100644
index 00000000..99d358a7
--- /dev/null
+++ b/extra/pixman/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+de50d2f9937106d47d95e915aa8ef54a0af34e0d6b804095452c755e43b0aa34 pixman-0.43.4.tar.xz
diff --git a/extra/pixman/depends b/extra/pixman/depends
new file mode 100644
index 00000000..36f6fe6c
--- /dev/null
+++ b/extra/pixman/depends
@@ -0,0 +1 @@
+meson make
diff --git a/extra/pixman/meta b/extra/pixman/meta
new file mode 100644
index 00000000..c6b1d5f3
--- /dev/null
+++ b/extra/pixman/meta
@@ -0,0 +1,3 @@
+description: Low-level pixel manipulation library
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/pixman/sources b/extra/pixman/sources
new file mode 100644
index 00000000..3cacd7c0
--- /dev/null
+++ b/extra/pixman/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/pixman-0.43.4.tar.xz
diff --git a/extra/pixman/version b/extra/pixman/version
new file mode 100644
index 00000000..a44f9143
--- /dev/null
+++ b/extra/pixman/version
@@ -0,0 +1 @@
+0.43.4 1
diff --git a/extra/poppler/build b/extra/poppler/build
index e6f4d55b..9678867d 100755
--- a/extra/poppler/build
+++ b/extra/poppler/build
@@ -7,6 +7,7 @@ cmake -B build \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DENABLE_CPP=ON \
-DENABLE_QT5=OFF \
+ -DENABLE_BOOST=OFF \
-DWITH_NSS3=OFF
cmake --build build
diff --git a/extra/poppler/checksums b/extra/poppler/checksums
index 3aaf2fed..1940c4ed 100644
--- a/extra/poppler/checksums
+++ b/extra/poppler/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-436d0324866145603f6e4dc9d97d229631e55535a351d0966b135a5698039e63 poppler-21.09.0.tar.xz
+2e845e49642e96395f63db9209bcbee44540f1f5e3498a568faec7ca377aa78d poppler-23.09.0.tar.xz
diff --git a/extra/poppler/sources b/extra/poppler/sources
index 00cd8d93..50fb43c8 100644
--- a/extra/poppler/sources
+++ b/extra/poppler/sources
@@ -1 +1 @@
-https://poppler.freedesktop.org/poppler-21.09.0.tar.xz
+https://poppler.freedesktop.org/poppler-23.09.0.tar.xz
diff --git a/extra/poppler/version b/extra/poppler/version
index bb00875a..4fd9ce35 100644
--- a/extra/poppler/version
+++ b/extra/poppler/version
@@ -1 +1 @@
-21.09.0 1
+23.09.0 1
diff --git a/extra/procps-ng/build b/extra/procps-ng/build
index 835f1e50..06737c15 100755
--- a/extra/procps-ng/build
+++ b/extra/procps-ng/build
@@ -5,10 +5,10 @@
--sbindir=/usr/bin
# Fix includes for w.c
-clsed 's|HAVE_UTMPX_H|DONT_HAVE_IT_THANK_YOU_VERY_MUCH|g' w.c
+clsed 's|HAVE_UTMPX_H|DONT_HAVE_IT_THANK_YOU_VERY_MUCH|g' src/w.c
# Fix includes for proc/escape.c
-clsed '/\#endif/a #include <langinfo.h>' proc/escape.c
+clsed '/\#endif/a #include <langinfo.h>' library/escape.c
make CCLD="${CC:-cc} -all-static"
make DESTDIR="$1" install
diff --git a/extra/procps-ng/checksums b/extra/procps-ng/checksums
index 50d205f9..dbdbf84b 100644
--- a/extra/procps-ng/checksums
+++ b/extra/procps-ng/checksums
@@ -1 +1,2 @@
-4518b3e7aafd34ec07d0063d250fd474999b20b200218c3ae56f5d2113f141b4 procps-ng-3.3.17.tar.xz
+%BLAKE3
+ad5f30a96a55a8d65cb00ec65ca5735bf2acf2f16413bee37b179f21971470f2 procps-ng-4.0.4.tar.xz
diff --git a/extra/procps-ng/sources b/extra/procps-ng/sources
index 7af0ea7c..5438ca65 100644
--- a/extra/procps-ng/sources
+++ b/extra/procps-ng/sources
@@ -1 +1 @@
-https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-3.3.17.tar.xz
+https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.4.tar.xz
diff --git a/extra/procps-ng/version b/extra/procps-ng/version
index 18737f8b..325d0946 100644
--- a/extra/procps-ng/version
+++ b/extra/procps-ng/version
@@ -1 +1 @@
-3.3.17 1
+4.0.4 1
diff --git a/extra/prout/build b/extra/prout/build
deleted file mode 100755
index 2b6bbb70..00000000
--- a/extra/prout/build
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-
-# Makefile has some issues so we are
-# building manually.
-
-# We want wordsplitting here
-# shellcheck disable=2086
-${CC:-cc} -lcups ${CFLAGS} ${LDFLAGS} prout.c -o prout
-
-install -Dm755 prout "$1/usr/bin/prout"
-install -Dm644 prout.1 "$1/usr/share/man/man1/prout.1"
diff --git a/extra/prout/checksums b/extra/prout/checksums
deleted file mode 100644
index 44f3701d..00000000
--- a/extra/prout/checksums
+++ /dev/null
@@ -1 +0,0 @@
-git git+git://git.2f30.org/prout.git
diff --git a/extra/prout/depends b/extra/prout/depends
deleted file mode 100644
index e14d6320..00000000
--- a/extra/prout/depends
+++ /dev/null
@@ -1 +0,0 @@
-libcups
diff --git a/extra/prout/meta b/extra/prout/meta
deleted file mode 100644
index 20ffedc6..00000000
--- a/extra/prout/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: Smaller "lp" command
-license: WTFPL
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/prout/sources b/extra/prout/sources
deleted file mode 100644
index 0fd296e4..00000000
--- a/extra/prout/sources
+++ /dev/null
@@ -1 +0,0 @@
-git+git://git.2f30.org/prout.git
diff --git a/extra/prout/version b/extra/prout/version
deleted file mode 100644
index a383ea1a..00000000
--- a/extra/prout/version
+++ /dev/null
@@ -1 +0,0 @@
-git 1
diff --git a/extra/python/build b/extra/python/build
index ba2b93bf..fd13febb 100755
--- a/extra/python/build
+++ b/extra/python/build
@@ -1,6 +1,8 @@
#!/bin/sh -e
-patch -p1 < python3-always-pip.patch
+for patch in *.patch; do
+ patch -p1 < "$patch"
+done
./configure \
--prefix=/usr \
@@ -8,6 +10,7 @@ patch -p1 < python3-always-pip.patch
--enable-static \
--with-system-expat \
--with-system-ffi \
+ --with-ssl-default-suites='TLSv1.3:TLSv1.2+AEAD+ECDHE:TLSv1.2+AEAD+DHE' \
--with-ensurepip=yes
make
diff --git a/extra/python/checksums b/extra/python/checksums
index b1993db6..25ad57b3 100644
--- a/extra/python/checksums
+++ b/extra/python/checksums
@@ -1,3 +1,4 @@
%BLAKE3
-435c8a7d3096833a87e7391022933e114a2c5b464b43830fd3899c2936d1941e Python-3.9.7.tar.xz
-0d586436f7bd8982bb64bba513c754a2fbd8c1eb82df113e8cd30fca62d066c9 python3-always-pip.patch
+6b8e76b8d649e188539ea36c72bb4322b868ae534bc8b7c48352827bb75ba3e6 Python-3.11.5.tar.xz
+3d764f2f6c4d40261a96617a6fa23456a7db841a919ed2589d15746b7ef26314 python3-always-pip.patch
+297f33579bcdbc530a1cd18040906d2ae26eef3c18e81d2cc0b557549a188242 libressl-support.patch
diff --git a/extra/python/depends b/extra/python/depends
index b95b8a0d..7c374cb7 100644
--- a/extra/python/depends
+++ b/extra/python/depends
@@ -1,6 +1,6 @@
bzip2
expat
-libffi make
-libressl make
+libffi make
+libressl
sqlite
zlib
diff --git a/extra/python/patches/libressl-support.patch b/extra/python/patches/libressl-support.patch
new file mode 100644
index 00000000..0a7461aa
--- /dev/null
+++ b/extra/python/patches/libressl-support.patch
@@ -0,0 +1,387 @@
+diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
+index cb8460ab2f..2c245262f3 100644
+--- a/Modules/_hashopenssl.c
++++ b/Modules/_hashopenssl.c
+@@ -45,10 +45,12 @@
+
+ #define MUNCH_SIZE INT_MAX
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ #define PY_OPENSSL_HAS_SCRYPT 1
+ #define PY_OPENSSL_HAS_SHA3 1
+ #define PY_OPENSSL_HAS_SHAKE 1
+ #define PY_OPENSSL_HAS_BLAKE2 1
++#endif
+
+ #if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ #define PY_EVP_MD EVP_MD
+@@ -1884,6 +1886,7 @@ hashlib_md_meth_names(PyObject *module)
+ return 0;
+ }
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ /*[clinic input]
+ _hashlib.get_fips_mode -> int
+
+@@ -1921,6 +1924,7 @@ _hashlib_get_fips_mode_impl(PyObject *module)
+ return result;
+ #endif
+ }
++#endif
+
+
+ static int
+diff --git a/Modules/_ssl.c b/Modules/_ssl.c
+index 6c63301b2a..d8a70d5511 100644
+--- a/Modules/_ssl.c
++++ b/Modules/_ssl.c
+@@ -291,8 +291,10 @@ typedef struct {
+ int post_handshake_auth;
+ #endif
+ PyObject *msg_cb;
++#ifndef LIBRESSL_VERSION_NUMBER
+ PyObject *keylog_filename;
+ BIO *keylog_bio;
++#endif
+ /* Cached module state, also used in SSLSocket and SSLSession code. */
+ _sslmodulestate *state;
+ } PySSLContext;
+@@ -1829,6 +1831,7 @@ _ssl__SSLSocket_getpeercert_impl(PySSLSocket *self, int binary_mode)
+ return result;
+ }
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ /*[clinic input]
+ _ssl._SSLSocket.get_verified_chain
+
+@@ -1892,6 +1895,7 @@ _ssl__SSLSocket_get_unverified_chain_impl(PySSLSocket *self)
+ }
+ return retval;
+ }
++#endif
+
+ static PyObject *
+ cipher_to_tuple(const SSL_CIPHER *cipher)
+@@ -2298,8 +2302,7 @@ static PyObject *
+ _ssl__SSLSocket_write_impl(PySSLSocket *self, Py_buffer *b)
+ /*[clinic end generated code: output=aa7a6be5527358d8 input=77262d994fe5100a]*/
+ {
+- size_t count = 0;
+- int retval;
++ int len;
+ int sockstate;
+ _PySSLError err;
+ int nonblocking;
+@@ -2317,6 +2320,12 @@ _ssl__SSLSocket_write_impl(PySSLSocket *self, Py_buffer *b)
+ Py_INCREF(sock);
+ }
+
++ if (b->len > INT_MAX) {
++ PyErr_Format(PyExc_OverflowError,
++ "string longer than %d bytes", INT_MAX);
++ goto error;
++ }
++
+ if (sock != NULL) {
+ /* just in case the blocking state of the socket has been changed */
+ nonblocking = (sock->sock_timeout >= 0);
+@@ -2346,8 +2355,8 @@ _ssl__SSLSocket_write_impl(PySSLSocket *self, Py_buffer *b)
+
+ do {
+ PySSL_BEGIN_ALLOW_THREADS
+- retval = SSL_write_ex(self->ssl, b->buf, (size_t)b->len, &count);
+- err = _PySSL_errno(retval == 0, self->ssl, retval);
++ len = SSL_write(self->ssl, b->buf, (int)b->len);
++ err = _PySSL_errno(len <= 0, self->ssl, len);
+ PySSL_END_ALLOW_THREADS
+ self->err = err;
+
+@@ -2380,11 +2389,11 @@ _ssl__SSLSocket_write_impl(PySSLSocket *self, Py_buffer *b)
+ err.ssl == SSL_ERROR_WANT_WRITE);
+
+ Py_XDECREF(sock);
+- if (retval == 0)
+- return PySSL_SetError(self, retval, __FILE__, __LINE__);
++ if (len <= 0)
++ return PySSL_SetError(self, len, __FILE__, __LINE__);
+ if (PySSL_ChainExceptions(self) < 0)
+ return NULL;
+- return PyLong_FromSize_t(count);
++ return PyLong_FromLong(len);
+ error:
+ Py_XDECREF(sock);
+ PySSL_ChainExceptions(self);
+@@ -2418,7 +2427,7 @@ _ssl__SSLSocket_pending_impl(PySSLSocket *self)
+
+ /*[clinic input]
+ _ssl._SSLSocket.read
+- size as len: Py_ssize_t
++ size as len: int
+ [
+ buffer: Py_buffer(accept={rwbuffer})
+ ]
+@@ -2428,14 +2437,13 @@ Read up to size bytes from the SSL socket.
+ [clinic start generated code]*/
+
+ static PyObject *
+-_ssl__SSLSocket_read_impl(PySSLSocket *self, Py_ssize_t len,
+- int group_right_1, Py_buffer *buffer)
+-/*[clinic end generated code: output=49b16e6406023734 input=ec48bf622be1c4a1]*/
++_ssl__SSLSocket_read_impl(PySSLSocket *self, int len, int group_right_1,
++ Py_buffer *buffer)
++/*[clinic end generated code: output=00097776cec2a0af input=ff157eb918d0905b]*/
+ {
+ PyObject *dest = NULL;
+ char *mem;
+- size_t count = 0;
+- int retval;
++ int count;
+ int sockstate;
+ _PySSLError err;
+ int nonblocking;
+@@ -2498,8 +2506,8 @@ _ssl__SSLSocket_read_impl(PySSLSocket *self, Py_ssize_t len,
+
+ do {
+ PySSL_BEGIN_ALLOW_THREADS
+- retval = SSL_read_ex(self->ssl, mem, (size_t)len, &count);
+- err = _PySSL_errno(retval == 0, self->ssl, retval);
++ count = SSL_read(self->ssl, mem, len);
++ err = _PySSL_errno(count <= 0, self->ssl, count);
+ PySSL_END_ALLOW_THREADS
+ self->err = err;
+
+@@ -2532,8 +2540,8 @@ _ssl__SSLSocket_read_impl(PySSLSocket *self, Py_ssize_t len,
+ } while (err.ssl == SSL_ERROR_WANT_READ ||
+ err.ssl == SSL_ERROR_WANT_WRITE);
+
+- if (retval == 0) {
+- PySSL_SetError(self, retval, __FILE__, __LINE__);
++ if (count <= 0) {
++ PySSL_SetError(self, count, __FILE__, __LINE__);
+ goto error;
+ }
+ if (self->exc_type != NULL)
+@@ -2546,7 +2554,7 @@ _ssl__SSLSocket_read_impl(PySSLSocket *self, Py_ssize_t len,
+ return dest;
+ }
+ else {
+- return PyLong_FromSize_t(count);
++ return PyLong_FromLong(count);
+ }
+
+ error:
+@@ -3062,8 +3070,10 @@ _ssl__SSLContext_impl(PyTypeObject *type, int proto_version)
+ self->hostflags = X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS;
+ self->protocol = proto_version;
+ self->msg_cb = NULL;
++#ifndef LIBRESSL_VERSION_NUMBER
+ self->keylog_filename = NULL;
+ self->keylog_bio = NULL;
++#endif
+ self->alpn_protocols = NULL;
+ self->set_sni_cb = NULL;
+ self->state = get_ssl_state(module);
+@@ -3187,6 +3197,7 @@ context_clear(PySSLContext *self)
+ {
+ Py_CLEAR(self->set_sni_cb);
+ Py_CLEAR(self->msg_cb);
++#ifndef LIBRESSL_VERSION_NUMBER
+ Py_CLEAR(self->keylog_filename);
+ if (self->keylog_bio != NULL) {
+ PySSL_BEGIN_ALLOW_THREADS
+@@ -3194,6 +3205,7 @@ context_clear(PySSLContext *self)
+ PySSL_END_ALLOW_THREADS
+ self->keylog_bio = NULL;
+ }
++#endif
+ return 0;
+ }
+
+@@ -3535,7 +3547,7 @@ set_maximum_version(PySSLContext *self, PyObject *arg, void *c)
+ return set_min_max_proto_version(self, arg, 1);
+ }
+
+-#ifdef TLS1_3_VERSION
++#if defined(TLS1_3_VERSION) && !defined(LIBRESSL_VERSION_NUMBER)
+ static PyObject *
+ get_num_tickets(PySSLContext *self, void *c)
+ {
+@@ -3568,12 +3580,14 @@ PyDoc_STRVAR(PySSLContext_num_tickets_doc,
+ "Control the number of TLSv1.3 session tickets");
+ #endif /* TLS1_3_VERSION */
+
++#ifndef LIBRESSL_VERSION_NUMBER
+ static PyObject *
+ get_security_level(PySSLContext *self, void *c)
+ {
+ return PyLong_FromLong(SSL_CTX_get_security_level(self->ctx));
+ }
+ PyDoc_STRVAR(PySSLContext_security_level_doc, "The current security level");
++#endif
+
+ static PyObject *
+ get_options(PySSLContext *self, void *c)
+@@ -4603,13 +4617,15 @@ static PyGetSetDef context_getsetlist[] = {
+ (setter) set_minimum_version, NULL},
+ {"maximum_version", (getter) get_maximum_version,
+ (setter) set_maximum_version, NULL},
++#ifndef LIBRESSL_VERSION_NUMBER
+ {"keylog_filename", (getter) _PySSLContext_get_keylog_filename,
+ (setter) _PySSLContext_set_keylog_filename, NULL},
++#endif
+ {"_msg_callback", (getter) _PySSLContext_get_msg_callback,
+ (setter) _PySSLContext_set_msg_callback, NULL},
+ {"sni_callback", (getter) get_sni_callback,
+ (setter) set_sni_callback, PySSLContext_sni_callback_doc},
+-#ifdef TLS1_3_VERSION
++#if defined(TLS1_3_VERSION) && !defined(LIBRESSL_VERSION_NUMBER)
+ {"num_tickets", (getter) get_num_tickets,
+ (setter) set_num_tickets, PySSLContext_num_tickets_doc},
+ #endif
+@@ -4628,8 +4644,10 @@ static PyGetSetDef context_getsetlist[] = {
+ (setter) set_verify_flags, NULL},
+ {"verify_mode", (getter) get_verify_mode,
+ (setter) set_verify_mode, NULL},
++#ifndef LIBRESSL_VERSION_NUMBER
+ {"security_level", (getter) get_security_level,
+ NULL, PySSLContext_security_level_doc},
++#endif
+ {NULL}, /* sentinel */
+ };
+
+diff --git a/Modules/_ssl/debughelpers.c b/Modules/_ssl/debughelpers.c
+index 03c125eb44..d992c5bc02 100644
+--- a/Modules/_ssl/debughelpers.c
++++ b/Modules/_ssl/debughelpers.c
+@@ -114,6 +114,8 @@ _PySSLContext_set_msg_callback(PySSLContext *self, PyObject *arg, void *c) {
+ return 0;
+ }
+
++#ifndef LIBRESSL_VERSION_NUMBER
++
+ static void
+ _PySSL_keylog_callback(const SSL *ssl, const char *line)
+ {
+@@ -217,3 +219,5 @@ _PySSLContext_set_keylog_filename(PySSLContext *self, PyObject *arg, void *c) {
+ SSL_CTX_set_keylog_callback(self->ctx, _PySSL_keylog_callback);
+ return 0;
+ }
++
++#endif
+diff --git a/Modules/clinic/_hashopenssl.c.h b/Modules/clinic/_hashopenssl.c.h
+index de01489e6a..c686eddea8 100644
+--- a/Modules/clinic/_hashopenssl.c.h
++++ b/Modules/clinic/_hashopenssl.c.h
+@@ -1275,6 +1275,8 @@ _hashlib_HMAC_hexdigest(HMACobject *self, PyObject *Py_UNUSED(ignored))
+ return _hashlib_HMAC_hexdigest_impl(self);
+ }
+
++#if !defined(LIBRESSL_VERSION_NUMBER)
++
+ PyDoc_STRVAR(_hashlib_get_fips_mode__doc__,
+ "get_fips_mode($module, /)\n"
+ "--\n"
+@@ -1310,6 +1312,8 @@ _hashlib_get_fips_mode(PyObject *module, PyObject *Py_UNUSED(ignored))
+ return return_value;
+ }
+
++#endif /* !defined(LIBRESSL_VERSION_NUMBER) */
++
+ PyDoc_STRVAR(_hashlib_compare_digest__doc__,
+ "compare_digest($module, a, b, /)\n"
+ "--\n"
+@@ -1385,4 +1389,8 @@ _hashlib_compare_digest(PyObject *module, PyObject *const *args, Py_ssize_t narg
+ #ifndef _HASHLIB_SCRYPT_METHODDEF
+ #define _HASHLIB_SCRYPT_METHODDEF
+ #endif /* !defined(_HASHLIB_SCRYPT_METHODDEF) */
+-/*[clinic end generated code: output=162369cb9d43f1cc input=a9049054013a1b77]*/
++
++#ifndef _HASHLIB_GET_FIPS_MODE_METHODDEF
++ #define _HASHLIB_GET_FIPS_MODE_METHODDEF
++#endif /* !defined(_HASHLIB_GET_FIPS_MODE_METHODDEF) */
++/*[clinic end generated code: output=a110f274fb33395d input=a9049054013a1b77]*/
+diff --git a/Modules/clinic/_ssl.c.h b/Modules/clinic/_ssl.c.h
+index b59b129af8..f6bcd09e03 100644
+--- a/Modules/clinic/_ssl.c.h
++++ b/Modules/clinic/_ssl.c.h
+@@ -88,6 +88,8 @@ _ssl__SSLSocket_getpeercert(PySSLSocket *self, PyObject *const *args, Py_ssize_t
+ return return_value;
+ }
+
++#if !defined(LIBRESSL_VERSION_NUMBER)
++
+ PyDoc_STRVAR(_ssl__SSLSocket_get_verified_chain__doc__,
+ "get_verified_chain($self, /)\n"
+ "--\n"
+@@ -105,6 +107,10 @@ _ssl__SSLSocket_get_verified_chain(PySSLSocket *self, PyObject *Py_UNUSED(ignore
+ return _ssl__SSLSocket_get_verified_chain_impl(self);
+ }
+
++#endif /* !defined(LIBRESSL_VERSION_NUMBER) */
++
++#if !defined(LIBRESSL_VERSION_NUMBER)
++
+ PyDoc_STRVAR(_ssl__SSLSocket_get_unverified_chain__doc__,
+ "get_unverified_chain($self, /)\n"
+ "--\n"
+@@ -122,6 +128,8 @@ _ssl__SSLSocket_get_unverified_chain(PySSLSocket *self, PyObject *Py_UNUSED(igno
+ return _ssl__SSLSocket_get_unverified_chain_impl(self);
+ }
+
++#endif /* !defined(LIBRESSL_VERSION_NUMBER) */
++
+ PyDoc_STRVAR(_ssl__SSLSocket_shared_ciphers__doc__,
+ "shared_ciphers($self, /)\n"
+ "--\n"
+@@ -271,25 +279,25 @@ PyDoc_STRVAR(_ssl__SSLSocket_read__doc__,
+ {"read", (PyCFunction)_ssl__SSLSocket_read, METH_VARARGS, _ssl__SSLSocket_read__doc__},
+
+ static PyObject *
+-_ssl__SSLSocket_read_impl(PySSLSocket *self, Py_ssize_t len,
+- int group_right_1, Py_buffer *buffer);
++_ssl__SSLSocket_read_impl(PySSLSocket *self, int len, int group_right_1,
++ Py_buffer *buffer);
+
+ static PyObject *
+ _ssl__SSLSocket_read(PySSLSocket *self, PyObject *args)
+ {
+ PyObject *return_value = NULL;
+- Py_ssize_t len;
++ int len;
+ int group_right_1 = 0;
+ Py_buffer buffer = {NULL, NULL};
+
+ switch (PyTuple_GET_SIZE(args)) {
+ case 1:
+- if (!PyArg_ParseTuple(args, "n:read", &len)) {
++ if (!PyArg_ParseTuple(args, "i:read", &len)) {
+ goto exit;
+ }
+ break;
+ case 2:
+- if (!PyArg_ParseTuple(args, "nw*:read", &len, &buffer)) {
++ if (!PyArg_ParseTuple(args, "iw*:read", &len, &buffer)) {
+ goto exit;
+ }
+ group_right_1 = 1;
+@@ -1351,6 +1359,14 @@ _ssl_enum_crls(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObje
+
+ #endif /* defined(_MSC_VER) */
+
++#ifndef _SSL__SSLSOCKET_GET_VERIFIED_CHAIN_METHODDEF
++ #define _SSL__SSLSOCKET_GET_VERIFIED_CHAIN_METHODDEF
++#endif /* !defined(_SSL__SSLSOCKET_GET_VERIFIED_CHAIN_METHODDEF) */
++
++#ifndef _SSL__SSLSOCKET_GET_UNVERIFIED_CHAIN_METHODDEF
++ #define _SSL__SSLSOCKET_GET_UNVERIFIED_CHAIN_METHODDEF
++#endif /* !defined(_SSL__SSLSOCKET_GET_UNVERIFIED_CHAIN_METHODDEF) */
++
+ #ifndef _SSL_ENUM_CERTIFICATES_METHODDEF
+ #define _SSL_ENUM_CERTIFICATES_METHODDEF
+ #endif /* !defined(_SSL_ENUM_CERTIFICATES_METHODDEF) */
+@@ -1358,4 +1374,4 @@ _ssl_enum_crls(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObje
+ #ifndef _SSL_ENUM_CRLS_METHODDEF
+ #define _SSL_ENUM_CRLS_METHODDEF
+ #endif /* !defined(_SSL_ENUM_CRLS_METHODDEF) */
+-/*[clinic end generated code: output=5a7d7bf5cf8ee092 input=a9049054013a1b77]*/
++/*[clinic end generated code: output=0e12e5e4ee2221b5 input=a9049054013a1b77]*/
diff --git a/extra/python/patches/python3-always-pip.patch b/extra/python/patches/python3-always-pip.patch
index a228bd6b..5b0fe7d6 100644
--- a/extra/python/patches/python3-always-pip.patch
+++ b/extra/python/patches/python3-always-pip.patch
@@ -1,9 +1,7 @@
-diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
-index f3152a5..52f6312 100644
---- a/Lib/ensurepip/__init__.py
-+++ b/Lib/ensurepip/__init__.py
-@@ -116,7 +116,7 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
- additional_paths.append(os.path.join(tmpdir, wheel_name))
+--- python/Lib/ensurepip/__init__.py.orig Wed Oct 6 02:23:28 2021
++++ python/Lib/ensurepip/__init__.py Wed Oct 6 02:23:47 2021
+@@ -180,7 +180,7 @@
+ additional_paths.append(filename)
# Construct the arguments to be passed to the pip command
- args = ["install", "--no-cache-dir", "--no-index", "--find-links", tmpdir]
diff --git a/extra/python/sources b/extra/python/sources
index 48d28778..681036e8 100644
--- a/extra/python/sources
+++ b/extra/python/sources
@@ -1,2 +1,3 @@
-https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tar.xz
+https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tar.xz
patches/python3-always-pip.patch
+patches/libressl-support.patch
diff --git a/extra/python/version b/extra/python/version
index 476235b0..36c04f7c 100644
--- a/extra/python/version
+++ b/extra/python/version
@@ -1 +1 @@
-3.9.7 2
+3.11.5 2
diff --git a/extra/rc/version b/extra/rc/version
index 5aee2628..a383ea1a 100644
--- a/extra/rc/version
+++ b/extra/rc/version
@@ -1 +1 @@
-50b729e65d 1
+git 1
diff --git a/extra/readline/build b/extra/readline/build
index 88cdea25..ae0b6520 100755
--- a/extra/readline/build
+++ b/extra/readline/build
@@ -3,13 +3,10 @@
export CFLAGS="$CFLAGS -fPIC"
# I am really tired of how bash and readline handles patches.
-[ "${2##*p*}" ] || {
- maj=${2%%.*}
- min=${2%%p*} min=${min##*.}
- for patch in "readline$maj$min"-0??; do
- patch -p0 < "$patch"
- done
-}
+rl_maj=${2%%.*} rl_min=${2%.p*} rl_min=${rl_min#"$rl_maj."}
+for patch in "readline$rl_maj$rl_min-"0??; do
+ [ -f "$patch" ] && patch -p0 < "$patch"
+done
./configure \
--prefix=/usr
diff --git a/extra/readline/checksums b/extra/readline/checksums
index 7f5cdf17..0254ba0c 100644
--- a/extra/readline/checksums
+++ b/extra/readline/checksums
@@ -1,2 +1,3 @@
-f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02 readline-8.1.tar.gz
-682a465a68633650565c43d59f0b8cdf149c13a874682d3c20cb4af6709b9144 readline81-001
+%BLAKE3
+8ed29b72406bb2bbcafd8dde1486ee108293e5cefe710f84b63b066207adf92f readline-8.2.tar.gz
+8c43c0ebadffa58f66e2fb51b0b6e2f6c89f44b750c620d56d314d37f7488ed3 readline82-001
diff --git a/extra/readline/sources b/extra/readline/sources
index 863769de..6c156728 100644
--- a/extra/readline/sources
+++ b/extra/readline/sources
@@ -1,2 +1,2 @@
-https://ftp.gnu.org/gnu/readline/readline-8.1.tar.gz
-https://ftp.gnu.org/gnu/readline/readline-8.1-patches/readline81-001
+https://ftp.gnu.org/gnu/readline/readline-8.2.tar.gz
+https://ftp.gnu.org/gnu/readline/readline-8.2-patches/readline82-001
diff --git a/extra/readline/version b/extra/readline/version
index faa64dd7..4c303c6e 100644
--- a/extra/readline/version
+++ b/extra/readline/version
@@ -1 +1 @@
-8.1p1 1
+8.2.p1 1
diff --git a/extra/ruby/build b/extra/ruby/build
index 39bf9881..9e60677f 100755
--- a/extra/ruby/build
+++ b/extra/ruby/build
@@ -1,5 +1,8 @@
#!/bin/sh -e
+# There is a problem with the archive format so we can't extract it with pax.
+busybox tar -xJ --strip-components 1 -f "ruby-$2.tar.xz?no_extract"
+
./configure \
--prefix=/usr \
--enable-shared \
diff --git a/extra/ruby/checksums b/extra/ruby/checksums
index 781f72ad..2a529aff 100644
--- a/extra/ruby/checksums
+++ b/extra/ruby/checksums
@@ -1 +1,2 @@
-570e7773100f625599575f363831166d91d49a1ab97d3ab6495af44774155c40 ruby-3.0.2.tar.xz
+%BLAKE3
+06823aedf01e4c20ab22c0c4ac2a2b410f9325c531ffcf7a7bc04312c8f5cb16 ruby-3.2.2.tar.xz?no_extract
diff --git a/extra/ruby/depends b/extra/ruby/depends
index 7a13f54b..416f7939 100644
--- a/extra/ruby/depends
+++ b/extra/ruby/depends
@@ -1,3 +1,5 @@
-libffi make
+busybox make
+libffi make
libressl
+libyaml
zlib
diff --git a/extra/ruby/sources b/extra/ruby/sources
index 8e263671..e1f10607 100644
--- a/extra/ruby/sources
+++ b/extra/ruby/sources
@@ -1 +1 @@
-https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.2.tar.xz
+https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.xz?no_extract
diff --git a/extra/ruby/version b/extra/ruby/version
index b0b71c8f..7744049d 100644
--- a/extra/ruby/version
+++ b/extra/ruby/version
@@ -1 +1 @@
-3.0.2 1
+3.2.2 1
diff --git a/extra/scdoc/checksums b/extra/scdoc/checksums
index becf8d60..99d4982e 100644
--- a/extra/scdoc/checksums
+++ b/extra/scdoc/checksums
@@ -1 +1,2 @@
-e529fcb00508e7e4c5025a745591b805b754b3bd5c84c5192acaefabdfa8f700
+%BLAKE3
+eb1843fb3b0d899f155d5d48e51c809ecc9fd824d4742e3e20e6b9e39b426389 1.11.2.tar.gz
diff --git a/extra/scdoc/sources b/extra/scdoc/sources
index 5f2684da..8febf508 100644
--- a/extra/scdoc/sources
+++ b/extra/scdoc/sources
@@ -1 +1 @@
-https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.1.tar.gz
+https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.2.tar.gz
diff --git a/extra/scdoc/version b/extra/scdoc/version
index 46a63ac5..8d330c1d 100644
--- a/extra/scdoc/version
+++ b/extra/scdoc/version
@@ -1 +1 @@
-1.11.1 1
+1.11.2 1
diff --git a/extra/seatd/build b/extra/seatd/build
index 4e17c4d3..674f63f7 100755
--- a/extra/seatd/build
+++ b/extra/seatd/build
@@ -1,14 +1,16 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
cl-meson \
-Dexamples=disabled \
- -Dbuiltin=enabled \
- -Dmanpages=enabled \
+ -Dlibseat-builtin=enabled \
+ -Dman-pages=enabled \
. output
ninja -C output
ninja -C output install
clsv seatd.run
+
+chmod u+s "$1/usr/bin/seatd-launch"
diff --git a/extra/seatd/checksums b/extra/seatd/checksums
index 910e4aa5..0342dea1 100644
--- a/extra/seatd/checksums
+++ b/extra/seatd/checksums
@@ -1,3 +1,3 @@
%BLAKE3
-de851fdc1ed9d8755da9057170c847104bf2db1cc3803e23abec7033bba73f4c 0.6.2.tar.gz
+655c683ca63008594c5551603e4480c2ffb675285e4d0136303a4f03bbec7d96 0.8.0.tar.gz
becf6e6d86c8420a6d15267a7dde61f8697c10fdf356011a6803a8812b5b9f6a seatd.run
diff --git a/extra/seatd/sources b/extra/seatd/sources
index 2b028a80..fdb044f9 100644
--- a/extra/seatd/sources
+++ b/extra/seatd/sources
@@ -1,2 +1,2 @@
-https://git.sr.ht/~kennylevinsen/seatd/archive/0.6.2.tar.gz
+https://git.sr.ht/~kennylevinsen/seatd/archive/0.8.0.tar.gz
files/seatd.run
diff --git a/extra/seatd/version b/extra/seatd/version
index d39cc45a..e1a64298 100644
--- a/extra/seatd/version
+++ b/extra/seatd/version
@@ -1 +1 @@
-0.6.2 1
+0.8.0 1
diff --git a/extra/shadow/build b/extra/shadow/build
new file mode 100755
index 00000000..e3a2840f
--- /dev/null
+++ b/extra/shadow/build
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+export LDFLAGS="$LDFLAGS -static"
+
+./configure \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --sbindir=/usr/bin \
+ --libdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --sysconfdir=/etc \
+ --disable-man \
+ --disable-nls \
+ --disable-account-tools-setuid \
+ --with-group-name-max-length=32 \
+ --without-audit \
+ --without-selinux
+
+make
+make DESTDIR="$1" install
+
+# Fix broken --sbindir.
+mv -f "$1/usr/sbin/"* "$1/usr/bin"
+rmdir "$1/usr/sbin"
diff --git a/extra/shadow/checksums b/extra/shadow/checksums
new file mode 100644
index 00000000..6dea6632
--- /dev/null
+++ b/extra/shadow/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+e60644e66f39f960d4b3cac1bf814498ed0b3e01830d84067028ab3a7a48841e shadow-4.13.tar.xz
diff --git a/extra/pcre/meta b/extra/shadow/meta
index 0baabdb6..dedf7488 100644
--- a/extra/pcre/meta
+++ b/extra/shadow/meta
@@ -1,3 +1,3 @@
-description: Perl compatible regular expression library
+description: Shadow password file utilities
license: BSD-3-Clause
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/shadow/sources b/extra/shadow/sources
new file mode 100644
index 00000000..e4734093
--- /dev/null
+++ b/extra/shadow/sources
@@ -0,0 +1 @@
+https://github.com/shadow-maint/shadow/releases/download/4.13/shadow-4.13.tar.xz
diff --git a/extra/shadow/version b/extra/shadow/version
new file mode 100644
index 00000000..b92d93e7
--- /dev/null
+++ b/extra/shadow/version
@@ -0,0 +1 @@
+4.13 1
diff --git a/extra/shared-mime-info/checksums b/extra/shared-mime-info/checksums
index 7b8bf18b..c2890ffa 100644
--- a/extra/shared-mime-info/checksums
+++ b/extra/shared-mime-info/checksums
@@ -1 +1,2 @@
-b2d40cfcdd84e835d0f2c9107b3f3e77e9cf912f858171fe779946da634e8563 shared-mime-info-2.1.tar.xz
+%BLAKE3
+8b4d9ff14c316e73762aa8aaa892ce0318fff8c61f9c842bba141df12af108a8 shared-mime-info-2.2.tar.gz
diff --git a/extra/shared-mime-info/sources b/extra/shared-mime-info/sources
index 858173cd..30a12d32 100644
--- a/extra/shared-mime-info/sources
+++ b/extra/shared-mime-info/sources
@@ -1 +1 @@
-https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/0ee50652091363ab0d17e335e5e74fbe/shared-mime-info-2.1.tar.xz
+https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.2/shared-mime-info-2.2.tar.gz
diff --git a/extra/shared-mime-info/version b/extra/shared-mime-info/version
index 1fedb862..a49f7ed9 100644
--- a/extra/shared-mime-info/version
+++ b/extra/shared-mime-info/version
@@ -1 +1 @@
-2.1 1
+2.2 1
diff --git a/extra/shellcheck-bin/build b/extra/shellcheck-bin/build
index 4bdd755a..fae24b67 100755
--- a/extra/shellcheck-bin/build
+++ b/extra/shellcheck-bin/build
@@ -1,3 +1,3 @@
#!/bin/sh -e
-clinst-Dm755 shellcheck "$1/usr/bin/shellcheck"
+clinst -Dm755 shellcheck "$1/usr/bin/shellcheck"
diff --git a/extra/shellcheck-bin/checksums b/extra/shellcheck-bin/checksums
index 516088bc..e636c0d8 100644
--- a/extra/shellcheck-bin/checksums
+++ b/extra/shellcheck-bin/checksums
@@ -1 +1,2 @@
-70423609f27b504d6c0c47e340f33652aea975e45f312324f2dbf91c95a3b188 shellcheck-v0.7.2.linux.x86_64.tar.xz
+%BLAKE3
+2a6377cc08f05029b0e91d05a63a707ff5919e607bc362588538737e201d9ba4 shellcheck-v0.9.0.linux.x86_64.tar.xz
diff --git a/extra/shellcheck-bin/sources b/extra/shellcheck-bin/sources
index 9630ebbd..63f1df9c 100644
--- a/extra/shellcheck-bin/sources
+++ b/extra/shellcheck-bin/sources
@@ -1 +1 @@
-https://github.com/koalaman/shellcheck/releases/download/v0.7.2/shellcheck-v0.7.2.linux.x86_64.tar.xz
+https://github.com/koalaman/shellcheck/releases/download/v0.9.0/shellcheck-v0.9.0.linux.x86_64.tar.xz
diff --git a/extra/shellcheck-bin/version b/extra/shellcheck-bin/version
index e785eb6a..8ac7000b 100644
--- a/extra/shellcheck-bin/version
+++ b/extra/shellcheck-bin/version
@@ -1 +1 @@
-0.7.2 1
+0.9.0 1
diff --git a/extra/signify/build b/extra/signify/build
deleted file mode 100755
index 538f9a12..00000000
--- a/extra/signify/build
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh -e
-
-export LDFLAGS="$LDFLAGS -static"
-
-make
-
-clinst -Dm755 signify "$1/usr/bin/signify"
-clman -d "$1" signify.1
diff --git a/extra/signify/checksums b/extra/signify/checksums
deleted file mode 100644
index d3d4b2c0..00000000
--- a/extra/signify/checksums
+++ /dev/null
@@ -1 +0,0 @@
-f68406c3085ef902e85500e6c0b90e4c3f56347e5efffc0da7b6fb47803c8686 signify-30.tar.xz
diff --git a/extra/signify/depends b/extra/signify/depends
deleted file mode 100644
index 0b9a8e0f..00000000
--- a/extra/signify/depends
+++ /dev/null
@@ -1 +0,0 @@
-libbsd make
diff --git a/extra/signify/meta b/extra/signify/meta
deleted file mode 100644
index 95354b0c..00000000
--- a/extra/signify/meta
+++ /dev/null
@@ -1,3 +0,0 @@
-description: OpenBSD cryptographic signing and verification tool
-license: ISC
-maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/signify/sources b/extra/signify/sources
deleted file mode 100644
index ba4e7ac3..00000000
--- a/extra/signify/sources
+++ /dev/null
@@ -1 +0,0 @@
-https://github.com/aperezdc/signify/releases/download/v30/signify-30.tar.xz
diff --git a/extra/signify/version b/extra/signify/version
deleted file mode 100644
index 1146c97b..00000000
--- a/extra/signify/version
+++ /dev/null
@@ -1 +0,0 @@
-30 1
diff --git a/extra/spirv-headers/build b/extra/spirv-headers/build
new file mode 100755
index 00000000..62f6c6ed
--- /dev/null
+++ b/extra/spirv-headers/build
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSPIRV_HEADERS_ENABLE_TESTS=OFF \
+ -DSPIRV_HEADERS_ENABLE_INSTALL=ON
+
+cmake --build build
+cmake --install build
diff --git a/extra/spirv-headers/checksums b/extra/spirv-headers/checksums
new file mode 100644
index 00000000..0e7d69fe
--- /dev/null
+++ b/extra/spirv-headers/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+e662e48bac8e1fc02f712e1c5629921ef4c1e6c3568d75a61ce5451970f614d3 vulkan-sdk-1.3.290.0.tar.gz
diff --git a/extra/spirv-headers/depends b/extra/spirv-headers/depends
new file mode 100644
index 00000000..7d91ec22
--- /dev/null
+++ b/extra/spirv-headers/depends
@@ -0,0 +1 @@
+cmake make
diff --git a/extra/spirv-headers/meta b/extra/spirv-headers/meta
new file mode 100644
index 00000000..6bdda0c1
--- /dev/null
+++ b/extra/spirv-headers/meta
@@ -0,0 +1,3 @@
+description: Machine-readable files for the SPIR-V Registry
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/spirv-headers/sources b/extra/spirv-headers/sources
new file mode 100644
index 00000000..64ee9015
--- /dev/null
+++ b/extra/spirv-headers/sources
@@ -0,0 +1 @@
+https://github.com/KhronosGroup/SPIRV-Headers/archive/vulkan-sdk-1.3.290.0.tar.gz
diff --git a/extra/spirv-headers/version b/extra/spirv-headers/version
new file mode 100644
index 00000000..857938c7
--- /dev/null
+++ b/extra/spirv-headers/version
@@ -0,0 +1 @@
+1.3.290.0 1
diff --git a/extra/spirv-llvm-translator/build b/extra/spirv-llvm-translator/build
new file mode 100755
index 00000000..43122323
--- /dev/null
+++ b/extra/spirv-llvm-translator/build
@@ -0,0 +1,11 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr/include/spirv \
+ -DLLVM_SPIRV_INCLUDE_TESTS=OFF
+
+cmake --build build
+cmake --install build
diff --git a/extra/spirv-llvm-translator/checksums b/extra/spirv-llvm-translator/checksums
new file mode 100644
index 00000000..e272a3b8
--- /dev/null
+++ b/extra/spirv-llvm-translator/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+e87a2de2d7bb94d1f538094507bf8dfc1ca23ac48e6894f9ba7f5252655d868e SPIRV-LLVM-Translator-19.1.0.tar.gz
diff --git a/extra/spirv-llvm-translator/depends b/extra/spirv-llvm-translator/depends
new file mode 100644
index 00000000..bf5fd1b4
--- /dev/null
+++ b/extra/spirv-llvm-translator/depends
@@ -0,0 +1,3 @@
+cmake make
+llvm
+spirv-tools
diff --git a/extra/spirv-llvm-translator/meta b/extra/spirv-llvm-translator/meta
new file mode 100644
index 00000000..5b15021e
--- /dev/null
+++ b/extra/spirv-llvm-translator/meta
@@ -0,0 +1,3 @@
+description: API and commands for processing SPIR-V modules
+license: NCSA
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/spirv-llvm-translator/sources b/extra/spirv-llvm-translator/sources
new file mode 100644
index 00000000..a726779b
--- /dev/null
+++ b/extra/spirv-llvm-translator/sources
@@ -0,0 +1 @@
+https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/v19.1.0/SPIRV-LLVM-Translator-19.1.0.tar.gz
diff --git a/extra/spirv-llvm-translator/version b/extra/spirv-llvm-translator/version
new file mode 100644
index 00000000..119d7b4b
--- /dev/null
+++ b/extra/spirv-llvm-translator/version
@@ -0,0 +1 @@
+19.1.0 1
diff --git a/extra/spirv-tools/build b/extra/spirv-tools/build
new file mode 100755
index 00000000..49e7dd3d
--- /dev/null
+++ b/extra/spirv-tools/build
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSPIRV-Headers_SOURCE_DIR=/usr
+
+cmake --build build
+cmake --install build
diff --git a/extra/spirv-tools/checksums b/extra/spirv-tools/checksums
new file mode 100644
index 00000000..d707d92f
--- /dev/null
+++ b/extra/spirv-tools/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+b200fffedab377150696c6d7962ba0a98c452155d1e83966570f1f62c3ae29b1 v2024.3.tar.gz
diff --git a/extra/spirv-tools/depends b/extra/spirv-tools/depends
new file mode 100644
index 00000000..3be6cd3a
--- /dev/null
+++ b/extra/spirv-tools/depends
@@ -0,0 +1,3 @@
+cmake make
+python make
+spirv-headers make
diff --git a/extra/spirv-tools/meta b/extra/spirv-tools/meta
new file mode 100644
index 00000000..9d1c4718
--- /dev/null
+++ b/extra/spirv-tools/meta
@@ -0,0 +1,3 @@
+description: API and commands for processing SPIR-V modules
+license: Apache-2.0
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/spirv-tools/sources b/extra/spirv-tools/sources
new file mode 100644
index 00000000..32d0ac09
--- /dev/null
+++ b/extra/spirv-tools/sources
@@ -0,0 +1 @@
+https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v2024.3.tar.gz
diff --git a/extra/spirv-tools/version b/extra/spirv-tools/version
new file mode 100644
index 00000000..bafc0d55
--- /dev/null
+++ b/extra/spirv-tools/version
@@ -0,0 +1 @@
+2024.3 1
diff --git a/extra/sqlite/build b/extra/sqlite/build
index 3e1cb1b8..b0990be0 100755
--- a/extra/sqlite/build
+++ b/extra/sqlite/build
@@ -7,6 +7,7 @@ clsed 's/ -ltinfo//g' configure
./configure \
--prefix=/usr \
--enable-threadsafe \
+ --disable-readline \
--enable-dynamic-extensions \
--enable-fts5
diff --git a/extra/sqlite/checksums b/extra/sqlite/checksums
index 4fbb637c..eda63c71 100644
--- a/extra/sqlite/checksums
+++ b/extra/sqlite/checksums
@@ -1,2 +1,3 @@
-bd90c3eb96bee996206b83be7065c9ce19aef38c3f4fb53073ada0d0b69bbce3 sqlite-autoconf-3360000.tar.gz
-8f24f63ecb9c87475a193564b12a298844a795dff4354409faaddefb2adec829 VERSION_0_1_8.tar.gz
+%BLAKE3
+023516a598e6109db5002f3a8f452d9cc5e496e200c40881d3bc70d8d7415448 sqlite-autoconf-3460100.tar.gz
+6ce5a15004b4eae28797504784ae6934fd0e8d6424748069671290dbb9212dc1 VERSION_0_1_10.tar.gz
diff --git a/extra/sqlite/sources b/extra/sqlite/sources
index 6d289773..fa723895 100644
--- a/extra/sqlite/sources
+++ b/extra/sqlite/sources
@@ -1,2 +1,2 @@
-https://sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
-https://github.com/kristapsdz/sqlite2mdoc/archive/refs/tags/VERSION_0_1_8.tar.gz mdoc
+https://sqlite.org/2024/sqlite-autoconf-3460100.tar.gz
+https://github.com/kristapsdz/sqlite2mdoc/archive/refs/tags/VERSION_0_1_10.tar.gz mdoc
diff --git a/extra/sqlite/version b/extra/sqlite/version
index 21a73e11..18e2e33a 100644
--- a/extra/sqlite/version
+++ b/extra/sqlite/version
@@ -1 +1 @@
-3.36.0 1
+3.46.1 1
diff --git a/extra/texinfo/checksums b/extra/texinfo/checksums
index c47c81f7..f9927e93 100644
--- a/extra/texinfo/checksums
+++ b/extra/texinfo/checksums
@@ -1 +1,2 @@
-8eb753ed28bca21f8f56c1a180362aed789229bd62fff58bf8368e9beb59fec4 texinfo-6.8.tar.xz
+%BLAKE3
+f5f103698ea6460ec6dbfa533cae830aa4a1c44d20e65479514468a360565e38 texinfo-7.0.3.tar.xz
diff --git a/extra/texinfo/sources b/extra/texinfo/sources
index 3ef08f12..c92ef464 100644
--- a/extra/texinfo/sources
+++ b/extra/texinfo/sources
@@ -1 +1 @@
-https://ftp.gnu.org/gnu/texinfo/texinfo-6.8.tar.xz
+https://ftp.gnu.org/gnu/texinfo/texinfo-7.0.3.tar.xz
diff --git a/extra/texinfo/version b/extra/texinfo/version
index 41fc191f..828018d1 100644
--- a/extra/texinfo/version
+++ b/extra/texinfo/version
@@ -1 +1 @@
-6.8 1
+7.0.3 1
diff --git a/extra/tiff/checksums b/extra/tiff/checksums
index 8a872ef2..5e460c28 100644
--- a/extra/tiff/checksums
+++ b/extra/tiff/checksums
@@ -1 +1,2 @@
-0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8 tiff-4.3.0.tar.gz
+%BLAKE3
+2cb9bf793cd2e138ca95926fca3ac8362e587afffa570ab4a8bb177ebc35c089 tiff-4.6.0.tar.gz
diff --git a/extra/tiff/sources b/extra/tiff/sources
index 28639005..4a7cbeb2 100644
--- a/extra/tiff/sources
+++ b/extra/tiff/sources
@@ -1 +1 @@
-https://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz
+https://download.osgeo.org/libtiff/tiff-4.6.0.tar.gz
diff --git a/extra/tiff/version b/extra/tiff/version
index 1fa6c9ae..c7680b3e 100644
--- a/extra/tiff/version
+++ b/extra/tiff/version
@@ -1 +1 @@
-4.3.0 1
+4.6.0 1
diff --git a/extra/tllist/build b/extra/tllist/build
index 9aced3da..8807bbbc 100755
--- a/extra/tllist/build
+++ b/extra/tllist/build
@@ -1,6 +1,6 @@
#!/bin/sh -e
-export DESTDIR=$1
+export DESTDIR="$1"
cl-meson \
. output
diff --git a/extra/tllist/checksums b/extra/tllist/checksums
index 729422c8..af0cf114 100644
--- a/extra/tllist/checksums
+++ b/extra/tllist/checksums
@@ -1 +1,2 @@
-b0f32c9b2c2015c8d8dd068fd4e8b586aa91ca1670badc274ec962559ee0aadd 1.0.5.tar.gz
+%BLAKE3
+8822c938a0aa3136f49a563099051b6c328b202257b803ae4a5c3db962bc9a34 1.1.0.tar.gz
diff --git a/extra/tllist/sources b/extra/tllist/sources
index dec6a892..e577bfda 100644
--- a/extra/tllist/sources
+++ b/extra/tllist/sources
@@ -1 +1 @@
-https://codeberg.org/dnkl/tllist/archive/1.0.5.tar.gz
+https://codeberg.org/dnkl/tllist/archive/1.1.0.tar.gz
diff --git a/extra/tllist/version b/extra/tllist/version
index 46be4aa1..7281bb52 100644
--- a/extra/tllist/version
+++ b/extra/tllist/version
@@ -1 +1 @@
-1.0.5 1
+1.1.0 1
diff --git a/extra/tzdata/build b/extra/tzdata/build
index 8a00ad0f..3d3b5b84 100755
--- a/extra/tzdata/build
+++ b/extra/tzdata/build
@@ -2,13 +2,17 @@
pkg_dir=$1
-make CC="${CC:-gcc}" LDFLAGS="$LDFLAGS -static"
-make DESTDIR="$1" install
+make CC="${CC:-cc}" LDFLAGS="$LDFLAGS -static"
-# Get rid of the sbin directory
-mv "$1/usr/sbin/zic" "$1/usr/bin/zic"
-rm -rf "$1/usr/sbin"
-rm -rf "${1:?}/etc"
+# I decided to remove these from the package, because I don't know of a use case
+# since we are building the timezone files in the package's build script anyway.
+# If you for some reason think that these should absolutely be included in the
+# package, contact me saying so, otherwise uncomment the following lines to
+# install these.
+#
+# clinst -Dm755 -t "$1/usr/bin" zic zdump
+# clinst -Dm755 -s '1c#!/bin/sh' tzselect "$1/usr/bin/tzselect"
+# clman -d "$1" zic.8 zdump.8 tzselect.8
set -- africa asia australasia europe northamerica southamerica
@@ -16,3 +20,5 @@ set -- africa asia australasia europe northamerica southamerica
./zic -d "$pkg_dir/usr/share/zoneinfo/posix" "$@"
./zic -d "$pkg_dir/usr/share/zoneinfo/right" -L leapseconds "$@"
./zic -d "$pkg_dir/usr/share/zoneinfo" -p America/New_York
+
+clinst -Dm644 -t "$pkg_dir/usr/share/zoneinfo" ./*.tab
diff --git a/extra/tzdata/checksums b/extra/tzdata/checksums
index 68b78865..85f208f5 100644
--- a/extra/tzdata/checksums
+++ b/extra/tzdata/checksums
@@ -1 +1,2 @@
-bd7ecd99cbb0a2f15bb7e38be2cbc04dced89922fce4ac0ffcd1ca844ba9362f 2021a.tar.gz
+%BLAKE3
+30f528d38ecd50962098eca70b515a32eb6ff4462eda62f4c9edb40e4559d9c6 2023c.tar.gz
diff --git a/extra/tzdata/sources b/extra/tzdata/sources
index 2421adff..e87526eb 100644
--- a/extra/tzdata/sources
+++ b/extra/tzdata/sources
@@ -1 +1 @@
-https://github.com/eggert/tz/archive/2021a.tar.gz
+https://github.com/eggert/tz/archive/2023c.tar.gz
diff --git a/extra/tzdata/version b/extra/tzdata/version
index b78e1985..c8dc1d67 100644
--- a/extra/tzdata/version
+++ b/extra/tzdata/version
@@ -1 +1 @@
-2021a 2
+2023c 1
diff --git a/extra/vala/checksums b/extra/vala/checksums
index 85f6be43..6fc288b8 100644
--- a/extra/vala/checksums
+++ b/extra/vala/checksums
@@ -1,2 +1,2 @@
%BLAKE3
-6d79005c4d6d0a600ba1a8e1c5a0ab3c74545c0e96a13a602ab6305d3fd89e52 vala-0.54.1.tar.xz
+6933b2892f8ae729fed9f850386b6a9674fa15128c7d43b121cbee18c36d7981 vala-0.56.13.tar.xz
diff --git a/extra/vala/sources b/extra/vala/sources
index 7f2f28d2..a0c35636 100644
--- a/extra/vala/sources
+++ b/extra/vala/sources
@@ -1 +1 @@
-https://download.gnome.org/sources/vala/0.54/vala-0.54.1.tar.xz
+https://download.gnome.org/sources/vala/0.56/vala-0.56.13.tar.xz
diff --git a/extra/vala/version b/extra/vala/version
index 7b36dd72..cba08893 100644
--- a/extra/vala/version
+++ b/extra/vala/version
@@ -1 +1 @@
-0.54.1 1
+0.56.13 1
diff --git a/extra/vulkan-loader/build b/extra/vulkan-loader/build
new file mode 100755
index 00000000..0d9bbdaa
--- /dev/null
+++ b/extra/vulkan-loader/build
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cmake -B build \
+ -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_TESTS=OFF
+
+cmake --build build
+cmake --install build
diff --git a/extra/vulkan-loader/checksums b/extra/vulkan-loader/checksums
new file mode 100644
index 00000000..03eb9af0
--- /dev/null
+++ b/extra/vulkan-loader/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+7d051072c1e0e0fd7f15ea975de7458fb4a3a69cd75586aaf01d95437bd7e8d0 sdk-1.3.231.2.tar.gz
diff --git a/extra/vulkan-loader/depends b/extra/vulkan-loader/depends
new file mode 100644
index 00000000..b967b17e
--- /dev/null
+++ b/extra/vulkan-loader/depends
@@ -0,0 +1,6 @@
+Vulkan-Headers make
+cmake make
+libX11 make
+libxcb make
+pkgconf make
+python make
diff --git a/extra/clang/meta b/extra/vulkan-loader/meta
index 2ee77733..e548fd3b 100644
--- a/extra/clang/meta
+++ b/extra/vulkan-loader/meta
@@ -1,3 +1,3 @@
-description: LLVM C/C++ compiler frontend
+description: Vulkan Installable Client Driver (ICD) loader
license: Apache-2.0
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/vulkan-loader/sources b/extra/vulkan-loader/sources
new file mode 100644
index 00000000..bc176642
--- /dev/null
+++ b/extra/vulkan-loader/sources
@@ -0,0 +1 @@
+https://github.com/KhronosGroup/Vulkan-Loader/archive/sdk-1.3.231.2.tar.gz
diff --git a/extra/vulkan-loader/version b/extra/vulkan-loader/version
new file mode 100644
index 00000000..26a41ca2
--- /dev/null
+++ b/extra/vulkan-loader/version
@@ -0,0 +1 @@
+1.3.231.2 1
diff --git a/extra/webkit2gtk/build b/extra/webkit2gtk/build
index 8e8470a1..1838acde 100755
--- a/extra/webkit2gtk/build
+++ b/extra/webkit2gtk/build
@@ -1,9 +1,13 @@
#!/bin/sh -e
+make -C unifdef
+
# Remove gettext requirement.
-clsed 's/ngettext/printf/g' Tools/MiniBrowser/gtk/BrowserDownloadsBar.c
-clsed '/po_files \*\.po/d' Source/WebCore/platform/gtk/po/CMakeLists.txt
-clsed '/^GETTEXT_C/d' Source/WebCore/platform/gtk/po/CMakeLists.txt
+clsed 's/ngettext/printf/g' Tools/MiniBrowser/gtk/BrowserDownloadsBar.c
+clsed '/po_files \*\.po/d' Source/WebCore/platform/gtk/po/CMakeLists.txt
+clsed '/if.*GETTEXT_FOUND/,/^endif/d' Source/WebCore/platform/gtk/po/CMakeLists.txt
+clsed '/^GETTEXT_C/d' Source/WebCore/platform/gtk/po/CMakeLists.txt
+
# Fix clang build.
clsed '/LC_ALL/d' Source/JavaScriptCore/jsc.cpp
@@ -18,27 +22,36 @@ clsed s,-fcolor-diagnostics,, Source/cmake/WebKitCompilerFlags.cmake
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DLIB_INSTALL_DIR=/usr/lib \
- -DPORT=GTK \
-DCMAKE_SKIP_RPATH=ON \
+ -DUNIFDEF_EXECUTABLE="$PWD/unifdef/unifdef" \
+ -DLIB_INSTALL_DIR=/usr/lib \
-DENABLE_BUBBLEWRAP_SANDBOX=OFF \
- -DENABLE_SAMPLING_PROFILER=OFF \
+ -DENABLE_DOCUMENTATION=OFF \
+ -DENABLE_GAMEPAD=OFF \
-DENABLE_GEOLOCATION=OFF \
-DENABLE_GLES2=ON \
-DENABLE_INTROSPECTION=OFF \
+ -DENABLE_JOURNALD_LOG=OFF \
-DENABLE_MINIBROWSER=OFF \
+ -DENABLE_SAMPLING_PROFILER=OFF \
-DENABLE_SPELLCHECK=OFF \
- -DUSE_SOUP2=ON \
+ -DENABLE_WEB_CRYPTO="$(cpt l -C libtasn1 ON OFF)" \
+ -DENABLE_QUARTZ_TARGET=OFF \
+ -DENABLE_WAYLAND_TARGET=ON \
+ -DENABLE_X11_TARGET=OFF \
+ -DPORT=GTK \
+ -DUSE_AVIF=OFF \
-DUSE_LIBHYPHEN=OFF \
-DUSE_LIBNOTIFY="$(cpt l -C libnotify ON OFF)" \
-DUSE_LIBSECRET=OFF \
- -DUSE_SYSTEMD=OFF \
-DUSE_OPENJPEG="$(cpt l -C openjpeg2 ON OFF)" \
+ -DUSE_SOUP2=ON \
+ -DUSE_GTK4=OFF \
-DUSE_WOFF2=OFF \
+ -DUSE_JPEGXL=OFF \
+ -DUSE_LIBBACKTRACE=OFF \
-DUSE_WPE_RENDERER=OFF \
- -DENABLE_WEB_CRYPTO="$(cpt l -C libtasn1 ON OFF)" \
- -DENABLE_WAYLAND_TARGET="$(cpt l -C wayland ON OFF)" \
- -DENABLE_GAMEPAD=OFF \
+ -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF \
-Wno-dev
cmake --build build
diff --git a/extra/webkit2gtk/checksums b/extra/webkit2gtk/checksums
index 1a260c73..6e7f88ad 100644
--- a/extra/webkit2gtk/checksums
+++ b/extra/webkit2gtk/checksums
@@ -1,2 +1,3 @@
%BLAKE3
-d0956eca1ec88522b7b7d18ec6dd2e3eddd1ec4e507bfadd34e1fe9dff40a6b7 webkitgtk-2.34.0.tar.xz
+521ae872abe050f237a09293b84b1822228893979c929813728cbc58ac5580b4 webkitgtk-2.46.1.tar.xz
+c55349ab244ae3705c566107426f61d9b7ffdbb9fd99261986f8d54867628bcc unifdef-2.12.tar.xz
diff --git a/extra/webkit2gtk/depends b/extra/webkit2gtk/depends
index b58ecb93..845f5695 100644
--- a/extra/webkit2gtk/depends
+++ b/extra/webkit2gtk/depends
@@ -1,17 +1,29 @@
cairo
cmake make
+freetype-harfbuzz
+gdk-pixbuf
+glib
glib-networking
gperf make
gst-plugins-base
+gstreamer
gtk+3
harfbuzz-icu
-libxslt
-libXt
+icu
libgcrypt
+libgpg-error
+libjpeg-turbo
+libpng
libsoup
libwebp
+libxml2
+libxslt
mesa
+openjpeg2
+pango
perl make
python make
ruby make
sqlite
+wayland
+zlib
diff --git a/extra/webkit2gtk/sources b/extra/webkit2gtk/sources
index bd9f8e3c..625dcc52 100644
--- a/extra/webkit2gtk/sources
+++ b/extra/webkit2gtk/sources
@@ -1 +1,2 @@
-https://webkitgtk.org/releases/webkitgtk-2.34.0.tar.xz
+https://webkitgtk.org/releases/webkitgtk-2.46.1.tar.xz
+https://dotat.at/prog/unifdef/unifdef-2.12.tar.xz unifdef
diff --git a/extra/webkit2gtk/version b/extra/webkit2gtk/version
index 4c2468d6..64bde0be 100644
--- a/extra/webkit2gtk/version
+++ b/extra/webkit2gtk/version
@@ -1 +1 @@
-2.34.0 1
+2.46.1 1
diff --git a/extra/wget/build b/extra/wget/build
new file mode 100755
index 00000000..6755ed24
--- /dev/null
+++ b/extra/wget/build
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+
+export PKG_CONFIG="pkgconf --static"
+
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --disable-nls \
+ --disable-rpath \
+ --without-libpsl \
+ --without-libpcre \
+ --without-libpcre2 \
+ --without-gpgme \
+ --without-libnghttp2 \
+ --without-libmicrohttpd \
+ --without-plugin-support \
+ --with-ssl=openssl
+
+make LDFLAGS="$LDFLAGS -all-static"
+make DESTDIR="$1" install
diff --git a/extra/wget/checksums b/extra/wget/checksums
new file mode 100644
index 00000000..6dcb9d25
--- /dev/null
+++ b/extra/wget/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+d619a9fac9dab6bb907c264235952add2e2792d6beef2463bcbe92056373891a wget2-2.0.1.tar.gz
diff --git a/extra/wget/depends b/extra/wget/depends
new file mode 100644
index 00000000..fdcf0ff2
--- /dev/null
+++ b/extra/wget/depends
@@ -0,0 +1,5 @@
+bzip2 make
+libressl
+xz make
+zlib make
+zstd make
diff --git a/extra/wget/meta b/extra/wget/meta
new file mode 100644
index 00000000..ce1cece7
--- /dev/null
+++ b/extra/wget/meta
@@ -0,0 +1,3 @@
+description: GNU wget download utility
+license: GPL-3.0-or-later
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/wget/sources b/extra/wget/sources
new file mode 100644
index 00000000..dc936adb
--- /dev/null
+++ b/extra/wget/sources
@@ -0,0 +1 @@
+https://ftp.gnu.org/gnu/wget/wget2-2.0.1.tar.gz
diff --git a/extra/wget/version b/extra/wget/version
new file mode 100644
index 00000000..4a473510
--- /dev/null
+++ b/extra/wget/version
@@ -0,0 +1 @@
+2.0.1 1
diff --git a/extra/wpa_supplicant/build b/extra/wpa_supplicant/build
index 9b82e869..125301f1 100755
--- a/extra/wpa_supplicant/build
+++ b/extra/wpa_supplicant/build
@@ -2,5 +2,16 @@
cd wpa_supplicant
-make LIBDIR=/usr/lib BINDIR=/usr/bin LDFLAGS="$LDFLAGS -static"
-make LIBDIR=/usr/lib BINDIR=/usr/bin DESTDIR="$1" install
+mk() {
+ make \
+ LIBDIR=/usr/lib \
+ BINDIR=/usr/bin \
+ LDFLAGS="$LDFLAGS -static" \
+ "$@"
+}
+
+mk
+mk DESTDIR="$1" install
+
+clman -d "$1" ./doc/docbook/*.[0-9]
+clsv -d "$1" wpa_supplicant.run
diff --git a/extra/wpa_supplicant/checksums b/extra/wpa_supplicant/checksums
index 8be19a91..45b8f3d7 100644
--- a/extra/wpa_supplicant/checksums
+++ b/extra/wpa_supplicant/checksums
@@ -1,2 +1,4 @@
-fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17 wpa_supplicant-2.9.tar.gz
-6a753cde8110f38580ed8e73a50b344c9249aabcef9f1fc689900e9f0c424640 .config
+%BLAKE3
+7a14f578ff7c6a47c00da7f8259f2d27a458cc08e95d6c20cbd4c3f1fd6ef4dc wpa_supplicant-2.10.tar.gz
+67a51a809af00ee94b712c3c10d95114eaf9844cd9301de43ee470e0e2ad9305 .config
+31cd8d3da593a5e8dc8afedf74af9383a20fbffd7710eeca63aec1e92e43be03 wpa_supplicant.run
diff --git a/extra/wpa_supplicant/depends b/extra/wpa_supplicant/depends
index acecf458..9c0f7582 100644
--- a/extra/wpa_supplicant/depends
+++ b/extra/wpa_supplicant/depends
@@ -1,3 +1,3 @@
-libnl make
-libressl make
-pkgconf make
+libnl-tiny make
+libressl make
+pkgconf make
diff --git a/extra/wpa_supplicant/files/.config b/extra/wpa_supplicant/files/.config
index 5851a44f..fd8c998f 100644
--- a/extra/wpa_supplicant/files/.config
+++ b/extra/wpa_supplicant/files/.config
@@ -37,14 +37,15 @@ CONFIG_DRIVER_NL80211=y
# driver_nl80211.c requires libnl. If you are compiling it yourself
# you may need to point hostapd to your version of libnl.
#
-#CFLAGS += -I$<path to libnl include files>
-#LIBS += -L$<path to libnl library files>
+CFLAGS += -I/usr/include/libnl-tiny -DLIBNL1_COMPAT -D_GNU_SOURCE
+LIBS += /usr/lib/libnl-tiny.a
+CONFIG_LIBNL_TINY=y
# Use libnl v2.0 (or 3.0) libraries.
#CONFIG_LIBNL20=y
# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
-CONFIG_LIBNL32=y
+#CONFIG_LIBNL32=y
# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
diff --git a/extra/wpa_supplicant/files/wpa_supplicant.run b/extra/wpa_supplicant/files/wpa_supplicant.run
new file mode 100755
index 00000000..55e1be7f
--- /dev/null
+++ b/extra/wpa_supplicant/files/wpa_supplicant.run
@@ -0,0 +1,2 @@
+#!/bin/sh -e
+exec wpa_supplicant -C /etc/wpa_supplicant.conf
diff --git a/extra/wpa_supplicant/sources b/extra/wpa_supplicant/sources
index f106958d..4028e0a1 100644
--- a/extra/wpa_supplicant/sources
+++ b/extra/wpa_supplicant/sources
@@ -1,2 +1,3 @@
-https://w1.fi/releases/wpa_supplicant-2.9.tar.gz
-files/.config wpa_supplicant/
+https://w1.fi/releases/wpa_supplicant-2.10.tar.gz
+files/.config wpa_supplicant
+files/wpa_supplicant.run wpa_supplicant
diff --git a/extra/wpa_supplicant/version b/extra/wpa_supplicant/version
index 0b884f41..05ed2945 100644
--- a/extra/wpa_supplicant/version
+++ b/extra/wpa_supplicant/version
@@ -1 +1 @@
-2.9 4
+2.10 1
diff --git a/extra/wpebackend-fdo/build b/extra/wpebackend-fdo/build
new file mode 100755
index 00000000..699f1e6b
--- /dev/null
+++ b/extra/wpebackend-fdo/build
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+export CXXFLAGS="$CXXFLAGS -static-libstdc++ -static-libgcc"
+
+cl-meson \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/wpebackend-fdo/checksums b/extra/wpebackend-fdo/checksums
new file mode 100644
index 00000000..1be9fb37
--- /dev/null
+++ b/extra/wpebackend-fdo/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+f60e3dd5eb26e4d3cd3db2b32076cd62be8166e65e5a741e194b83b456623916 wpebackend-fdo-1.14.3.tar.xz
diff --git a/extra/wpebackend-fdo/depends b/extra/wpebackend-fdo/depends
new file mode 100644
index 00000000..8c2b6179
--- /dev/null
+++ b/extra/wpebackend-fdo/depends
@@ -0,0 +1,5 @@
+glib
+libepoxy
+libwpe
+meson make
+wayland
diff --git a/extra/fossil/meta b/extra/wpebackend-fdo/meta
index 3f7dee82..23f204c8 100644
--- a/extra/fossil/meta
+++ b/extra/wpebackend-fdo/meta
@@ -1,3 +1,3 @@
-description: Distributed Version Control System
+description: FreeDesktop backend for WPE
license: BSD-2-Clause
maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/wpebackend-fdo/sources b/extra/wpebackend-fdo/sources
new file mode 100644
index 00000000..957f86e2
--- /dev/null
+++ b/extra/wpebackend-fdo/sources
@@ -0,0 +1 @@
+https://wpewebkit.org/releases/wpebackend-fdo-1.14.3.tar.xz
diff --git a/extra/wpebackend-fdo/version b/extra/wpebackend-fdo/version
new file mode 100644
index 00000000..6c4cca37
--- /dev/null
+++ b/extra/wpebackend-fdo/version
@@ -0,0 +1 @@
+1.14.3 1
diff --git a/extra/xcb-proto/build b/extra/xcb-proto/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/xcb-proto/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-proto/checksums b/extra/xcb-proto/checksums
new file mode 100644
index 00000000..ee3fafeb
--- /dev/null
+++ b/extra/xcb-proto/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+68187400fded667f60b4b020d0fc37fa489ae0de33169fe7b07fcbaf88e7a3f9 xcb-proto-1.17.0.tar.xz
diff --git a/extra/xcb-proto/depends b/extra/xcb-proto/depends
new file mode 100644
index 00000000..ecc77727
--- /dev/null
+++ b/extra/xcb-proto/depends
@@ -0,0 +1 @@
+python make
diff --git a/extra/xcb-proto/meta b/extra/xcb-proto/meta
new file mode 100644
index 00000000..4d94c36c
--- /dev/null
+++ b/extra/xcb-proto/meta
@@ -0,0 +1,3 @@
+description: XML-XCB protocol descriptions
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-proto/sources b/extra/xcb-proto/sources
new file mode 100644
index 00000000..18e6b452
--- /dev/null
+++ b/extra/xcb-proto/sources
@@ -0,0 +1 @@
+https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.17.0.tar.xz
diff --git a/extra/xcb-proto/version b/extra/xcb-proto/version
new file mode 100644
index 00000000..8aac6e6e
--- /dev/null
+++ b/extra/xcb-proto/version
@@ -0,0 +1 @@
+1.17.0 1
diff --git a/extra/xcb-util-cursor/build b/extra/xcb-util-cursor/build
new file mode 100755
index 00000000..7ca84fcf
--- /dev/null
+++ b/extra/xcb-util-cursor/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-static
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-util-cursor/checksums b/extra/xcb-util-cursor/checksums
new file mode 100644
index 00000000..0fae8600
--- /dev/null
+++ b/extra/xcb-util-cursor/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+23888f843c896ef2f6087540bcca1f5451c400d5628f9898505e17c74ff887d2 xcb-util-cursor-0.1.4.tar.gz
diff --git a/extra/xcb-util-cursor/depends b/extra/xcb-util-cursor/depends
new file mode 100644
index 00000000..9a1bd190
--- /dev/null
+++ b/extra/xcb-util-cursor/depends
@@ -0,0 +1,5 @@
+libXau
+libxcb
+xcb-util
+xcb-util-image
+xcb-util-renderutil
diff --git a/extra/xcb-util-cursor/meta b/extra/xcb-util-cursor/meta
new file mode 100644
index 00000000..40db4fa2
--- /dev/null
+++ b/extra/xcb-util-cursor/meta
@@ -0,0 +1,3 @@
+description: XCB cursor library
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-util-cursor/sources b/extra/xcb-util-cursor/sources
new file mode 100644
index 00000000..65326ee1
--- /dev/null
+++ b/extra/xcb-util-cursor/sources
@@ -0,0 +1 @@
+https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.4.tar.gz
diff --git a/extra/xcb-util-cursor/version b/extra/xcb-util-cursor/version
new file mode 100644
index 00000000..3aefaafc
--- /dev/null
+++ b/extra/xcb-util-cursor/version
@@ -0,0 +1 @@
+0.1.4 1
diff --git a/extra/xcb-util-image/build b/extra/xcb-util-image/build
new file mode 100755
index 00000000..7ca84fcf
--- /dev/null
+++ b/extra/xcb-util-image/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-static
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-util-image/checksums b/extra/xcb-util-image/checksums
new file mode 100644
index 00000000..7f14e099
--- /dev/null
+++ b/extra/xcb-util-image/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+9aca6977c5fde46aa188c394c36389fc16e78fd6db5b88ea263abd98c7d9e3fb xcb-util-image-0.4.1.tar.gz
diff --git a/extra/xcb-util-image/depends b/extra/xcb-util-image/depends
new file mode 100644
index 00000000..a1267485
--- /dev/null
+++ b/extra/xcb-util-image/depends
@@ -0,0 +1,3 @@
+libXau
+libxcb
+xcb-util
diff --git a/extra/xcb-util-image/meta b/extra/xcb-util-image/meta
new file mode 100644
index 00000000..abbe3364
--- /dev/null
+++ b/extra/xcb-util-image/meta
@@ -0,0 +1,3 @@
+description: XCB Ximage library
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-util-image/sources b/extra/xcb-util-image/sources
new file mode 100644
index 00000000..599d46a8
--- /dev/null
+++ b/extra/xcb-util-image/sources
@@ -0,0 +1 @@
+https://xcb.freedesktop.org/dist/xcb-util-image-0.4.1.tar.gz
diff --git a/extra/xcb-util-image/version b/extra/xcb-util-image/version
new file mode 100644
index 00000000..3d58e2e2
--- /dev/null
+++ b/extra/xcb-util-image/version
@@ -0,0 +1 @@
+0.4.1 1
diff --git a/extra/xcb-util-keysyms/build b/extra/xcb-util-keysyms/build
new file mode 100755
index 00000000..7ca84fcf
--- /dev/null
+++ b/extra/xcb-util-keysyms/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-static
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-util-keysyms/checksums b/extra/xcb-util-keysyms/checksums
new file mode 100644
index 00000000..c1705166
--- /dev/null
+++ b/extra/xcb-util-keysyms/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+c599df56c79a9f9dcf12b083e343f321cad6af654b83e2976b5a26bc890b5774 xcb-util-keysyms-0.4.1.tar.xz
diff --git a/extra/xcb-util-keysyms/depends b/extra/xcb-util-keysyms/depends
new file mode 100644
index 00000000..dc6f86ff
--- /dev/null
+++ b/extra/xcb-util-keysyms/depends
@@ -0,0 +1,2 @@
+libxcb
+xcb-util make
diff --git a/extra/xcb-util-keysyms/meta b/extra/xcb-util-keysyms/meta
new file mode 100644
index 00000000..8f944b78
--- /dev/null
+++ b/extra/xcb-util-keysyms/meta
@@ -0,0 +1,3 @@
+description: Keycode conversion library for XCB
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-util-keysyms/sources b/extra/xcb-util-keysyms/sources
new file mode 100644
index 00000000..01e3cca4
--- /dev/null
+++ b/extra/xcb-util-keysyms/sources
@@ -0,0 +1 @@
+https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.1.tar.xz
diff --git a/extra/xcb-util-keysyms/version b/extra/xcb-util-keysyms/version
new file mode 100644
index 00000000..3d58e2e2
--- /dev/null
+++ b/extra/xcb-util-keysyms/version
@@ -0,0 +1 @@
+0.4.1 1
diff --git a/extra/xcb-util-renderutil/build b/extra/xcb-util-renderutil/build
new file mode 100755
index 00000000..7ca84fcf
--- /dev/null
+++ b/extra/xcb-util-renderutil/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-static
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-util-renderutil/checksums b/extra/xcb-util-renderutil/checksums
new file mode 100644
index 00000000..6dc86c9c
--- /dev/null
+++ b/extra/xcb-util-renderutil/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+d922f02ad7e2034d4429c7328648382caa74ff32523cf9cc5e34e6aab8a45bd0 xcb-util-renderutil-0.3.10.tar.gz
diff --git a/extra/xcb-util-renderutil/depends b/extra/xcb-util-renderutil/depends
new file mode 100644
index 00000000..90b9d3b0
--- /dev/null
+++ b/extra/xcb-util-renderutil/depends
@@ -0,0 +1,2 @@
+libXau
+libxcb
diff --git a/extra/xcb-util-renderutil/meta b/extra/xcb-util-renderutil/meta
new file mode 100644
index 00000000..130b5ff2
--- /dev/null
+++ b/extra/xcb-util-renderutil/meta
@@ -0,0 +1,3 @@
+description: XCB convenience function library for the Render extension
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-util-renderutil/sources b/extra/xcb-util-renderutil/sources
new file mode 100644
index 00000000..2191de91
--- /dev/null
+++ b/extra/xcb-util-renderutil/sources
@@ -0,0 +1 @@
+https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.10.tar.gz
diff --git a/extra/xcb-util-renderutil/version b/extra/xcb-util-renderutil/version
new file mode 100644
index 00000000..a6fb06d7
--- /dev/null
+++ b/extra/xcb-util-renderutil/version
@@ -0,0 +1 @@
+0.3.10 1
diff --git a/extra/xcb-util-wm/build b/extra/xcb-util-wm/build
new file mode 100755
index 00000000..7ca84fcf
--- /dev/null
+++ b/extra/xcb-util-wm/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-static
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-util-wm/checksums b/extra/xcb-util-wm/checksums
new file mode 100644
index 00000000..e322bb10
--- /dev/null
+++ b/extra/xcb-util-wm/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+4cf6b0e204e12eb6b824c939404fc5ad63d61cb94679e8adf5670207802bc738 xcb-util-wm-0.4.2.tar.xz
diff --git a/extra/xcb-util-wm/depends b/extra/xcb-util-wm/depends
new file mode 100644
index 00000000..dc6f86ff
--- /dev/null
+++ b/extra/xcb-util-wm/depends
@@ -0,0 +1,2 @@
+libxcb
+xcb-util make
diff --git a/extra/xcb-util-wm/meta b/extra/xcb-util-wm/meta
new file mode 100644
index 00000000..46335669
--- /dev/null
+++ b/extra/xcb-util-wm/meta
@@ -0,0 +1,3 @@
+description: XCB window-manager library
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-util-wm/sources b/extra/xcb-util-wm/sources
new file mode 100644
index 00000000..afd80924
--- /dev/null
+++ b/extra/xcb-util-wm/sources
@@ -0,0 +1 @@
+https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.2.tar.xz
diff --git a/extra/xcb-util-wm/version b/extra/xcb-util-wm/version
new file mode 100644
index 00000000..770d61a8
--- /dev/null
+++ b/extra/xcb-util-wm/version
@@ -0,0 +1 @@
+0.4.2 1
diff --git a/extra/xcb-util-xrm/build b/extra/xcb-util-xrm/build
new file mode 100755
index 00000000..58535d66
--- /dev/null
+++ b/extra/xcb-util-xrm/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-devel-docs
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-util-xrm/checksums b/extra/xcb-util-xrm/checksums
new file mode 100644
index 00000000..c940ba5d
--- /dev/null
+++ b/extra/xcb-util-xrm/checksums
@@ -0,0 +1 @@
+301cf33701207ea8782d49f4cb6404abd8f2d64e16f242017fd720be7c900c85 xcb-util-xrm-1.3.tar.bz2
diff --git a/extra/xcb-util-xrm/depends b/extra/xcb-util-xrm/depends
new file mode 100644
index 00000000..f9c2fab6
--- /dev/null
+++ b/extra/xcb-util-xrm/depends
@@ -0,0 +1,3 @@
+libX11
+libxcb
+xcb-util
diff --git a/extra/xcb-util-xrm/meta b/extra/xcb-util-xrm/meta
new file mode 100644
index 00000000..9136356a
--- /dev/null
+++ b/extra/xcb-util-xrm/meta
@@ -0,0 +1,3 @@
+description: XCB utility functions for the X resource manager
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-util-xrm/sources b/extra/xcb-util-xrm/sources
new file mode 100644
index 00000000..f30cb632
--- /dev/null
+++ b/extra/xcb-util-xrm/sources
@@ -0,0 +1 @@
+https://github.com/Airblader/xcb-util-xrm/releases/download/v1.3/xcb-util-xrm-1.3.tar.bz2
diff --git a/extra/argp/version b/extra/xcb-util-xrm/version
index a37a04c3..a37a04c3 100644
--- a/extra/argp/version
+++ b/extra/xcb-util-xrm/version
diff --git a/extra/xcb-util/build b/extra/xcb-util/build
new file mode 100755
index 00000000..7ca84fcf
--- /dev/null
+++ b/extra/xcb-util/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-static
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xcb-util/checksums b/extra/xcb-util/checksums
new file mode 100644
index 00000000..a0b2d1ee
--- /dev/null
+++ b/extra/xcb-util/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+ebc940220db0ca39a690a47b565ce73ab536c1fbfdebf008fa0edf0ced862aca xcb-util-0.4.1.tar.xz
diff --git a/extra/xcb-util/depends b/extra/xcb-util/depends
new file mode 100644
index 00000000..90b9d3b0
--- /dev/null
+++ b/extra/xcb-util/depends
@@ -0,0 +1,2 @@
+libXau
+libxcb
diff --git a/extra/xcb-util/meta b/extra/xcb-util/meta
new file mode 100644
index 00000000..ada88409
--- /dev/null
+++ b/extra/xcb-util/meta
@@ -0,0 +1,3 @@
+description: XCB utilities library
+license: X11
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xcb-util/sources b/extra/xcb-util/sources
new file mode 100644
index 00000000..5bf1b19f
--- /dev/null
+++ b/extra/xcb-util/sources
@@ -0,0 +1 @@
+https://xcb.freedesktop.org/dist/xcb-util-0.4.1.tar.xz
diff --git a/extra/xcb-util/version b/extra/xcb-util/version
new file mode 100644
index 00000000..3d58e2e2
--- /dev/null
+++ b/extra/xcb-util/version
@@ -0,0 +1 @@
+0.4.1 1
diff --git a/extra/xkbcomp/build b/extra/xkbcomp/build
new file mode 100755
index 00000000..75e3546c
--- /dev/null
+++ b/extra/xkbcomp/build
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+export LDFLAGS="$LDFLAGS -static"
+export PKG_CONFIG="pkgconf --static"
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xkbcomp/checksums b/extra/xkbcomp/checksums
new file mode 100644
index 00000000..627389af
--- /dev/null
+++ b/extra/xkbcomp/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+4012e83cec9a3b54bd899e6d9b664275633d50d1523ff2e428e5fdf932cf3713 xkbcomp-1.4.6.tar.xz
diff --git a/extra/xkbcomp/depends b/extra/xkbcomp/depends
new file mode 100644
index 00000000..6d64af8e
--- /dev/null
+++ b/extra/xkbcomp/depends
@@ -0,0 +1,2 @@
+libX11 make
+libxkbfile make
diff --git a/extra/xkbcomp/meta b/extra/xkbcomp/meta
new file mode 100644
index 00000000..1ea9f6b5
--- /dev/null
+++ b/extra/xkbcomp/meta
@@ -0,0 +1,3 @@
+description: XKBG keymap compiler
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xkbcomp/sources b/extra/xkbcomp/sources
new file mode 100644
index 00000000..63579cac
--- /dev/null
+++ b/extra/xkbcomp/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/app/xkbcomp-1.4.6.tar.xz
diff --git a/extra/xkbcomp/version b/extra/xkbcomp/version
new file mode 100644
index 00000000..ef2ab5a0
--- /dev/null
+++ b/extra/xkbcomp/version
@@ -0,0 +1 @@
+1.4.6 1
diff --git a/extra/xkeyboard-config/build b/extra/xkeyboard-config/build
new file mode 100755
index 00000000..20b55fd4
--- /dev/null
+++ b/extra/xkeyboard-config/build
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+export DESTDIR="$1"
+
+cl-meson \
+ . output
+
+ninja -C output
+ninja -C output install
diff --git a/extra/xkeyboard-config/checksums b/extra/xkeyboard-config/checksums
new file mode 100644
index 00000000..17df67a0
--- /dev/null
+++ b/extra/xkeyboard-config/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+6c2ee4fda92cd24d2e522b3ae0aa178b25eaa40680a1e195cc4844227a3b26c4 xkeyboard-config-2.39.tar.xz
diff --git a/extra/xkeyboard-config/depends b/extra/xkeyboard-config/depends
new file mode 100644
index 00000000..0f146e0c
--- /dev/null
+++ b/extra/xkeyboard-config/depends
@@ -0,0 +1,2 @@
+libX11 make
+xkbcomp
diff --git a/extra/xkeyboard-config/meta b/extra/xkeyboard-config/meta
new file mode 100644
index 00000000..815fa0be
--- /dev/null
+++ b/extra/xkeyboard-config/meta
@@ -0,0 +1,3 @@
+description: X Keyboard configuration database
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xkeyboard-config/sources b/extra/xkeyboard-config/sources
new file mode 100644
index 00000000..dedbc246
--- /dev/null
+++ b/extra/xkeyboard-config/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.39.tar.xz
diff --git a/extra/xkeyboard-config/version b/extra/xkeyboard-config/version
new file mode 100644
index 00000000..53d10707
--- /dev/null
+++ b/extra/xkeyboard-config/version
@@ -0,0 +1 @@
+2.39 1
diff --git a/extra/xorg-util-macros/build b/extra/xorg-util-macros/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/xorg-util-macros/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xorg-util-macros/checksums b/extra/xorg-util-macros/checksums
new file mode 100644
index 00000000..2bb52043
--- /dev/null
+++ b/extra/xorg-util-macros/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+cfd9960e84fba07349a897851e5e0ccd2b46bde9ba49a4d78ee78f427620c2f5 util-macros-1.20.0.tar.xz
diff --git a/extra/xorg-util-macros/meta b/extra/xorg-util-macros/meta
new file mode 100644
index 00000000..67bf6340
--- /dev/null
+++ b/extra/xorg-util-macros/meta
@@ -0,0 +1,3 @@
+description: Autotool macros for Xorg
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xorg-util-macros/sources b/extra/xorg-util-macros/sources
new file mode 100644
index 00000000..6caa5d59
--- /dev/null
+++ b/extra/xorg-util-macros/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/util/util-macros-1.20.0.tar.xz
diff --git a/extra/xorg-util-macros/version b/extra/xorg-util-macros/version
new file mode 100644
index 00000000..47b4c52a
--- /dev/null
+++ b/extra/xorg-util-macros/version
@@ -0,0 +1 @@
+1.20.0 1
diff --git a/extra/xorgproto/build b/extra/xorgproto/build
new file mode 100755
index 00000000..20f084fe
--- /dev/null
+++ b/extra/xorgproto/build
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --enable-legacy
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xorgproto/checksums b/extra/xorgproto/checksums
new file mode 100644
index 00000000..4b94a152
--- /dev/null
+++ b/extra/xorgproto/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+1e108dfcfcf6d19b31fa06619f1eeb3f4df036af12f015f1a03d9791bfcf0754 xorgproto-2023.2.tar.gz
diff --git a/extra/xorgproto/meta b/extra/xorgproto/meta
new file mode 100644
index 00000000..3e267a2d
--- /dev/null
+++ b/extra/xorgproto/meta
@@ -0,0 +1,3 @@
+description: X11 Protocol headers
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xorgproto/sources b/extra/xorgproto/sources
new file mode 100644
index 00000000..f54ea591
--- /dev/null
+++ b/extra/xorgproto/sources
@@ -0,0 +1 @@
+https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2023.2.tar.gz
diff --git a/extra/xorgproto/version b/extra/xorgproto/version
new file mode 100644
index 00000000..5333fe1b
--- /dev/null
+++ b/extra/xorgproto/version
@@ -0,0 +1 @@
+2023.2 1
diff --git a/extra/xtrans/build b/extra/xtrans/build
new file mode 100755
index 00000000..6daf22f8
--- /dev/null
+++ b/extra/xtrans/build
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+./configure \
+ --prefix=/usr
+
+make
+make DESTDIR="$1" install
diff --git a/extra/xtrans/checksums b/extra/xtrans/checksums
new file mode 100644
index 00000000..ce7d1230
--- /dev/null
+++ b/extra/xtrans/checksums
@@ -0,0 +1,2 @@
+%BLAKE3
+451c6ef408bf6c87987d4590bfe1566d37ffc62cdacc341fedeaddf875ae1d08 xtrans-1.5.0.tar.xz
diff --git a/extra/xtrans/meta b/extra/xtrans/meta
new file mode 100644
index 00000000..df85b143
--- /dev/null
+++ b/extra/xtrans/meta
@@ -0,0 +1,3 @@
+description: Network API translation layer for X
+license: MIT
+maintainer: Cem Keylan <cem@carbslinux.org>
diff --git a/extra/xtrans/sources b/extra/xtrans/sources
new file mode 100644
index 00000000..ffe13c3c
--- /dev/null
+++ b/extra/xtrans/sources
@@ -0,0 +1 @@
+https://www.x.org/releases/individual/lib/xtrans-1.5.0.tar.xz
diff --git a/extra/xtrans/version b/extra/xtrans/version
new file mode 100644
index 00000000..104216de
--- /dev/null
+++ b/extra/xtrans/version
@@ -0,0 +1 @@
+1.5.0 1
diff --git a/extra/yash/build b/extra/yash/build
index d01449fa..9271a93a 100755
--- a/extra/yash/build
+++ b/extra/yash/build
@@ -1,9 +1,10 @@
#!/bin/sh -e
+# LANG variable can often lead to failures in compiling lineedit commands. So we
+# disable it.
+unset LANG
export LDFLAGS="$LDFLAGS -static"
-patch -p1 < neatvi-completion.patch
-
./configure \
--prefix=/usr \
--enable-help \
diff --git a/extra/yash/checksums b/extra/yash/checksums
index e1c275b9..891ff908 100644
--- a/extra/yash/checksums
+++ b/extra/yash/checksums
@@ -1,3 +1,3 @@
-6f15e68eeb63fd42e91c3ce75eccf325f2c938fa1dc248e7213af37c043aeaf8 yash-2.51.tar.xz
-318d93c763e560bb2201e06eb2d9c290d0996b962463ef06965a4002d860abdc doas
-32f8e38ce72d179e207bda071f0a4fd4986cc770ccdb0da7b3b33d903cda403e neatvi-completion.patch
+%BLAKE3
+b53e011ff3e9ef8f472d282288be06e351c17c8333f71790e6a22cb2f91eff78 yash-2.55.tar.xz
+74aaf3452e29b14ae02d6c142eae5b50083b56f2ef93a210916250baed399964 doas
diff --git a/extra/yash/patches/neatvi-completion.patch b/extra/yash/patches/neatvi-completion.patch
deleted file mode 100644
index 795fd6b6..00000000
--- a/extra/yash/patches/neatvi-completion.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Neatvi doesn't support parsing flags and it will open the editor immediately,
-so we don't actually want this check performed.
---- yash-orig/share/completion/ex 2020-12-10 16:40:05.000000000 +0300
-+++ yash/share/completion/ex 2021-05-04 22:12:17.299050403 +0300
-@@ -6,10 +6,6 @@
-
- function completion/ex {
-
-- case $("${WORDS[1]}" --version 2>/dev/null) in (VIM*)
-- command -f completion//reexecute vim
-- return
-- esac
- typeset type="$(uname 2>/dev/null)"
-
- typeset OPTIONS POSIXOPTIONS ADDOPTIONS ARGOPT PREFIX
diff --git a/extra/yash/sources b/extra/yash/sources
index d3a9279a..eba819af 100644
--- a/extra/yash/sources
+++ b/extra/yash/sources
@@ -1,3 +1,2 @@
-https://github.com/magicant/yash/releases/download/2.51/yash-2.51.tar.xz
+https://github.com/magicant/yash/releases/download/2.55/yash-2.55.tar.xz
files/doas share/completion
-patches/neatvi-completion.patch
diff --git a/extra/yash/version b/extra/yash/version
index a1f649aa..c2266e87 100644
--- a/extra/yash/version
+++ b/extra/yash/version
@@ -1 +1 @@
-2.51 1
+2.55 1
diff --git a/extra/zsh/checksums b/extra/zsh/checksums
index 56c725da..1d573392 100644
--- a/extra/zsh/checksums
+++ b/extra/zsh/checksums
@@ -1,2 +1,3 @@
-dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27 zsh-5.8.tar.xz
-d36a5d7b15578998ae083cb11c5c0f63e0e938abb6ad4a229c482aa83dcf1a52 zprofile
+%BLAKE3
+b440cfbea634b5a684903656db8d8f8ff70a5657a4b479b9c256e9583adfeacc zsh-5.9.tar.xz
+960164aa23d3c9d084aff7e2443115ad3185add16bad6c6f5bb2c11b473fa3a3 zprofile
diff --git a/extra/zsh/sources b/extra/zsh/sources
index c68ff768..2ba493f4 100644
--- a/extra/zsh/sources
+++ b/extra/zsh/sources
@@ -1,2 +1,2 @@
-https://sourceforge.net/projects/zsh/files/zsh/5.8/zsh-5.8.tar.xz
+https://sourceforge.net/projects/zsh/files/zsh/5.9/zsh-5.9.tar.xz
files/zprofile
diff --git a/extra/zsh/version b/extra/zsh/version
index 5cba97b3..3d4b2f6a 100644
--- a/extra/zsh/version
+++ b/extra/zsh/version
@@ -1 +1 @@
-5.8 2
+5.9 1