diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..231004c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 SFG545 and ReallyUnusual + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the “Software”), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/core/depot/depot.toml b/core/depot/depot.toml index cb139dc..57eb372 100644 --- a/core/depot/depot.toml +++ b/core/depot/depot.toml @@ -30,7 +30,7 @@ description = "source-based package manager designed for Linux, focuses on repro homepage = "https://gitlab.com/sfg-os/depot" license = "MIT" name = "depot" -version = "0.31.0" +version = "0.32.1" revision = 1 [[source]] diff --git a/core/libtool/libtool.toml b/core/libtool/libtool.toml index 26585fb..3913253 100644 --- a/core/libtool/libtool.toml +++ b/core/libtool/libtool.toml @@ -7,7 +7,6 @@ runtime = [ "sh", "coreutils", ] -test = ["findutils"] [package] description = "GNU generic library support script" @@ -21,6 +20,3 @@ extract_dir = "$name-$version" sha256 = "f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675" url = "https://mirrors.kernel.org/gnu/libtool/libtool-$version.tar.xz" -[build.flags] -post_install = [ "rm -fv $DESTDIR/usr/lib/libltdl.a" ] -skip_tests = true diff --git a/depot-index.tsv b/depot-index.tsv index 6bea24f..b478801 100644 --- a/depot-index.tsv +++ b/depot-index.tsv @@ -1,7 +1,9 @@ depot-source-index-v3 B alsa-lib extra/libsamplerate/libsamplerate.toml B alsa-lib extra/libsndfile/libsndfile.toml +B alsa-lib extra/sdl3/sdl3.toml B autoconf extra/jq/jq.toml +B autoconf-archive extra/libthai/libthai.toml B autoconf-archive extra/vala/vala.toml B automake extra/jq/jq.toml B bc core/linux/linux.toml @@ -11,8 +13,10 @@ B bzip2 core/elfutils/elfutils.toml B cairo extra/freetype2/freetype2.toml B cairo extra/harfbuzz/harfbuzz.toml B cargo extra/cbindgen/cbindgen.toml +B cargo extra/librsvg/librsvg.toml B cargo extra/mesa/mesa.toml B cargo extra/rav1e/rav1e.toml +B cargo-c extra/librsvg/librsvg.toml B cargo-c extra/rav1e/rav1e.toml B catch2 extra/spdlog/spdlog.toml B cbindgen extra/mesa/mesa.toml @@ -48,6 +52,8 @@ B cmake extra/hidapi/hidapi.toml B cmake extra/intel-gmmlib/intel-gmmlib.toml B cmake extra/intel-media-driver/intel-media-driver.toml B cmake extra/json-c/json-c.toml +B cmake extra/lapack/lapack.toml +B cmake extra/libavif/libavif.toml B cmake extra/libclc/libclc.toml B cmake extra/libdeflate/libdeflate.toml B cmake extra/libevent/libevent.toml @@ -61,6 +67,8 @@ B cmake extra/libyuv/libyuv.toml B cmake extra/mesa/mesa.toml B cmake extra/nlohmann-json/nlohmann-json.toml B cmake extra/re2/re2.toml +B cmake extra/sdl2-compat/sdl2-compat.toml +B cmake extra/sdl3/sdl3.toml B cmake extra/simdjson/simdjson.toml B cmake extra/spdlog/spdlog.toml B cmake extra/spirv-headers/spirv-headers.toml @@ -79,37 +87,50 @@ B curl core/llvm/llvm.toml B cython extra/python-fonttools/python-fonttools.toml B cython extra/python-lxml/python-lxml.toml B cython extra/python-yaml/python-yaml.toml +B dbus extra/dconf/dconf.toml B directx-headers extra/mesa/mesa.toml B docbook-sgml extra/fontconfig/fontconfig.toml B docbook-sgml extra/valgrind/valgrind.toml +B docbook-xml extra/giflib/giflib.toml B docbook-xml extra/valgrind/valgrind.toml B docbook-xsl core/libxml215/libxml215.toml B docbook-xsl extra/bubblewrap/bubblewrap.toml B docbook-xsl extra/dbus/dbus.toml +B docbook-xsl extra/giflib/giflib.toml B docbook-xsl extra/shared-mime-info/shared-mime-info.toml B docbook-xsl extra/valgrind/valgrind.toml B docbook-xsl extra/wayland/wayland.toml B docbook-xsl extra/xmlto/xmlto.toml B doxygen core/libxml215/libxml215.toml B doxygen extra/dbus/dbus.toml +B doxygen extra/libdatrie/libdatrie.toml +B doxygen extra/libthai/libthai.toml B elfutils extra/mesa/mesa.toml B expat extra/mesa/mesa.toml +B flang extra/lapack/lapack.toml +B flang extra/r/r.toml B flex extra/doxygen/doxygen.toml B flex extra/jq/jq.toml B freeglut extra/libtiff/libtiff.toml B freetype2 extra/harfbuzz/harfbuzz.toml B gettext core/linux/linux.toml B gettext extra/shared-mime-info/shared-mime-info.toml +B giflib extra/libgdiplus/libgdiplus.toml B giflib extra/libwebp/libwebp.toml B git core/limine/limine.toml B git core/linux-firmware/linux-firmware.toml B git core/llvm/llvm.toml B git core/mkinitramfs/mkinitramfs.toml B git extra/mkdocs/mkdocs.toml +B git extra/python-accessible-pygments/python-accessible-pygments.toml B git extra/python-charset-normalizer/python-charset-normalizer.toml +B git extra/python-gobject/python-gobject.toml B git extra/python-hatch-requirements-txt/python-hatch-requirements-txt.toml B git extra/python-importlib-metadata/python-importlib-metadata.toml +B git extra/python-iniconfig/python-iniconfig.toml B git extra/python-pdm-backend/python-pdm-backend.toml +B git extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml +B git extra/python-pytest/python-pytest.toml B git extra/python-requests/python-requests.toml B git extra/python-semantic-version/python-semantic-version.toml B git extra/python-setuptools-rust/python-setuptools-rust.toml @@ -122,11 +143,16 @@ B glslang extra/mesa/mesa.toml B glu extra/libtiff/libtiff.toml B gnutls core/curl/curl.toml B gobject-introspection extra/harfbuzz/harfbuzz.toml +B gobject-introspection extra/librsvg/librsvg.toml +B gobject-introspection extra/pango/pango.toml B gperf extra/fontconfig/fontconfig.toml B gtk-doc extra/cairo/cairo.toml +B gtk-doc extra/dconf/dconf.toml B gtk-doc extra/harfbuzz/harfbuzz.toml +B guile extra/graphviz/graphviz.toml B harfbuzz extra/freetype2/freetype2.toml B help2man extra/harfbuzz/harfbuzz.toml +B help2man extra/pango/pango.toml B help2man extra/vala/vala.toml B hwdata extra/libdisplay-info/libdisplay-info.toml B icu78 extra/harfbuzz/harfbuzz.toml @@ -158,6 +184,7 @@ B libpng extra/mesa/mesa.toml B libpng extra/pixman/pixman.toml B libsndfile extra/libsamplerate/libsamplerate.toml B libssh2 core/libgit2/libgit2.toml +B libtiff extra/libwebp/libwebp.toml B libunwind extra/freetype2/freetype2.toml B libunwind extra/mesa/mesa.toml B libusb extra/hidapi/hidapi.toml @@ -169,10 +196,12 @@ B libx11 extra/vulkan-icd-loader/vulkan-icd-loader.toml B libxcb extra/mesa/mesa.toml B libxext extra/libglvnd/libglvnd.toml B libxext extra/mesa/mesa.toml +B libxinerama extra/sdl3/sdl3.toml B libxml215 core/llvm/llvm.toml B libxml215 extra/mesa/mesa.toml B libxml215 extra/xcb-proto/xcb-proto.toml B libxrandr extra/mesa/mesa.toml +B libxrandr extra/sdl3/sdl3.toml B libxrandr extra/vulkan-icd-loader/vulkan-icd-loader.toml B libxshmfence extra/mesa/mesa.toml B libxslt extra/bubblewrap/bubblewrap.toml @@ -180,6 +209,7 @@ B libxslt extra/libxcb/libxcb.toml B libxslt extra/vala/vala.toml B libxslt extra/wayland/wayland.toml B libxslt extra/yelp-xsl/yelp-xsl.toml +B libxss extra/sdl3/sdl3.toml B libxxf86vm extra/mesa/mesa.toml B linux-headers core/iproute2/iproute2.toml B llvm core/bc/bc.toml @@ -188,6 +218,7 @@ B llvm core/rust/rust.toml B llvm core/tcl/tcl.toml B llvm extra/mesa/mesa.toml B llvm-libs extra/mesa/mesa.toml +B lua extra/graphviz/graphviz.toml B make core/bc/bc.toml B make core/man-pages/man-pages.toml B make core/tcl/tcl.toml @@ -196,6 +227,7 @@ B maturin extra/python-orjson/python-orjson.toml B mesa extra/freeglut/freeglut.toml B mesa extra/libtiff/libtiff.toml B mesa extra/libva/libva.toml +B mesa extra/sdl3/sdl3.toml B meson core/ca-certs/ca-certs.toml B meson core/depot/depot.toml B meson core/kmod/kmod.toml @@ -207,29 +239,38 @@ B meson core/p11-kit/p11-kit.toml B meson core/pam/pam.toml B meson core/vexlum/vexlum.toml B meson core/vx/vx.toml +B meson extra/adwaita-fonts/adwaita-fonts.toml B meson extra/bubblewrap/bubblewrap.toml B meson extra/cairo/cairo.toml B meson extra/dav1d/dav1d.toml B meson extra/dbus/dbus.toml +B meson extra/dconf/dconf.toml B meson extra/directx-headers/directx-headers.toml B meson extra/fontconfig/fontconfig.toml B meson extra/freetype2/freetype2.toml +B meson extra/fribidi/fribidi.toml B meson extra/glu/glu.toml B meson extra/gobject-introspection/gobject-introspection.toml B meson extra/gtk-doc/gtk-doc.toml B meson extra/harfbuzz/harfbuzz.toml +B meson extra/hicolor-icon-theme/hicolor-icon-theme.toml B meson extra/jsoncpp/jsoncpp.toml B meson extra/leancrypto/leancrypto.toml B meson extra/libdisplay-info/libdisplay-info.toml B meson extra/libdrm/libdrm.toml B meson extra/libglvnd/libglvnd.toml B meson extra/libpciaccess/libpciaccess.toml +B meson extra/librsvg/librsvg.toml B meson extra/libva-intel-driver/libva-intel-driver.toml B meson extra/libva/libva.toml B meson extra/libxau/libxau.toml B meson extra/mesa/mesa.toml B meson extra/opus/opus.toml +B meson extra/pango/pango.toml B meson extra/pixman/pixman.toml +B meson extra/python-cairo/python-cairo.toml +B meson extra/python-dbus/python-dbus.toml +B meson extra/python-gobject/python-gobject.toml B meson extra/shared-mime-info/shared-mime-info.toml B meson extra/wayland-protocols/wayland-protocols.toml B meson extra/wayland/wayland.toml @@ -245,6 +286,7 @@ B nasm core/limine/limine.toml B nasm extra/dav1d/dav1d.toml B nasm extra/flac/flac.toml B nasm extra/lame/lame.toml +B nasm extra/libavif/libavif.toml B nasm extra/libjpeg-turbo/libjpeg-turbo.toml B nasm extra/rav1e/rav1e.toml B nasm extra/svt-av1/svt-av1.toml @@ -271,6 +313,8 @@ B ninja extra/gtest/gtest.toml B ninja extra/intel-gmmlib/intel-gmmlib.toml B ninja extra/intel-media-driver/intel-media-driver.toml B ninja extra/json-c/json-c.toml +B ninja extra/lapack/lapack.toml +B ninja extra/libavif/libavif.toml B ninja extra/libclc/libclc.toml B ninja extra/libdeflate/libdeflate.toml B ninja extra/libdisplay-info/libdisplay-info.toml @@ -282,6 +326,8 @@ B ninja extra/libsndfile/libsndfile.toml B ninja extra/libwebp/libwebp.toml B ninja extra/libyuv/libyuv.toml B ninja extra/nodejs/nodejs.toml +B ninja extra/sdl2-compat/sdl2-compat.toml +B ninja extra/sdl3/sdl3.toml B ninja extra/spdlog/spdlog.toml B ninja extra/spirv-headers/spirv-headers.toml B ninja extra/spirv-llvm-translator/spirv-llvm-translator.toml @@ -293,17 +339,20 @@ B ninja lib32/libcxx/libcxx.toml B ninja lib32/libunwind/libunwind.toml B nlohmann-json extra/cmake/cmake.toml B nlohmann-json extra/cppdap/cppdap.toml +B nodejs extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml B npm extra/fmt/fmt.toml B openssl core/libgit2/libgit2.toml B openssl core/linux/linux.toml B opus extra/libsamplerate/libsamplerate.toml B pandoc extra/flac/flac.toml +B pandoc extra/libavif/libavif.toml B parallel core/linux-firmware/linux-firmware.toml B patchelf core/curl/curl.toml B patchelf extra/python-orjson/python-orjson.toml B pcre2 core/libgit2/libgit2.toml B perl core/linux/linux.toml B perl core/rust/rust.toml +B perl extra/graphviz/graphviz.toml B perl extra/parallel/parallel.toml B perl-pod-pom-view-restructured extra/parallel/parallel.toml B perl-pod2pdf extra/parallel/parallel.toml @@ -326,14 +375,17 @@ B python core/rust/rust.toml B python extra/brotli/brotli.toml B python extra/catch2/catch2.toml B python extra/dbus/dbus.toml +B python extra/dconf/dconf.toml B python extra/doxygen/doxygen.toml B python extra/git/git.toml B python extra/glslang/glslang.toml B python extra/graphite/graphite.toml +B python extra/graphviz/graphviz.toml B python extra/gtest/gtest.toml B python extra/harfbuzz/harfbuzz.toml B python extra/jq/jq.toml B python extra/jsoncpp/jsoncpp.toml +B python extra/lapack/lapack.toml B python extra/libcap-ng/libcap-ng.toml B python extra/libclc/libclc.toml B python extra/libdisplay-info/libdisplay-info.toml @@ -350,11 +402,16 @@ B python extra/xcb-proto/xcb-proto.toml B python extra/yasm/yasm.toml B python lib32/libcxx/libcxx.toml B python lib32/libunwind/libunwind.toml +B python-cairo extra/python-gobject/python-gobject.toml B python-calver extra/python-trove-classifiers/python-trove-classifiers.toml +B python-diagnostic extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml B python-docutils extra/libdrm/libdrm.toml +B python-docutils extra/librsvg/librsvg.toml +B python-docutils extra/pango/pango.toml B python-flit-core core/python-packaging/python-packaging.toml B python-flit-core core/python-wheel/python-wheel.toml B python-flit-core extra/python-click/python-click.toml +B python-flit-core extra/python-diagnostic/python-diagnostic.toml B python-flit-core extra/python-docutils/python-docutils.toml B python-flit-core extra/python-editables/python-editables.toml B python-flit-core extra/python-idna/python-idna.toml @@ -369,6 +426,7 @@ B python-flit-core extra/python-pyproject-metadata/python-pyproject-metadata.tom B python-flit-core extra/python-pyyaml-env-tag/python-pyyaml-env-tag.toml B python-flit-core extra/python-roman-numerals-py/python-roman-numerals-py.toml B python-flit-core extra/python-sphinx-alabaster-theme/python-sphinx-alabaster-theme.toml +B python-flit-core extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml B python-flit-core extra/python-sphinx/python-sphinx.toml B python-flit-core extra/python-sphinxcontrib-applehelp/python-sphinxcontrib-applehelp.toml B python-flit-core extra/python-sphinxcontrib-devhelp/python-sphinxcontrib-devhelp.toml @@ -377,20 +435,28 @@ B python-flit-core extra/python-sphinxcontrib-jquery/python-sphinxcontrib-jquery B python-flit-core extra/python-sphinxcontrib-qthelp/python-sphinxcontrib-qthelp.toml B python-flit-core extra/python-sphinxcontrib-serializinghtml/python-sphinxcontrib-serializinghtml.toml B python-flit-core extra/python-tomli-w/python-tomli-w.toml +B python-flit-core extra/python-tomli/python-tomli.toml B python-flit-core extra/python-typing_extensions/python-typing_extensions.toml +B python-gobject extra/python-dbus/python-dbus.toml +B python-hatch-fancy-pypi-readme extra/python-accessible-pygments/python-accessible-pygments.toml B python-hatch-nodejs-version extra/mkdocs-material/mkdocs-material.toml B python-hatch-requirements-txt extra/mkdocs-material/mkdocs-material.toml +B python-hatch-vcs extra/python-accessible-pygments/python-accessible-pygments.toml B python-hatch-vcs extra/python-platformdirs/python-platformdirs.toml B python-hatch-vcs extra/python-urllib3/python-urllib3.toml B python-hatchling extra/mkdocs-get-deps/mkdocs-get-deps.toml B python-hatchling extra/mkdocs-material/mkdocs-material.toml B python-hatchling extra/mkdocs/mkdocs.toml +B python-hatchling extra/python-accessible-pygments/python-accessible-pygments.toml B python-hatchling extra/python-backrefs/python-backrefs.toml +B python-hatchling extra/python-beautifulsoup4/python-beautifulsoup4.toml B python-hatchling extra/python-colorama/python-colorama.toml B python-hatchling extra/python-platformdirs/python-platformdirs.toml B python-hatchling extra/python-pygments/python-pygments.toml B python-hatchling extra/python-pymdown-extensions/python-pymdown-extensions.toml +B python-hatchling extra/python-soupsieve/python-soupsieve.toml B python-hatchling extra/python-sphinx-hawkmoth/python-sphinx-hawkmoth.toml +B python-hatchling extra/python-typogrify/python-typogrify.toml B python-hatchling extra/python-urllib3/python-urllib3.toml B python-lxml extra/vulkan-icd-loader/vulkan-icd-loader.toml B python-mako extra/mesa/mesa.toml @@ -402,9 +468,12 @@ B python-pdm-backend extra/mkdocstrings/mkdocstrings.toml B python-pkgconfig extra/brotli/brotli.toml B python-ply extra/mesa/mesa.toml B python-poetry-core extra/python-pkgconfig/python-pkgconfig.toml +B python-poetry-core extra/python-rich/python-rich.toml B python-psutil core/llvm/llvm.toml +B python-pydata-sphinx-theme extra/python-gobject/python-gobject.toml B python-pygments extra/python-lxml/python-lxml.toml B python-pymdown-extensions extra/fmt/fmt.toml +B python-pyproject-metadata extra/python-dbus/python-dbus.toml B python-regex extra/fmt/fmt.toml B python-setuptools core/llvm/llvm.toml B python-setuptools core/meson/meson.toml @@ -425,11 +494,14 @@ B python-setuptools extra/python-charset-normalizer/python-charset-normalizer.to B python-setuptools extra/python-fastjsonschema/python-fastjsonschema.toml B python-setuptools extra/python-fonttools/python-fonttools.toml B python-setuptools extra/python-ghp-import/python-ghp-import.toml +B python-setuptools extra/python-gobject/python-gobject.toml B python-setuptools extra/python-imagesize/python-imagesize.toml B python-setuptools extra/python-importlib-metadata/python-importlib-metadata.toml +B python-setuptools extra/python-iniconfig/python-iniconfig.toml B python-setuptools extra/python-lark-parser/python-lark-parser.toml B python-setuptools extra/python-librt/python-librt.toml B python-setuptools extra/python-lxml/python-lxml.toml +B python-setuptools extra/python-magic/python-magic.toml B python-setuptools extra/python-mako/python-mako.toml B python-setuptools extra/python-markdown/python-markdown.toml B python-setuptools extra/python-mergedeep/python-mergedeep.toml @@ -440,12 +512,15 @@ B python-setuptools extra/python-ply/python-ply.toml B python-setuptools extra/python-psutil/python-psutil.toml B python-setuptools extra/python-pycparser/python-pycparser.toml B python-setuptools extra/python-pygments/python-pygments.toml +B python-setuptools extra/python-pytest/python-pytest.toml B python-setuptools extra/python-pytz/python-pytz.toml B python-setuptools extra/python-regex/python-regex.toml B python-setuptools extra/python-requests/python-requests.toml B python-setuptools extra/python-semantic-version/python-semantic-version.toml B python-setuptools extra/python-six/python-six.toml +B python-setuptools extra/python-smartypants/python-smartypants.toml B python-setuptools extra/python-snowballstemmer/python-snowballstemmer.toml +B python-setuptools extra/python-sphinx-copybutton/python-sphinx-copybutton.toml B python-setuptools extra/python-sphinx-hawkmoth/python-sphinx-hawkmoth.toml B python-setuptools extra/python-sphinxcontrib-jsmath/python-sphinxcontrib-jsmath.toml B python-setuptools extra/python-trove-classifiers/python-trove-classifiers.toml @@ -454,8 +529,11 @@ B python-setuptools extra/python-wcag-contrast-ratio/python-wcag-contrast-ratio. B python-setuptools extra/python-yaml/python-yaml.toml B python-setuptools-rust extra/maturin/maturin.toml B python-setuptools-scm extra/python-importlib-metadata/python-importlib-metadata.toml +B python-setuptools-scm extra/python-iniconfig/python-iniconfig.toml B python-setuptools-scm extra/python-lark-parser/python-lark-parser.toml +B python-setuptools-scm extra/python-nodeenv/python-nodeenv.toml B python-setuptools-scm extra/python-pluggy/python-pluggy.toml +B python-setuptools-scm extra/python-pytest/python-pytest.toml B python-setuptools-scm extra/python-setuptools-rust/python-setuptools-rust.toml B python-setuptools-scm extra/python-sphinx_rtd_theme/python-sphinx_rtd_theme.toml B python-setuptools-scm extra/python-zipp/python-zipp.toml @@ -463,10 +541,19 @@ B python-sphinx core/llvm/llvm.toml B python-sphinx extra/fish/fish.toml B python-sphinx extra/gobject-introspection/gobject-introspection.toml B python-sphinx extra/mesa/mesa.toml +B python-sphinx extra/python-cairo/python-cairo.toml +B python-sphinx extra/python-dbus/python-dbus.toml +B python-sphinx extra/python-gobject/python-gobject.toml B python-sphinx extra/python-lxml/python-lxml.toml B python-sphinx extra/python-pygments/python-pygments.toml +B python-sphinx-copybutton extra/python-gobject/python-gobject.toml B python-sphinx-hawkmoth extra/mesa/mesa.toml +B python-sphinx-theme-builder extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml +B python-sphinx_rtd_theme extra/python-cairo/python-cairo.toml +B python-sphinx_rtd_theme extra/python-dbus/python-dbus.toml B python-sphinx_rtd_theme extra/python-lxml/python-lxml.toml +B python-sphinxcontrib-jquery extra/python-dbus/python-dbus.toml +B python-tomli extra/python-dbus/python-dbus.toml B python-wcag-contrast-ratio extra/python-pygments/python-pygments.toml B python-wheel core/llvm/llvm.toml B python-wheel core/meson/meson.toml @@ -496,11 +583,13 @@ B python-wheel extra/python-importlib-metadata/python-importlib-metadata.toml B python-wheel extra/python-lark-parser/python-lark-parser.toml B python-wheel extra/python-librt/python-librt.toml B python-wheel extra/python-lxml/python-lxml.toml +B python-wheel extra/python-magic/python-magic.toml B python-wheel extra/python-mako/python-mako.toml B python-wheel extra/python-markdown/python-markdown.toml B python-wheel extra/python-mdurl/python-mdurl.toml B python-wheel extra/python-mypy_extensions/python-mypy_extensions.toml B python-wheel extra/python-myst-parser/python-myst-parser.toml +B python-wheel extra/python-nodeenv/python-nodeenv.toml B python-wheel extra/python-parameterized/python-parameterized.toml B python-wheel extra/python-pathspec/python-pathspec.toml B python-wheel extra/python-pexpect/python-pexpect.toml @@ -510,22 +599,27 @@ B python-wheel extra/python-ptyprocess/python-ptyprocess.toml B python-wheel extra/python-pycparser/python-pycparser.toml B python-wheel extra/python-pygments/python-pygments.toml B python-wheel extra/python-pymdown-extensions/python-pymdown-extensions.toml +B python-wheel extra/python-pytest/python-pytest.toml B python-wheel extra/python-pyyaml-env-tag/python-pyyaml-env-tag.toml B python-wheel extra/python-regex/python-regex.toml B python-wheel extra/python-requests/python-requests.toml +B python-wheel extra/python-rich/python-rich.toml B python-wheel extra/python-semantic-version/python-semantic-version.toml B python-wheel extra/python-setuptools-rust/python-setuptools-rust.toml B python-wheel extra/python-setuptools-scm/python-setuptools-scm.toml +B python-wheel extra/python-smartypants/python-smartypants.toml B python-wheel extra/python-sphinx-alabaster-theme/python-sphinx-alabaster-theme.toml B python-wheel extra/python-sphinx-hawkmoth/python-sphinx-hawkmoth.toml B python-wheel extra/python-sphinx_rtd_theme/python-sphinx_rtd_theme.toml B python-wheel extra/python-sphinxcontrib-jsmath/python-sphinxcontrib-jsmath.toml B python-wheel extra/python-trove-classifiers/python-trove-classifiers.toml +B python-wheel extra/python-typogrify/python-typogrify.toml B python-wheel extra/python-urllib3/python-urllib3.toml B python-wheel extra/python-watchdog/python-watchdog.toml B python-wheel extra/python-yaml/python-yaml.toml B python-wheel extra/python-zipp/python-zipp.toml B python-yaml extra/mesa/mesa.toml +B r extra/graphviz/graphviz.toml B ragel extra/harfbuzz/harfbuzz.toml B rdfind core/linux-firmware/linux-firmware.toml B rust core/ca-certs/ca-certs.toml @@ -551,32 +645,49 @@ B sqlite core/elfutils/elfutils.toml B sqlite core/python/python.toml B sqlite extra/fastfetch/fastfetch.toml B sqlite extra/libsndfile/libsndfile.toml +B swig extra/graphviz/graphviz.toml B swig extra/libcap-ng/libcap-ng.toml B tar core/linux/linux.toml B tcl core/sqlite/sqlite.toml +B texinfo extra/guile/guile.toml B texinfo extra/mtools/mtools.toml +B tk extra/graphviz/graphviz.toml +B tk extra/r/r.toml B unzip extra/waf/waf.toml +B vala extra/dconf/dconf.toml +B vala extra/librsvg/librsvg.toml B valgrind extra/cairo/cairo.toml +B vulkan-headers extra/sdl3/sdl3.toml B vulkan-headers extra/vulkan-icd-loader/vulkan-icd-loader.toml B vulkan-icd-loader extra/mesa/mesa.toml B wayland extra/mesa/mesa.toml +B wayland extra/sdl3/sdl3.toml B wayland extra/vulkan-icd-loader/vulkan-icd-loader.toml B wayland extra/wayland-protocols/wayland-protocols.toml B wayland-protocols extra/mesa/mesa.toml +B wayland-protocols extra/sdl3/sdl3.toml B xcb-util-keysyms extra/mesa/mesa.toml B xmlto extra/dbus/dbus.toml +B xmlto extra/giflib/giflib.toml B xmlto extra/shared-mime-info/shared-mime-info.toml B xmlto extra/wayland/wayland.toml B xmlto extra/yasm/yasm.toml +B xorg-util-macros extra/libice/libice.toml B xorg-util-macros extra/libpciaccess/libpciaccess.toml +B xorg-util-macros extra/libsm/libsm.toml B xorg-util-macros extra/libx11/libx11.toml B xorg-util-macros extra/libxcb/libxcb.toml +B xorg-util-macros extra/libxcursor/libxcursor.toml B xorg-util-macros extra/libxdmcp/libxdmcp.toml B xorg-util-macros extra/libxext/libxext.toml B xorg-util-macros extra/libxfixes/libxfixes.toml B xorg-util-macros extra/libxi/libxi.toml +B xorg-util-macros extra/libxinerama/libxinerama.toml +B xorg-util-macros extra/libxmu/libxmu.toml B xorg-util-macros extra/libxrandr/libxrandr.toml B xorg-util-macros extra/libxshmfence/libxshmfence.toml +B xorg-util-macros extra/libxss/libxss.toml +B xorg-util-macros extra/libxt/libxt.toml B xorg-util-macros extra/xcb-util-keysyms/xcb-util-keysyms.toml B xorg-util-macros extra/xorgproto/xorgproto.toml B xorgproto extra/libglvnd/libglvnd.toml @@ -585,6 +696,8 @@ B xorgproto extra/libxrandr/libxrandr.toml B xorgproto extra/libxshmfence/libxshmfence.toml B xorgproto extra/mesa/mesa.toml B xorgproto extra/xcb-util-keysyms/xcb-util-keysyms.toml +B xtrans extra/libice/libice.toml +B xtrans extra/libsm/libsm.toml B xtrans extra/libx11/libx11.toml B xxhash extra/dav1d/dav1d.toml B xz core/elfutils/elfutils.toml @@ -610,14 +723,18 @@ C pandoc-cli extra/pandoc-bin/pandoc-bin.toml C vulkan-mesa extra/mesa/mesa.toml C vulkan-mesa-layer extra/mesa/mesa.toml O alsa-lib extra/libsndfile/libsndfile.toml +O alsa-lib extra/sdl3/sdl3.toml O automake extra/autoconf-archive/autoconf-archive.toml +O blas-openblas extra/r/r.toml O cairo extra/libdrm/libdrm.toml O dblatex extra/asciidoc/asciidoc.toml +O flang extra/r/r.toml O fop extra/asciidoc/asciidoc.toml O freeglut extra/libtiff/libtiff.toml O graphviz extra/asciidoc/asciidoc.toml O groff extra/fish/fish.toml O groff extra/pandoc-bin/pandoc-bin.toml +O guile extra/graphviz/graphviz.toml O hwdata extra/fastfetch/fastfetch.toml O imagemagick extra/asciidoc/asciidoc.toml O intel-media-driver extra/libva/libva.toml @@ -636,14 +753,17 @@ O linux-firmware-nfp core/linux-firmware/linux-firmware.toml O linux-firmware-qcom core/linux-firmware/linux-firmware.toml O linux-firmware-qlogic core/linux-firmware/linux-firmware.toml O linux-headers core/linux/linux.toml +O lua extra/graphviz/graphviz.toml O lynx extra/asciidoc/asciidoc.toml O man-db extra/git/git.toml O mandoc extra/fish/fish.toml +O nodejs extra/python-nodeenv/python-nodeenv.toml O opencl-headers extra/mesa/mesa.toml O opengl-man-pages extra/mesa/mesa.toml O openssh extra/git/git.toml O org.freedesktop.secrets extra/git/git.toml O pandoc-crossref extra/pandoc-bin/pandoc-bin.toml +O perl extra/graphviz/graphviz.toml O perl extra/jemalloc/jemalloc.toml O perl-authen-sasl extra/git/git.toml O perl-cgi extra/git/git.toml @@ -655,6 +775,7 @@ O python extra/brotli/brotli.toml O python extra/fastfetch/fastfetch.toml O python extra/fish/fish.toml O python extra/git/git.toml +O python extra/graphviz/graphviz.toml O python extra/gtest/gtest.toml O python extra/libcap-ng/libcap-ng.toml O python extra/libxslt/libxslt.toml @@ -667,17 +788,24 @@ O python-beautifulsoup4 extra/python-lxml/python-lxml.toml O python-brotli extra/python-fonttools/python-fonttools.toml O python-brotli extra/python-urllib3/python-urllib3.toml O python-brotlicffi extra/python-urllib3/python-urllib3.toml +O python-cairo extra/python-gobject/python-gobject.toml +O python-cchardet extra/python-beautifulsoup4/python-beautifulsoup4.toml +O python-chardet extra/python-beautifulsoup4/python-beautifulsoup4.toml +O python-click extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml O python-cssselect extra/python-lxml/python-lxml.toml O python-dogpile.cache extra/python-mako/python-mako.toml O python-editables extra/python-pdm-backend/python-pdm-backend.toml O python-fs extra/python-fonttools/python-fonttools.toml +O python-gobject extra/python-dbus/python-dbus.toml O python-google-re2 extra/python-pathspec/python-pathspec.toml O python-h2 extra/python-urllib3/python-urllib3.toml +O python-html5lib extra/python-beautifulsoup4/python-beautifulsoup4.toml O python-html5lib extra/python-lxml/python-lxml.toml O python-linkify-it-py extra/python-markdown-it-py/python-markdown-it-py.toml O python-linkify-it-py extra/python-myst-parser/python-myst-parser.toml O python-lunr extra/mkdocs/mkdocs.toml O python-lxml extra/mypy/mypy.toml +O python-lxml extra/python-beautifulsoup4/python-beautifulsoup4.toml O python-lxml extra/python-fonttools/python-fonttools.toml O python-lxml-docs extra/python-lxml/python-lxml.toml O python-lxml-html-clean extra/python-lxml/python-lxml.toml @@ -703,29 +831,35 @@ O python-rich extra/python-setuptools-scm/python-setuptools-scm.toml O python-scipy extra/python-fonttools/python-fonttools.toml O python-setuptools extra/mypy/mypy.toml O python-setuptools extra/python-pdm-backend/python-pdm-backend.toml +O python-sphinx-autobuild extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml O python-sympy extra/python-fonttools/python-fonttools.toml O python-unicodedata2 extra/python-fonttools/python-fonttools.toml O python-weasyprint extra/pandoc-bin/pandoc-bin.toml O python-yaml extra/python-markdown/python-markdown.toml O python-yaml extra/python-watchdog/python-watchdog.toml O python-zopfli extra/python-fonttools/python-fonttools.toml +O r extra/graphviz/graphviz.toml O sh core/pcre2/pcre2.toml O source-highlight extra/asciidoc/asciidoc.toml O sqlite extra/fastfetch/fastfetch.toml O subversion extra/git/git.toml +O tcl extra/graphviz/graphviz.toml O texlive-context extra/pandoc-bin/pandoc-bin.toml O tk extra/git/git.toml O tpm2-tss extra/gnutls/gnutls.toml O typst extra/pandoc-bin/pandoc-bin.toml +O vulkan-driver extra/sdl3/sdl3.toml O vulkan-driver extra/vulkan-icd-loader/vulkan-icd-loader.toml O vulkan-mesa-layers extra/mesa/mesa.toml O w3m extra/asciidoc/asciidoc.toml O wl-clipboard extra/fish/fish.toml O xclip extra/fish/fish.toml O xsel extra/fish/fish.toml +O xterm extra/graphviz/graphviz.toml O zlib-ng extra/fastfetch/fastfetch.toml P abseil-cpp extra/abseil-cpp/abseil-cpp.toml P acl core/acl/acl.toml +P adwaita-fonts extra/adwaita-fonts/adwaita-fonts.toml P alsa-lib extra/alsa-lib/alsa-lib.toml P alsa-topology-conf extra/alsa-topology-conf/alsa-topology-conf.toml P alsa-ucm-conf extra/alsa-ucm-conf/alsa-ucm-conf.toml @@ -759,6 +893,7 @@ P dash core/dash/dash.toml P dav1d extra/dav1d/dav1d.toml P db5.3 extra/db5.3/db5.3.toml P dbus extra/dbus/dbus.toml +P dconf extra/dconf/dconf.toml P default-cursors extra/default-cursors/default-cursors.toml P dejagnu core/dejagnu/dejagnu.toml P depot core/depot/depot.toml @@ -788,9 +923,12 @@ P fmt extra/fmt/fmt.toml P fontconfig extra/fontconfig/fontconfig.toml P freeglut extra/freeglut/freeglut.toml P freetype2 extra/freetype2/freetype2.toml +P fribidi extra/fribidi/fribidi.toml P gawk core/gawk/gawk.toml +P gc extra/gc/gc.toml P gdbm core/gdbm/gdbm.toml P gettext core/gettext/gettext.toml +P giflib extra/giflib/giflib.toml P git extra/git/git.toml P glibc core/glibc/glibc.toml P glslang extra/glslang/glslang.toml @@ -801,14 +939,18 @@ P gnutls extra/gnutls/gnutls.toml P gobject-introspection extra/gobject-introspection/gobject-introspection.toml P gperf core/gperf/gperf.toml P graphite extra/graphite/graphite.toml +P graphviz extra/graphviz/graphviz.toml P grep core/grep/grep.toml P groff core/groff/groff.toml P gsfonts extra/gsfonts/gsfonts.toml P gtest extra/gtest/gtest.toml P gtk-doc extra/gtk-doc/gtk-doc.toml +P gts extra/gts/gts.toml +P guile extra/guile/guile.toml P gzip core/gzip/gzip.toml P harfbuzz extra/harfbuzz/harfbuzz.toml P help2man extra/help2man/help2man.toml +P hicolor-icon-theme extra/hicolor-icon-theme/hicolor-icon-theme.toml P hidapi extra/hidapi/hidapi.toml P hwdata extra/hwdata/hwdata.toml P iana-etc core/iana-etc/iana-etc.toml @@ -827,26 +969,33 @@ P jsoncpp extra/jsoncpp/jsoncpp.toml P kbd core/kbd/kbd.toml P kmod core/kmod/kmod.toml P lame extra/lame/lame.toml +P lapack extra/lapack/lapack.toml +P lcms2 extra/lcms2/lcms2.toml P leancrypto extra/leancrypto/leancrypto.toml P less core/less/less.toml P libarchive core/libarchive/libarchive.toml P libatomic-chimera core/libatomic-chimera/libatomic-chimera.toml +P libavif extra/libavif/libavif.toml P libb2 extra/libb2/libb2.toml P libcap core/libcap/libcap.toml P libcap-ng extra/libcap-ng/libcap-ng.toml P libclc extra/libclc/libclc.toml P libcxx lib32/libcxx/libcxx.toml +P libdatrie extra/libdatrie/libdatrie.toml P libdeflate extra/libdeflate/libdeflate.toml P libdisplay-info extra/libdisplay-info/libdisplay-info.toml P libdrm extra/libdrm/libdrm.toml P libedit core/libedit/libedit.toml P libevent extra/libevent/libevent.toml +P libexif extra/libexif/libexif.toml P libfabric extra/libfabric/libfabric.toml P libffi core/libffi/libffi.toml P libgcrypt extra/libgcrypt/libgcrypt.toml +P libgdiplus extra/libgdiplus/libgdiplus.toml P libgit2 core/libgit2/libgit2.toml P libglvnd extra/libglvnd/libglvnd.toml P libgpg-error extra/libgpg-error/libgpg-error.toml +P libice extra/libice/libice.toml P libidn2 core/libidn2/libidn2.toml P libjpeg-turbo extra/libjpeg-turbo/libjpeg-turbo.toml P libmicrohttpd extra/libmicrohttpd/libmicrohttpd.toml @@ -858,11 +1007,14 @@ P libpciaccess extra/libpciaccess/libpciaccess.toml P libpipeline core/libpipeline/libpipeline.toml P libpng extra/libpng/libpng.toml P libpsl core/libpsl/libpsl.toml +P librsvg extra/librsvg/librsvg.toml P libsamplerate extra/libsamplerate/libsamplerate.toml +P libsm extra/libsm/libsm.toml P libsndfile extra/libsndfile/libsndfile.toml P libsodium core/libsodium/libsodium.toml P libssh2 core/libssh2/libssh2.toml P libtasn1 core/libtasn1/libtasn1.toml +P libthai extra/libthai/libthai.toml P libtiff extra/libtiff/libtiff.toml P libtool core/libtool/libtool.toml P libtpms extra/libtpms/libtpms.toml @@ -878,15 +1030,21 @@ P libx11 extra/libx11/libx11.toml P libxau extra/libxau/libxau.toml P libxcb extra/libxcb/libxcb.toml P libxcrypt core/libxcrypt/libxcrypt.toml +P libxcursor extra/libxcursor/libxcursor.toml P libxdmcp extra/libxdmcp/libxdmcp.toml P libxext extra/libxext/libxext.toml P libxfixes extra/libxfixes/libxfixes.toml +P libxft extra/libxft/libxft.toml P libxi extra/libxi/libxi.toml +P libxinerama extra/libxinerama/libxinerama.toml P libxml215 core/libxml215/libxml215.toml +P libxmu extra/libxmu/libxmu.toml P libxrandr extra/libxrandr/libxrandr.toml P libxrender extra/libxrender/libxrender.toml P libxshmfence extra/libxshmfence/libxshmfence.toml P libxslt extra/libxslt/libxslt.toml +P libxss extra/libxss/libxss.toml +P libxt extra/libxt/libxt.toml P libxxf86vm extra/libxxf86vm/libxxf86vm.toml P libyaml extra/libyaml/libyaml.toml P libyuv extra/libyuv/libyuv.toml @@ -896,6 +1054,7 @@ P linux-firmware core/linux-firmware/linux-firmware.toml P linux-headers core/linux-headers/linux-headers.toml P llvm core/llvm-bootstrap/llvm.toml P llvm core/llvm/llvm.toml +P lua extra/lua/lua.toml P lz4 core/lz4/lz4.toml P lzo extra/lzo/lzo.toml P m4 core/m4/m4.toml @@ -922,6 +1081,7 @@ P nano core/nano/nano.toml P nasm extra/nasm/nasm.toml P ncurses core/ncurses/ncurses.toml P net-tools core/net-tools/net-tools.toml +P netpbm extra/netpbm/netpbm.toml P nettle extra/nettle/nettle.toml P ninja core/ninja/ninja.toml P nlohmann-json extra/nlohmann-json/nlohmann-json.toml @@ -934,6 +1094,7 @@ P opus extra/opus/opus.toml P p11-kit core/p11-kit/p11-kit.toml P pam core/pam/pam.toml P pandoc-bin extra/pandoc-bin/pandoc-bin.toml +P pango extra/pango/pango.toml P parallel extra/parallel/parallel.toml P patch core/patch/patch.toml P patchelf extra/patchelf/patchelf.toml @@ -964,19 +1125,26 @@ P popt extra/popt/popt.toml P procps-ng core/procps-ng/procps-ng.toml P psmisc core/psmisc/psmisc.toml P python core/python/python.toml +P python-accessible-pygments extra/python-accessible-pygments/python-accessible-pygments.toml P python-babel extra/python-babel/python-babel.toml P python-backrefs extra/python-backrefs/python-backrefs.toml +P python-beautifulsoup4 extra/python-beautifulsoup4/python-beautifulsoup4.toml +P python-cairo extra/python-cairo/python-cairo.toml P python-calver extra/python-calver/python-calver.toml P python-certifi extra/python-certifi/python-certifi.toml P python-charset-normalizer extra/python-charset-normalizer/python-charset-normalizer.toml P python-click extra/python-click/python-click.toml P python-colorama extra/python-colorama/python-colorama.toml +P python-dbus extra/python-dbus/python-dbus.toml +P python-diagnostic extra/python-diagnostic/python-diagnostic.toml P python-docutils extra/python-docutils/python-docutils.toml P python-editables extra/python-editables/python-editables.toml P python-fastjsonschema extra/python-fastjsonschema/python-fastjsonschema.toml P python-flit-core core/python-flit-core/python-flit-core.toml P python-fonttools extra/python-fonttools/python-fonttools.toml P python-ghp-import extra/python-ghp-import/python-ghp-import.toml +P python-gobject extra/python-gobject/python-gobject.toml +P python-hatch-fancy-pypi-readme extra/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.toml P python-hatch-nodejs-version extra/python-hatch-nodejs-version/python-hatch-nodejs-version.toml P python-hatch-requirements-txt extra/python-hatch-requirements-txt/python-hatch-requirements-txt.toml P python-hatch-vcs extra/python-hatch-vcs/python-hatch-vcs.toml @@ -984,10 +1152,12 @@ P python-hatchling extra/python-hatchling/python-hatchling.toml P python-idna extra/python-idna/python-idna.toml P python-imagesize extra/python-imagesize/python-imagesize.toml P python-importlib-metadata extra/python-importlib-metadata/python-importlib-metadata.toml +P python-iniconfig extra/python-iniconfig/python-iniconfig.toml P python-jinja core/python-jinja/python-jinja.toml P python-lark-parser extra/python-lark-parser/python-lark-parser.toml P python-librt extra/python-librt/python-librt.toml P python-lxml extra/python-lxml/python-lxml.toml +P python-magic extra/python-magic/python-magic.toml P python-mako extra/python-mako/python-mako.toml P python-markdown extra/python-markdown/python-markdown.toml P python-markdown-it-py extra/python-markdown-it-py/python-markdown-it-py.toml @@ -997,6 +1167,7 @@ P python-mdurl extra/python-mdurl/python-mdurl.toml P python-mergedeep extra/python-mergedeep/python-mergedeep.toml P python-mypy_extensions extra/python-mypy_extensions/python-mypy_extensions.toml P python-myst-parser extra/python-myst-parser/python-myst-parser.toml +P python-nodeenv extra/python-nodeenv/python-nodeenv.toml P python-orjson extra/python-orjson/python-orjson.toml P python-packaging core/python-packaging/python-packaging.toml P python-parameterized extra/python-parameterized/python-parameterized.toml @@ -1011,23 +1182,30 @@ P python-poetry-core extra/python-poetry-core/python-poetry-core.toml P python-psutil extra/python-psutil/python-psutil.toml P python-ptyprocess extra/python-ptyprocess/python-ptyprocess.toml P python-pycparser extra/python-pycparser/python-pycparser.toml +P python-pydata-sphinx-theme extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml P python-pygments extra/python-pygments/python-pygments.toml P python-pymdown-extensions extra/python-pymdown-extensions/python-pymdown-extensions.toml P python-pyproject-metadata extra/python-pyproject-metadata/python-pyproject-metadata.toml +P python-pytest extra/python-pytest/python-pytest.toml P python-pytz extra/python-pytz/python-pytz.toml P python-pyyaml-env-tag extra/python-pyyaml-env-tag/python-pyyaml-env-tag.toml P python-regex extra/python-regex/python-regex.toml P python-requests extra/python-requests/python-requests.toml +P python-rich extra/python-rich/python-rich.toml P python-roman-numerals-py extra/python-roman-numerals-py/python-roman-numerals-py.toml P python-semantic-version extra/python-semantic-version/python-semantic-version.toml P python-setuptools core/python-setuptools/python-setuptools.toml P python-setuptools-rust extra/python-setuptools-rust/python-setuptools-rust.toml P python-setuptools-scm extra/python-setuptools-scm/python-setuptools-scm.toml P python-six extra/python-six/python-six.toml +P python-smartypants extra/python-smartypants/python-smartypants.toml P python-snowballstemmer extra/python-snowballstemmer/python-snowballstemmer.toml +P python-soupsieve extra/python-soupsieve/python-soupsieve.toml P python-sphinx extra/python-sphinx/python-sphinx.toml P python-sphinx-alabaster-theme extra/python-sphinx-alabaster-theme/python-sphinx-alabaster-theme.toml +P python-sphinx-copybutton extra/python-sphinx-copybutton/python-sphinx-copybutton.toml P python-sphinx-hawkmoth extra/python-sphinx-hawkmoth/python-sphinx-hawkmoth.toml +P python-sphinx-theme-builder extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml P python-sphinx_rtd_theme extra/python-sphinx_rtd_theme/python-sphinx_rtd_theme.toml P python-sphinxcontrib-applehelp extra/python-sphinxcontrib-applehelp/python-sphinxcontrib-applehelp.toml P python-sphinxcontrib-devhelp extra/python-sphinxcontrib-devhelp/python-sphinxcontrib-devhelp.toml @@ -1036,15 +1214,18 @@ P python-sphinxcontrib-jquery extra/python-sphinxcontrib-jquery/python-sphinxcon P python-sphinxcontrib-jsmath extra/python-sphinxcontrib-jsmath/python-sphinxcontrib-jsmath.toml P python-sphinxcontrib-qthelp extra/python-sphinxcontrib-qthelp/python-sphinxcontrib-qthelp.toml P python-sphinxcontrib-serializinghtml extra/python-sphinxcontrib-serializinghtml/python-sphinxcontrib-serializinghtml.toml +P python-tomli extra/python-tomli/python-tomli.toml P python-tomli-w extra/python-tomli-w/python-tomli-w.toml P python-trove-classifiers extra/python-trove-classifiers/python-trove-classifiers.toml P python-typing_extensions extra/python-typing_extensions/python-typing_extensions.toml +P python-typogrify extra/python-typogrify/python-typogrify.toml P python-urllib3 extra/python-urllib3/python-urllib3.toml P python-watchdog extra/python-watchdog/python-watchdog.toml P python-wcag-contrast-ratio extra/python-wcag-contrast-ratio/python-wcag-contrast-ratio.toml P python-wheel core/python-wheel/python-wheel.toml P python-yaml extra/python-yaml/python-yaml.toml P python-zipp extra/python-zipp/python-zipp.toml +P r extra/r/r.toml P ragel extra/ragel/ragel.toml P rav1e extra/rav1e/rav1e.toml P rdfind extra/rdfind/rdfind.toml @@ -1053,6 +1234,8 @@ P readline core/readline/readline.toml P rhash extra/rhash/rhash.toml P rust core/rust/rust.toml P rust-bindgen extra/rust-bindgen/rust-bindgen.toml +P sdl2-compat extra/sdl2-compat/sdl2-compat.toml +P sdl3 extra/sdl3/sdl3.toml P sed core/sed/sed.toml P sgml-common extra/sgml-common/sgml-common.toml P shadow core/shadow/shadow.toml @@ -1069,6 +1252,7 @@ P swig extra/swig/swig.toml P tar core/tar/tar.toml P tcl core/tcl/tcl.toml P texinfo core/texinfo/texinfo.toml +P tk extra/tk/tk.toml P tzdata core/tzdata/tzdata.toml P util-linux core/util-linux/util-linux.toml P uutils-coreutils core/uutils-coreutils/uutils-coreutils.toml @@ -1105,6 +1289,7 @@ R acl core/libarchive/libarchive.toml R acl core/vx/vx.toml R alsa-topology-conf extra/alsa-lib/alsa-lib.toml R alsa-ucm-conf extra/alsa-lib/alsa-lib.toml +R aom extra/libavif/libavif.toml R attr core/acl/acl.toml R attr core/patch/patch.toml R autoconf core/development-base/development-base.toml @@ -1112,6 +1297,9 @@ R autoconf extra/autoconf-archive/autoconf-archive.toml R automake core/development-base/development-base.toml R base core/development-base/development-base.toml R bison core/development-base/development-base.toml +R blas extra/lapack/lapack.toml +R blas extra/r/r.toml +R blas64 extra/lapack/lapack.toml R brotli core/curl/curl.toml R brotli extra/freetype2/freetype2.toml R brotli extra/gnutls/gnutls.toml @@ -1124,11 +1312,17 @@ R bzip2 core/pcre2/pcre2.toml R bzip2 core/python/python.toml R bzip2 extra/freetype2/freetype2.toml R bzip2 extra/maturin/maturin.toml +R bzip2 extra/r/r.toml R c-ares extra/nodejs/nodejs.toml R ca-certs core/curl/curl.toml R ca-certs core/depot/depot.toml R ca-certs extra/python-certifi/python-certifi.toml R ca-certs extra/python-requests/python-requests.toml +R cairo extra/libgdiplus/libgdiplus.toml +R cairo extra/librsvg/librsvg.toml +R cairo extra/pango/pango.toml +R cairo extra/python-cairo/python-cairo.toml +R cairo extra/r/r.toml R cargo extra/cargo-c/cargo-c.toml R clang core/development-base/development-base.toml R clang core/rust/rust.toml @@ -1150,7 +1344,13 @@ R curl core/rust/rust.toml R curl extra/cargo-c/cargo-c.toml R curl extra/cmake/cmake.toml R curl extra/git/git.toml +R curl extra/r/r.toml R dash core/base/base.toml +R dav1d extra/libavif/libavif.toml +R dav1d extra/librsvg/librsvg.toml +R dbus extra/python-dbus/python-dbus.toml +R dbus extra/vala/vala.toml +R default-cursors extra/libxcursor/libxcursor.toml R default-cursors extra/wayland/wayland.toml R depot core/base/base.toml R depot core/development-base/development-base.toml @@ -1174,6 +1374,7 @@ R fakeroot core/development-base/development-base.toml R file core/base/base.toml R file core/development-base/development-base.toml R file core/nano/nano.toml +R file extra/python-magic/python-magic.toml R filesystem core/base/base.toml R filesystem core/fakeroot/fakeroot.toml R filesystem core/glibc/glibc.toml @@ -1187,23 +1388,40 @@ R flex core/development-base/development-base.toml R fmt extra/doxygen/doxygen.toml R fmt extra/spdlog/spdlog.toml R fontconfig extra/cairo/cairo.toml +R fontconfig extra/libgdiplus/libgdiplus.toml +R fontconfig extra/libxft/libxft.toml +R fontconfig extra/pango/pango.toml R freetype2 extra/cairo/cairo.toml R freetype2 extra/fontconfig/fontconfig.toml R freetype2 extra/harfbuzz/harfbuzz.toml +R freetype2 extra/librsvg/librsvg.toml +R freetype2 extra/libxft/libxft.toml +R freetype2 extra/pango/pango.toml +R fribidi extra/pango/pango.toml R gawk core/autoconf/autoconf.toml R gawk core/base/base.toml R gawk core/development-base/development-base.toml +R gc extra/guile/guile.toml R gdbm core/man-db/man-db.toml R gdbm core/perl/perl.toml R gdbm core/python/python.toml R gdbm core/zsh/zsh.toml +R gdk-pixbuf2 extra/librsvg/librsvg.toml R gettext core/base/base.toml R gettext core/development-base/development-base.toml R gettext extra/perl-locale-gettext/perl-locale-gettext.toml R glib2 extra/cairo/cairo.toml +R glib2 extra/dconf/dconf.toml R glib2 extra/gobject-introspection/gobject-introspection.toml R glib2 extra/gtk-doc/gtk-doc.toml +R glib2 extra/gts/gts.toml R glib2 extra/harfbuzz/harfbuzz.toml +R glib2 extra/libgdiplus/libgdiplus.toml +R glib2 extra/librsvg/librsvg.toml +R glib2 extra/pango/pango.toml +R glib2 extra/python-dbus/python-dbus.toml +R glib2 extra/python-gobject/python-gobject.toml +R glib2 extra/r/r.toml R glib2 extra/shared-mime-info/shared-mime-info.toml R glib2 extra/vala/vala.toml R glibc core/acl/acl.toml @@ -1322,6 +1540,7 @@ R glibc extra/cython/cython.toml R glibc extra/dav1d/dav1d.toml R glibc extra/db5.3/db5.3.toml R glibc extra/dbus/dbus.toml +R glibc extra/dconf/dconf.toml R glibc extra/double-conversion/double-conversion.toml R glibc extra/doxygen/doxygen.toml R glibc extra/efivar/efivar.toml @@ -1333,6 +1552,8 @@ R glibc extra/fmt/fmt.toml R glibc extra/fontconfig/fontconfig.toml R glibc extra/freeglut/freeglut.toml R glibc extra/freetype2/freetype2.toml +R glibc extra/fribidi/fribidi.toml +R glibc extra/giflib/giflib.toml R glibc extra/glslang/glslang.toml R glibc extra/glu/glu.toml R glibc extra/gnutls/gnutls.toml @@ -1349,22 +1570,31 @@ R glibc extra/jq/jq.toml R glibc extra/json-c/json-c.toml R glibc extra/jsoncpp/jsoncpp.toml R glibc extra/lame/lame.toml +R glibc extra/lapack/lapack.toml R glibc extra/leancrypto/leancrypto.toml +R glibc extra/libavif/libavif.toml R glibc extra/libb2/libb2.toml R glibc extra/libcap-ng/libcap-ng.toml +R glibc extra/libdatrie/libdatrie.toml R glibc extra/libdeflate/libdeflate.toml R glibc extra/libdisplay-info/libdisplay-info.toml R glibc extra/libdrm/libdrm.toml R glibc extra/libevent/libevent.toml +R glibc extra/libexif/libexif.toml R glibc extra/libfabric/libfabric.toml R glibc extra/libgcrypt/libgcrypt.toml +R glibc extra/libgdiplus/libgdiplus.toml R glibc extra/libgpg-error/libgpg-error.toml +R glibc extra/libice/libice.toml R glibc extra/libjpeg-turbo/libjpeg-turbo.toml R glibc extra/libngtcp2/libngtcp2.toml R glibc extra/libogg/libogg.toml R glibc extra/libpciaccess/libpciaccess.toml +R glibc extra/librsvg/librsvg.toml R glibc extra/libsamplerate/libsamplerate.toml +R glibc extra/libsm/libsm.toml R glibc extra/libsndfile/libsndfile.toml +R glibc extra/libthai/libthai.toml R glibc extra/libtiff/libtiff.toml R glibc extra/libtpms/libtpms.toml R glibc extra/libusb/libusb.toml @@ -1374,14 +1604,20 @@ R glibc extra/libwebp/libwebp.toml R glibc extra/libx11/libx11.toml R glibc extra/libxau/libxau.toml R glibc extra/libxcb/libxcb.toml +R glibc extra/libxcursor/libxcursor.toml R glibc extra/libxdmcp/libxdmcp.toml R glibc extra/libxext/libxext.toml R glibc extra/libxfixes/libxfixes.toml +R glibc extra/libxft/libxft.toml R glibc extra/libxi/libxi.toml +R glibc extra/libxinerama/libxinerama.toml +R glibc extra/libxmu/libxmu.toml R glibc extra/libxrandr/libxrandr.toml R glibc extra/libxrender/libxrender.toml R glibc extra/libxshmfence/libxshmfence.toml R glibc extra/libxslt/libxslt.toml +R glibc extra/libxss/libxss.toml +R glibc extra/libxt/libxt.toml R glibc extra/libxxf86vm/libxxf86vm.toml R glibc extra/libyaml/libyaml.toml R glibc extra/libyuv/libyuv.toml @@ -1390,23 +1626,30 @@ R glibc extra/maturin/maturin.toml R glibc extra/mesa/mesa.toml R glibc extra/mtools/mtools.toml R glibc extra/nasm/nasm.toml +R glibc extra/netpbm/netpbm.toml R glibc extra/nettle/nettle.toml R glibc extra/numactl/numactl.toml R glibc extra/opus/opus.toml +R glibc extra/pango/pango.toml R glibc extra/patchelf/patchelf.toml R glibc extra/perl-error/perl-error.toml R glibc extra/pixman/pixman.toml R glibc extra/popt/popt.toml +R glibc extra/python-dbus/python-dbus.toml +R glibc extra/python-gobject/python-gobject.toml R glibc extra/python-librt/python-librt.toml R glibc extra/python-lxml/python-lxml.toml R glibc extra/python-orjson/python-orjson.toml R glibc extra/python-psutil/python-psutil.toml R glibc extra/python-yaml/python-yaml.toml +R glibc extra/r/r.toml R glibc extra/rav1e/rav1e.toml R glibc extra/rdfind/rdfind.toml R glibc extra/re2/re2.toml R glibc extra/rhash/rhash.toml R glibc extra/rust-bindgen/rust-bindgen.toml +R glibc extra/sdl2-compat/sdl2-compat.toml +R glibc extra/sdl3/sdl3.toml R glibc extra/shared-mime-info/shared-mime-info.toml R glibc extra/spdlog/spdlog.toml R glibc extra/spirv-llvm-translator/spirv-llvm-translator.toml @@ -1425,34 +1668,49 @@ R glu extra/freeglut/freeglut.toml R gmp core/mpc/mpc.toml R gmp core/mpfr/mpfr.toml R gmp extra/gnutls/gnutls.toml +R gmp extra/guile/guile.toml R gmp extra/nettle/nettle.toml R gnutls extra/libmicrohttpd/libmicrohttpd.toml R gnutls extra/libngtcp2/libngtcp2.toml +R gobject-introspection extra/python-gobject/python-gobject.toml +R gobject-introspection extra/vala/vala.toml R graphite extra/harfbuzz/harfbuzz.toml +R graphviz extra/vala/vala.toml R grep core/base/base.toml R grep core/development-base/development-base.toml R grep extra/git/git.toml R groff core/development-base/development-base.toml R groff core/man-db/man-db.toml +R gsfonts extra/graphviz/graphviz.toml R gtest extra/abseil-cpp/abseil-cpp.toml R gtk-doc extra/vala/vala.toml +R gts extra/graphviz/graphviz.toml R gzip core/base/base.toml R gzip core/development-base/development-base.toml R gzip core/man-db/man-db.toml R harfbuzz extra/freetype2/freetype2.toml +R harfbuzz extra/libgdiplus/libgdiplus.toml +R harfbuzz extra/librsvg/librsvg.toml +R harfbuzz extra/pango/pango.toml +R hidapi extra/sdl3/sdl3.toml R icu78 core/libxml215/libxml215.toml R icu78 extra/nodejs/nodejs.toml +R icu78 extra/r/r.toml R initramfs core/linux/linux.toml R intel-gmmlib extra/intel-media-driver/intel-media-driver.toml R iproute2 core/base/base.toml R itstool extra/yelp-tools/yelp-tools.toml R jbigkit extra/libtiff/libtiff.toml +R jbigkit extra/netpbm/netpbm.toml R json-c core/elfutils/elfutils.toml R jsoncpp extra/cmake/cmake.toml R kbd core/base/base.toml R kmod core/linux/linux.toml R kmod core/mkinitramfs/mkinitramfs.toml R lame extra/libsndfile/libsndfile.toml +R lapack extra/lapack/lapack.toml +R lapack extra/r/r.toml +R lapack64 extra/lapack/lapack.toml R leancrypto extra/gnutls/gnutls.toml R less core/man-db/man-db.toml R lib32-glibc lib32/libcxx/libcxx.toml @@ -1487,6 +1745,7 @@ R libcxx extra/double-conversion/double-conversion.toml R libcxx extra/doxygen/doxygen.toml R libcxx extra/flac/flac.toml R libcxx extra/fmt/fmt.toml +R libcxx extra/gc/gc.toml R libcxx extra/glslang/glslang.toml R libcxx extra/glu/glu.toml R libcxx extra/gnutls/gnutls.toml @@ -1496,12 +1755,16 @@ R libcxx extra/intel-gmmlib/intel-gmmlib.toml R libcxx extra/intel-media-driver/intel-media-driver.toml R libcxx extra/jemalloc/jemalloc.toml R libcxx extra/jsoncpp/jsoncpp.toml +R libcxx extra/lapack/lapack.toml +R libcxx extra/libavif/libavif.toml R libcxx extra/libtiff/libtiff.toml R libcxx extra/libyuv/libyuv.toml R libcxx extra/maturin/maturin.toml R libcxx extra/mesa/mesa.toml +R libcxx extra/netpbm/netpbm.toml R libcxx extra/patchelf/patchelf.toml R libcxx extra/python-orjson/python-orjson.toml +R libcxx extra/r/r.toml R libcxx extra/ragel/ragel.toml R libcxx extra/rav1e/rav1e.toml R libcxx extra/rdfind/rdfind.toml @@ -1512,7 +1775,9 @@ R libcxx extra/spdlog/spdlog.toml R libcxx extra/spirv-llvm-translator/spirv-llvm-translator.toml R libcxx extra/spirv-tools/spirv-tools.toml R libcxx extra/swig/swig.toml +R libdatrie extra/libthai/libthai.toml R libdeflate extra/libtiff/libtiff.toml +R libdeflate extra/r/r.toml R libdrm extra/libva-intel-driver/libva-intel-driver.toml R libdrm extra/libva/libva.toml R libdrm extra/mesa/mesa.toml @@ -1521,23 +1786,34 @@ R libedit core/llvm/llvm.toml R libelf core/elfutils/elfutils.toml R libelf core/iproute2/iproute2.toml R libelf extra/mesa/mesa.toml +R libexif extra/libgdiplus/libgdiplus.toml R libffi core/llvm/llvm.toml R libffi core/p11-kit/p11-kit.toml R libffi core/python/python.toml R libffi extra/gobject-introspection/gobject-introspection.toml +R libffi extra/guile/guile.toml +R libffi extra/python-gobject/python-gobject.toml R libffi extra/wayland/wayland.toml R libgcrypt extra/libxslt/libxslt.toml R libgit2 core/depot/depot.toml R libgl extra/freeglut/freeglut.toml R libgl extra/glu/glu.toml R libgl extra/libva/libva.toml +R libgl extra/sdl3/sdl3.toml R libglvnd extra/mesa/mesa.toml R libgpg-error extra/libgcrypt/libgcrypt.toml +R libice extra/libsm/libsm.toml +R libice extra/libxt/libxt.toml R libidn2 core/curl/curl.toml R libidn2 core/libpsl/libpsl.toml R libidn2 extra/gnutls/gnutls.toml +R libjpeg-turbo extra/lcms2/lcms2.toml +R libjpeg-turbo extra/libavif/libavif.toml +R libjpeg-turbo extra/libgdiplus/libgdiplus.toml R libjpeg-turbo extra/libtiff/libtiff.toml R libjpeg-turbo extra/libyuv/libyuv.toml +R libjpeg-turbo extra/netpbm/netpbm.toml +R libjpeg-turbo extra/r/r.toml R libnghttp2 core/curl/curl.toml R libnghttp2 extra/nodejs/nodejs.toml R libnghttp3 core/curl/curl.toml @@ -1552,18 +1828,30 @@ R libpipeline core/man-db/man-db.toml R libpng extra/cairo/cairo.toml R libpng extra/freetype2/freetype2.toml R libpng extra/harfbuzz/harfbuzz.toml +R libpng extra/libavif/libavif.toml +R libpng extra/libgdiplus/libgdiplus.toml R libpng extra/mesa/mesa.toml +R libpng extra/netpbm/netpbm.toml +R libpng extra/r/r.toml R libpsl core/curl/curl.toml +R libsm extra/libxt/libxt.toml R libsodium core/minisign/minisign.toml R libssh2 core/curl/curl.toml R libssh2 core/libgit2/libgit2.toml R libssh2 core/rust/rust.toml R libtasn1 core/p11-kit/p11-kit.toml R libtasn1 extra/gnutls/gnutls.toml +R libthai extra/pango/pango.toml +R libtiff extra/lcms2/lcms2.toml +R libtiff extra/libgdiplus/libgdiplus.toml +R libtiff extra/netpbm/netpbm.toml +R libtiff extra/r/r.toml R libtool core/development-base/development-base.toml +R libtool extra/graphviz/graphviz.toml R libunistring core/libidn2/libidn2.toml R libunistring core/libpsl/libpsl.toml R libunistring extra/gnutls/gnutls.toml +R libunistring extra/guile/guile.toml R libunwind core/ca-certs/ca-certs.toml R libunwind core/depot/depot.toml R libunwind core/elfutils/elfutils.toml @@ -1592,6 +1880,7 @@ R libunwind extra/cli_doc/cli_doc.toml R libunwind extra/cmake/cmake.toml R libunwind extra/cppdap/cppdap.toml R libunwind extra/db5.3/db5.3.toml +R libunwind extra/dconf/dconf.toml R libunwind extra/double-conversion/double-conversion.toml R libunwind extra/doxygen/doxygen.toml R libunwind extra/fish/fish.toml @@ -1605,13 +1894,18 @@ R libunwind extra/intel-gmmlib/intel-gmmlib.toml R libunwind extra/intel-media-driver/intel-media-driver.toml R libunwind extra/jemalloc/jemalloc.toml R libunwind extra/jsoncpp/jsoncpp.toml +R libunwind extra/lapack/lapack.toml +R libunwind extra/libavif/libavif.toml R libunwind extra/libb2/libb2.toml +R libunwind extra/librsvg/librsvg.toml R libunwind extra/libtiff/libtiff.toml R libunwind extra/libyuv/libyuv.toml R libunwind extra/maturin/maturin.toml R libunwind extra/mesa/mesa.toml +R libunwind extra/netpbm/netpbm.toml R libunwind extra/patchelf/patchelf.toml R libunwind extra/python-orjson/python-orjson.toml +R libunwind extra/r/r.toml R libunwind extra/ragel/ragel.toml R libunwind extra/rav1e/rav1e.toml R libunwind extra/rdfind/rdfind.toml @@ -1621,22 +1915,36 @@ R libunwind extra/shared-mime-info/shared-mime-info.toml R libunwind extra/simdjson/simdjson.toml R libunwind extra/spdlog/spdlog.toml R libunwind extra/swig/swig.toml +R libusb extra/sdl3/sdl3.toml R libuv extra/cmake/cmake.toml R libuv extra/nodejs/nodejs.toml R libva extra/intel-media-driver/intel-media-driver.toml R libva extra/libva-intel-driver/libva-intel-driver.toml R libvorbis extra/libsndfile/libsndfile.toml +R libwebp extra/graphviz/graphviz.toml +R libwebp extra/libavif/libavif.toml R libwebp extra/libtiff/libtiff.toml R libx11 extra/cairo/cairo.toml R libx11 extra/freeglut/freeglut.toml +R libx11 extra/libgdiplus/libgdiplus.toml R libx11 extra/libva/libva.toml +R libx11 extra/libxcursor/libxcursor.toml R libx11 extra/libxext/libxext.toml R libx11 extra/libxfixes/libxfixes.toml +R libx11 extra/libxft/libxft.toml R libx11 extra/libxi/libxi.toml +R libx11 extra/libxinerama/libxinerama.toml +R libx11 extra/libxmu/libxmu.toml R libx11 extra/libxrandr/libxrandr.toml R libx11 extra/libxrender/libxrender.toml +R libx11 extra/libxss/libxss.toml +R libx11 extra/libxt/libxt.toml R libx11 extra/libxxf86vm/libxxf86vm.toml R libx11 extra/mesa/mesa.toml +R libx11 extra/pango/pango.toml +R libx11 extra/r/r.toml +R libx11 extra/sdl3/sdl3.toml +R libx11 extra/vala/vala.toml R libxau extra/libxcb/libxcb.toml R libxcb extra/cairo/cairo.toml R libxcb extra/libx11/libx11.toml @@ -1647,38 +1955,59 @@ R libxcrypt core/pam/pam.toml R libxcrypt core/perl/perl.toml R libxcrypt core/python/python.toml R libxcrypt core/shadow/shadow.toml +R libxcrypt extra/guile/guile.toml +R libxcursor extra/sdl3/sdl3.toml R libxdmcp extra/libxcb/libxcb.toml R libxext extra/cairo/cairo.toml R libxext extra/libglvnd/libglvnd.toml R libxext extra/libva/libva.toml R libxext extra/libxi/libxi.toml +R libxext extra/libxinerama/libxinerama.toml +R libxext extra/libxmu/libxmu.toml R libxext extra/libxrandr/libxrandr.toml +R libxext extra/libxss/libxss.toml R libxext extra/libxxf86vm/libxxf86vm.toml R libxext extra/mesa/mesa.toml +R libxext extra/sdl3/sdl3.toml R libxfixes extra/libva/libva.toml +R libxfixes extra/libxcursor/libxcursor.toml R libxfixes extra/libxi/libxi.toml +R libxft extra/pango/pango.toml +R libxft extra/tk/tk.toml R libxi extra/freeglut/freeglut.toml R libxml215 core/libarchive/libarchive.toml R libxml215 core/llvm/llvm.toml R libxml215 extra/docbook-xml/docbook-xml.toml R libxml215 extra/docbook-xsl/docbook-xsl.toml R libxml215 extra/itstool/itstool.toml +R libxml215 extra/libavif/libavif.toml +R libxml215 extra/librsvg/librsvg.toml R libxml215 extra/libxslt/libxslt.toml +R libxml215 extra/netpbm/netpbm.toml R libxml215 extra/python-lxml/python-lxml.toml R libxml215 extra/shared-mime-info/shared-mime-info.toml R libxml215 extra/wayland/wayland.toml R libxml215 extra/yelp-tools/yelp-tools.toml +R libxmu extra/r/r.toml R libxrandr extra/freeglut/freeglut.toml R libxrender extra/cairo/cairo.toml +R libxrender extra/libxcursor/libxcursor.toml +R libxrender extra/libxft/libxft.toml R libxrender extra/libxrandr/libxrandr.toml +R libxrender extra/pango/pango.toml +R libxrender extra/sdl3/sdl3.toml R libxshmfence extra/mesa/mesa.toml R libxslt extra/asciidoc/asciidoc.toml R libxslt extra/docbook-xsl/docbook-xsl.toml R libxslt extra/python-lxml/python-lxml.toml R libxslt extra/xmlto/xmlto.toml +R libxss extra/tk/tk.toml +R libxt extra/libxmu/libxmu.toml +R libxt extra/r/r.toml R libxxf86vm extra/freeglut/freeglut.toml R libxxf86vm extra/mesa/mesa.toml R libyaml extra/python-yaml/python-yaml.toml +R libyuv extra/libavif/libavif.toml R linux-firmware-amdgpu core/linux-firmware/linux-firmware.toml R linux-firmware-atheros core/linux-firmware/linux-firmware.toml R linux-firmware-broadcom core/linux-firmware/linux-firmware.toml @@ -1706,6 +2035,7 @@ R m4 core/autoconf/autoconf.toml R m4 core/development-base/development-base.toml R m4 core/flex/flex.toml R make core/development-base/development-base.toml +R make extra/python-nodeenv/python-nodeenv.toml R mallard-ducktype extra/yelp-tools/yelp-tools.toml R mesa extra/libglvnd/libglvnd.toml R minisign core/depot/depot.toml @@ -1729,8 +2059,10 @@ R ncurses core/texinfo/texinfo.toml R ncurses core/util-linux/util-linux.toml R ncurses core/zsh/zsh.toml R ncurses extra/cmake/cmake.toml +R ncurses extra/guile/guile.toml R ncurses extra/lame/lame.toml R net-tools core/base/base.toml +R netpbm extra/gts/gts.toml R nettle extra/gnutls/gnutls.toml R nettle extra/rdfind/rdfind.toml R ninja core/meson/meson.toml @@ -1764,6 +2096,10 @@ R pam core/openrc/openrc.toml R pam core/shadow/shadow.toml R pam core/sudo/sudo.toml R pam core/util-linux/util-linux.toml +R pango extra/graphviz/graphviz.toml +R pango extra/libgdiplus/libgdiplus.toml +R pango extra/librsvg/librsvg.toml +R pango extra/r/r.toml R patch core/development-base/development-base.toml R pcre2 core/grep/grep.toml R pcre2 core/less/less.toml @@ -1771,12 +2107,14 @@ R pcre2 core/libgit2/libgit2.toml R pcre2 core/zsh/zsh.toml R pcre2 extra/fish/fish.toml R pcre2 extra/git/git.toml +R pcre2 extra/r/r.toml R pcre2 extra/swig/swig.toml R perl core/autoconf/autoconf.toml R perl core/automake/automake.toml R perl core/groff/groff.toml R perl core/perl-xml-parser/perl-xml-parser.toml R perl extra/git/git.toml +R perl extra/netpbm/netpbm.toml R perl extra/parallel/parallel.toml R perl extra/perl-error/perl-error.toml R perl extra/perl-file-slurper/perl-file-slurper.toml @@ -1837,24 +2175,32 @@ R python extra/mkdocstrings/mkdocstrings.toml R python extra/mypy/mypy.toml R python extra/python-babel/python-babel.toml R python extra/python-backrefs/python-backrefs.toml +R python extra/python-beautifulsoup4/python-beautifulsoup4.toml +R python extra/python-cairo/python-cairo.toml R python extra/python-calver/python-calver.toml R python extra/python-certifi/python-certifi.toml R python extra/python-charset-normalizer/python-charset-normalizer.toml R python extra/python-click/python-click.toml R python extra/python-colorama/python-colorama.toml +R python extra/python-dbus/python-dbus.toml +R python extra/python-diagnostic/python-diagnostic.toml R python extra/python-docutils/python-docutils.toml R python extra/python-editables/python-editables.toml R python extra/python-fastjsonschema/python-fastjsonschema.toml R python extra/python-fonttools/python-fonttools.toml R python extra/python-ghp-import/python-ghp-import.toml +R python extra/python-gobject/python-gobject.toml +R python extra/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.toml R python extra/python-hatch-nodejs-version/python-hatch-nodejs-version.toml R python extra/python-hatch-requirements-txt/python-hatch-requirements-txt.toml R python extra/python-hatchling/python-hatchling.toml R python extra/python-idna/python-idna.toml R python extra/python-imagesize/python-imagesize.toml R python extra/python-importlib-metadata/python-importlib-metadata.toml +R python extra/python-iniconfig/python-iniconfig.toml R python extra/python-lark-parser/python-lark-parser.toml R python extra/python-lxml/python-lxml.toml +R python extra/python-magic/python-magic.toml R python extra/python-mako/python-mako.toml R python extra/python-markdown/python-markdown.toml R python extra/python-mdurl/python-mdurl.toml @@ -1874,6 +2220,7 @@ R python extra/python-poetry-core/python-poetry-core.toml R python extra/python-psutil/python-psutil.toml R python extra/python-ptyprocess/python-ptyprocess.toml R python extra/python-pycparser/python-pycparser.toml +R python extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml R python extra/python-pygments/python-pygments.toml R python extra/python-pymdown-extensions/python-pymdown-extensions.toml R python extra/python-pyproject-metadata/python-pyproject-metadata.toml @@ -1881,13 +2228,17 @@ R python extra/python-pytz/python-pytz.toml R python extra/python-pyyaml-env-tag/python-pyyaml-env-tag.toml R python extra/python-regex/python-regex.toml R python extra/python-requests/python-requests.toml +R python extra/python-rich/python-rich.toml R python extra/python-roman-numerals-py/python-roman-numerals-py.toml R python extra/python-semantic-version/python-semantic-version.toml R python extra/python-setuptools-scm/python-setuptools-scm.toml R python extra/python-six/python-six.toml +R python extra/python-smartypants/python-smartypants.toml R python extra/python-snowballstemmer/python-snowballstemmer.toml +R python extra/python-soupsieve/python-soupsieve.toml R python extra/python-sphinx-alabaster-theme/python-sphinx-alabaster-theme.toml R python extra/python-sphinx-hawkmoth/python-sphinx-hawkmoth.toml +R python extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml R python extra/python-sphinx_rtd_theme/python-sphinx_rtd_theme.toml R python extra/python-sphinxcontrib-applehelp/python-sphinxcontrib-applehelp.toml R python extra/python-sphinxcontrib-devhelp/python-sphinxcontrib-devhelp.toml @@ -1897,39 +2248,50 @@ R python extra/python-sphinxcontrib-jsmath/python-sphinxcontrib-jsmath.toml R python extra/python-sphinxcontrib-qthelp/python-sphinxcontrib-qthelp.toml R python extra/python-sphinxcontrib-serializinghtml/python-sphinxcontrib-serializinghtml.toml R python extra/python-tomli-w/python-tomli-w.toml +R python extra/python-tomli/python-tomli.toml R python extra/python-trove-classifiers/python-trove-classifiers.toml R python extra/python-typing_extensions/python-typing_extensions.toml +R python extra/python-typogrify/python-typogrify.toml R python extra/python-urllib3/python-urllib3.toml R python extra/python-watchdog/python-watchdog.toml R python extra/python-wcag-contrast-ratio/python-wcag-contrast-ratio.toml R python extra/python-yaml/python-yaml.toml R python extra/python-zipp/python-zipp.toml R python extra/waf/waf.toml +R python-accessible-pygments extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml R python-babel extra/mkdocs-material/mkdocs-material.toml R python-babel extra/mkdocs/mkdocs.toml +R python-babel extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml R python-babel extra/python-sphinx/python-sphinx.toml R python-backrefs extra/mkdocs-material/mkdocs-material.toml +R python-beautifulsoup4 extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml +R python-beautifulsoup4 extra/python-soupsieve/python-soupsieve.toml R python-certifi extra/python-requests/python-requests.toml R python-charset-normalizer extra/python-requests/python-requests.toml R python-click extra/mkdocs/mkdocs.toml R python-colorama extra/mkdocs-material/mkdocs-material.toml +R python-docutils extra/python-diagnostic/python-diagnostic.toml R python-docutils extra/python-myst-parser/python-myst-parser.toml +R python-docutils extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml R python-docutils extra/python-sphinx-hawkmoth/python-sphinx-hawkmoth.toml R python-docutils extra/python-sphinx/python-sphinx.toml R python-editables extra/python-hatchling/python-hatchling.toml R python-fastjsonschema extra/python-poetry-core/python-poetry-core.toml R python-ghp-import extra/mkdocs/mkdocs.toml +R python-hatchling extra/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.toml R python-hatchling extra/python-hatch-nodejs-version/python-hatch-nodejs-version.toml R python-hatchling extra/python-hatch-requirements-txt/python-hatch-requirements-txt.toml R python-hatchling extra/python-hatch-vcs/python-hatch-vcs.toml R python-idna extra/python-requests/python-requests.toml R python-imagesize extra/python-sphinx/python-sphinx.toml R python-importlib-metadata extra/mkdocs/mkdocs.toml +R python-iniconfig extra/python-pytest/python-pytest.toml R python-jinja extra/mkdocs-autorefs/mkdocs-autorefs.toml R python-jinja extra/mkdocs-material/mkdocs-material.toml R python-jinja extra/mkdocs/mkdocs.toml R python-jinja extra/mkdocstrings/mkdocstrings.toml R python-jinja extra/python-myst-parser/python-myst-parser.toml +R python-jinja extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml R python-jinja extra/python-sphinx/python-sphinx.toml R python-lark-parser extra/python-poetry-core/python-poetry-core.toml R python-librt extra/mypy/mypy.toml @@ -1942,8 +2304,10 @@ R python-markdown extra/mkdocs-material/mkdocs-material.toml R python-markdown extra/mkdocs/mkdocs.toml R python-markdown extra/mkdocstrings/mkdocstrings.toml R python-markdown extra/python-pymdown-extensions/python-pymdown-extensions.toml +R python-markdown-it-py extra/python-diagnostic/python-diagnostic.toml R python-markdown-it-py extra/python-mdit_py_plugins/python-mdit_py_plugins.toml R python-markdown-it-py extra/python-myst-parser/python-myst-parser.toml +R python-markdown-it-py extra/python-rich/python-rich.toml R python-markupsafe core/python-jinja/python-jinja.toml R python-markupsafe extra/mkdocs-autorefs/mkdocs-autorefs.toml R python-markupsafe extra/mkdocs/mkdocs.toml @@ -1954,6 +2318,7 @@ R python-mdurl extra/python-markdown-it-py/python-markdown-it-py.toml R python-mergedeep extra/mkdocs-get-deps/mkdocs-get-deps.toml R python-mergedeep extra/mkdocs/mkdocs.toml R python-mypy_extensions extra/mypy/mypy.toml +R python-nodeenv extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml R python-orjson extra/mypy/mypy.toml R python-packaging extra/mkdocs/mkdocs.toml R python-packaging extra/python-hatch-requirements-txt/python-hatch-requirements-txt.toml @@ -1961,7 +2326,9 @@ R python-packaging extra/python-hatchling/python-hatchling.toml R python-packaging extra/python-pdm-backend/python-pdm-backend.toml R python-packaging extra/python-poetry-core/python-poetry-core.toml R python-packaging extra/python-pyproject-metadata/python-pyproject-metadata.toml +R python-packaging extra/python-pytest/python-pytest.toml R python-packaging extra/python-setuptools-scm/python-setuptools-scm.toml +R python-packaging extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml R python-packaging extra/python-sphinx/python-sphinx.toml R python-parameterized extra/gtk-doc/gtk-doc.toml R python-pathspec extra/mkdocs/mkdocs.toml @@ -1969,24 +2336,39 @@ R python-pathspec extra/mypy/mypy.toml R python-pathspec extra/python-hatchling/python-hatchling.toml R python-platformdirs extra/mkdocs-get-deps/mkdocs-get-deps.toml R python-pluggy extra/python-hatchling/python-hatchling.toml +R python-pluggy extra/python-pytest/python-pytest.toml R python-ptyprocess extra/python-pexpect/python-pexpect.toml R python-pygments extra/gtk-doc/gtk-doc.toml +R python-pygments extra/python-accessible-pygments/python-accessible-pygments.toml R python-pygments extra/python-myst-parser/python-myst-parser.toml +R python-pygments extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml +R python-pygments extra/python-pytest/python-pytest.toml +R python-pygments extra/python-rich/python-rich.toml R python-pygments extra/python-sphinx/python-sphinx.toml R python-pymdown-extensions extra/mkdocstrings/mkdocstrings.toml R python-pyproject-metadata extra/python-pdm-backend/python-pdm-backend.toml +R python-pyproject-metadata extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml R python-pytz extra/python-babel/python-babel.toml R python-pyyaml-env-tag extra/mkdocs/mkdocs.toml R python-requests extra/mkdocs-material/mkdocs-material.toml +R python-requests extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml R python-requests extra/python-sphinx/python-sphinx.toml +R python-rich extra/python-diagnostic/python-diagnostic.toml +R python-rich extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml R python-roman-numerals-py extra/python-sphinx/python-sphinx.toml R python-semantic-version extra/python-setuptools-rust/python-setuptools-rust.toml R python-setuptools extra/gobject-introspection/gobject-introspection.toml +R python-setuptools extra/python-nodeenv/python-nodeenv.toml R python-setuptools extra/python-setuptools-rust/python-setuptools-rust.toml R python-setuptools extra/python-setuptools-scm/python-setuptools-scm.toml +R python-setuptools extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml R python-setuptools-scm extra/python-hatch-vcs/python-hatch-vcs.toml +R python-smartypants extra/python-typogrify/python-typogrify.toml R python-snowballstemmer extra/python-sphinx/python-sphinx.toml +R python-soupsieve extra/python-beautifulsoup4/python-beautifulsoup4.toml R python-sphinx extra/python-myst-parser/python-myst-parser.toml +R python-sphinx extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml +R python-sphinx extra/python-sphinx-copybutton/python-sphinx-copybutton.toml R python-sphinx extra/python-sphinx-hawkmoth/python-sphinx-hawkmoth.toml R python-sphinx extra/python-sphinx_rtd_theme/python-sphinx_rtd_theme.toml R python-sphinx extra/python-sphinxcontrib-jquery/python-sphinxcontrib-jquery.toml @@ -2002,7 +2384,9 @@ R python-tomli-w extra/python-pdm-backend/python-pdm-backend.toml R python-trove-classifiers extra/python-hatchling/python-hatchling.toml R python-typing_extensions extra/mkdocs/mkdocs.toml R python-typing_extensions extra/mypy/mypy.toml +R python-typing_extensions extra/python-beautifulsoup4/python-beautifulsoup4.toml R python-typing_extensions extra/python-lark-parser/python-lark-parser.toml +R python-typing_extensions extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml R python-urllib3 extra/python-requests/python-requests.toml R python-watchdog extra/mkdocs/mkdocs.toml R python-yaml extra/mkdocs-get-deps/mkdocs-get-deps.toml @@ -2013,6 +2397,7 @@ R python-yaml extra/python-myst-parser/python-myst-parser.toml R python-yaml extra/python-pymdown-extensions/python-pymdown-extensions.toml R python-yaml extra/python-pyyaml-env-tag/python-pyyaml-env-tag.toml R python-zipp extra/python-importlib-metadata/python-importlib-metadata.toml +R rav1e extra/libavif/libavif.toml R readline core/bc/bc.toml R readline core/gdbm/gdbm.toml R readline core/inetutils/inetutils.toml @@ -2020,9 +2405,12 @@ R readline core/libxml215/libxml215.toml R readline core/pcre2/pcre2.toml R readline core/sqlite/sqlite.toml R readline core/util-linux/util-linux.toml +R readline extra/lua/lua.toml +R readline extra/r/r.toml R rhash extra/cmake/cmake.toml R rust extra/maturin/maturin.toml R rust extra/python-setuptools-rust/python-setuptools-rust.toml +R sdl3 extra/sdl2-compat/sdl2-compat.toml R sed core/base/base.toml R sed core/development-base/development-base.toml R sed core/fakeroot/fakeroot.toml @@ -2052,12 +2440,15 @@ R sh core/rust/rust.toml R sh core/which/which.toml R sh extra/cairo/cairo.toml R sh extra/db5.3/db5.3.toml +R sh extra/dconf/dconf.toml R sh extra/fontconfig/fontconfig.toml R sh extra/gtk-doc/gtk-doc.toml R sh extra/libgpg-error/libgpg-error.toml R sh extra/libpng/libpng.toml R sh extra/libxslt/libxslt.toml R sh extra/mtools/mtools.toml +R sh extra/netpbm/netpbm.toml +R sh extra/r/r.toml R sh extra/sgml-common/sgml-common.toml R sh extra/spirv-tools/spirv-tools.toml R sh extra/vala/vala.toml @@ -2073,15 +2464,20 @@ R sqlite core/depot/depot.toml R sqlite core/rust/rust.toml R sqlite extra/doxygen/doxygen.toml R sudo core/development-base/development-base.toml +R svt-av1 extra/libavif/libavif.toml R tar core/base/base.toml R tcl core/expect/expect.toml +R tcl extra/tk/tk.toml R texinfo core/development-base/development-base.toml +R tk extra/r/r.toml R ttf-font extra/vala/vala.toml R tzdata core/glibc/glibc.toml R tzdata core/python/python.toml +R unzip extra/r/r.toml R util-linux core/base/base.toml R util-linux core/e2fsprogs/e2fsprogs.toml R util-linux core/fakeroot/fakeroot.toml +R util-linux extra/libsm/libsm.toml R ux core/pcre2/pcre2.toml R vertex-keyring core/base/base.toml R vulkan-icd-loader extra/mesa/mesa.toml @@ -2090,15 +2486,24 @@ R wayland extra/libva/libva.toml R wayland extra/mesa/mesa.toml R which core/base/base.toml R which core/development-base/development-base.toml +R which extra/r/r.toml R xcb-proto extra/libxcb/libxcb.toml R xcb-util-keysyms extra/mesa/mesa.toml +R xorgproto extra/libice/libice.toml +R xorgproto extra/libsm/libsm.toml R xorgproto extra/libx11/libx11.toml R xorgproto extra/libxau/libxau.toml +R xorgproto extra/libxcursor/libxcursor.toml R xorgproto extra/libxdmcp/libxdmcp.toml R xorgproto extra/libxext/libxext.toml R xorgproto extra/libxfixes/libxfixes.toml +R xorgproto extra/libxft/libxft.toml R xorgproto extra/libxi/libxi.toml +R xorgproto extra/libxinerama/libxinerama.toml +R xorgproto extra/libxmu/libxmu.toml R xorgproto extra/libxrender/libxrender.toml +R xorgproto extra/libxss/libxss.toml +R xorgproto extra/libxt/libxt.toml R xorgproto extra/libxxf86vm/libxxf86vm.toml R xxhash extra/rdfind/rdfind.toml R xz core/base/base.toml @@ -2111,6 +2516,7 @@ R xz core/vx/vx.toml R xz extra/libtiff/libtiff.toml R xz extra/libxslt/libxslt.toml R xz extra/maturin/maturin.toml +R xz extra/r/r.toml R yelp-xsl extra/yelp-tools/yelp-tools.toml R yyjson extra/fastfetch/fastfetch.toml R zlib-ng core/curl/curl.toml @@ -2146,7 +2552,9 @@ R zlib-ng extra/libpng/libpng.toml R zlib-ng extra/libtiff/libtiff.toml R zlib-ng extra/mesa/mesa.toml R zlib-ng extra/nasm/nasm.toml +R zlib-ng extra/netpbm/netpbm.toml R zlib-ng extra/nodejs/nodejs.toml +R zlib-ng extra/r/r.toml R zlib-ng extra/swig/swig.toml R zsh core/base/base.toml R zsh core/zsh-completions/zsh-completions.toml @@ -2164,22 +2572,19 @@ R zstd extra/gnutls/gnutls.toml R zstd extra/libtiff/libtiff.toml R zstd extra/mesa/mesa.toml R zstd extra/nodejs/nodejs.toml +R zstd extra/r/r.toml T benchmark extra/re2/re2.toml T boost extra/swig/swig.toml T cairo extra/libdrm/libdrm.toml T curl extra/libmicrohttpd/libmicrohttpd.toml -T dbus extra/vala/vala.toml T dejagnu core/libffi/libffi.toml T docbook-xml extra/libxslt/libxslt.toml T expect core/psmisc/psmisc.toml T expect extra/fish/fish.toml T fftw extra/libsamplerate/libsamplerate.toml -T findutils core/libtool/libtool.toml T go extra/swig/swig.toml -T gobject-introspection extra/vala/vala.toml T gtest extra/re2/re2.toml T java-environment extra/swig/swig.toml -T libx11 extra/vala/vala.toml T lua extra/swig/swig.toml T openssh extra/git/git.toml T perl-file-slurper extra/perl-pod-pom/perl-pod-pom.toml @@ -2196,6 +2601,7 @@ T python-fonttools extra/graphite/graphite.toml T python-fonttools extra/harfbuzz/harfbuzz.toml T python-libevdev extra/xorgproto/xorgproto.toml T python-pexpect extra/fish/fish.toml +T python-pytest extra/python-cairo/python-cairo.toml T python-pytest extra/python-six/python-six.toml T python-pytest extra/python-yaml/python-yaml.toml T python-setuptools extra/harfbuzz/harfbuzz.toml @@ -2205,6 +2611,7 @@ T sharutils core/fakeroot/fakeroot.toml T tcl core/dejagnu/dejagnu.toml T tcl extra/swig/swig.toml T tk extra/python-six/python-six.toml +T ttf-dejavu extra/librsvg/librsvg.toml T valgrind extra/nettle/nettle.toml V binutils core/llvm/llvm.toml V c++ core/llvm/llvm.toml @@ -2229,6 +2636,7 @@ V libunwind core/llvm/llvm.toml V libva-driver extra/mesa/mesa.toml V libva-mesa-driver extra/mesa/mesa.toml V linux-firmware-bnx2x core/linux-firmware/linux-firmware.toml +V lua55 extra/lua/lua.toml V mesa-libgl extra/mesa/mesa.toml V mesa-vdpau extra/mesa/mesa.toml V npm extra/nodejs/nodejs.toml diff --git a/extra/adwaita-fonts/adwaita-fonts.toml b/extra/adwaita-fonts/adwaita-fonts.toml new file mode 100644 index 0000000..22f12a1 --- /dev/null +++ b/extra/adwaita-fonts/adwaita-fonts.toml @@ -0,0 +1,19 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" + +[dependencies] +build = ["meson"] + +[package] +description = "The typefaces for GNOME" +homepage = "https://gitlab.gnome.org/GNOME/adwaita-fonts" +license = "OFL-1.1" +name = "adwaita-fonts" +version = "50.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://gitlab.gnome.org/GNOME/adwaita-fonts.git#$version" diff --git a/extra/dconf/dconf-update.script b/extra/dconf/dconf-update.script new file mode 100644 index 0000000..034d832 --- /dev/null +++ b/extra/dconf/dconf-update.script @@ -0,0 +1,9 @@ +#!/bin/sh + +while IFS= read -r d; do + if [ ! -d "$d" ]; then + rm -f "${d%.d/}" + fi +done + +dconf update diff --git a/extra/dconf/dconf-update.toml b/extra/dconf/dconf-update.toml new file mode 100644 index 0000000..f5fb94d --- /dev/null +++ b/extra/dconf/dconf-update.toml @@ -0,0 +1,12 @@ +[hook] +name = "dconf-update" +description = "Updating system dconf databases..." + +[when] +phase = "post" +operation = ["install", "update", "remove"] +paths = ["etc/dconf/db/*.d/"] + +[exec] +command = "/usr/share/depot.d/scripts/dconf/dconf-update" +needs_paths = true diff --git a/extra/dconf/dconf.toml b/extra/dconf/dconf.toml new file mode 100644 index 0000000..96695cb --- /dev/null +++ b/extra/dconf/dconf.toml @@ -0,0 +1,42 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" +configure = ["-Dgtk_doc=true", "-Dbash_completion=false", "-Dvapi=true" ] +post_install = [ + 'install -Dm644 $DEPOT_SPECDIR/dconf-update.toml -t "$DESTDIR/usr/share/depot.d/hooks"', + 'install -D $DEPOT_SPECDIR/dconf-update.script "$DESTDIR/usr/share/depot.d/scripts/dconf/dconf-update"', + 'install -Dm644 /dev/null "$DESTDIR/etc/dconf/db/.placeholder"' +] +skip-tests = true + +[dependencies] +build = [ + "dbus", + "gtk-doc", + "meson", + "python", + "vala", +] +runtime = [ + "sh", + "glib2", + "glibc", + "libunwind", +] + +[package] +description = "Configuration database system" +homepage = "https://wiki.gnome.org/Projects/dconf" +license = "LGPL-2.1-or-later" +name = "dconf" +version = "0.49.0" + +[[source]] +extract_dir = "$name-$version" +sha256 = "md5:1a3ff8a464a4d9ebbaf112005bfed95a" +url = "https://download.gnome.org/sources/dconf/0.49/dconf-$version.tar.xz" + +[[manual_sources]] +files = [ "dconf-update.toml", "dconf-update.script" ] diff --git a/extra/fribidi/fribidi.toml b/extra/fribidi/fribidi.toml new file mode 100644 index 0000000..83b84e9 --- /dev/null +++ b/extra/fribidi/fribidi.toml @@ -0,0 +1,21 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" +configure = [ "-Ddocs=false" ] + +[dependencies] +build = ["meson"] +runtime = ["glibc"] + +[package] +description = "A Free Implementation of the Unicode Bidirectional Algorithm" +homepage = "https://github.com/fribidi/fribidi" +license = "LGPL-2.1-or-later" +name = "fribidi" +version = "1.0.16" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/fribidi/fribidi#v$version" diff --git a/extra/gc/gc.toml b/extra/gc/gc.toml new file mode 100644 index 0000000..2bf8471 --- /dev/null +++ b/extra/gc/gc.toml @@ -0,0 +1,30 @@ +[build] +type = "autotools" + +[build.flags] +configure = [ + "--enable-cplusplus", + "--disable-static", +] +post_install = ["""sed 's|GC_MALLOC 1L|gc 3|g' doc/gc.man | install -Dm644 /dev/stdin "$DESTDIR/usr/share/man/man3/gc.3""""] + +[dependencies] +runtime = ["libcxx"] + +[package] +description = "A garbage collector for C and C++" +homepage = "https://www.hboehm.info/gc/" +license = [ + "LicenseRef-GC", + "MIT", +] +name = "gc" +version = "8.2.12" + +[[source]] +extract_dir = "$name-$version" +post_extract = ["cp -rv ../license.txt .", "./autogen.sh"] +url = "https://github.com/ivmai/bdwgc.git#v$version" + +[[manual_sources]] +url = "https://www.hboehm.info/gc/license.txt" diff --git a/extra/giflib/build.sh b/extra/giflib/build.sh new file mode 100644 index 0000000..bba8b68 --- /dev/null +++ b/extra/giflib/build.sh @@ -0,0 +1,7 @@ +sed -e 's|giflib.xml|giflib.7|' \ + -re 's|doc/(.*).xml|doc/\1.1|g' \ + -i Makefile +make +make PREFIX=/usr DESTDIR="$DESTDIR" install + + diff --git a/extra/giflib/giflib.toml b/extra/giflib/giflib.toml new file mode 100644 index 0000000..4f4b5ed --- /dev/null +++ b/extra/giflib/giflib.toml @@ -0,0 +1,26 @@ +[build] +type = "custom" + +[build.flags] +replace_cflags = [ "_FORTIFY_SOURCE=3=_FORTIFY_SOURCE=2" ] +no-compress-man = true + +[dependencies] +build = [ + "xmlto", + "docbook-xml", + "docbook-xsl", +] +runtime = ["glibc"] + +[package] +description = "Library for reading and writing gif images" +homepage = "http://giflib.sourceforge.net" +license = "MIT" +name = "giflib" +version = "6.1.2" + +[[source]] +extract_dir = "$name-$version" +sha256 = "2421abb54f5906b14965d28a278fb49e1ec9fe5ebbc56244dd012383a973d5c0" +url = "https://sourceforge.net/projects/giflib/files/giflib-6.x/giflib-$version.tar.gz" diff --git a/extra/graphviz/graphviz.toml b/extra/graphviz/graphviz.toml new file mode 100644 index 0000000..e6d9f60 --- /dev/null +++ b/extra/graphviz/graphviz.toml @@ -0,0 +1,58 @@ +[build] +type = "autotools" + +[build.flags] +configure = [ + "--enable-python3=yes", + "--disable-python", + "--enable-lefty", +] +post_install = ['cd "$DESTDIR/usr/lib64/tcl8.6" && rm -fr graphviz && ln -s ../graphviz/tcl graphviz'] +skip_tests = true + +[dependencies] +build = [ + "swig", + "guile", + "lua", + "perl", + "python", + "r", + "tk", +] +optional = [ + "guile", + "lua", + "perl", + "python", + "r", + "tcl", + "xterm", +] +runtime = [ + "libtool", + "pango", + "gts", + "gsfonts", + "libwebp" +] + +[[manual_sources]] +files = [ + "postinstall.sh", + "postupdate.sh", + "preremove.sh", +] + +[package] +description = "Graph visualization software" +homepage = "https://www.graphviz.org/" +license = "EPL-2.0" +name = "graphviz" +version = "14.1.4" + +[[source]] +extract_dir = "$name-$version" +post_extract = ["./autogen.sh NOCONFIG"] +sha256 = "b32cdb82663f8e19d8cbe3ab5593faa824e0a464d61712727f5c838c3a7ca862" +url = "https://gitlab.com/graphviz/graphviz/-/archive/$version/$name-$version.tar.gz" diff --git a/extra/graphviz/postinstall.sh b/extra/graphviz/postinstall.sh new file mode 100644 index 0000000..150f97e --- /dev/null +++ b/extra/graphviz/postinstall.sh @@ -0,0 +1 @@ +rm -f usr/lib/graphviz/config usr/lib/graphviz/config6 usr/lib/graphviz/config8 && usr/bin/dot -c diff --git a/extra/graphviz/postupdate.sh b/extra/graphviz/postupdate.sh new file mode 100644 index 0000000..150f97e --- /dev/null +++ b/extra/graphviz/postupdate.sh @@ -0,0 +1 @@ +rm -f usr/lib/graphviz/config usr/lib/graphviz/config6 usr/lib/graphviz/config8 && usr/bin/dot -c diff --git a/extra/graphviz/preremove.sh b/extra/graphviz/preremove.sh new file mode 100644 index 0000000..c755987 --- /dev/null +++ b/extra/graphviz/preremove.sh @@ -0,0 +1 @@ +rm -f usr/lib/graphviz/config usr/lib/graphviz/config6 usr/lib/graphviz/config8 diff --git a/extra/gts/gts.toml b/extra/gts/gts.toml new file mode 100644 index 0000000..4091137 --- /dev/null +++ b/extra/gts/gts.toml @@ -0,0 +1,24 @@ +[build] +type = "autotools" + +[build.flags] +skip_tests = true + +[dependencies] +runtime = [ + "glib2", + "netpbm", +] + +[package] +description = "Provides useful functions to deal with 3D surfaces meshed with interconnected triangles" +homepage = "http://gts.sourceforge.net/" +license = "LGPL-3.0-or-later" +name = "gts" +version = "0.7.6.121130" + +[[source]] +extract_dir = "$name-$version" +post_extract = ["autoreconf -fiv"] +url = 'http://gts.sourceforge.net/tarballs/gts-snapshot-121130.tar.gz' +sha256 = "b2:ffd35083122ec40b9ab3c301965e2f40f35f81cbb51947fee01d851f545d5314cdce6c24eee2cbcdf08fe492a63eadb3720535d3f4ed913f3309561d0d382c80" diff --git a/extra/guile/guile.toml b/extra/guile/guile.toml new file mode 100644 index 0000000..34bea3d --- /dev/null +++ b/extra/guile/guile.toml @@ -0,0 +1,31 @@ +[build] +type = "autotools" + +[build.flags] +configure = [ + "--disable-static", + "--disable-error-on-warning", +] +post_install = [ 'rm "$DESTDIR"/usr/lib/libguile-3.?.so.*-gdb.scm' ] +[dependencies] +build = ["texinfo"] +runtime = [ + "gmp", + "ncurses", + "libunistring", + "gc", + "libffi", + "libxcrypt", +] + +[package] +description = "Portable, embeddable Scheme implementation written in C" +homepage = "https://www.gnu.org/software/guile/" +license = "AGPL-3.0-or-Later" +name = "guile" +version = "3.0.11" + +[[source]] +extract_dir = "$name-$version" +sha256 = "3c9c16972a73bb792752f2e4f1cce7212d7638d5494b5f7e8e19f3819dbf3a19" +url = "https://mirrors.kernel.org/gnu/guile/guile-$version.tar.gz" diff --git a/extra/hicolor-icon-theme/hicolor-icon-theme.toml b/extra/hicolor-icon-theme/hicolor-icon-theme.toml new file mode 100644 index 0000000..cd88634 --- /dev/null +++ b/extra/hicolor-icon-theme/hicolor-icon-theme.toml @@ -0,0 +1,19 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" + +[dependencies] +build = ["meson"] + +[package] +description = "Freedesktop.org Hicolor icon theme" +homepage = "https://gitlab.freedesktop.org/xdg/default-icon-theme" +license = "GPL-2.0-or-later" +name = "hicolor-icon-theme" +version = "0.18" + +[[source]] +extract_dir = "$name-$version" +url = "https://gitlab.freedesktop.org/xdg/default-icon-theme.git#v$version" diff --git a/extra/lapack/build.sh b/extra/lapack/build.sh new file mode 100644 index 0000000..bb8c029 --- /dev/null +++ b/extra/lapack/build.sh @@ -0,0 +1,164 @@ +#!/bin/sh +set -eu + +makei() { + echo "==> Running: make DESTDIR=\"$pkgdir\" install $*" + make DESTDIR="$pkgdir" install "$@" +} + +mesoni() { + echo "==> Running: meson install --destdir \"$pkgdir\" $*" + meson install --destdir "$pkgdir" "$@" +} + +cmakei() { + echo "==> Running: cmake --install $*" + DESTDIR="$pkgdir" cmake --install "$@" +} + +starmove() { + [ "$#" -ge 1 ] || { + echo "starmove: requires at least one path pattern" >&2 + return 1 + } + [ "${DEPOT_OUTPUT_NAME:-}" != "" ] || { + echo "starmove: DEPOT_OUTPUT_NAME is not set" >&2 + return 1 + } + haul "$DEPOT_OUTPUT_NAME" "$@" +} + +depot_starbuild_sync_srcdir() { + workdir=${DEPOT_STARBUILD_WORKDIR:?} + compat_root="$workdir/.depot-starbuild" + mkdir -p "$compat_root/packages" + for entry in "$workdir"/* "$workdir"/.[!.]* "$workdir"/..?*; do + [ -e "$entry" ] || [ -L "$entry" ] || continue + base=$(basename "$entry") + [ "$base" = ".depot-starbuild" ] && continue + [ "$base" = "packages" ] && continue + ln -snf "$entry" "$compat_root/$base" + done + mkdir -p "$compat_root/packages/lapack/" + ln -snf "${DEPOT_PRIMARY_DESTDIR:-$DESTDIR}" "$compat_root/packages/lapack/files" + mkdir -p "$compat_root/packages/blas/" + ln -snf "$(subdestdir 'blas')" "$compat_root/packages/blas/files" + mkdir -p "$compat_root/packages/cblas/" + ln -snf "$(subdestdir 'cblas')" "$compat_root/packages/cblas/files" + mkdir -p "$compat_root/packages/lapacke/" + ln -snf "$(subdestdir 'lapacke')" "$compat_root/packages/lapacke/files" + mkdir -p "$compat_root/packages/blas64/" + ln -snf "$(subdestdir 'blas64')" "$compat_root/packages/blas64/files" + mkdir -p "$compat_root/packages/cblas64/" + ln -snf "$(subdestdir 'cblas64')" "$compat_root/packages/cblas64/files" + mkdir -p "$compat_root/packages/lapack64/" + ln -snf "$(subdestdir 'lapack64')" "$compat_root/packages/lapack64/files" + mkdir -p "$compat_root/packages/lapacke64/" + ln -snf "$(subdestdir 'lapacke64')" "$compat_root/packages/lapacke64/files" + srcdir="$compat_root" + export srcdir +} + +depot_starbuild_setup_env() { + package_name=$1 + package_version='3.12.1' + pkgdir=${DESTDIR:?} + export package_name package_version pkgdir + LANG=C + LC_ALL=C + export LANG LC_ALL + depot_starbuild_sync_srcdir +} + +depot_build() { + depot_starbuild_setup_env 'lapack' + cmake -B build \ + -DCMAKE_SKIP_RPATH=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_Fortran_COMPILER=flang \ + -DLAPACKE_WITH_TMG=ON \ + -DCBLAS=ON \ + -G Ninja + ninja -C build + cmake -B build64 \ + -DCMAKE_SKIP_RPATH=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_TESTING=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_Fortran_COMPILER=flang \ + -DLAPACKE_WITH_TMG=ON \ + -DCBLAS=ON \ + -DBUILD_INDEX64=ON \ + -G Ninja + ninja -C build64 + # Add your commands here +} + +depot_install() { + depot_starbuild_setup_env 'lapack' + cmakei build + rm -r "$pkgdir"/usr/lib/libblas.* \ + "$pkgdir"/usr/lib/libcblas.* \ + "$pkgdir"/usr/lib/liblapacke.* + +rm -r "$pkgdir"/usr/lib/pkgconfig/blas.* \ + "$pkgdir"/usr/lib/pkgconfig/cblas.* \ + "$pkgdir"/usr/lib/pkgconfig/lapacke.* + +rm -r "$pkgdir"/usr/lib/cmake/cblas* \ + "$pkgdir"/usr/lib/cmake/lapacke* + +rm -r "$pkgdir"/usr/include +} + +depot_install_blas() { + depot_starbuild_setup_env 'blas' + cmakei build/BLAS +} + +depot_install_cblas() { + depot_starbuild_setup_env 'cblas' + cmakei build/CBLAS +} + +depot_install_lapacke() { + depot_starbuild_setup_env 'lapacke' + cmakei build/LAPACKE +} + +depot_install_blas64() { + depot_starbuild_setup_env 'blas64' + cmakei build64/BLAS +} + +depot_install_cblas64() { + depot_starbuild_setup_env 'cblas64' + cmakei build64/CBLAS + rm -r "$pkgdir"/usr/include +} + +depot_install_lapack64() { + depot_starbuild_setup_env 'lapack64' + cmakei build64 + rm -r "$pkgdir"/usr/lib/libblas64.* \ + "$pkgdir"/usr/lib/libcblas64.* \ + "$pkgdir"/usr/lib/liblapacke64.* + +rm -r "$pkgdir"/usr/lib/pkgconfig/blas64.* \ + "$pkgdir"/usr/lib/pkgconfig/cblas64.* \ + "$pkgdir"/usr/lib/pkgconfig/lapacke64.* + +rm -r "$pkgdir"/usr/lib/cmake/cblas* \ + "$pkgdir"/usr/lib/cmake/lapacke* + +rm -r "$pkgdir"/usr/include +} + +depot_install_lapacke64() { + depot_starbuild_setup_env 'lapacke64' + cmakei build64/LAPACKE + rm -r "$pkgdir"/usr/include +} + diff --git a/extra/lapack/lapack.toml b/extra/lapack/lapack.toml new file mode 100644 index 0000000..9016241 --- /dev/null +++ b/extra/lapack/lapack.toml @@ -0,0 +1,116 @@ +[build] +type = "custom" + +[dependencies] +build = [ + "ninja", + "cmake", + "flang", + "python", +] + +[package] +description = "Linear Algebra PACKage" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "lapack" +version = "3.12.1" + +[package_dependencies.blas] +runtime = [ + "libcxx", + "libunwind", + "glibc", +] + +[package_dependencies.blas64] +runtime = [ + "libcxx", + "libunwind", + "glibc", +] + +[package_dependencies.cblas] +runtime = [ + "blas", + "glibc", +] + +[package_dependencies.cblas64] +runtime = [ + "blas64", + "glibc", +] + +[package_dependencies.lapack64] +runtime = [ + "glibc", + "blas64", + "libunwind", + "libcxx", +] + +[package_dependencies.lapacke] +runtime = [ + "glibc", + "lapack", +] + +[package_dependencies.lapacke64] +runtime = [ + "glibc", + "lapack64", +] + +[[packages]] +description = "Basic Linear Algebra Subprograms" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "blas" +version = "3.12.1" + +[[packages]] +description = "C interface to BLAS" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "cblas" +version = "3.12.1" + +[[packages]] +description = "C interface to LAPACK" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "lapacke" +version = "3.12.1" + +[[packages]] +description = "Basic Linear Algebra Subprograms (64-bit integers)" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "blas64" +version = "3.12.1" + +[[packages]] +description = "C interface to BLAS (64-bit integers)" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "cblas64" +version = "3.12.1" + +[[packages]] +description = "Linear Algebra PACKage (64-bit integers)" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "lapack64" +version = "3.12.1" + +[[packages]] +description = "C interface to LAPACK (64-bit integers)" +homepage = "https://github.com/Reference-LAPACK/lapack.git" +license = "BSD-3-Clause" +name = "lapacke64" +version = "3.12.1" + +[[source]] +extract_dir = "lapack" +url = "https://github.com/Reference-LAPACK/lapack.git#v$version" diff --git a/extra/lcms2/lcms2.toml b/extra/lcms2/lcms2.toml new file mode 100644 index 0000000..202b267 --- /dev/null +++ b/extra/lcms2/lcms2.toml @@ -0,0 +1,20 @@ +[build] +type = "autotools" + +[dependencies] +runtime = [ + "libjpeg-turbo", + "libtiff", +] + +[package] +description = "Small-footprint color management engine, version 2" +homepage = "http://www.littlecms.com/" +license = "MIT" +name = "lcms2" +version = "2.18" + +[[source]] +extract_dir = "$name-$version" +sha256 = "ee67be3566f459362c1ee094fde2c159d33fa0390aa4ed5f5af676f9e5004347" +url = "https://github.com/mm2/Little-CMS/releases/download/lcms$version/$name-$version.tar.gz" diff --git a/extra/libavif/libavif.toml b/extra/libavif/libavif.toml new file mode 100644 index 0000000..ae98333 --- /dev/null +++ b/extra/libavif/libavif.toml @@ -0,0 +1,54 @@ +[build] +type = "cmake" + +[build.flags] +build_dir = "build" +configure = [ + "-DAVIF_BUILD_MAN_PAGES=ON", + "-DAVIF_BUILD_APPS=ON", + "-G Ninja", + "-DAVIF_CODEC_AOM=SYSTEM", + "-DAVIF_CODEC_DAV1D=SYSTEM", + "-DAVIF_CODEC_RAV1E=SYSTEM", + "-DAVIF_CODEC_SVT=SYSTEM", + "-DAVIF_LIBSHARPYUV=SYSTEM", + "-DAVIF_LIBXML2=SYSTEM", + "-DAVIF_BUILD_GDK_PIXBUF=OFF", +] + +[dependencies] +build = [ + "cmake", + "ninja", + "nasm", + "pandoc", +] +runtime = [ + "aom", + "dav1d", + "glibc", + "libunwind", + "libjpeg-turbo", + "libpng", + "libcxx", + "libwebp", + "libxml215", + "libyuv", + "rav1e", + "svt-av1", +] + +[[manual_sources]] +url = "https://github.com/kmurray/libargparse.git#ee74d1b53bd680748af14e737378de57e2a0a954" + +[package] +description = "Library for encoding and decoding .avif files" +homepage = "https://github.com/AOMediaCodec/libavif" +license = "LicenseRef-libavif" +name = "libavif" +version = "1.4.1" + +[[source]] +extract_dir = "$name-$version" +post_extract = ["pkg-config --cflags --libs libsharpyuv", "cp -r ../libargparse ./ext"] +url = "https://github.com/AOMediaCodec/libavif#v$version" diff --git a/extra/libdatrie/libdatrie.toml b/extra/libdatrie/libdatrie.toml new file mode 100644 index 0000000..37c5042 --- /dev/null +++ b/extra/libdatrie/libdatrie.toml @@ -0,0 +1,18 @@ +[build] +type = "autotools" + +[dependencies] +runtime = [ "glibc" ] +build = [ "doxygen" ] + +[package] +description = "Double-array trie library" +homepage = "https://linux.thai.net/projects/datrie" +license = "LGPL-2.1-or-later" +name = "libdatrie" +version = "0.2.14" + +[[source]] +extract_dir = "$name-$version" +post_extract = ["autoreconf -fiv"] +url = "https://github.com/tlwg/libdatrie.git#v$version" diff --git a/extra/libexif/libexif.toml b/extra/libexif/libexif.toml new file mode 100644 index 0000000..2dbaa5d --- /dev/null +++ b/extra/libexif/libexif.toml @@ -0,0 +1,18 @@ +[build] +type = "autotools" + +[dependencies] +runtime = ["glibc"] + +[package] +description = "Library to parse an EXIF file and read the data from those tags" +homepage = "https://github.com/libexif/libexif" +license = "LGPL-2.1-Only" +name = "libexif" +version = "0.6.25" + +[[source]] +extract_dir = "$name-$version" +sha256 = "7c9eba99aed3e6594d8c3e85861f1c6aaf450c218621528bc989d3b3e7a26307" +url = "https://github.com/libexif/libexif/releases/download/v$version/libexif-$version.tar.bz2" +post_extract = [ "autoreconf -fiv" ] diff --git a/extra/libgdiplus/libgdiplus.toml b/extra/libgdiplus/libgdiplus.toml new file mode 100644 index 0000000..707563a --- /dev/null +++ b/extra/libgdiplus/libgdiplus.toml @@ -0,0 +1,38 @@ +[build] +type = "autotools" + +[build.flags] +configure = [ "--with-pango", 'LIBS=-lpangoft2-1.0',] +skip_tests = true + +[dependencies] +build = ["giflib"] +runtime = [ + "cairo", + "fontconfig", + "glib2", + "glibc", + "harfbuzz", + "libexif", + "libjpeg-turbo", + "libpng", + "libtiff", + "libx11", + "pango", +] + +[package] +description = "C-based implementation of the GDI+ API" +homepage = "https://gitlab.winehq.org/mono/libgdiplus" +license = "MIT" +name = "libgdiplus" +version = "6.2" + +[[source]] +extract_dir = "$name-$version" +post_extract = [ + "sed -e 's/: update_submodules/:/' -i Makefile.am", + "autoreconf -fiv", +] +sha256 = "98b31143d5bb1cf5c38088bee18e4ba2993ddf132da1ed985dbe576eef1ff501" +url = "https://gitlab.winehq.org/mono/libgdiplus/-/archive/$version/libgdiplus-$version.tar.gz" diff --git a/extra/libice/libice.toml b/extra/libice/libice.toml new file mode 100644 index 0000000..ca2e315 --- /dev/null +++ b/extra/libice/libice.toml @@ -0,0 +1,24 @@ +[build] +type = "autotools" + +[dependencies] +build = [ + "xtrans", + "xorg-util-macros", +] +runtime = [ + "glibc", + "xorgproto", +] + +[package] +description = "X11 Inter-Client Exchange library" +homepage = "https://xorg.freedesktop.org/" +license = "MIT-open-group" +name = "libice" +version = "1.1.2" + +[[source]] +extract_dir = "$name-$version" +sha256 = "974e4ed414225eb3c716985df9709f4da8d22a67a2890066bc6dfc89ad298625" +url = "https://xorg.freedesktop.org/releases/individual/lib/libICE-$version.tar.xz" diff --git a/extra/librsvg/librsvg.toml b/extra/librsvg/librsvg.toml new file mode 100644 index 0000000..9f20b36 --- /dev/null +++ b/extra/librsvg/librsvg.toml @@ -0,0 +1,40 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" + +[dependencies] +build = [ + "cargo-c", + "gobject-introspection", + "meson", + "cargo", + "vala", + "python-docutils", +] +runtime = [ + "cairo", + "dav1d", + "freetype2", + "glib2", + "glibc", + "harfbuzz", + "gdk-pixbuf2", + "libunwind", + "libxml215", + "pango", +] +test = ["ttf-dejavu"] + +[package] +description = "SVG rendering library" +homepage = "https://wiki.gnome.org/Projects/LibRsvg" +license = "LGPL-2.1-or-later" +name = "librsvg" +version = "2.62.1" + +[[source]] +extract_dir = "$name-$version" +sha256 = "b41ca84206242fddd826a2bf76348d7cdf52c1050cbfa060b866e81a252145c3" +url = "https://download.gnome.org/sources/librsvg/2.62/librsvg-$version.tar.xz" diff --git a/extra/libsm/libsm.toml b/extra/libsm/libsm.toml new file mode 100644 index 0000000..b886b09 --- /dev/null +++ b/extra/libsm/libsm.toml @@ -0,0 +1,29 @@ +[build] +type = "autotools" + +[dependencies] +build = [ + "xorg-util-macros", + "xtrans", +] +runtime = [ + "libice", + "util-linux", + "xorgproto", + "glibc", +] + +[package] +description = "X11 Session Management library" +homepage = "https://xorg.freedesktop.org/" +license = [ + "MIT", + "MIT-open-group", +] +name = "libsm" +version = "1.2.6" + +[[source]] +extract_dir = "$name-$version" +sha256 = "be7c0abdb15cbfd29ac62573c1c82e877f9d4047ad15321e7ea97d1e43d835be" +url = "https://xorg.freedesktop.org/releases/individual/lib/libSM-$version.tar.xz" diff --git a/extra/libthai/libthai.toml b/extra/libthai/libthai.toml new file mode 100644 index 0000000..6ab96b4 --- /dev/null +++ b/extra/libthai/libthai.toml @@ -0,0 +1,24 @@ +[build] +type = "autotools" + +[dependencies] +build = [ + "autoconf-archive", + "doxygen", +] +runtime = [ + "glibc", + "libdatrie", +] + +[package] +description = "Thai language support library" +homepage = "https://linux.thai.net/projects/libthai" +license = "LGPL-2.1-or-later" +name = "libthai" +version = "0.1.30" + +[[source]] +extract_dir = "$name-$version" +post_extract = ["autoreconf -fiv"] +url = "https://github.com/tlwg/libthai.git#v$version" diff --git a/extra/libtiff/libtiff.toml b/extra/libtiff/libtiff.toml index 2a25d22..178a614 100644 --- a/extra/libtiff/libtiff.toml +++ b/extra/libtiff/libtiff.toml @@ -31,7 +31,7 @@ description = "Library for manipulation of TIFF images" homepage = "http://www.simplesystems.org/libtiff/" license = "libtiff" name = "libtiff" -version = "4.7" +version = "4.7.1" [[source]] extract_dir = "$name-$version" diff --git a/extra/libwebp/libwebp.toml b/extra/libwebp/libwebp.toml index bdf26d7..fa88936 100644 --- a/extra/libwebp/libwebp.toml +++ b/extra/libwebp/libwebp.toml @@ -7,6 +7,7 @@ configure = [ "-DWEBP_BUILD_CWEBP=ON", "-DWEBP_BUILD_DWEBP=ON", "-DCMAKE_SKIP_INSTALL_RPATH=ON", + "-DBUILD_SHARED_LIBS=ON", "-DWEBP_BUILD_EXTRAS=OFF", "-DWEBP_BUILD_GIF2WEBP=ON", "-DWEBP_BUILD_IMG2WEBP=ON", @@ -21,6 +22,7 @@ build = [ "giflib", "libjpeg-turbo", "libpng", + "libtiff" ] runtime = ["glibc"] diff --git a/extra/libxcursor/libxcursor.toml b/extra/libxcursor/libxcursor.toml new file mode 100644 index 0000000..1eecc9f --- /dev/null +++ b/extra/libxcursor/libxcursor.toml @@ -0,0 +1,21 @@ +[build] +type = "autotools" + +[dependencies] +runtime = [ "libxfixes", "libxrender", "default-cursors", "libx11", "glibc", "xorgproto" ] +build = [ "xorg-util-macros" ] + +[build.flags] +configure = ["--disable-static"] + +[package] +description = "X cursor management library" +homepage = "https://gitlab.freedesktop.org/xorg/lib/libxcursor" +license = "HPND-sell-variant" +name = "libxcursor" +version = "1.2.3" + +[[source]] +extract_dir = "$name-$version" +sha256 = "fde9402dd4cfe79da71e2d96bb980afc5e6ff4f8a7d74c159e1966afb2b2c2c0" +url = "https://xorg.freedesktop.org//releases/individual/lib/libXcursor-$version.tar.xz" diff --git a/extra/libxft/libxft.toml b/extra/libxft/libxft.toml new file mode 100644 index 0000000..cbd148a --- /dev/null +++ b/extra/libxft/libxft.toml @@ -0,0 +1,27 @@ +[build] +type = "autotools" + +[build.flags] +configure = ["--disable-static"] + +[dependencies] +runtime = [ + "fontconfig", + "libxrender", + "libx11", + "freetype2", + "glibc", + "xorgproto", +] + +[package] +description = "FreeType-based font drawing library for X" +homepage = "https://xorg.freedesktop.org/" +license = "HPND-sell-variant" +name = "libxft" +version = "2.3.9" + +[[source]] +extract_dir = "$name-$version" +sha256 = "60a25b78945ed6932635b3bb1899a517d31df7456e69867ffba27f89ff3976f5" +url = "https://xorg.freedesktop.org/releases/individual/lib/libXft-$version.tar.xz" diff --git a/extra/libxinerama/libxinerama.toml b/extra/libxinerama/libxinerama.toml new file mode 100644 index 0000000..37d9149 --- /dev/null +++ b/extra/libxinerama/libxinerama.toml @@ -0,0 +1,27 @@ +[build] +type = "autotools" + +[dependencies] +build = ["xorg-util-macros"] +runtime = [ + "libxext", + "glibc", + "libx11", + "xorgproto", +] + +[package] +description = "X11 Xinerama extension library" +homepage = "https://xorg.freedesktop.org/" +license = [ + "MIT", + "MIT-open-group", + "X11", +] +name = "libxinerama" +version = "1.1.6" + +[[source]] +extract_dir = "$name-$version" +sha256 = "d00fc1599c303dc5cbc122b8068bdc7405d6fcb19060f4597fc51bd3a8be51d7" +url = "https://xorg.freedesktop.org/archive/individual/lib/libXinerama-$version.tar.xz" diff --git a/extra/libxmu/libxmu.toml b/extra/libxmu/libxmu.toml new file mode 100644 index 0000000..109d2ab --- /dev/null +++ b/extra/libxmu/libxmu.toml @@ -0,0 +1,21 @@ +[build] +type = "autotools" + +[dependencies] +runtime = [ "glibc", "libxext", "libxt", "libx11", "xorgproto" ] +build = [ "xorg-util-macros" ] + +[build.flags] +configure = ["--disable-static"] + +[package] +description = "X11 miscellaneous micro-utility library" +homepage = "https://gitlab.freedesktop.org/xorg/lib/libxmu" +license = "MIT-open-group AND SMLNJ AND X11 AND ISC" +name = "libxmu" +version = "1.3.1" + +[[source]] +extract_dir = "$name-$version" +sha256 = "81a99e94c4501e81c427cbaa4a11748b584933e94b7a156830c3621256857bc4" +url = "https://xorg.freedesktop.org//archive/individual/lib/libXmu-$version.tar.xz" diff --git a/extra/libxss/libxss.toml b/extra/libxss/libxss.toml new file mode 100644 index 0000000..da6853e --- /dev/null +++ b/extra/libxss/libxss.toml @@ -0,0 +1,23 @@ +[build] +type = "autotools" + +[dependencies] +build = ["xorg-util-macros"] +runtime = [ + "libxext", + "libx11", + "glibc", + "xorgproto", +] + +[package] +description = "X11 Screen Saver extension library" +homepage = "https://gitlab.freedesktop.org/xorg/lib/libxscrnsaver" +license = "X11" +name = "libxss" +version = "1.2.5" + +[[source]] +extract_dir = "$name-$version" +sha256 = "5057365f847253e0e275871441e10ff7846c8322a5d88e1e187d326de1cd8d00" +url = "https://xorg.freedesktop.org/releases/individual/lib/libXScrnSaver-$version.tar.xz" diff --git a/extra/libxt/libxt.toml b/extra/libxt/libxt.toml new file mode 100644 index 0000000..898a5ff --- /dev/null +++ b/extra/libxt/libxt.toml @@ -0,0 +1,33 @@ +[build] +type = "autotools" + +[build.flags] +configure = ["--disable-static"] + +[dependencies] +build = ["xorg-util-macros"] +runtime = [ + "libsm", + "libx11", + "libice", + "glibc", + "xorgproto", +] + +[package] +description = "X11 toolkit intrinsics library" +homepage = "https://xorg.freedesktop.org/" +license = [ + "HPND-sell-variant", + "MIT", + "MIT-open-group", + "SMLNJ", + "X11", +] +name = "libxt" +version = "1.3.1" + +[[source]] +extract_dir = "$name-$version" +sha256 = "e0a774b33324f4d4c05b199ea45050f87206586d81655f8bef4dba434d931288" +url = "https://xorg.freedesktop.org/releases/individual/lib/libXt-$version.tar.xz" diff --git a/extra/lua/build.sh b/extra/lua/build.sh new file mode 100644 index 0000000..247a8a2 --- /dev/null +++ b/extra/lua/build.sh @@ -0,0 +1,32 @@ +make MYCFLAGS="$CFLAGS -fPIC" MYLDFLAGS="$LDFLAGS" linux +cd ../lua++-5.5.0 +make MYCFLAGS="$CXXFLAGS -fPIC" MYLDFLAGS="$LDFLAGS" LUA_A=liblua++.a LUA_SO=liblua++.so linux +cd ../lua-5.5.0 +make \ + TO_LIB="liblua.so liblua.so.5.5 liblua.so.5.5.0" \ + INSTALL_DATA='cp -d' \ + INSTALL_TOP="$DESTDIR"/usr \ + INSTALL_MAN="$DESTDIR"/usr/share/man/man1 \ + install + ln -sf /usr/bin/lua "$DESTDIR"/usr/bin/lua5.5 + ln -sf /usr/bin/luac "$DESTDIR"/usr/bin/luac5.5 + ln -sf /usr/lib/liblua.so.5.5.0 "$DESTDIR"/usr/lib/liblua5.5.so + + install -Dm644 lua.pc "$DESTDIR"/usr/lib/pkgconfig/lua55.pc + ln -sf lua55.pc "$DESTDIR"/usr/lib/pkgconfig/lua.pc + ln -sf lua55.pc "$DESTDIR"/usr/lib/pkgconfig/lua5.5.pc + ln -sf lua55.pc "$DESTDIR"/usr/lib/pkgconfig/lua-5.5.pc + +cd ../lua++-5.5.0 + make \ + TO_LIB="liblua++.so liblua++.so.5.5 liblua++.so.5.5.0" \ + INSTALL_BIN=null INSTALL_INC=null INSTALL_MAN=../null \ + INSTALL_DATA='cp -d' \ + INSTALL_TOP="$DESTDIR"/usr \ + install + ln -sf /usr/lib/liblua++.so.5.5.0 "$DESTDIR"/usr/lib/liblua++5.5.so + + install -Dm644 lua++.pc "$DESTDIR"/usr/lib/pkgconfig/lua++55.pc + ln -sf lua++55.pc "$DESTDIR"/usr/lib/pkgconfig/lua++.pc + ln -sf lua++55.pc "$DESTDIR"/usr/lib/pkgconfig/lua++5.5.pc + ln -sf lua++55.pc "$DESTDIR"/usr/lib/pkgconfig/lua++-5.5.pc diff --git a/extra/lua/lua-5.5.0-posixify.patch b/extra/lua/lua-5.5.0-posixify.patch new file mode 100644 index 0000000..95d8d6e --- /dev/null +++ b/extra/lua/lua-5.5.0-posixify.patch @@ -0,0 +1,186 @@ +diff -urN a/Makefile b/Makefile +--- a/Makefile 2025-06-26 08:04:37.000000000 -0500 ++++ b/Makefile 2026-03-23 21:17:07.502287273 -0500 +@@ -18,9 +18,9 @@ + INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V + INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + +-# How to install. If your install program does not support "-p", then ++# How to install. If your install program does not preserve timestamps, then + # you may have to run ranlib on the installed liblua.a. +-INSTALL= install -p ++INSTALL?= install + INSTALL_EXEC= $(INSTALL) -m 0755 + INSTALL_DATA= $(INSTALL) -m 0644 + # +@@ -30,8 +30,8 @@ + # INSTALL_DATA= $(INSTALL) + + # Other utilities. +-MKDIR= mkdir -p +-RM= rm -f ++MKDIR?= mkdir -p ++RM?= rm -f + + # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + +@@ -52,7 +52,7 @@ + all: $(PLAT) + + $(PLATS) help test clean: +- @cd src && $(MAKE) $@ ++ @cd src && $(MAKE) $@ V=$(V) R=$(R) + + install: dummy + cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) +diff -urN a/src/Makefile b/src/Makefile +--- a/src/Makefile 2025-07-06 19:19:14.000000000 -0500 ++++ b/src/Makefile 2026-03-23 21:17:07.502287273 -0500 +@@ -6,15 +6,21 @@ + # Your platform. See PLATS for possible values. + PLAT= guess + +-CC= gcc -std=gnu99 +-CFLAGS= -O2 -Wall -Wextra $(SYSCFLAGS) $(MYCFLAGS) +-LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) +-LIBS= -lm $(SYSLIBS) $(MYLIBS) +- +-AR= ar rcu +-RANLIB= ranlib +-RM= rm -f +-UNAME= uname ++CC?= cc ++CXX?= c++ ++CCSTD?= -std=gnu99 ++CFLAGS?= $(CCSTD) -O2 -Wall -Wextra ++ALLCFLAGS= $(CFLAGS) $(SYSCFLAGS) $(MYCFLAGS) ++LDFLAGS?= ++ALLLDFLAGS= $(LDFLAGS) $(SYSLDFLAGS) $(MYLDFLAGS) ++LIBS?= -lm ++ALLLIBS= $(LIBS) $(SYSLIBS) $(MYLIBS) ++ ++AR?= ar ++ARFLAGS?= rcu ++RANLIB?= ranlib ++RM?= rm -f ++UNAME?= uname + + SYSCFLAGS= + SYSLDFLAGS= +@@ -28,11 +34,20 @@ + # Special flags for compiler modules; -Os reduces code size. + CMCFLAGS= + ++# Use C mode when a C++ driver is selected for compiling Lua's C sources. ++CCMODE= ++CCLINK= $(CC) ++ifneq ($(filter %++ c++,$(notdir $(firstword $(CC)))),) ++CCMODE= -x c ++endif ++CCCOMPILE= $(CC) $(CCMODE) ++ + # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= + + PLATS= guess aix bsd c89 freebsd generic ios linux macosx mingw posix solaris + + LUA_A= liblua.a ++LUA_SO= liblua.so + CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o + LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o + BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) +@@ -44,7 +59,7 @@ + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) ++ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) + ALL_A= $(LUA_A) + + # Targets start here. +@@ -57,14 +72,19 @@ + a: $(ALL_A) + + $(LUA_A): $(BASE_O) +- $(AR) $@ $(BASE_O) ++ $(AR) $(ARFLAGS) $@ $(BASE_O) + $(RANLIB) $@ + ++$(LUA_SO): $(CORE_O) $(LIB_O) ++ $(CCLINK) -shared $(ALLLDFLAGS) -Wl,-soname,$(LUA_SO).$(V) -o $@.$(R) $? $(ALLLIBS) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V) ++ ln -sf $(LUA_SO).$(R) $(LUA_SO) ++ + $(LUA_T): $(LUA_O) $(LUA_A) +- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) ++ $(CCLINK) -o $@ $(ALLLDFLAGS) $(LUA_O) $(LUA_A) $(ALLLIBS) + + $(LUAC_T): $(LUAC_O) $(LUA_A) +- $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) ++ $(CCLINK) -o $@ $(ALLLDFLAGS) $(LUAC_O) $(LUA_A) $(ALLLIBS) + + test: + ./$(LUA_T) -v +@@ -73,15 +93,22 @@ + $(RM) $(ALL_T) $(ALL_O) + + depend: +- @$(CC) $(CFLAGS) -MM l*.c ++ @$(CCCOMPILE) $(ALLCFLAGS) -MM l*.c + + echo: + @echo "PLAT= $(PLAT)" + @echo "CC= $(CC)" ++ @echo "CXX= $(CXX)" ++ @echo "CCSTD= $(CCSTD)" ++ @echo "CCMODE= $(CCMODE)" + @echo "CFLAGS= $(CFLAGS)" ++ @echo "ALLCFLAGS= $(ALLCFLAGS)" + @echo "LDFLAGS= $(LDFLAGS)" ++ @echo "ALLLDFLAGS= $(ALLLDFLAGS)" + @echo "LIBS= $(LIBS)" ++ @echo "ALLLIBS= $(ALLLIBS)" + @echo "AR= $(AR)" ++ @echo "ARFLAGS= $(ARFLAGS)" + @echo "RANLIB= $(RANLIB)" + @echo "RM= $(RM)" + @echo "UNAME= $(UNAME)" +@@ -105,7 +132,7 @@ + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" + + c89: +- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CC="gcc -std=c89" ++ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CCSTD="-std=c89" + @echo '' + @echo '*** C89 does not guarantee 64-bit integers for Lua.' + @echo '*** Make sure to compile all external Lua libraries' +@@ -113,7 +140,7 @@ + @echo '' + + FreeBSD NetBSD OpenBSD freebsd: +- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc" ++ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" + + generic: $(ALL) + +@@ -141,15 +168,18 @@ + # Targets that do not create files (not all makes understand .PHONY). + .PHONY: all $(PLATS) help test clean default o a depend echo + ++%.o: %.c ++ $(CCCOMPILE) $(ALLCFLAGS) -c -o $@ $< ++ + # Compiler modules may use special flags. + llex.o: +- $(CC) $(CFLAGS) $(CMCFLAGS) -c llex.c ++ $(CCCOMPILE) $(ALLCFLAGS) $(CMCFLAGS) -c -o $@ llex.c + + lparser.o: +- $(CC) $(CFLAGS) $(CMCFLAGS) -c lparser.c ++ $(CCCOMPILE) $(ALLCFLAGS) $(CMCFLAGS) -c -o $@ lparser.c + + lcode.o: +- $(CC) $(CFLAGS) $(CMCFLAGS) -c lcode.c ++ $(CCCOMPILE) $(ALLCFLAGS) $(CMCFLAGS) -c -o $@ lcode.c + + # DO NOT DELETE + diff --git a/extra/lua/lua.pc b/extra/lua/lua.pc new file mode 100644 index 0000000..bf7977b --- /dev/null +++ b/extra/lua/lua.pc @@ -0,0 +1,20 @@ +V=%VER% +R=%REL% + +prefix=/usr +INSTALL_BIN=${prefix}/bin +INSTALL_INC=${prefix}/include +INSTALL_LIB=${prefix}/lib +INSTALL_MAN=${prefix}/man/man1 +INSTALL_LMOD=${prefix}/share/lua/${V} +INSTALL_CMOD=${prefix}/lib/lua/${V} +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: Lua +Description: An Extensible Extension Language +Version: ${R} +Requires: +Libs: -L${libdir} -llua -lm +Cflags: -I${includedir} diff --git a/extra/lua/lua.toml b/extra/lua/lua.toml new file mode 100644 index 0000000..d295781 --- /dev/null +++ b/extra/lua/lua.toml @@ -0,0 +1,36 @@ +[alternatives] +provides = ["lua55"] + +[build] +type = "custom" + +[dependencies] +runtime = ["readline"] + +[[manual_sources]] +files = [ + "paths.patch", + "lua.pc", + "lua-5.5.0-posixify.patch" +] + +[package] +description = "Powerful lightweight programming language designed for extending applications" +homepage = "https://www.lua.org/" +license = "MIT" +name = "lua" +version = "5.5.0" + +[[source]] +extract_dir = "$name-$version" +patches = [ + "paths.patch", + "lua-5.5.0-posixify.patch" +] +post_extract = [ + "cp -r ../lua-$version ../lua++-$version", + 'sed "s/%VER%/5.5/g;s/%REL%/$version/g" ../lua.pc > lua.pc', + 'sed "s/%VER%/5.5/g;s/%REL%/$version/g;s/-llua/-llua++/g" lua.pc > ../lua++-$version/lua++.pc', +] +sha256 = "57ccc32bbbd005cab75bcc52444052535af691789dba2b9016d5c50640d68b3d" +url = "https://www.lua.org/ftp/lua-$version.tar.gz" diff --git a/extra/lua/paths.patch b/extra/lua/paths.patch new file mode 100644 index 0000000..512a09b --- /dev/null +++ b/extra/lua/paths.patch @@ -0,0 +1,33 @@ +diff --git a/src/luaconf.h b/src/luaconf.h +--- a/src/luaconf.h 2023-05-03 06:02:30.000000000 +1000 ++++ b/src/luaconf.h 2023-12-13 12:24:30.287727037 +1100 +@@ -224,19 +224,28 @@ + #else /* }{ */ + + #define LUA_ROOT "/usr/local/" ++#define LUA_ROOT2 "/usr/" + #define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" ++#define LUA_LDIR2 LUA_ROOT2 "share/lua/" LUA_VDIR "/" + #define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" ++#define LUA_CDIR2 LUA_ROOT2 "lib/lua/" LUA_VDIR "/" + + #if !defined(LUA_PATH_DEFAULT) + #define LUA_PATH_DEFAULT \ + LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ ++ LUA_LDIR2"?.lua;" LUA_LDIR2"?/init.lua;" \ + LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ ++ LUA_CDIR2"?.lua;" LUA_CDIR2"?/init.lua;" \ + "./?.lua;" "./?/init.lua" + #endif + + #if !defined(LUA_CPATH_DEFAULT) + #define LUA_CPATH_DEFAULT \ +- LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so" ++ LUA_CDIR"?.so;" \ ++ LUA_CDIR2"?.so;" \ ++ LUA_CDIR"loadall.so;" \ ++ LUA_CDIR2"loadall.so;" \ ++ "./?.so" + #endif + + #endif /* } */ diff --git a/extra/netpbm/netpbm-CAN-2005-2471.patch b/extra/netpbm/netpbm-CAN-2005-2471.patch new file mode 100644 index 0000000..f7f2ae4 --- /dev/null +++ b/extra/netpbm/netpbm-CAN-2005-2471.patch @@ -0,0 +1,16 @@ +--- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471 2005-08-15 02:39:46.000000000 +0200 ++++ netpbm-10.29/converter/other/pstopnm.c 2005-08-16 15:38:15.000000000 +0200 +@@ -896,11 +896,11 @@ + ghostscriptProg, arg0, + deviceopt, outfileopt, gopt, ropt, textalphabitsopt, + "-q", "-dNOPAUSE", +- "-dSAFER", "-"); ++ "-dPARANOIDSAFER", "-"); + } + + execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt, +- textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL); ++ textalphabitsopt, "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL); + + pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)", + ghostscriptProg, errno, strerror(errno)); diff --git a/extra/netpbm/netpbm-security-code.patch b/extra/netpbm/netpbm-security-code.patch new file mode 100644 index 0000000..b3b92d4 --- /dev/null +++ b/extra/netpbm/netpbm-security-code.patch @@ -0,0 +1,1382 @@ +diff --git a/analyzer/pgmtexture.c b/analyzer/pgmtexture.c +index 0731733..635c58b 100644 +--- a/analyzer/pgmtexture.c ++++ b/analyzer/pgmtexture.c +@@ -98,6 +98,8 @@ vector(unsigned int const nl, + + assert(nh >= nl); + ++ overflow_add(nh - nl, 1); ++ + MALLOCARRAY(v, (unsigned) (nh - nl + 1)); + + if (v == NULL) +@@ -129,6 +131,7 @@ matrix (unsigned int const nrl, + assert(nrh >= nrl); + + /* allocate pointers to rows */ ++ overflow_add(nrh - nrl, 1); + MALLOCARRAY(m, (unsigned) (nrh - nrl + 1)); + if (m == NULL) + pm_error("Unable to allocate memory for a matrix."); +@@ -137,6 +140,7 @@ matrix (unsigned int const nrl, + + assert (nch >= ncl); + ++ overflow_add(nch - ncl, 1); + /* allocate rows and set pointers to them */ + for (i = nrl; i <= nrh; ++i) { + MALLOCARRAY(m[i], (unsigned) (nch - ncl + 1)); +diff --git a/converter/other/gemtopnm.c b/converter/other/gemtopnm.c +index aac7479..5f1a51a 100644 +--- a/converter/other/gemtopnm.c ++++ b/converter/other/gemtopnm.c +@@ -106,6 +106,7 @@ main(argc, argv) + else + type = PPM_TYPE; + ++ overflow_add(cols, padright); + pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 ); + + { +diff --git a/converter/other/jpegtopnm.c b/converter/other/jpegtopnm.c +index ab3b18e..c324b86 100644 +--- a/converter/other/jpegtopnm.c ++++ b/converter/other/jpegtopnm.c +@@ -861,6 +861,8 @@ convertImage(FILE * const ofP, + /* Calculate output image dimensions so we can allocate space */ + jpeg_calc_output_dimensions(cinfoP); + ++ overflow2(cinfoP->output_width, cinfoP->output_components); ++ + /* Start decompressor */ + jpeg_start_decompress(cinfoP); + +diff --git a/converter/other/pbmtopgm.c b/converter/other/pbmtopgm.c +index 69b20fb..382a487 100644 +--- a/converter/other/pbmtopgm.c ++++ b/converter/other/pbmtopgm.c +@@ -47,6 +47,7 @@ main(int argc, char *argv[]) { + "than the image height (%u rows)", height, rows); + + outrow = pgm_allocrow(cols) ; ++ overflow2(width, height); + maxval = MIN(PGM_OVERALLMAXVAL, width*height); + pgm_writepgminit(stdout, cols, rows, maxval, 0) ; + +diff --git a/converter/other/pnmtoddif.c b/converter/other/pnmtoddif.c +index ae8c852..9ee037b 100644 +--- a/converter/other/pnmtoddif.c ++++ b/converter/other/pnmtoddif.c +@@ -632,6 +632,7 @@ main(int argc, char *argv[]) { + switch (PNM_FORMAT_TYPE(format)) { + case PBM_TYPE: + ip.bits_per_pixel = 1; ++ overflow_add(cols, 7); + ip.bytes_per_line = (cols + 7) / 8; + ip.spectral = 2; + ip.components = 1; +@@ -647,6 +648,7 @@ main(int argc, char *argv[]) { + ip.polarity = 2; + break; + case PPM_TYPE: ++ overflow2(cols, 3); + ip.bytes_per_line = 3 * cols; + ip.bits_per_pixel = 24; + ip.spectral = 5; +diff --git a/converter/other/pnmtojpeg.c b/converter/other/pnmtojpeg.c +index ce231c9..1279040 100644 +--- a/converter/other/pnmtojpeg.c ++++ b/converter/other/pnmtojpeg.c +@@ -605,7 +605,11 @@ read_scan_script(j_compress_ptr const cinfo, + want JPOOL_PERMANENT. + */ + const unsigned int scan_info_size = nscans * sizeof(jpeg_scan_info); +- jpeg_scan_info * const scan_info = ++ const jpeg_scan_info * scan_info; ++ ++ overflow2(nscans, sizeof(jpeg_scan_info)); ++ ++ scan_info = + (jpeg_scan_info *) + (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE, + scan_info_size); +@@ -937,6 +941,8 @@ compute_rescaling_array(JSAMPLE ** const rescale_p, const pixval maxval, + const long half_maxval = maxval / 2; + long val; + ++ overflow_add(maxval, 1); ++ overflow2(maxval+1, sizeof(JSAMPLE)); + *rescale_p = (JSAMPLE *) + (cinfo.mem->alloc_small) ((j_common_ptr) &cinfo, JPOOL_IMAGE, + (size_t) (((long) maxval + 1L) * +@@ -1015,6 +1021,7 @@ convert_scanlines(struct jpeg_compress_struct * const cinfo_p, + */ + + /* Allocate the libpnm output and compressor input buffers */ ++ overflow2(cinfo_p->image_width, cinfo_p->input_components); + buffer = (*cinfo_p->mem->alloc_sarray) + ((j_common_ptr) cinfo_p, JPOOL_IMAGE, + (unsigned int) cinfo_p->image_width * cinfo_p->input_components, +diff --git a/converter/other/pnmtops.c b/converter/other/pnmtops.c +index 6cd6be9..8a7d25a 100644 +--- a/converter/other/pnmtops.c ++++ b/converter/other/pnmtops.c +@@ -292,17 +292,21 @@ parseCommandLine(int argc, const char ** argv, + validateCompDimension(width, 72, "-width value"); + validateCompDimension(height, 72, "-height value"); + ++ overflow2(width, 72); + cmdlineP->width = width * 72; ++ overflow2(height, 72); + cmdlineP->height = height * 72; + + if (imagewidthSpec) { + validateCompDimension(imagewidth, 72, "-imagewidth value"); ++ overflow2(imagewidth, 72); + cmdlineP->imagewidth = imagewidth * 72; + } + else + cmdlineP->imagewidth = 0; + if (imageheightSpec) { +- validateCompDimension(imagewidth, 72, "-imageheight value"); ++ validateCompDimension(imageheight, 72, "-imageheight value"); ++ overflow2(imageheight, 72); + cmdlineP->imageheight = imageheight * 72; + } + else +diff --git a/converter/other/rletopnm.c b/converter/other/rletopnm.c +index 9995914..058278c 100644 +--- a/converter/other/rletopnm.c ++++ b/converter/other/rletopnm.c +@@ -19,6 +19,8 @@ + * If you modify this software, you should include a notice giving the + * name of the person performing the modification, the date of modification, + * and the reason for such modification. ++ * ++ * 2002-12-19: Fix maths wrapping bugs. Alan Cox + */ + /* + * rletopnm - A conversion program to convert from Utah's "rle" image format +diff --git a/converter/other/sirtopnm.c b/converter/other/sirtopnm.c +index fafcc91..9fe49d0 100644 +--- a/converter/other/sirtopnm.c ++++ b/converter/other/sirtopnm.c +@@ -69,6 +69,7 @@ char* argv[]; + } + break; + case PPM_TYPE: ++ overflow3(cols, rows, 3); + picsize = cols * rows * 3; + planesize = cols * rows; + if ( !( sirarray = (unsigned char*) malloc( picsize ) ) ) +diff --git a/converter/other/tifftopnm.c b/converter/other/tifftopnm.c +index 0d6494f..19e9e38 100644 +--- a/converter/other/tifftopnm.c ++++ b/converter/other/tifftopnm.c +@@ -1309,7 +1309,9 @@ convertRasterByRows(pnmOut * const pnmOutP, + if (scanbuf == NULL) + pm_error("can't allocate memory for scanline buffer"); + +- MALLOCARRAY(samplebuf, cols * spp); ++ /* samplebuf is unsigned int * !!! */ ++ samplebuf = (unsigned int *) malloc3(cols , sizeof(unsigned int) , spp); ++ + if (samplebuf == NULL) + pm_error("can't allocate memory for row buffer"); + +diff --git a/converter/other/xwdtopnm.c b/converter/other/xwdtopnm.c +index 45d66b4..c914481 100644 +--- a/converter/other/xwdtopnm.c ++++ b/converter/other/xwdtopnm.c +@@ -209,6 +209,10 @@ processX10Header(X10WDFileHeader * const h10P, + *colorsP = pnm_allocrow(2); + PNM_ASSIGN1((*colorsP)[0], 0); + PNM_ASSIGN1((*colorsP)[1], *maxvalP); ++ overflow_add(h10P->pixmap_width, 15); ++ if(h10P->pixmap_width < 0) ++ pm_error("assert: negative width"); ++ overflow2((((h10P->pixmap_width + 15) / 16) * 16 - h10P->pixmap_width), 8); + *padrightP = + (((h10P->pixmap_width + 15) / 16) * 16 - h10P->pixmap_width) * 8; + *bits_per_itemP = 16; +@@ -634,6 +638,7 @@ processX11Header(X11WDFileHeader * const h11P, + + *colsP = h11FixedP->pixmap_width; + *rowsP = h11FixedP->pixmap_height; ++ overflow2(h11FixedP->bytes_per_line, 8); + *padrightP = + h11FixedP->bytes_per_line * 8 - + h11FixedP->pixmap_width * h11FixedP->bits_per_pixel; +diff --git a/converter/pbm/mdatopbm.c b/converter/pbm/mdatopbm.c +index d8e0657..12c7468 100644 +--- a/converter/pbm/mdatopbm.c ++++ b/converter/pbm/mdatopbm.c +@@ -245,10 +245,13 @@ main(int argc, char **argv) { + pm_readlittleshort(infile, &yy); nInCols = yy; + } + ++ overflow2(nOutCols, 8); + nOutCols = 8 * nInCols; + nOutRows = nInRows; +- if (bScale) ++ if (bScale) { ++ overflow2(nOutRows, 2); + nOutRows *= 2; ++ } + + data = pbm_allocarray(nOutCols, nOutRows); + +diff --git a/converter/pbm/mgrtopbm.c b/converter/pbm/mgrtopbm.c +index 9f7004a..60e8477 100644 +--- a/converter/pbm/mgrtopbm.c ++++ b/converter/pbm/mgrtopbm.c +@@ -65,6 +65,8 @@ readMgrHeader(FILE * const ifP, + pad = 0; /* should never reach here */ + } + ++ overflow_add(*colsP, pad); ++ + interpHdrWidth (head, colsP); + interpHdrHeight(head, rowsP); + +diff --git a/converter/pbm/pbmto4425.c b/converter/pbm/pbmto4425.c +index 1d97ac6..c4c8cbb 100644 +--- a/converter/pbm/pbmto4425.c ++++ b/converter/pbm/pbmto4425.c +@@ -2,6 +2,7 @@ + + #include "nstring.h" + #include "pbm.h" ++#include + + static char bit_table[2][3] = { + {1, 4, 0x10}, +@@ -160,7 +161,7 @@ main(int argc, char * argv[]) { + xres = vmap_width * 2; + yres = vmap_height * 3; + +- vmap = malloc(vmap_width * vmap_height * sizeof(char)); ++ vmap = malloc3(vmap_width, vmap_height, sizeof(char)); + if(vmap == NULL) + { + pm_error( "Cannot allocate memory" ); +diff --git a/converter/pbm/pbmtogem.c b/converter/pbm/pbmtogem.c +index 9eab041..13b0257 100644 +--- a/converter/pbm/pbmtogem.c ++++ b/converter/pbm/pbmtogem.c +@@ -79,6 +79,7 @@ putinit (int const rows, int const cols) + bitsperitem = 0; + bitshift = 7; + outcol = 0; ++ overflow_add(cols, 7); + outmax = (cols + 7) / 8; + outrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char)); + lastrow = (unsigned char *) pm_allocrow (outmax, sizeof (unsigned char)); +diff --git a/converter/pbm/pbmtogo.c b/converter/pbm/pbmtogo.c +index 23b2ee9..d2ee91f 100644 +--- a/converter/pbm/pbmtogo.c ++++ b/converter/pbm/pbmtogo.c +@@ -158,6 +158,7 @@ main(int argc, + bitrow = pbm_allocrow(cols); + + /* Round cols up to the nearest multiple of 8. */ ++ overflow_add(cols, 7); + rucols = ( cols + 7 ) / 8; + bytesperrow = rucols; /* GraphOn uses bytes */ + rucols = rucols * 8; +diff --git a/converter/pbm/pbmtolj.c b/converter/pbm/pbmtolj.c +index 0cceb4f..fdab6df 100644 +--- a/converter/pbm/pbmtolj.c ++++ b/converter/pbm/pbmtolj.c +@@ -120,7 +120,11 @@ parseCommandLine(int argc, char ** argv, + static void + allocateBuffers(unsigned int const cols) { + ++ overflow_add(cols, 8); + rowBufferSize = (cols + 7) / 8; ++ overflow_add(rowBufferSize, 128); ++ overflow_add(rowBufferSize, rowBufferSize+128); ++ overflow_add(rowBufferSize+10, rowBufferSize/8); + packBufferSize = rowBufferSize + (rowBufferSize + 127) / 128 + 1; + deltaBufferSize = rowBufferSize + rowBufferSize / 8 + 10; + +diff --git a/converter/pbm/pbmtomda.c b/converter/pbm/pbmtomda.c +index 3ad5149..9efe5cf 100644 +--- a/converter/pbm/pbmtomda.c ++++ b/converter/pbm/pbmtomda.c +@@ -179,6 +179,7 @@ int main(int argc, char **argv) + + nOutRowsUnrounded = bScale ? nInRows/2 : nInRows; + ++ overflow_add(nOutRowsUnrounded, 3); + nOutRows = ((nOutRowsUnrounded + 3) / 4) * 4; + /* MDA wants rows a multiple of 4 */ + nOutCols = nInCols / 8; +diff --git a/converter/pbm/pbmtoppa/pbm.c b/converter/pbm/pbmtoppa/pbm.c +index 2f8a42b..1c8d236 100644 +--- a/converter/pbm/pbmtoppa/pbm.c ++++ b/converter/pbm/pbmtoppa/pbm.c +@@ -106,6 +106,7 @@ int pbm_readline(pbm_stat* pbm,unsigned char* data) + break; + case P4: { + int tmp, tmp2; ++ overflow_add(pbmStatP->width, 7); + tmp = (pbmStatP->width+7)/8; + tmp2 = fread(data,1,tmp,pbmStatP->fptr); + if (tmp2 == tmp) { +@@ -185,6 +186,7 @@ void pbm_unreadline (pbm_stat *pbm, void *data) + + if (!pbmStatP->unread) { + pbmStatP->unread = 1; ++ overflow_add(pbmStatP->width, 7); + pbmStatP->revdata = malloc ((pbmStatP->width+7)/8); + memcpy(pbmStatP->revdata, data, (pbmStatP->width+7)/8); + --pbmStatP->current_line; +diff --git a/converter/pbm/pbmtoppa/pbmtoppa.c b/converter/pbm/pbmtoppa/pbmtoppa.c +index f43c08a..98e0284 100644 +--- a/converter/pbm/pbmtoppa/pbmtoppa.c ++++ b/converter/pbm/pbmtoppa/pbmtoppa.c +@@ -452,6 +452,7 @@ main(int argc, char *argv[]) { + pm_error("main(): unrecognized parameter '%s'", argv[argn]); + } + ++ overflow_add(Width, 7); + Pwidth=(Width+7)/8; + printer.fptr=out; + +diff --git a/converter/pbm/pbmtoxbm.c b/converter/pbm/pbmtoxbm.c +index 14c6b85..362b70e 100644 +--- a/converter/pbm/pbmtoxbm.c ++++ b/converter/pbm/pbmtoxbm.c +@@ -351,6 +351,8 @@ convertRaster(FILE * const ifP, + + unsigned char * bitrow; + unsigned int row; ++ ++ overflow_add(cols, padright); + + putinit(xbmVersion); + +diff --git a/converter/pbm/pktopbm.c b/converter/pbm/pktopbm.c +index 712f339..b6fcb02 100644 +--- a/converter/pbm/pktopbm.c ++++ b/converter/pbm/pktopbm.c +@@ -280,6 +280,7 @@ main(int argc, char *argv[]) { + if (flagbyte == 7) { /* long form preamble */ + integer packetlength = get32() ; /* character packet length */ + car = get32() ; /* character number */ ++ overflow_add(packetlength, pktopbm_pkloc); + endofpacket = packetlength + pktopbm_pkloc; + /* calculate end of packet */ + if ((car >= MAXPKCHAR) || !filename[car]) { +diff --git a/converter/pbm/thinkjettopbm.l b/converter/pbm/thinkjettopbm.l +index 5de4f2b..7f31de5 100644 +--- a/converter/pbm/thinkjettopbm.l ++++ b/converter/pbm/thinkjettopbm.l +@@ -114,7 +114,9 @@ DIG [0-9] + \033\*b{DIG}+W { + int l; + if (rowCount >= rowCapacity) { +- rowCapacity += 100; ++ overflow_add(rowCapacity, 100); ++ rowCapacity += 100; ++ overflow2(rowCapacity, sizeof *rows); + rows = realloc (rows, rowCapacity * sizeof *rows); + if (rows == NULL) + pm_error ("Out of memory."); +@@ -226,6 +228,8 @@ yywrap (void) + /* + * Quite simple since ThinkJet bit arrangement matches PBM + */ ++ ++ overflow2(maxRowLength, 8); + pbm_writepbminit(stdout, maxRowLength*8, rowCount, 0); + + packed_bitrow = malloc(maxRowLength); +diff --git a/converter/pbm/ybmtopbm.c b/converter/pbm/ybmtopbm.c +index 2a42908..cf1ff03 100644 +--- a/converter/pbm/ybmtopbm.c ++++ b/converter/pbm/ybmtopbm.c +@@ -43,6 +43,7 @@ getinit(FILE * const ifP, + pm_error("EOF / read error"); + + *depthP = 1; ++ overflow_add(*colsP, 15); + } + + +diff --git a/converter/pgm/lispmtopgm.c b/converter/pgm/lispmtopgm.c +index 40dd3fb..b5469f7 100644 +--- a/converter/pgm/lispmtopgm.c ++++ b/converter/pgm/lispmtopgm.c +@@ -58,6 +58,7 @@ main( argc, argv ) + pm_error( "depth (%d bits) is too large", depth); + + pgm_writepgminit( stdout, cols, rows, (gray) maxval, 0 ); ++ overflow_add(cols, 7); + grayrow = pgm_allocrow( ( cols + 7 ) / 8 * 8 ); + + for ( row = 0; row < rows; ++row ) +@@ -102,6 +103,8 @@ getinit( file, colsP, rowsP, depthP, padrightP ) + + if ( *depthP == 0 ) + *depthP = 1; /* very old file */ ++ ++ overflow_add((int)colsP, 31); + + *padrightP = ( ( *colsP + 31 ) / 32 ) * 32 - *colsP; + +diff --git a/converter/pgm/psidtopgm.c b/converter/pgm/psidtopgm.c +index 07417d1..25bb311 100644 +--- a/converter/pgm/psidtopgm.c ++++ b/converter/pgm/psidtopgm.c +@@ -78,6 +78,7 @@ main(int argc, + pm_error("bits/sample (%d) is too large.", bitspersample); + + pgm_writepgminit(stdout, cols, rows, maxval, 0); ++ overflow_add(cols, 7); + grayrow = pgm_allocrow((cols + 7) / 8 * 8); + for (row = 0; row < rows; ++row) { + unsigned int col; +diff --git a/converter/ppm/Makefile b/converter/ppm/Makefile +index 09f05cd..f68170f 100644 +--- a/converter/ppm/Makefile ++++ b/converter/ppm/Makefile +@@ -11,7 +11,7 @@ SUBDIRS = hpcdtoppm + + PORTBINARIES = 411toppm eyuvtoppm gouldtoppm ilbmtoppm imgtoppm \ + leaftoppm mtvtoppm neotoppm \ +- pcxtoppm pc1toppm pi1toppm picttoppm pjtoppm \ ++ pcxtoppm pc1toppm pi1toppm pjtoppm \ + ppmtoacad ppmtoapplevol ppmtoarbtxt ppmtoascii \ + ppmtobmp ppmtoeyuv ppmtogif ppmtoicr ppmtoilbm \ + ppmtoleaf ppmtolj ppmtomitsu ppmtoneo \ +diff --git a/converter/ppm/ilbmtoppm.c b/converter/ppm/ilbmtoppm.c +index 662be0b..2a86efc 100644 +--- a/converter/ppm/ilbmtoppm.c ++++ b/converter/ppm/ilbmtoppm.c +@@ -606,6 +606,7 @@ decode_row(FILE * const ifP, + rawtype *chp; + + cols = bmhdP->w; ++ overflow_add(cols, 15); + bytes = RowBytes(cols); + for( plane = 0; plane < nPlanes; plane++ ) { + int mask; +@@ -693,6 +694,23 @@ decode_mask(FILE * const ifP, + Multipalette handling + ****************************************************************************/ + ++static void * ++xmalloc2(x, y) ++ int x; ++ int y; ++{ ++ void *mem; ++ ++ overflow2(x,y); ++ if( x * y == 0 ) ++ return NULL; ++ ++ mem = malloc2(x,y); ++ if( mem == NULL ) ++ pm_error("out of memory allocating %d bytes", x * y); ++ return mem; ++} ++ + + static void + multi_adjust(cmap, row, palchange) +@@ -1355,6 +1373,9 @@ dcol_to_ppm(FILE * const ifP, + if( redmaxval != maxval || greenmaxval != maxval || bluemaxval != maxval ) + pm_message("scaling colors to %d bits", pm_maxvaltobits(maxval)); + ++ overflow_add(redmaxval, 1); ++ overflow_add(greenmaxval, 1); ++ overflow_add(bluemaxval, 1); + MALLOCARRAY_NOFAIL(redtable, redmaxval +1); + MALLOCARRAY_NOFAIL(greentable, greenmaxval +1); + MALLOCARRAY_NOFAIL(bluetable, bluemaxval +1); +@@ -1784,7 +1805,9 @@ PCHG_ConvertSmall(PCHG, cmap, mask, datasize) + ChangeCount32 = *data++; + remDataSize -= 2; + ++ overflow_add(ChangeCount16, ChangeCount32); + changes = ChangeCount16 + ChangeCount32; ++ overflow_add(changes, 1); + for (i = 0; i < changes; ++i) { + if (totalchanges >= pchgP->TotalChanges) goto fail; + if (remDataSize < 2) goto fail; +@@ -2049,6 +2072,9 @@ read_pchg(FILE * const ifP, + cmap->mp_change[i] = NULL; + if( PCHG.StartLine < 0 ) { + int nch; ++ if(PCHG.MaxReg < PCHG.MinReg) ++ pm_error("assert: MinReg > MaxReg"); ++ overflow_add(PCHG.MaxReg-PCHG.MinReg, 2); + nch = PCHG.MaxReg - PCHG.MinReg +1; + MALLOCARRAY_NOFAIL(cmap->mp_init, nch + 1); + for( i = 0; i < nch; i++ ) +@@ -2125,6 +2151,7 @@ process_body( FILE * const ifP, + if (typeid == ID_ILBM) { + int isdeep; + ++ overflow_add(bmhdP->w, 15); + MALLOCARRAY_NOFAIL(ilbmrow, RowBytes(bmhdP->w)); + *viewportmodesP |= fakeviewport; /* -isham/-isehb */ + +diff --git a/converter/ppm/imgtoppm.c b/converter/ppm/imgtoppm.c +index 7078b88..eb8509e 100644 +--- a/converter/ppm/imgtoppm.c ++++ b/converter/ppm/imgtoppm.c +@@ -84,6 +84,7 @@ main(int argc, char ** argv) { + len = atoi((char*) buf ); + if ( fread( buf, len, 1, ifp ) != 1 ) + pm_error( "bad colormap buf" ); ++ overflow2(cmaplen, 3); + if ( cmaplen * 3 != len ) + { + pm_message( +@@ -105,6 +106,7 @@ main(int argc, char ** argv) { + pm_error( "bad pixel data header" ); + buf[8] = '\0'; + len = atoi((char*) buf ); ++ overflow2(cols, rows); + if ( len != cols * rows ) + pm_message( + "pixel data length (%d) does not match image size (%d)", +diff --git a/converter/ppm/pcxtoppm.c b/converter/ppm/pcxtoppm.c +index e252ba2..270ae3b 100644 +--- a/converter/ppm/pcxtoppm.c ++++ b/converter/ppm/pcxtoppm.c +@@ -409,6 +409,7 @@ pcx_planes_to_pixels(pixels, bitplanes, bytesperline, planes, bitsperpixel) + /* + * clear the pixel buffer + */ ++ overflow2(bytesperline, 8); + npixels = (bytesperline * 8) / bitsperpixel; + p = pixels; + while (--npixels >= 0) +@@ -470,6 +471,7 @@ pcx_16col_to_ppm(FILE * const ifP, + } + + /* BytesPerLine should be >= BitsPerPixel * cols / 8 */ ++ overflow2(BytesPerLine, 8); + rawcols = BytesPerLine * 8 / BitsPerPixel; + if (headerCols > rawcols) { + pm_message("warning - BytesPerLine = %d, " +diff --git a/converter/ppm/picttoppm.c b/converter/ppm/picttoppm.c +index 828d527..8cdb7b3 100644 +--- a/converter/ppm/picttoppm.c ++++ b/converter/ppm/picttoppm.c +@@ -1,3 +1,4 @@ ++#error "Unfixable. Don't ship me" + /* + * picttoppm.c -- convert a MacIntosh PICT file to PPM format. + * +diff --git a/converter/ppm/pjtoppm.c b/converter/ppm/pjtoppm.c +index 7b694fb..62ce77e 100644 +--- a/converter/ppm/pjtoppm.c ++++ b/converter/ppm/pjtoppm.c +@@ -127,11 +127,15 @@ main(argc, argv) + case 'V': /* send plane */ + case 'W': /* send last plane */ + if (row >= rowsX || image == NULL) { +- if (row >= rowsX) ++ if (row >= rowsX) { ++ overflow_add(rowsX, 100); + rowsX += 100; ++ } ++ + if (image == NULL) { +- MALLOCARRAY(image, uintProduct(rowsX, planes)); +- MALLOCARRAY(imlen, uintProduct(rowsX, planes)); ++ image = (unsigned char **) ++ malloc3(rowsX , planes , sizeof(unsigned char *)); ++ imlen = (int *) malloc3(rowsX , planes, sizeof(int)); + } else { + REALLOCARRAY(image, uintProduct(rowsX, planes)); + REALLOCARRAY(imlen, uintProduct(rowsX, planes)); +@@ -212,8 +214,10 @@ main(argc, argv) + col += 2) + for (cmd = image[plane + row * planes][col], + val = image[plane + row * planes][col+1]; +- cmd >= 0 && i < newcols; cmd--, i++) ++ cmd >= 0 && i < newcols; cmd--, i++) { + buf[i] = val; ++ overflow_add(i, 1); ++ } + cols = MAX(cols, i); + free(image[plane + row * planes]); + /* +@@ -224,6 +228,7 @@ main(argc, argv) + image[p + r * planes] = (unsigned char *) realloc(buf, i); + } + } ++ overflow2(cols, 8); + cols *= 8; + } + +diff --git a/converter/ppm/ppmtoeyuv.c b/converter/ppm/ppmtoeyuv.c +index f5ce115..6f072be 100644 +--- a/converter/ppm/ppmtoeyuv.c ++++ b/converter/ppm/ppmtoeyuv.c +@@ -114,6 +114,7 @@ create_multiplication_tables(const pixval maxval) { + + int index; + ++ overflow_add(maxval, 1); + MALLOCARRAY_NOFAIL(mult299 , maxval+1); + MALLOCARRAY_NOFAIL(mult587 , maxval+1); + MALLOCARRAY_NOFAIL(mult114 , maxval+1); +diff --git a/converter/ppm/ppmtolj.c b/converter/ppm/ppmtolj.c +index 7ed814e..b4e7db1 100644 +--- a/converter/ppm/ppmtolj.c ++++ b/converter/ppm/ppmtolj.c +@@ -182,6 +182,7 @@ int main(int argc, char *argv[]) { + ppm_readppminit( ifp, &cols, &rows, &maxval, &format ); + pixelrow = ppm_allocrow( cols ); + ++ overflow2(cols, 6); + obuf = (unsigned char *) pm_allocrow(cols * 3, sizeof(unsigned char)); + cbuf = (unsigned char *) pm_allocrow(cols * 6, sizeof(unsigned char)); + if (mode == C_TRANS_MODE_DELTA) +diff --git a/converter/ppm/ppmtomitsu.c b/converter/ppm/ppmtomitsu.c +index e59f09b..1d2be20 100644 +--- a/converter/ppm/ppmtomitsu.c ++++ b/converter/ppm/ppmtomitsu.c +@@ -685,6 +685,8 @@ main(int argc, char * argv[]) { + medias = MSize_User; + + if (dpi300) { ++ overflow2(medias.maxcols, 2); ++ overflow2(medias.maxrows, 2); + medias.maxcols *= 2; + medias.maxrows *= 2; + } +diff --git a/converter/ppm/ppmtopcx.c b/converter/ppm/ppmtopcx.c +index fa68edc..97dfb2b 100644 +--- a/converter/ppm/ppmtopcx.c ++++ b/converter/ppm/ppmtopcx.c +@@ -425,6 +425,8 @@ ppmTo16ColorPcx(pixel ** const pixels, + else Planes = 1; + } + } ++ overflow2(BitsPerPixel, cols); ++ overflow_add(BitsPerPixel * cols, 7); + BytesPerLine = ((cols * BitsPerPixel) + 7) / 8; + MALLOCARRAY_NOFAIL(indexRow, cols); + MALLOCARRAY_NOFAIL(planesrow, BytesPerLine); +diff --git a/converter/ppm/ppmtopict.c b/converter/ppm/ppmtopict.c +index 034e705..4541387 100644 +--- a/converter/ppm/ppmtopict.c ++++ b/converter/ppm/ppmtopict.c +@@ -450,6 +450,8 @@ main(int argc, const char ** argv) { + putShort(stdout, 0); /* mode */ + + /* Finally, write out the data. */ ++ overflow_add(cols/MAX_COUNT, 1); ++ overflow_add(cols, cols/MAX_COUNT+1); + outBuf = malloc((unsigned)(cols+cols/MAX_COUNT+1)); + for (row = 0, oc = 0; row < rows; ++row) { + unsigned int rowSize; +diff --git a/converter/ppm/ppmtopj.c b/converter/ppm/ppmtopj.c +index d116773..fc84cac 100644 +--- a/converter/ppm/ppmtopj.c ++++ b/converter/ppm/ppmtopj.c +@@ -179,6 +179,7 @@ char *argv[]; + pixels = ppm_readppm( ifp, &cols, &rows, &maxval ); + + pm_close( ifp ); ++ overflow2(cols,2); + obuf = (unsigned char *) pm_allocrow(cols, sizeof(unsigned char)); + cbuf = (unsigned char *) pm_allocrow(cols * 2, sizeof(unsigned char)); + +diff --git a/converter/ppm/ppmtopjxl.c b/converter/ppm/ppmtopjxl.c +index ddf4963..b2c7e8e 100644 +--- a/converter/ppm/ppmtopjxl.c ++++ b/converter/ppm/ppmtopjxl.c +@@ -306,6 +306,9 @@ main(int argc, const char * argv[]) { + if (maxval > PCL_MAXVAL) + pm_error("color range too large; reduce with ppmcscale"); + ++ if (cols < 0 || rows < 0) ++ pm_error("negative size is not possible"); ++ + /* Figure out the colormap. */ + pm_message("Computing colormap..."); + chv = ppm_computecolorhist(pixels, cols, rows, MAXCOLORS, &colors); +@@ -325,6 +328,8 @@ main(int argc, const char * argv[]) { + case 0: /* direct mode (no palette) */ + bpp = bitsperpixel(maxval); /* bits per pixel */ + bpg = bpp; bpb = bpp; ++ overflow2(bpp, 3); ++ overflow_add(bpp*3, 7); + bpp = (bpp*3+7)>>3; /* bytes per pixel now */ + bpr = (bpp<<3)-bpg-bpb; + bpp *= cols; /* bytes per row now */ +@@ -334,9 +339,13 @@ main(int argc, const char * argv[]) { + case 3: case 7: pclindex++; + default: + bpp = 8/pclindex; ++ overflow_add(cols, bpp); ++ if(bpp == 0) ++ pm_error("assert: no bpp"); + bpp = (cols+bpp-1)/bpp; /* bytes per row */ + } + } ++ overflow2(bpp,2); + inrow = (char *)malloc((unsigned)bpp); + outrow = (char *)malloc((unsigned)bpp*2); + runcnt = (signed char *)malloc((unsigned)bpp); +diff --git a/converter/ppm/ppmtowinicon.c b/converter/ppm/ppmtowinicon.c +index c673798..af2b445 100644 +--- a/converter/ppm/ppmtowinicon.c ++++ b/converter/ppm/ppmtowinicon.c +@@ -12,6 +12,7 @@ + + #include + #include ++#include + + #include "pm_c_util.h" + #include "winico.h" +@@ -214,6 +215,7 @@ createAndBitmap (gray ** const ba, int const cols, int const rows, + MALLOCARRAY_NOFAIL(rowData, rows); + icBitmap->xBytes = xBytes; + icBitmap->data = rowData; ++ overflow2(xBytes, rows); + icBitmap->size = xBytes * rows; + for (y=0;yxBytes = xBytes; + icBitmap->data = rowData; ++ overflow2(xBytes, rows); + icBitmap->size = xBytes * rows; + + for (y=0;yxBytes = xBytes; + icBitmap->data = rowData; ++ overflow2(xBytes, rows); + icBitmap->size = xBytes * rows; + + for (y=0;ybitcount = bpp; + entry->ih = createInfoHeader(entry, xorBitmap, andBitmap); + entry->colors = palette->colors; +- entry->size_in_bytes = ++ overflow2(4, entry->color_count); ++ overflow_add(xorBitmap->size, andBitmap->size); ++ overflow_add(xorBitmap->size + andBitmap->size, 40); ++ overflow_add(xorBitmap->size + andBitmap->size + 40, 4 * entry->color_count); ++ entry->size_in_bytes = + xorBitmap->size + andBitmap->size + 40 + (4 * entry->color_count); + if (verbose) + pm_message("entry->size_in_bytes = %d + %d + %d = %d", +diff --git a/converter/ppm/ppmtoxpm.c b/converter/ppm/ppmtoxpm.c +index 38d9997..904c98d 100644 +--- a/converter/ppm/ppmtoxpm.c ++++ b/converter/ppm/ppmtoxpm.c +@@ -197,6 +197,7 @@ genNumstr(unsigned int const input, int const digits) { + unsigned int i; + + /* Allocate memory for printed number. Abort if error. */ ++ overflow_add(digits, 1); + if (!(str = (char *) malloc(digits + 1))) + pm_error("out of memory"); + +@@ -314,6 +315,7 @@ genCmap(colorhist_vector const chv, + unsigned int charsPerPixel; + unsigned int xpmMaxval; + ++ if (includeTransparent) overflow_add(ncolors, 1); + MALLOCARRAY(cmap, cmapSize); + if (cmapP == NULL) + pm_error("Out of memory allocating %u bytes for a color map.", +diff --git a/converter/ppm/qrttoppm.c b/converter/ppm/qrttoppm.c +index 935463e..653084c 100644 +--- a/converter/ppm/qrttoppm.c ++++ b/converter/ppm/qrttoppm.c +@@ -46,7 +46,7 @@ main( argc, argv ) + + ppm_writeppminit( stdout, cols, rows, maxval, 0 ); + pixelrow = ppm_allocrow( cols ); +- buf = (unsigned char *) malloc( 3 * cols ); ++ buf = (unsigned char *) malloc2( 3 , cols ); + if ( buf == (unsigned char *) 0 ) + pm_error( "out of memory" ); + +diff --git a/converter/ppm/sldtoppm.c b/converter/ppm/sldtoppm.c +index 6ba4cb4..fc6a498 100644 +--- a/converter/ppm/sldtoppm.c ++++ b/converter/ppm/sldtoppm.c +@@ -464,6 +464,8 @@ slider(slvecfn slvec, + + /* Allocate image buffer and clear it to black. */ + ++ overflow_add(ixdots, 1); ++ overflow_add(iydots, 1); + pixels = ppm_allocarray(pixcols = ixdots + 1, pixrows = iydots + 1); + PPM_ASSIGN(rgbcolor, 0, 0, 0); + ppmd_filledrectangle(pixels, pixcols, pixrows, pixmaxval, 0, 0, +diff --git a/converter/ppm/ximtoppm.c b/converter/ppm/ximtoppm.c +index ce5e639..a39b689 100644 +--- a/converter/ppm/ximtoppm.c ++++ b/converter/ppm/ximtoppm.c +@@ -160,6 +163,7 @@ ReadXimHeader(FILE * const in_fp, + if (header->nchannels == 3 && header->bits_channel == 8) + header->ncolors = 0; + else if (header->nchannels == 1 && header->bits_channel == 8) { ++ overflow2(header->ncolors, sizeof(Color)); + header->colors = (Color *)calloc((unsigned int)header->ncolors, + sizeof(Color)); + if (header->colors == NULL) { +diff --git a/editor/pamcut.c b/editor/pamcut.c +index 7c41af3..72df687 100644 +--- a/editor/pamcut.c ++++ b/editor/pamcut.c +@@ -655,6 +655,8 @@ cutOneImage(FILE * const ifP, + + outpam = inpam; /* Initial value -- most fields should be same */ + outpam.file = ofP; ++ overflow_add(rightcol, 1); ++ overflow_add(bottomrow, 1); + outpam.width = rightcol - leftcol + 1; + outpam.height = bottomrow - toprow + 1; + +diff --git a/editor/pbmreduce.c b/editor/pbmreduce.c +index f49c8d9..580e5e0 100644 +--- a/editor/pbmreduce.c ++++ b/editor/pbmreduce.c +@@ -94,6 +94,7 @@ main( argc, argv ) + + unsigned int col; + ++ overflow_add(newcols, 2); + MALLOCARRAY(fsP->thiserr, newcols + 2); + MALLOCARRAY(fsP->nexterr, newcols + 2); + +diff --git a/editor/pnmgamma.c b/editor/pnmgamma.c +index b357b0d..ec612d3 100644 +--- a/editor/pnmgamma.c ++++ b/editor/pnmgamma.c +@@ -596,6 +596,7 @@ createGammaTables(enum transferFunction const transferFunction, + xelval ** const btableP) { + + /* Allocate space for the tables. */ ++ overflow_add(maxval, 1); + MALLOCARRAY(*rtableP, maxval+1); + MALLOCARRAY(*gtableP, maxval+1); + MALLOCARRAY(*btableP, maxval+1); +diff --git a/editor/pnmhisteq.c b/editor/pnmhisteq.c +index 8af4201..0c8d6e5 100644 +--- a/editor/pnmhisteq.c ++++ b/editor/pnmhisteq.c +@@ -107,6 +107,7 @@ computeLuminosityHistogram(xel * const * const xels, + unsigned int pixelCount; + unsigned int * lumahist; + ++ overflow_add(maxval, 1); + MALLOCARRAY(lumahist, maxval + 1); + if (lumahist == NULL) + pm_error("Out of storage allocating array for %u histogram elements", +diff --git a/editor/pnmindex.csh b/editor/pnmindex.csh +index c6f1e84..c513a84 100755 +--- a/editor/pnmindex.csh ++++ b/editor/pnmindex.csh +@@ -1,5 +1,7 @@ + #!/bin/csh -f + # ++echo "Unsafe code, needs debugging, do not ship" ++exit 1 + # pnmindex - build a visual index of a bunch of anymaps + # + # Copyright (C) 1991 by Jef Poskanzer. +diff --git a/editor/pnmpad.c b/editor/pnmpad.c +index 1904b68..0797cf1 100644 +--- a/editor/pnmpad.c ++++ b/editor/pnmpad.c +@@ -527,6 +527,8 @@ main(int argc, const char ** argv) { + + computePadSizes(cmdline, cols, rows, &lpad, &rpad, &tpad, &bpad); + ++ overflow_add(cols, lpad); ++ overflow_add(cols + lpad, rpad); + newcols = cols + lpad + rpad; + + if (PNM_FORMAT_TYPE(format) == PBM_TYPE) +diff --git a/editor/pnmremap.c b/editor/pnmremap.c +index b2448cb..b924120 100644 +--- a/editor/pnmremap.c ++++ b/editor/pnmremap.c +@@ -428,6 +428,7 @@ initFserr(struct pam * const pamP, + + unsigned int const fserrSize = pamP->width + 2; + ++ overflow_add(pamP->width, 2); + fserrP->width = pamP->width; + + MALLOCARRAY(fserrP->thiserr, pamP->depth); +@@ -465,6 +466,7 @@ floydInitRow(struct pam * const pamP, struct fserr * const fserrP) { + + unsigned int col; + ++ overflow_add(pamP->width, 2); + for (col = 0; col < pamP->width + 2; ++col) { + unsigned int plane; + for (plane = 0; plane < pamP->depth; ++plane) +diff --git a/editor/pnmscalefixed.c b/editor/pnmscalefixed.c +index 884ca31..747cd8f 100644 +--- a/editor/pnmscalefixed.c ++++ b/editor/pnmscalefixed.c +@@ -214,6 +214,7 @@ compute_output_dimensions(const struct cmdline_info cmdline, + const int rows, const int cols, + int * newrowsP, int * newcolsP) { + ++ overflow2(rows, cols); + if (cmdline.pixels) { + if (rows * cols <= cmdline.pixels) { + *newrowsP = rows; +@@ -265,6 +266,8 @@ compute_output_dimensions(const struct cmdline_info cmdline, + + if (*newcolsP < 1) *newcolsP = 1; + if (*newrowsP < 1) *newrowsP = 1; ++ ++ overflow2(*newcolsP, *newrowsP); + } + + +@@ -446,6 +449,9 @@ main(int argc, char **argv ) { + unfilled. We can address that by stretching, whereas the other + case would require throwing away some of the input. + */ ++ ++ overflow2(newcols, SCALE); ++ overflow2(newrows, SCALE); + sxscale = SCALE * newcols / cols; + syscale = SCALE * newrows / rows; + +diff --git a/editor/ppmdither.c b/editor/ppmdither.c +index ec1b977..e701e09 100644 +--- a/editor/ppmdither.c ++++ b/editor/ppmdither.c +@@ -356,6 +356,11 @@ dithMatrix(unsigned int const dithPower) { + (dithDim * sizeof(*dithMat)) + /* pointers */ + (dithDim * dithDim * sizeof(**dithMat)); /* data */ + ++ ++ overflow2(dithDim, sizeof(*dithMat)); ++ overflow3(dithDim, dithDim, sizeof(**dithMat)); ++ overflow_add(dithDim * sizeof(*dithMat), dithDim * dithDim * sizeof(**dithMat)); ++ + dithMat = malloc(dithMatSize); + + if (dithMat == NULL) +diff --git a/editor/specialty/pamoil.c b/editor/specialty/pamoil.c +index 6cb8d3a..6f4bde9 100644 +--- a/editor/specialty/pamoil.c ++++ b/editor/specialty/pamoil.c +@@ -112,6 +112,7 @@ main(int argc, char *argv[] ) { + tuples = pnm_readpam(ifp, &inpam, PAM_STRUCT_SIZE(tuple_type)); + pm_close(ifp); + ++ overflow_add(inpam.maxval, 1); + MALLOCARRAY(hist, inpam.maxval + 1); + if (hist == NULL) + pm_error("Unable to allocate memory for histogram."); +diff --git a/lib/libpam.c b/lib/libpam.c +index cc6368e..4e10572 100644 +--- a/lib/libpam.c ++++ b/lib/libpam.c +@@ -224,8 +224,9 @@ allocPamRow(const struct pam * const pamP) { + unsigned int const bytesPerTuple = allocationDepth(pamP) * sizeof(sample); + tuple * tuplerow; + +- tuplerow = malloc(pamP->width * (sizeof(tuple *) + bytesPerTuple)); +- ++ overflow_add(sizeof(tuple *), bytesPerTuple); ++ tuplerow = malloc2(pamP->width, (sizeof(tuple *) + bytesPerTuple)); ++ + if (tuplerow != NULL) { + /* Now we initialize the pointers to the individual tuples + to make this a regulation C two dimensional array. +diff --git a/lib/libpammap.c b/lib/libpammap.c +index 55e1d3f..04b1ba3 100644 +--- a/lib/libpammap.c ++++ b/lib/libpammap.c +@@ -108,7 +108,9 @@ allocTupleIntListItem(struct pam * const pamP) { + */ + struct tupleint_list_item * retval; + +- unsigned int const size = ++ overflow2(pamP->depth, sizeof(sample)); ++ overflow_add(sizeof(*retval)-sizeof(retval->tupleint.tuple), pamP->depth*sizeof(sample)); ++ unsigned int const size = + sizeof(*retval) - sizeof(retval->tupleint.tuple) + + pamP->depth * sizeof(sample); + +diff --git a/lib/libpm.c b/lib/libpm.c +index 4374bbe..5ab7f83 100644 +--- a/lib/libpm.c ++++ b/lib/libpm.c +@@ -841,5 +841,53 @@ pm_parse_height(const char * const arg) { + return height; + } + ++/* ++ * Maths wrapping ++ */ + ++void __overflow2(int a, int b) ++{ ++ if(a < 0 || b < 0) ++ pm_error("object too large"); ++ if(b == 0) ++ return; ++ if(a > INT_MAX / b) ++ pm_error("object too large"); ++} ++ ++void overflow3(int a, int b, int c) ++{ ++ overflow2(a,b); ++ overflow2(a*b, c); ++} ++ ++void overflow_add(int a, int b) ++{ ++ if( a > INT_MAX - b) ++ pm_error("object too large"); ++} ++ ++void *malloc2(int a, int b) ++{ ++ overflow2(a, b); ++ if(a*b == 0) ++ pm_error("Zero byte allocation"); ++ return malloc(a*b); ++} ++ ++void *malloc3(int a, int b, int c) ++{ ++ overflow3(a, b, c); ++ if(a*b*c == 0) ++ pm_error("Zero byte allocation"); ++ return malloc(a*b*c); ++} ++ ++void *realloc2(void * a, int b, int c) ++{ ++ overflow2(b, c); ++ if(b*c == 0) ++ pm_error("Zero byte allocation"); ++ return realloc(a, b*c); ++} + +diff --git a/lib/pm.h b/lib/pm.h +index e9f1405..da54391 100644 +--- a/lib/pm.h ++++ b/lib/pm.h +@@ -435,5 +435,12 @@ pm_parse_height(const char * const arg); + } + #endif + ++void *malloc2(int, int); ++void *malloc3(int, int, int); ++#define overflow2(a,b) __overflow2(a,b) ++void __overflow2(int, int); ++void overflow3(int, int, int); ++void overflow_add(int, int); ++void *realloc2(void*, int, int); + + #endif +diff --git a/other/pnmcolormap.c b/other/pnmcolormap.c +index 57db432..7195295 100644 +--- a/other/pnmcolormap.c ++++ b/other/pnmcolormap.c +@@ -840,6 +840,7 @@ colormapToSquare(struct pam * const pamP, + pamP->width = intsqrt; + else + pamP->width = intsqrt + 1; ++ overflow_add(intsqrt, 1); + } + { + unsigned int const intQuotient = colormap.size / pamP->width; +diff --git a/urt/Runput.c b/urt/Runput.c +index 3bc562a..645a376 100644 +--- a/urt/Runput.c ++++ b/urt/Runput.c +@@ -202,10 +202,11 @@ RunSetup(rle_hdr * the_hdr) + if ( the_hdr->background != 0 ) + { + register int i; +- register rle_pixel *background = +- (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) ); +- register int *bg_color; +- /* ++ register rle_pixel *background; ++ register int *bg_color; ++ ++ overflow_add(the_hdr->ncolors,1); ++ background = (rle_pixel *)malloc( (unsigned)(the_hdr->ncolors + 1) ); /* + * If even number of bg color bytes, put out one more to get to + * 16 bit boundary. + */ +@@ -224,7 +225,7 @@ RunSetup(rle_hdr * the_hdr) + /* Big-endian machines are harder */ + register int i, nmap = (1 << the_hdr->cmaplen) * + the_hdr->ncmap; +- register char *h_cmap = (char *)malloc( nmap * 2 ); ++ register char *h_cmap = (char *)malloc2( nmap, 2 ); + if ( h_cmap == NULL ) + { + fprintf( stderr, +diff --git a/urt/rle.h b/urt/rle.h +index 8d72cb9..ac65b94 100644 +--- a/urt/rle.h ++++ b/urt/rle.h +@@ -161,6 +161,17 @@ rle_hdr /* End of typedef. */ + */ + extern rle_hdr rle_dflt_hdr; + ++/* ++ * Provided by pm library ++ */ ++ ++extern void overflow_add(int, int); ++#define overflow2(a,b) __overflow2(a,b) ++extern void __overflow2(int, int); ++extern void overflow3(int, int, int); ++extern void *malloc2(int, int); ++extern void *malloc3(int, int, int); ++extern void *realloc2(void *, int, int); + + /* Declare RLE library routines. */ + +diff --git a/urt/rle_addhist.c b/urt/rle_addhist.c +index b165175..e09ed94 100644 +--- a/urt/rle_addhist.c ++++ b/urt/rle_addhist.c +@@ -70,13 +70,18 @@ rle_addhist(char * argv[], + return; + + length = 0; +- for (i = 0; argv[i]; ++i) ++ for (i = 0; argv[i]; ++i) { ++ overflow_add(length, strlen(argv[i])); ++ overflow_add(length+1, strlen(argv[i])); + length += strlen(argv[i]) +1; /* length of each arg plus space. */ ++ } + + time(&temp); + timedate = ctime(&temp); + length += strlen(timedate); /* length of date and time in ASCII. */ +- ++ overflow_add(strlen(padding), 4); ++ overflow_add(strlen(histoire), strlen(padding) + 4); ++ overflow_add(length, strlen(histoire) + strlen(padding) + 4); + length += strlen(padding) + 3 + strlen(histoire) + 1; + /* length of padding, "on " and length of history name plus "="*/ + if (in_hdr) /* if we are interested in the old comments... */ +@@ -84,8 +89,10 @@ rle_addhist(char * argv[], + else + old = NULL; + +- if (old && *old) ++ if (old && *old) { ++ overflow_add(length, strlen(old)); + length += strlen(old); /* add length if there. */ ++ } + + ++length; /*Cater for the null. */ + +diff --git a/urt/rle_getrow.c b/urt/rle_getrow.c +index bd7d1c8..bd05698 100644 +--- a/urt/rle_getrow.c ++++ b/urt/rle_getrow.c +@@ -168,6 +168,7 @@ rle_get_setup(rle_hdr * const the_hdr) { + char * cp; + + VAXSHORT(comlen, infile); /* get comment length */ ++ overflow_add(comlen, 1); + evenlen = (comlen + 1) & ~1; /* make it even */ + if (evenlen) { + MALLOCARRAY(comment_buf, evenlen); +diff --git a/urt/rle_hdr.c b/urt/rle_hdr.c +index 1611324..7c9c010 100644 +--- a/urt/rle_hdr.c ++++ b/urt/rle_hdr.c +@@ -80,7 +80,10 @@ int img_num; + /* Fill in with copies of the strings. */ + if ( the_hdr->cmd != pgmname ) + { +- char *tmp = (char *)malloc( strlen( pgmname ) + 1 ); ++ char *tmp; ++ ++ overflow_add(strlen(pgmname), 1); ++ tmp = malloc( strlen(pgmname) + 1 ); + RLE_CHECK_ALLOC( pgmname, tmp, 0 ); + strcpy( tmp, pgmname ); + the_hdr->cmd = tmp; +@@ -88,8 +91,10 @@ int img_num; + + if ( the_hdr->file_name != fname ) + { +- char *tmp = (char *)malloc( strlen( fname ) + 1 ); +- RLE_CHECK_ALLOC( pgmname, tmp, 0 ); ++ char *tmp; ++ overflow_add(strlen(fname), 1); ++ tmp = malloc( strlen( fname ) + 1 ); ++ RLE_CHECK_ALLOC( pgmname, tmp, 0 ); + strcpy( tmp, fname ); + the_hdr->file_name = tmp; + } +@@ -153,6 +158,7 @@ rle_hdr *from_hdr, *to_hdr; + if ( to_hdr->bg_color ) + { + int size = to_hdr->ncolors * sizeof(int); ++ overflow2(to_hdr->ncolors, sizeof(int)); + to_hdr->bg_color = (int *)malloc( size ); + RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->bg_color, "background color" ); + memcpy( to_hdr->bg_color, from_hdr->bg_color, size ); +@@ -161,7 +167,7 @@ rle_hdr *from_hdr, *to_hdr; + if ( to_hdr->cmap ) + { + int size = to_hdr->ncmap * (1 << to_hdr->cmaplen) * sizeof(rle_map); +- to_hdr->cmap = (rle_map *)malloc( size ); ++ to_hdr->cmap = (rle_map *)malloc3( to_hdr->ncmap, 1<cmaplen, sizeof(rle_map)); + RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->cmap, "color map" ); + memcpy( to_hdr->cmap, from_hdr->cmap, size ); + } +@@ -173,12 +179,17 @@ rle_hdr *from_hdr, *to_hdr; + { + int size = 0; + CONST_DECL char **cp; +- for ( cp=to_hdr->comments; *cp; cp++ ) ++ for ( cp=to_hdr->comments; *cp; cp++ ) ++ { ++ overflow_add(size, 1); + size++; /* Count the comments. */ ++ } + /* Check if there are really any comments. */ + if ( size ) + { ++ overflow_add(size, 1); + size++; /* Copy the NULL pointer, too. */ ++ overflow2(size, sizeof(char *)); + size *= sizeof(char *); + to_hdr->comments = (CONST_DECL char **)malloc( size ); + RLE_CHECK_ALLOC( to_hdr->cmd, to_hdr->comments, "comments" ); +diff --git a/urt/rle_open_f.c b/urt/rle_open_f.c +index ae8548b..c2ef37d 100644 +--- a/urt/rle_open_f.c ++++ b/urt/rle_open_f.c +@@ -163,65 +163,7 @@ dealWithSubprocess(const char * const file_name, + FILE ** const fpP, + bool * const noSubprocessP, + const char ** const errorP) { +- +-#ifdef NO_OPEN_PIPES + *noSubprocessP = TRUE; +-#else +- const char *cp; +- +- reapChildren(catchingChildrenP, pids); +- +- /* Real file, not stdin or stdout. If name ends in ".Z", +- * pipe from/to un/compress (depending on r/w mode). +- * +- * If it starts with "|", popen that command. +- */ +- +- cp = file_name + strlen(file_name) - 2; +- /* Pipe case. */ +- if (file_name[0] == '|') { +- pid_t thepid; /* PID from my_popen */ +- +- *noSubprocessP = FALSE; +- +- *fpP = my_popen(file_name + 1, mode, &thepid); +- if (*fpP == NULL) +- *errorP = "%s: can't invoke <<%s>> for %s: "; +- else { +- /* One more child to catch, eventually. */ +- if (*catchingChildrenP < MAX_CHILDREN) +- pids[(*catchingChildrenP)++] = thepid; +- } +- } else if (cp > file_name && *cp == '.' && *(cp + 1) == 'Z' ) { +- /* Compress case. */ +- pid_t thepid; /* PID from my_popen. */ +- const char * command; +- +- *noSubprocessP = FALSE; +- +- if (*mode == 'w') +- pm_asprintf(&command, "compress > %s", file_name); +- else if (*mode == 'a') +- pm_asprintf(&command, "compress >> %s", file_name); +- else +- pm_asprintf(&command, "compress -d < %s", file_name); +- +- *fpP = my_popen(command, mode, &thepid); +- +- if (*fpP == NULL) +- *errorP = "%s: can't invoke 'compress' program, " +- "trying to open %s for %s"; +- else { +- /* One more child to catch, eventually. */ +- if (*catchingChildrenP < MAX_CHILDREN) +- pids[(*catchingChildrenP)++] = thepid; +- } +- pm_strfree(command); +- } else { +- *noSubprocessP = TRUE; +- *errorP = NULL; +- } +-#endif + } + + +diff --git a/urt/rle_putcom.c b/urt/rle_putcom.c +index ab2eb20..f6a6ff7 100644 +--- a/urt/rle_putcom.c ++++ b/urt/rle_putcom.c +@@ -98,12 +98,14 @@ rle_putcom(const char * const value, + const char * v; + const char ** old_comments; + int i; +- for (i = 2, cp = the_hdr->comments; *cp != NULL; ++i, ++cp) ++ for (i = 2, cp = the_hdr->comments; *cp != NULL; ++i, ++cp) { ++ overflow_add(i, 1); + if (match(value, *cp) != NULL) { + v = *cp; + *cp = value; + return v; + } ++ } + /* Not found */ + /* Can't realloc because somebody else might be pointing to this + * comments block. Of course, if this were true, then the +diff --git a/urt/scanargs.c b/urt/scanargs.c +index f3af334..5e114bb 100644 +--- a/urt/scanargs.c ++++ b/urt/scanargs.c +@@ -62,9 +62,8 @@ typedef int *ptr; + /* + * Storage allocation macros + */ +-#define NEW( type, cnt ) (type *) malloc( (cnt) * sizeof( type ) ) +-#define RENEW( type, ptr, cnt ) (type *) realloc( ptr, (cnt) * sizeof( type ) ) +- ++#define NEW( type, cnt ) (type *) malloc2( (cnt) , sizeof( type ) ) ++#define RENEW( type, ptr, cnt ) (type *) realloc2( ptr, (cnt), sizeof( type ) ) + static CONST_DECL char * prformat( CONST_DECL char *, int ); + static int isnum( CONST_DECL char *, int, int ); + static int _do_scanargs( int argc, char **argv, CONST_DECL char *format, + diff --git a/extra/netpbm/netpbm-security-scripts.patch b/extra/netpbm/netpbm-security-scripts.patch new file mode 100644 index 0000000..66fd14b --- /dev/null +++ b/extra/netpbm/netpbm-security-scripts.patch @@ -0,0 +1,312 @@ +diff --git a/converter/other/anytopnm b/converter/other/anytopnm +index acf8813..335312a 100755 +--- a/converter/other/anytopnm ++++ b/converter/other/anytopnm +@@ -537,12 +534,17 @@ typeDescription=`file "$file" | cut -d: -f2- | cut -c2-` + determineType "$file" "$mimeType" "$typeDescription" "$fileExtension" + + if [ "$filetype" = "unknown" ]; then +- echo "$progname: unknown file type. " \ +- "'file' says mime type is '$mimeType', " 1>&2 +- echo "type description is '$typeDescription'" 1>&2 ++ if [ -d "$tempdir" ] ; then ++ rm -rf "$tempdir" ++ fi ++ + exit 1 + fi + + convertIt $file $filetype + ++if [ -d "$tempdir" ] ; then ++ rm -rf "$tempdir" ++fi ++ + exit 0 +diff --git a/editor/pnmmargin b/editor/pnmmargin +index 0f57d1d..e0d3625 100755 +--- a/editor/pnmmargin ++++ b/editor/pnmmargin +@@ -90,6 +86,7 @@ else + -white | -black ) + pnmpad $plainopt $color \ + -left=$size -right=$size -top=$size -bottom=$size $tmp1 ++ rm -rf "$tempdir" + exit + ;; + * ) +@@ -103,4 +100,4 @@ else + pnmcat -tb $plainopt $tmp3 $tmp4 $tmp3 + fi + +- ++rm -rf "$tempdir" +diff --git a/editor/ppmfade b/editor/ppmfade +index 027fc79..8eb094f 100755 +--- a/editor/ppmfade ++++ b/editor/ppmfade +@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@" + # + ############################################################################## + use strict; ++use File::Temp "tempdir"; + + my $SPREAD = 1; + my $SHIFT = 2; +@@ -137,20 +138,26 @@ if ($first_file ne "undefined") { + + print("Frames are " . $width . "W x " . $height . "H\n"); + ++# ++# We create a tmp-directory right here ++# ++my $tmpdir = tempdir("ppmfade.XXXXXX", CLEANUP => 1); ++ ++ + if ($first_file eq "undefined") { + print "Fading from black to "; +- system("ppmmake \\#000 $width $height >junk1$$.ppm"); ++ system("ppmmake \\#000 $width $height >$tmpdir/junk1$$.ppm"); + } else { + print "Fading from $first_file to "; +- system("cp", $first_file, "junk1$$.ppm"); ++ system("cp", $first_file, "$tmpdir/junk1$$.ppm"); + } + + if ($last_file eq "undefined") { + print "black.\n"; +- system("ppmmake \\#000 $width $height >junk2$$.ppm"); ++ system("ppmmake \\#000 $width $height >$tmpdir/junk2$$.ppm"); + } else { + print "$last_file\n"; +- system("cp", $last_file, "junk2$$.ppm"); ++ system("cp", $last_file, "$tmpdir/junk2$$.ppm"); + } + + # +@@ -158,14 +165,14 @@ if ($last_file eq "undefined") { + # + + # Here's what our temporary files are: +-# junk1$$.ppm: The original (fade-from) image +-# junk2$$.ppm: The target (fade-from) image +-# junk3$$.ppm: The frame of the fade for the current iteration of the +-# the for loop. +-# junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate +-# image to another, this is the first frame of that +-# sequence. +-# junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence ++# $tmpdir/junk1$$.ppm: The original (fade-from) image ++# $tmpdir/junk2$$.ppm: The target (fade-from) image ++# $tmpdir/junk3$$.ppm: The frame of the fade for the current iteration of the ++# the for loop. ++# $tmpdir/junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate ++# image to another, this is the first frame of that ++# sequence. ++# $tmpdir/junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence + + my $i; # Frame number + for ($i = 1; $i <= $nframes; $i++) { +@@ -173,147 +180,147 @@ for ($i = 1; $i <= $nframes; $i++) { + if ($mode eq $SPREAD) { + if ($i <= 10) { + my $n = $spline20[$i] * 100; +- system("ppmspread $n junk1$$.ppm >junk3$$.ppm"); ++ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n; + $n = $spline20[$i] * 100; +- system("ppmspread $n junk1$$.ppm >junk1a$$.ppm"); ++ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm"); + $n = (1-$spline20[$i-10]) * 100; +- system("ppmspread $n junk2$$.ppm >junk2a$$.ppm"); ++ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm"); + $n = $spline10[$i-10]; +- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = (1-$spline20[$i-10])*100; +- system("ppmspread $n junk2$$.ppm >junk3$$.ppm"); ++ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + } elsif ($mode eq $SHIFT) { + if ($i <= 10) { + my $n = $spline20[$i] * 100; +- system("ppmshift $n junk1$$.ppm >junk3$$.ppm"); ++ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n; + $n = $spline20[$i] * 100; +- system("ppmshift $n junk1$$.ppm >junk1a$$.ppm"); ++ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm"); + $n = (1-$spline20[$i-10])*100; +- system("ppmshift $n junk2$$.ppm >junk2a$$.ppm"); ++ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm"); + $n = $spline10[$i-10]; +- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = (1-$spline20[$i-10]) * 100; +- system("ppmshift $n junk2$$.ppm >junk3$$.ppm"); ++ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + } elsif ($mode eq $RELIEF) { + if ($i == 1) { +- system("ppmrelief junk1$$.ppm >junk1r$$.ppm"); ++ system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmrelief junk2$$.ppm >junk2r$$.ppm"); ++ system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm"); + } + } elsif ($mode eq $OIL) { + if ($i == 1) { +- system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk1o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk1o$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk2o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk2o$$.ppm"); + } + } elsif ($mode eq $EDGE) { + if ($i == 1) { +- system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk1o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk1o$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk2o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk2o$$.ppm"); + } + } elsif ($mode eq $BENTLEY) { + if ($i == 1) { +- system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk1o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk1o$$.ppm"); + } + if ($i <= 10) { + my $n = $spline10[$i]; +- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = $spline10[$i-20]; +- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("ppmtopgm junk2$$.ppm | pgmbentley >junko$$.ppm"); +- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . +- ">junk2o$$.ppm"); ++ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmbentley >$tmpdir/junko$$.ppm"); ++ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . ++ ">$tmpdir/junk2o$$.ppm"); + } + } elsif ($mode eq $BLOCK) { + if ($i <= 10) { + my $n = 1 - 1.9*$spline20[$i]; +- system("pamscale $n junk1$$.ppm | " . +- "pamscale -width $width -height $height >junk3$$.ppm"); ++ system("pamscale $n $tmpdir/junk1$$.ppm | " . ++ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm"); + } elsif ($i <= 20) { + my $n = $spline10[$i-10]; +- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); ++ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + my $n = 1 - 1.9*$spline20[31-$i]; +- system("pamscale $n junk2$$.ppm | " . +- "pamscale -width $width -height $height >junk3$$.ppm"); ++ system("pamscale $n $tmpdir/junk2$$.ppm | " . ++ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm"); + } + if ($i == 10) { +- system("cp", "junk3$$.ppm", "junk1a$$.ppm"); +- system("pamscale $n junk2$$.ppm | " . +- "pamscale -width $width -height $height >junk2a$$.ppm"); ++ system("cp", "$tmpdir/junk3$$.ppm", "$tmpdir/junk1a$$.ppm"); ++ system("pamscale $n $tmpdir/junk2$$.ppm | " . ++ "pamscale -width $width -height $height >$tmpdir/junk2a$$.ppm"); + } + } elsif ($mode eq $MIX) { + my $fade_factor = sqrt(1/($nframes-$i+1)); +- system("ppmmix $fade_factor junk1$$.ppm junk2$$.ppm >junk3$$.ppm"); ++ system("ppmmix $fade_factor $tmpdir/junk1$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); + } else { + print("Internal error: impossible mode value '$mode'\n"); + } + + my $outfile = sprintf("%s.%04d.ppm", $base_name, $i); +- system("cp", "junk3$$.ppm", $outfile); ++ system("cp", "$tmpdir/junk3$$.ppm", $outfile); + } + + # + # Clean up shop. + # +-system("rm junk*$$.ppm"); ++system("rm $tmpdir/junk*$$.ppm"); + + exit(0); + + diff --git a/extra/netpbm/netpbm.toml b/extra/netpbm/netpbm.toml new file mode 100644 index 0000000..7096d1f --- /dev/null +++ b/extra/netpbm/netpbm.toml @@ -0,0 +1,67 @@ +[build] +type = "makefile" + +[build.flags] +makefile_commands = ["make"] +makefile_install_commands = [ + 'make pkgdir="$DESTDIR/usr" PKGMANDIR=share/man install-run install-dev', + '''echo -e '#!/bin/sh\npamditherbw $@ | pamtopnm\n' > "$DESTDIR/usr/bin/pgmtopbm"''', +] + +[dependencies] +runtime = [ + "sh", + "libcxx", + "libunwind", + "jbigkit", + "glibc", + "libjpeg-turbo", + "libpng", + "libtiff", + "libxml215", + "perl", + "zlib-ng", +] + +[[manual_sources]] +files = [ + "reproducible-man-gzip.patch", + "netpbm-security-scripts.patch", + "netpbm-security-code.patch", + "netpbm-CAN-2005-2471.patch", +] + +[package] +description = "A toolkit for manipulation of graphic images" +homepage = "http://netpbm.sourceforge.net/" +license = [ + "Artistic-1.0", + "GPL-2.0-only", + "LGPL-2.0-only", + "MIT", +] +name = "netpbm" +version = "10.86.48" + +[[source]] +extract_dir = "$name-$version" +patches = [ + "netpbm-CAN-2005-2471.patch", + "netpbm-security-code.patch", + "netpbm-security-scripts.patch", + "reproducible-man-gzip.patch", +] +post_extract = [ + "cp config.mk.in config.mk", + "echo 'CFLAGS_SHLIB = -fPIC' >> config.mk", + "echo 'TIFFLIB = libtiff.so' >> config.mk", + "echo 'JPEGLIB = libjpeg.so' >> config.mk", + "echo 'PNGLIB = libpng.so' >> config.mk", + "echo 'ZLIB = libz.so' >> config.mk", + "echo 'JBIGLIB = /usr/lib/libjbig.a' >> config.mk", + "sed -i 's|misc|share/netpbm|' common.mk", + "sed -e 's|/sharedlink|/lib|' -e 's|/staticlink|/lib|' -i lib/Makefile", + "sed -i 's|install.manwebmain install.manweb install.man|install.man|' GNUmakefile", +] +sha256 = "709a98e871aeae892437274d68833c804dd41a4b8daf8fd978cac2782da4148a" +url = "https://downloads.sourceforge.net/project/netpbm/super_stable/$version/netpbm-$version.tgz" diff --git a/extra/netpbm/reproducible-man-gzip.patch b/extra/netpbm/reproducible-man-gzip.patch new file mode 100644 index 0000000..ec06eaf --- /dev/null +++ b/extra/netpbm/reproducible-man-gzip.patch @@ -0,0 +1,16 @@ +diff -aur netpbm-10.73.31.old/buildtools/manpage.mk netpbm-10.73.31/buildtools/manpage.mk +--- netpbm-10.73.31.old/buildtools/manpage.mk 2020-05-28 18:41:20.400790506 +0200 ++++ netpbm-10.73.31/buildtools/manpage.mk 2020-05-28 18:50:50.444143414 +0200 +@@ -388,9 +388,9 @@ + .PHONY : installman + installman: report + set -x +- for f in $(wildcard $(MAN1)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man1/$$f.gz; fi; done +- for f in $(wildcard $(MAN3)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man3/$$f.gz; fi; done +- for f in $(wildcard $(MAN5)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man5/$$f.gz; fi; done ++ for f in $(wildcard $(MAN1)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man1/$$f.gz; fi; done ++ for f in $(wildcard $(MAN3)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man3/$$f.gz; fi; done ++ for f in $(wildcard $(MAN5)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man5/$$f.gz; fi; done + + + # This will uninstall the man pages. diff --git a/extra/pango/pango.toml b/extra/pango/pango.toml new file mode 100644 index 0000000..bc9159f --- /dev/null +++ b/extra/pango/pango.toml @@ -0,0 +1,43 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" +configure = [ + "-Dman-pages=true", + "-Ddocumentation=false", + "-Dsysprof=disabled", +] +skip_tests = true + +[dependencies] +build = [ + "gobject-introspection", + "help2man", + "meson", + "python-docutils", +] +runtime = [ + "cairo", + "fontconfig", + "freetype2", + "fribidi", + "glib2", + "glibc", + "harfbuzz", + "libthai", + "libx11", + "libxft", + "libxrender", +] + +[package] +description = "A library for layout and rendering of text" +homepage = "https://www.pango.org/" +license = "LGPL-2.1-or-later" +name = "pango" +version = "1.57.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://gitlab.gnome.org/GNOME/pango.git#$version" diff --git a/extra/python-accessible-pygments/python-accessible-pygments.toml b/extra/python-accessible-pygments/python-accessible-pygments.toml new file mode 100644 index 0000000..b354363 --- /dev/null +++ b/extra/python-accessible-pygments/python-accessible-pygments.toml @@ -0,0 +1,22 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-hatchling", + "python-hatch-fancy-pypi-readme", + "python-hatch-vcs", + "git" +] +runtime = ["python-pygments"] + +[package] +description = "Collection of accessible pygments styles" +homepage = "https://github.com/Quansight-Labs/accessible-pygments" +license = "BSD-3-Clause" +name = "python-accessible-pygments" +version = "0.0.5" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/Quansight-Labs/accessible-pygments.git#v$version" diff --git a/extra/python-beautifulsoup4/python-beautifulsoup4.toml b/extra/python-beautifulsoup4/python-beautifulsoup4.toml new file mode 100644 index 0000000..6f8bde5 --- /dev/null +++ b/extra/python-beautifulsoup4/python-beautifulsoup4.toml @@ -0,0 +1,28 @@ +[build] +type = "python" + +[dependencies] +build = ["python-hatchling"] +optional = [ + "python-cchardet", + "python-chardet", + "python-lxml", + "python-html5lib", +] +runtime = [ + "python", + "python-soupsieve", + "python-typing_extensions", +] + +[package] +description = "Python HTML/XML parser designed for quick turnaround projects like screen-scraping" +homepage = "https://www.crummy.com/software/BeautifulSoup/" +license = "MIT" +name = "python-beautifulsoup4" +version = "4.14.3" + +[[source]] +extract_dir = "$name-$version" +sha256 = "6292b1c5186d356bba669ef9f7f051757099565ad9ada5dd630bd9de5fa7fb86" +url = "https://www.crummy.com/software/BeautifulSoup/bs4/download/4.14/beautifulsoup4-$version.tar.gz" diff --git a/extra/python-cairo/python-cairo.toml b/extra/python-cairo/python-cairo.toml new file mode 100644 index 0000000..b8bad55 --- /dev/null +++ b/extra/python-cairo/python-cairo.toml @@ -0,0 +1,31 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" +post_install = [ '''python -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -O -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -m sphinx -b html docs "$DESTDIR/usr/share/doc/pycairo/html"''', '''rm -r "$DESTDIR/usr/share/doc/pycairo/html/.doctrees"''' ] +split-docs = true + +[dependencies] +build = [ + "meson", + "python-sphinx", + "python-sphinx_rtd_theme", +] +runtime = [ + "cairo", + "python", +] +test = [ "python-pytest" ] + +[package] +description = "Python bindings for the cairo graphics library" +homepage = "https://pycairo.readthedocs.io/en/latest/" +license = "LGPL-2.1-Only OR MPL-1.1" +name = "python-cairo" +version = "1.29.0" + +[[source]] +extract_dir = "$name-$version" +sha256 = "f3f7fde97325cae80224c09f12564ef58d0d0f655da0e3b040f5807bd5bd3142" +url = "https://github.com/pygobject/pycairo/releases/download/v$version/pycairo-$version.tar.gz" diff --git a/extra/python-dbus/python-dbus.toml b/extra/python-dbus/python-dbus.toml new file mode 100644 index 0000000..5ce81c4 --- /dev/null +++ b/extra/python-dbus/python-dbus.toml @@ -0,0 +1,42 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" +configure = ["-Ddoc=true"] +post_compile = ['python "tools/generate-pkginfo.py" $version PKG-INFO'] +post_install = [ + 'python -m compileall -d /usr/lib "$DESTDIR/usr/lib"', + 'python -O -m compileall -d /usr/lib "$DESTDIR/usr/lib"', + """install -Dm644 -t "$DESTDIR$(python -c 'import site; print(site.getsitepackages()[0])')/dbus_python.egg-info/" PKG-INFO""", +] +skip_tests = true # bash + +[dependencies] +build = [ + "meson", + "python-gobject", + "python-pyproject-metadata", + "python-sphinx", + "python-sphinx_rtd_theme", + "python-sphinxcontrib-jquery", + "python-tomli", +] +optional = ["python-gobject"] +runtime = [ + "dbus", + "glibc", + "glib2", + "python", +] + +[package] +description = "Python bindings for D-Bus" +homepage = "https://www.freedesktop.org/wiki/Software/dbus/" +license = "MIT" +name = "python-dbus" +version = "1.4.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://gitlab.freedesktop.org/dbus/dbus-python.git#dbus-python-$version" diff --git a/extra/python-diagnostic/python-diagnostic.toml b/extra/python-diagnostic/python-diagnostic.toml new file mode 100644 index 0000000..83becd7 --- /dev/null +++ b/extra/python-diagnostic/python-diagnostic.toml @@ -0,0 +1,22 @@ +[build] +type = "python" + +[dependencies] +build = ["python-flit-core"] +runtime = [ + "python", + "python-rich", + "python-markdown-it-py", + "python-docutils", +] + +[package] +description = "makes it easier to build command line tools with great error reporting" +homepage = "https://github.com/pradyunsg/diagnostic" +license = "MIT" +name = "python-diagnostic" +version = "3.0.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/pradyunsg/diagnostic.git#$version" diff --git a/extra/python-gobject/python-gobject.toml b/extra/python-gobject/python-gobject.toml new file mode 100644 index 0000000..9388b5b --- /dev/null +++ b/extra/python-gobject/python-gobject.toml @@ -0,0 +1,39 @@ +[build] +type = "meson" + +[build.flags] +build_dir = "build" +skip_tests = true +post_install = [ '''python -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -O -m compileall -d /usr/lib "$DESTDIR/usr/lib"''', '''python -m sphinx -b html docs "$DESTDIR/usr/share/doc/pygobject/html"''', '''rm -r "$DESTDIR/usr/share/doc/pygobject/html/.doctrees"''' ] +split-docs = true + +[dependencies] +build = [ + "meson", + "python-cairo", + "python-pydata-sphinx-theme", + "python-setuptools", + "python-sphinx", + "python-sphinx-copybutton", + "git" +] +optional = ["python-cairo"] +runtime = [ + "glib2", + "glibc", + "gobject-introspection", + "libffi", + "python", +] + +[package] +description = "Python bindings for GLib/GObject/GIO/GTK" +homepage = "https://pygobject.gnome.org/" +license = "LGPL-2.1-or-later" +name = "python-gobject" +version = "3.56.1" + +[[source]] +extract_dir = "$name-$version" +url = "https://gitlab.gnome.org/GNOME/pygobject.git#$version" + diff --git a/extra/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.toml b/extra/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.toml new file mode 100644 index 0000000..8524504 --- /dev/null +++ b/extra/python-hatch-fancy-pypi-readme/python-hatch-fancy-pypi-readme.toml @@ -0,0 +1,19 @@ +[build] +type = "python" + +[dependencies] +runtime = [ + "python", + "python-hatchling", +] + +[package] +description = "Fancy PyPI READMEs with Hatch" +homepage = "https://github.com/hynek/hatch-fancy-pypi-readme" +license = "MIT" +name = "python-hatch-fancy-pypi-readme" +version = "25.1.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/hynek/hatch-fancy-pypi-readme.git#$version" diff --git a/extra/python-iniconfig/python-iniconfig.toml b/extra/python-iniconfig/python-iniconfig.toml new file mode 100644 index 0000000..626ccba --- /dev/null +++ b/extra/python-iniconfig/python-iniconfig.toml @@ -0,0 +1,21 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-setuptools", + "python-setuptools-scm", + "git" +] +runtime = ["python"] + +[package] +description = "brain-dead simple config-ini parsing" +homepage = "https://github.com/pytest-dev/iniconfig" +license = "MIT" +name = "python-iniconfig" +version = "2.3.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/pytest-dev/iniconfig.git#v$version" diff --git a/extra/python-magic/python-magic.toml b/extra/python-magic/python-magic.toml new file mode 100644 index 0000000..fcc8cc1 --- /dev/null +++ b/extra/python-magic/python-magic.toml @@ -0,0 +1,23 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-setuptools", + "python-wheel", +] +runtime = [ + "file", + "python", +] + +[package] +description = "A python wrapper for libmagic" +homepage = "https://github.com/ahupp/python-magic" +license = "MIT" +name = "python-magic" +version = "0.4.27" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/ahupp/python-magic#$version" diff --git a/extra/python-nodeenv/python-nodeenv.toml b/extra/python-nodeenv/python-nodeenv.toml new file mode 100644 index 0000000..b485146 --- /dev/null +++ b/extra/python-nodeenv/python-nodeenv.toml @@ -0,0 +1,24 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-wheel", + "python-setuptools-scm", +] +optional = ["nodejs"] +runtime = [ + "python-setuptools", + "make", +] + +[package] +description = "Node.js virtual environment builder" +homepage = "https://github.com/ekalinin/nodeenv" +license = "BSD-3-Clause" +name = "python-nodeenv" +version = "1.10.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/ekalinin/nodeenv.git#$version" diff --git a/extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml b/extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml new file mode 100644 index 0000000..2cc7e5a --- /dev/null +++ b/extra/python-pydata-sphinx-theme/python-pydata-sphinx-theme.toml @@ -0,0 +1,34 @@ +[build] +type = "python" + +[build.flags] +env_vars = [ "STB_USE_SYSTEM_NODE=true" ] + +[dependencies] +build = ["python-sphinx-theme-builder", "python-diagnostic", "nodejs", "git" ] +runtime = [ + "python", + "python-accessible-pygments", + "python-beautifulsoup4", + "python-babel", + "python-docutils", + "python-jinja", + "python-pygments", + "python-requests", + "python-sphinx", + "python-typing_extensions", +] + +[package] +description = "Clean, Bootstrap-based Sphinx theme by and for the PyData community." +homepage = "https://pydata-sphinx-theme.readthedocs.io/" +license = "BSD-3-Clause" +name = "python-pydata-sphinx-theme" +version = "0.16.1" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/pydata/pydata-sphinx-theme.git#v$version" +post_extract = [ + "sed -i \"s/^node-version = \\\".*\\\"/node-version = \\\"$(node --version | sed 's/^v//')\\\"/\" pyproject.toml", +] diff --git a/extra/python-pytest/python-pytest.toml b/extra/python-pytest/python-pytest.toml new file mode 100644 index 0000000..80a7d29 --- /dev/null +++ b/extra/python-pytest/python-pytest.toml @@ -0,0 +1,27 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-setuptools-scm", + "python-setuptools", + "python-wheel", + "git" +] +runtime = [ + "python-iniconfig", + "python-packaging", + "python-pluggy", + "python-pygments", +] + +[package] +description = "Simple powerful testing with Python" +homepage = "https://docs.pytest.org/" +license = "MIT" +name = "python-pytest" +version = "9.0.2" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/pytest-dev/pytest.git#$version" diff --git a/extra/python-rich/python-rich.toml b/extra/python-rich/python-rich.toml new file mode 100644 index 0000000..6265f79 --- /dev/null +++ b/extra/python-rich/python-rich.toml @@ -0,0 +1,25 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-wheel", + "python-poetry-core", +] +runtime = [ + "python", + "python-markdown-it-py", + "python-pygments", +] + +[package] +description = "Python library for rich text and beautiful formatting in the terminal" +homepage = "https://github.com/Textualize/rich" +license = "MIT" +name = "python-rich" +version = "14.3.3" + +[[source]] +extract_dir = "$name-$version" +sha256 = "192256ed24eac979015a95e98ad240c970201892bf12b2f3c2fcc1d729f7e093" +url = "https://github.com/Textualize/rich.git#v$version" diff --git a/extra/python-smartypants/python-smartypants.toml b/extra/python-smartypants/python-smartypants.toml new file mode 100644 index 0000000..63a3627 --- /dev/null +++ b/extra/python-smartypants/python-smartypants.toml @@ -0,0 +1,20 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-setuptools", + "python-wheel", +] +runtime = ["python"] + +[package] +description = "Python with the SmartyPants" +homepage = "https://github.com/justinmayer/smartypants.py" +license = "BSD-2-Clause" +name = "python-smartypants" +version = "2.0.2" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/justinmayer/smartypants.py.git#v$version" diff --git a/extra/python-soupsieve/python-soupsieve.toml b/extra/python-soupsieve/python-soupsieve.toml new file mode 100644 index 0000000..55cd919 --- /dev/null +++ b/extra/python-soupsieve/python-soupsieve.toml @@ -0,0 +1,17 @@ +[build] +type = "python" + +[dependencies] +build = [ "python-hatchling" ] +runtime = [ "python", "python-beautifulsoup4" ] + +[package] +description = "A CSS4 selector implementation for Beautiful Soup" +homepage = "https://github.com/facelessuser/soupsieve" +license = "MIT" +name = "python-soupsieve" +version = "2.8.3" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/facelessuser/soupsieve.git#$version" diff --git a/extra/python-sphinx-copybutton/python-sphinx-copybutton.toml b/extra/python-sphinx-copybutton/python-sphinx-copybutton.toml new file mode 100644 index 0000000..1b2dec3 --- /dev/null +++ b/extra/python-sphinx-copybutton/python-sphinx-copybutton.toml @@ -0,0 +1,18 @@ +[build] +type = "python" + +[dependencies] +build = ["python-setuptools"] +runtime = ["python-sphinx"] + +[package] +description = 'Sphinx extension to add a "copy" button to code blocks' +homepage = "https://github.com/executablebooks/sphinx-copybutton" +license = "MIT" +name = "python-sphinx-copybutton" +version = "0.5.2" + +[[source]] +extract_dir = "$name-$version" +sha256 = "4cf17c82fb9646d1bc9ca92ac280813a3b605d8c421225fd9913154103ee1fbd" +url = "https://files.pythonhosted.org/packages/source/s/sphinx-copybutton/sphinx-copybutton-$version.tar.gz" diff --git a/extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml b/extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml new file mode 100644 index 0000000..38ec375 --- /dev/null +++ b/extra/python-sphinx-theme-builder/python-sphinx-theme-builder.toml @@ -0,0 +1,28 @@ +[build] +type = "python" + +[dependencies] +build = ["python-flit-core"] +optional = [ + "python-click", + "python-sphinx-autobuild", +] +runtime = [ + "python", + "python-nodeenv", + "python-packaging", + "python-pyproject-metadata", + "python-rich", + "python-setuptools", +] + +[package] +description = "Python build backend for Sphinx themes" +homepage = "https://github.com/pradyunsg/sphinx-theme-builder" +license = "MIT" +name = "python-sphinx-theme-builder" +version = "0.3.2" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/pradyunsg/sphinx-theme-builder.git#$version" diff --git a/extra/python-tomli/python-tomli.toml b/extra/python-tomli/python-tomli.toml new file mode 100644 index 0000000..a5a4202 --- /dev/null +++ b/extra/python-tomli/python-tomli.toml @@ -0,0 +1,17 @@ +[build] +type = "python" + +[dependencies] +build = ["python-flit-core"] +runtime = ["python"] + +[package] +description = "A lil' TOML parser" +homepage = "https://github.com/hukkin/tomli" +license = "MIT" +name = "python-tomli" +version = "2.4.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/hukkin/tomli.git#$version" diff --git a/extra/python-typogrify/python-typogrify.toml b/extra/python-typogrify/python-typogrify.toml new file mode 100644 index 0000000..d15c8b7 --- /dev/null +++ b/extra/python-typogrify/python-typogrify.toml @@ -0,0 +1,23 @@ +[build] +type = "python" + +[dependencies] +build = [ + "python-hatchling", + "python-wheel", +] +runtime = [ + "python", + "python-smartypants", +] + +[package] +description = "filters to make caring about typography on the web a bit easier" +homepage = "https://github.com/justinmayer/typogrify" +license = "BSD-3-Clause" +name = "python-typogrify" +version = "2.1.0" + +[[source]] +extract_dir = "$name-$version" +url = "https://github.com/justinmayer/typogrify#$version" diff --git a/extra/r/R.conf b/extra/r/R.conf new file mode 100644 index 0000000..6bf6bdf --- /dev/null +++ b/extra/r/R.conf @@ -0,0 +1 @@ +/usr/lib/R/lib diff --git a/extra/r/r.desktop b/extra/r/r.desktop new file mode 100644 index 0000000..6ceca7a --- /dev/null +++ b/extra/r/r.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=R +GenericName=environment for statistical computing +Comment=language and environment for statistical computing and graphics +Exec=R +Icon=/usr/share/pixmaps/r.png +DocPath=/usr/lib/R/doc/html/index.html +StartupNotify=true +Terminal=true +Type=Application +Categories=Math;Science;Education diff --git a/extra/r/r.png b/extra/r/r.png new file mode 100644 index 0000000..be48e30 Binary files /dev/null and b/extra/r/r.png differ diff --git a/extra/r/r.toml b/extra/r/r.toml new file mode 100644 index 0000000..358f3e6 --- /dev/null +++ b/extra/r/r.toml @@ -0,0 +1,100 @@ +[build] +type = "autotools" + +[build.flags] +sysconfdir = "/etc/R" +configure = [ + "rsharedir=/usr/share/R/", + "rincludedir=/usr/include/R/", + "rdocdir=/usr/share/doc/R/", + "--with-x", + "--enable-R-shlib", + "--enable-memory-profiling", + "--with-lapack", + "--with-blas", + "F77=flang", + "LIBnn=lib", +] +make_dirs = [ + "./", + "src/nmath/standalone", +] +make_install_dirs = [ + "./", + "src/nmath/standalone", +] +post_compile = [ + "make info", + "cd src/nmath/standalone && make shared", +] +post_install = [ + 'sed -i "s|$DESTDIR ||" "$DESTDIR/usr/bin/R"', + 'rm "$DESTDIR"/usr/lib/R/bin/R', + 'cd "$DESTDIR"/usr/lib/R/bin && ln -s ../../../bin/R', + 'install -Dm644 "$DEPOT_SPECDIR"/r.desktop -t "$DESTDIR"/usr/share/applications', + 'install -Dm644 "$DEPOT_SPECDIR"/r.png -t "$DESTDIR"/usr/share/pixmaps', + 'install -Dm644 "$DEPOT_SPECDIR"/R.conf -t "$DESTDIR"/etc/ld.so.conf.d', + 'install -d "$DESTDIR"/etc/R', + 'cd "$DESTDIR"/usr/lib/R/etc && for _i in *; do mv -f "$_i" "$DESTDIR/etc/R" && ln -s "/etc/R/$_i" "$_i"; done', +] +skip_tests = true +keep = [ "etc/R/Makeconf", "etc/R/Renviron", "etc/R/ldpaths", "etc/R/repositories", "etc/R/javaconf" ] + +[dependencies] +build = [ + "flang", + "tk", +] +optional = [ + "flang", + "blas-openblas", +] +runtime = [ + "sh", + "blas", + "bzip2", + "cairo", + "curl", + "libcxx", + "libunwind", + "glib2", + "glibc", + "icu78", + "lapack", + "libdeflate", + "libjpeg-turbo", + "libpng", + "libtiff", + "libxmu", + "libx11", + "libxt", + "pango", + "pcre2", + "readline", + "tk", + "unzip", + "which", + "xz", + "zstd", + "zlib-ng", +] + +[[manual_sources]] +files = [ + "r.desktop", + "r.png", + "R.conf", +] + +[package] +description = "Language and environment for statistical computing and graphics" +homepage = "https://www.r-project.org/" +license = "GPL-2.0-or-Later" +name = "r" +version = "4.5.3" + +[[source]] +extract_dir = "$name-$version" +post_extract = ["sed -i 's|$(rsharedir)/texmf|${datarootdir}/texmf|' share/Makefile.in"] +sha256 = "c9a6555bb94c104b9c02905360c57de0dcac5dd31923dc5bb6ef3af7744615f1" +url = "https://cran.r-project.org/src/base/R-4/R-$version.tar.xz" diff --git a/extra/sdl2-compat/sdl2-compat.toml b/extra/sdl2-compat/sdl2-compat.toml new file mode 100644 index 0000000..d3c2bca --- /dev/null +++ b/extra/sdl2-compat/sdl2-compat.toml @@ -0,0 +1,30 @@ +[build] +type = "cmake" + +[build.flags] +build_dir = "build" +configure = ["-G Ninja"] +post_install = [ 'ln -s sdl2-compat.pc "$DESTDIR/usr/lib/pkgconfig/sdl2.pc"' ] +no-delete-static = true + +[dependencies] +build = [ + "cmake", + "ninja", +] +runtime = [ + "sdl3", + "glibc", +] + +[package] +description = "An SDL2 compatibility layer that uses SDL3 behind the scenes" +homepage = "https://github.com/libsdl-org/sdl2-compat" +license = "Zlib" +name = "sdl2-compat" +version = "2.32.64" + +[[source]] +extract_dir = "$name-$version" +sha256 = "b2fa522e7bb08113534904b3dc2d2f7ff7b0c259224d86c12374d5b4a4027930" +url = "https://github.com/libsdl-org/sdl2-compat/releases/download/release-$version/sdl2-compat-$version.tar.gz" diff --git a/extra/sdl3/sdl-libxinput.patch b/extra/sdl3/sdl-libxinput.patch new file mode 100644 index 0000000..02c482e --- /dev/null +++ b/extra/sdl3/sdl-libxinput.patch @@ -0,0 +1,55 @@ +From 8b6b251966b5ea14f9df87c834ffa9ea456b5600 Mon Sep 17 00:00:00 2001 +From: Frank Praznik +Date: Tue, 17 Mar 2026 15:01:56 -0400 +Subject: [PATCH] x11: Fix building when XInput2 is not available + +--- + src/video/x11/SDL_x11xinput2.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/video/x11/SDL_x11xinput2.c b/src/video/x11/SDL_x11xinput2.c +index c8b37cec98217..5cf75901f2c14 100644 +--- a/src/video/x11/SDL_x11xinput2.c ++++ b/src/video/x11/SDL_x11xinput2.c +@@ -34,7 +34,6 @@ + + #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2 + static bool xinput2_initialized; +-#endif + #if defined(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO) || defined(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH) + static bool xinput2_scrolling_supported; + static bool xinput2_multitouch_supported; +@@ -137,6 +136,7 @@ static SDL_Window *xinput2_get_sdlwindow(SDL_VideoData *videodata, Window window + const SDL_WindowData *windowdata = X11_FindWindow(videodata, window); + return windowdata ? windowdata->window : NULL; + } ++#endif // SDL_VIDEO_DRIVER_X11_XINPUT2 + + #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_SCROLLINFO + static void xinput2_reset_scrollable_valuators(void) +@@ -751,12 +751,15 @@ void X11_HandleXinput2Event(SDL_VideoDevice *_this, XGenericEventCookie *cookie) + + void X11_InitXinput2Multitouch(SDL_VideoDevice *_this) + { ++#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2 + xinput2_grabbed_touch_raised = false; + xinput2_active_touch_count = 0; ++#endif + } + + bool X11_Xinput2HandlesMotionForWindow(SDL_WindowData *window_data) + { ++#ifdef SDL_VIDEO_DRIVER_X11_XINPUT2 + /* Send the active flag once more after the touch count is zero, to suppress the + * emulated motion event when the last touch is raised. + */ +@@ -765,6 +768,9 @@ bool X11_Xinput2HandlesMotionForWindow(SDL_WindowData *window_data) + xinput2_grabbed_touch_raised = false; + + return ret; ++#else ++ return false; ++#endif // SDL_VIDEO_DRIVER_X11_XINPUT2 + } + + void X11_Xinput2Select(SDL_VideoDevice *_this, SDL_Window *window) diff --git a/extra/sdl3/sdl3.toml b/extra/sdl3/sdl3.toml new file mode 100644 index 0000000..424efd0 --- /dev/null +++ b/extra/sdl3/sdl3.toml @@ -0,0 +1,59 @@ +[build] +type = "cmake" + +[build.flags] +build_dir = "build" +configure = [ + "-DSDL_STATIC=OFF", + "-G Ninja", + "-DSDL_RPATH=OFF", + "-DSDL_X11_XINPUT=OFF", + "-DSDL_X11_XFIXES=OFF", + "-DSDL_X11_XTEST=OFF", + "-DSDL_X11_XINPUT=OFF", +] +no-delete-static = true + +[dependencies] +build = [ + "cmake", + "ninja", + "wayland-protocols", + "mesa", + "alsa-lib", + "libxrandr", + "libxinerama", + "wayland", + "libxss", + "vulkan-headers", +] +optional = [ + "alsa-lib", + "vulkan-driver", +] +runtime = [ + "glibc", + "libxext", + "libx11", + "libgl", + "libxrender", + "libxcursor", + "hidapi", + "libusb", +] + +[package] +description = "A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (Version 3)" +homepage = "https://www.libsdl.org/" +license = "Zlib" +name = "sdl3" +version = "3.4.2" + +[[manual_sources]] +file = "sdl-libxinput.patch" + +[[source]] +extract_dir = "$name-$version" +sha256 = "ef39a2e3f9a8a78296c40da701967dd1b0d0d6e267e483863ce70f8a03b4050c" +url = "https://github.com/libsdl-org/SDL/releases/download/release-$version/SDL3-$version.tar.gz" +patches = [ "sdl-libxinput.patch" ] diff --git a/extra/tk/tk.toml b/extra/tk/tk.toml new file mode 100644 index 0000000..95c1b35 --- /dev/null +++ b/extra/tk/tk.toml @@ -0,0 +1,40 @@ +[build] +type = "autotools" + +[build.flags] +configure = [ + "--enable-threads", + "--disable-rpath", + "--enable-64bit", +] +no-remove-static = true +skip_tests = true +make-install-targets = [ "install", "install-private-headers" ] +post_install = [ + "ln -sf wish$(printf '%s' \"$version\" | sed 's/\\.[^.]*$//') $DESTDIR/usr/bin/wish", + "ln -sf libtk$(printf '%s' \"$version\" | sed 's/\\.[^.]*$//').so $DESTDIR/usr/lib/libtk.so", + "cd .. && for dir in compat generic generic/ttk unix; do install -dm755 $DESTDIR/usr/include/tk-private/$dir; install -m644 -t $DESTDIR/usr/include/tk-private/$dir $dir/*.h; done", + "sed -e 's#'$SRC_DIR'/tk'$version'/unix#/usr/lib#' -e 's#'$SRC_DIR'/tk'$version'#/usr/include#' -i $DESTDIR/usr/lib/tkConfig.sh", +] +make-install-vars = [ '''INSTALL_ROOT="$$DESTDIR"''' ] +source_subdir = "tk8.6.16/unix" + +[dependencies] +runtime = [ + "tcl", + "libxss", + "libxft", +] + +[package] +description = "A windowing toolkit for use with tcl" +homepage = "http://tcl.sourceforge.net/" +license = "TCL" +name = "tk" +version = "8.6.16" + +[[source]] +extract_dir = "$name-$version" +sha256 = "b2:80c1a87c4d8e0f2b57313a0f75568dfa877694dc2e82c64f62013317fbbb23930be3f221648768d382bf7e0cd63bb9318af104bc5fb792df70bd3a6e5be146c4" +url = "https://downloads.sourceforge.net/sourceforge/tcl/tk$version-src.tar.gz" + diff --git a/extra/vala/vala-0.56.18-posixify.patch b/extra/vala/vala-0.56.18-posixify.patch new file mode 100644 index 0000000..a51e04a --- /dev/null +++ b/extra/vala/vala-0.56.18-posixify.patch @@ -0,0 +1,245 @@ +--- a/build-aux/testrunner.sh ++++ b/build-aux/testrunner.sh +@@ -1,4 +1,4 @@ +-#!/usr/bin/env bash ++#!/bin/sh + # testrunner.sh + # + # Copyright (C) 2006-2008 Jürg Billeter +@@ -26,14 +26,22 @@ + + EXTRA_ENVIRONMENT_FILE=tests-extra-environment.sh + ++sanitize_name() { ++ printf '%s\n' "$1" | tr '/-' '__' ++} ++ ++package_flags() { ++ for package in $PACKAGES; do ++ printf ' --pkg %s' "$package" ++ done ++} ++ + testfile=$1 +-testdirname="$(dirname $testfile)" ++testdirname=$(dirname "$testfile") + testfile=${testfile#$srcdir/} +-testpath=${testfile/.*/} +-testpath=${testpath//\//_} +-testpath=${testpath//-/_} +-if test -f $testdirname/$EXTRA_ENVIRONMENT_FILE; then +- source $testdirname/$EXTRA_ENVIRONMENT_FILE ++testpath=$(sanitize_name "${testfile%.*}") ++if test -f "$testdirname/$EXTRA_ENVIRONMENT_FILE"; then ++ . "$testdirname/$EXTRA_ENVIRONMENT_FILE" + fi + + vapidir=$abs_top_srcdir/vapi +@@ -57,21 +65,25 @@ + + # Incorporate the TEST_CFLAGS. + for cflag in ${TEST_CFLAGS}; do +- VALAFLAGS="${VALAFLAGS} -X ${cflag}" ++ VALAFLAGS="${VALAFLAGS} -X ${cflag}" + done + + # Incorporate the user's CFLAGS. Matters if the user decided to insert + # -m32 in CFLAGS, for example. + for cflag in ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do +- if [[ ! $cflag =~ ^\-O[0-9]$ ]]; then +- VALAFLAGS="${VALAFLAGS} -X ${cflag}" +- fi ++ case $cflag in ++ -O[0-9]) ++ ;; ++ *) ++ VALAFLAGS="${VALAFLAGS} -X ${cflag}" ++ ;; ++ esac + done + +-function testheader() { ++testheader() { + if [ "$1" = "Packages:" ]; then + shift +- PACKAGES="$PACKAGES $@" ++ PACKAGES="$PACKAGES $*" + elif [ "$*" = "Invalid Code" ]; then + INVALIDCODE=1 + INHEADER=0 +@@ -84,21 +96,19 @@ + fi + } + +-function sourceheader() { ++sourceheader() { + if [ "$1" = "Program:" ]; then + if [ "$2" = "server" ]; then + ISSERVER=1 + fi +- ns=$testpath/$2 +- ns=${ns//\//_} +- ns=${ns//-/_} ++ ns=$(sanitize_name "$testpath/$2") + SOURCEFILE=$ns.vala + SOURCEFILES="$SOURCEFILES $SOURCEFILE" +- elif [ $GIRWRITERTEST -eq 1 ]; then ++ elif [ "$GIRWRITERTEST" -eq 1 ]; then + if [ "$1" = "Input:" ]; then + ns=$testpath + SOURCEFILE=$testpath.vala +- cat < $SOURCEFILE ++ cat < "$SOURCEFILE" + [CCode (cprefix = "Test", gir_namespace = "Test", gir_version = "1.2", lower_case_cprefix = "test_")] + namespace Test { + EOF +@@ -108,26 +118,26 @@ + fi + } + +-function sourceend() { +- if [ $INVALIDCODE -eq 1 ]; then +- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg") ++sourceend() { ++ if [ "$INVALIDCODE" -eq 1 ]; then ++ PACKAGEFLAGS=$(package_flags) + echo '' > prepare + echo "$VALAC $VALAFLAGS $PACKAGEFLAGS -C $SOURCEFILE" > check + echo "RET=\$?" >> check + echo "if [ \$RET -ne 1 ]; then exit 1; fi" >> check + echo "exit 0" >> check +- elif [ $GIRWRITERTEST -eq 1 ]; then +- if [ $PART -eq 1 ]; then +- echo "}" >> $SOURCEFILE ++ elif [ "$GIRWRITERTEST" -eq 1 ]; then ++ if [ "$PART" -eq 1 ]; then ++ echo "}" >> "$SOURCEFILE" + fi +- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg") ++ PACKAGEFLAGS=$(package_flags) + echo "$VALAC $VALAFLAGS $PACKAGEFLAGS -C --library test -H test.h --gir Test-1.2.gir $ns.vala && tail -n +4 Test-1.2.gir|sed '\$d'|diff -wu Test-1.2.gir.ref -" > check + else +- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg") ++ PACKAGEFLAGS=$(package_flags) + echo "$VALAC $VALAFLAGS $PACKAGEFLAGS -o $ns$EXEEXT $SOURCEFILE" >> prepare +- if [ $DBUSTEST -eq 1 ]; then ++ if [ "$DBUSTEST" -eq 1 ]; then + echo "UPDATE_EXPECTED=$UPDATE_EXPECTED" >> prepare +- if [ $ISSERVER -eq 1 ]; then ++ if [ "$ISSERVER" -eq 1 ]; then + echo "if [ -n \"$UPDATE_EXPECTED\" ]; then" >> prepare + echo " cp -p ${SOURCEFILE%.*}.c $abs_srcdir/${testfile%.*}_server.c-expected" >> prepare + echo "elif [ -f $abs_srcdir/${testfile%.*}_server.c-expected ]; then" >> prepare +@@ -152,38 +162,40 @@ + unset SOURCEFILE + + testdir=_test.$$ +-rm -rf ./$testdir +-mkdir $testdir +-cd $testdir ++rm -rf "./$testdir" ++mkdir "$testdir" ++cd "$testdir" + + case "$testfile" in +-*.gs) +- SOURCEFILE=$testpath.gs +- ;& +-*.vala) ++*.gs|*.vala) ++ case "$testfile" in ++ *.gs) ++ SOURCEFILE=$testpath.gs ++ ;; ++ esac + SOURCEFILE=${SOURCEFILE:-$testpath.vala} +- cat "$abs_srcdir/$testfile" > ./$SOURCEFILE +- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg") +- $VALAC $VALAFLAGS $PACKAGEFLAGS -o $testpath$EXEEXT $SOURCEFILE ++ cat "$abs_srcdir/$testfile" > "./$SOURCEFILE" ++ PACKAGEFLAGS=$(package_flags) ++ $VALAC $VALAFLAGS $PACKAGEFLAGS -o "$testpath$EXEEXT" "$SOURCEFILE" + if [ -n "$UPDATE_EXPECTED" ]; then +- cp -p ${SOURCEFILE%.*}.c $abs_srcdir/${testfile%.*}.c-expected ++ cp -p "${SOURCEFILE%.*}.c" "$abs_srcdir/${testfile%.*}.c-expected" + if [ -f test.h ]; then +- cp -p test.h $abs_srcdir/${testfile%.*}.h-expected || exit 1 ++ cp -p test.h "$abs_srcdir/${testfile%.*}.h-expected" || exit 1 + fi +- elif [ -f $abs_srcdir/${testfile%.*}.c-expected ]; then +- diff -wu $abs_srcdir/${testfile%.*}.c-expected ${SOURCEFILE%.*}.c || exit 1 +- if [ -f $abs_srcdir/${testfile%.*}.h-expected ]; then +- diff -wu $abs_srcdir/${testfile%.*}.h-expected test.h || exit 1 ++ elif [ -f "$abs_srcdir/${testfile%.*}.c-expected" ]; then ++ diff -wu "$abs_srcdir/${testfile%.*}.c-expected" "${SOURCEFILE%.*}.c" || exit 1 ++ if [ -f "$abs_srcdir/${testfile%.*}.h-expected" ]; then ++ diff -wu "$abs_srcdir/${testfile%.*}.h-expected" test.h || exit 1 + fi + fi +- ./$testpath$EXEEXT ++ "./$testpath$EXEEXT" + ;; + *.gir) + SOURCEFILE=$testpath.gir +- cat "$abs_srcdir/$testfile" > ./$SOURCEFILE +- PACKAGEFLAGS=$([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg") +- $VAPIGEN $VAPIGENFLAGS $PACKAGEFLAGS --library $testpath $SOURCEFILE || exit 1 +- tail -n +3 ${SOURCEFILE%.*}.vapi | diff -wu $abs_srcdir/${testfile%.*}.vapi-expected - || exit 1 ++ cat "$abs_srcdir/$testfile" > "./$SOURCEFILE" ++ PACKAGEFLAGS=$(package_flags) ++ $VAPIGEN $VAPIGENFLAGS $PACKAGEFLAGS --library "$testpath" "$SOURCEFILE" || exit 1 ++ tail -n +3 "${SOURCEFILE%.*}.vapi" | diff -wu "$abs_srcdir/${testfile%.*}.vapi-expected" - || exit 1 + ;; + *.test) + rm -f prepare check +@@ -195,37 +207,41 @@ + GIRWRITERTEST=0 + DBUSTEST=0 + ISSERVER=0 +- while IFS="" read -r line; do +- if [ $PART -eq 0 ]; then ++ while IFS= read -r line; do ++ if [ "$PART" -eq 0 ]; then + if [ -n "$line" ]; then + testheader $line + else + PART=1 + fi + else +- if [ $INHEADER -eq 1 ]; then ++ if [ "$INHEADER" -eq 1 ]; then + if [ -n "$line" ]; then + sourceheader $line + else + INHEADER=0 + fi + else +- if echo "$line" | grep -q "^[A-Za-z]\+:"; then ++ if printf '%s\n' "$line" | grep -q '^[A-Za-z][A-Za-z]*:'; then + sourceend +- PART=$(($PART + 1)) ++ PART=$((PART + 1)) + INHEADER=1 + sourceheader $line + else +- echo "$line" >> $SOURCEFILE ++ echo "$line" >> "$SOURCEFILE" + fi + fi + fi + done < "$abs_srcdir/$testfile" + sourceend +- cat prepare check > $ns.check +- $run_prefix bash $ns.check ++ cat prepare check > "$ns.check" ++ if [ -n "$run_prefix" ]; then ++ $run_prefix sh "$ns.check" ++ else ++ sh "$ns.check" ++ fi + ;; + esac + + cd .. +-rm -rf ./$testdir ++rm -rf "./$testdir" diff --git a/extra/vala/vala.toml b/extra/vala/vala.toml index 77f85a3..afd65e9 100644 --- a/extra/vala/vala.toml +++ b/extra/vala/vala.toml @@ -1,6 +1,9 @@ [build] type = "autotools" +[build.flags] +skip-tests = true + [dependencies] build = [ "autoconf-archive", @@ -15,15 +18,14 @@ runtime = [ "gtk-doc", "pkgconf", "ttf-font", -] -test = [ + "graphviz", "dbus", "gobject-introspection", "libx11", ] [[manual_sources]] -file = "0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch" +files = [ "0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch", "vala-0.56.18-posixify.patch" ] [package] description = "Compiler for the GObject type system" @@ -34,6 +36,6 @@ version = "0.56.18" [[source]] extract_dir = "$name-$version" -patches = ["0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch"] +patches = ["0001-valadoc-Fix-gvRenderData-to-match-graphviz-13.0.0.patch", "vala-0.56.18-posixify.patch"] url = "https://download.gnome.org/sources/vala/0.56/vala-$version.tar.xz" sha256 = "md5:14238ac89810b932db9fd75999739494"