diff --git a/.github/workflows/build-ports.yml b/.github/workflows/build-ports.yml
index d7ab656c9..969758e0e 100644
--- a/.github/workflows/build-ports.yml
+++ b/.github/workflows/build-ports.yml
@@ -58,6 +58,10 @@ jobs:
- name: Install Ports
uses: melusina-org/setup-macports@v1
+ - name: Prefer Quartz to X11 for MacPorts
+ shell: bash
+ run: echo '-x11 +no_x11 +quartz' >> /opt/local/etc/macports/variants.conf
+
- name: Test crate
run: ${{env.CHECKS_REPO}}/scripts/gh-build-crate.sh
shell: bash
diff --git a/index/az/azip/azip-2.6.2.toml b/index/az/azip/azip-2.6.2.toml
new file mode 100644
index 000000000..ff447ff3d
--- /dev/null
+++ b/index/az/azip/azip-2.6.2.toml
@@ -0,0 +1,58 @@
+description = "AZip - A portable Zip Archive Manager"
+name = "azip"
+version = "2.6.2"
+
+authors = ["Gautier de Montmollin"]
+maintainers = ["gdemont@hotmail.com"]
+maintainers-logins = ["zertovitch"]
+website = "https://azip.sourceforge.io/"
+licenses = "MIT"
+tags = ["azip", "zip", "archive", "file-manager"]
+long-description = """
+
+
+
+
+**AZip** is a free Zip Archive Manager with unique features such as: built-in content Search, smart archive Update, archive Recompression.
+
+Features:
+
+* In addition to usual archive management (Add / Remove / Extract files), AZip provides the following unique functions:
+* Super-fast in-archive Search function: content and/or entry name search through a Zip archive. No temp files written!
+* Smart archive Updater: changes only new, modified files
+* Archive Recompression: makes Zip archives smaller
+* Easy toggle from Flat view to Tree view, and back
+* Multi-document
+* Compression methods supported: Reduce, Shrink, Implode, Deflate, Deflate64, BZip2, LZMA
+* Encryption
+* Portable (no installation needed, no DLL)
+* Can operate with a config file instead of the registry (stealth mode)
+* Installable if desired (application is its own installer)
+* Compatible with other Zip archivers, regardless of the Operating System
+* **Free**, Open-Source
+"""
+
+project-files = ["gwindows/azip_gw_project_tree.gpr"]
+executables = ["azip"]
+
+[available.'case(os)']
+windows = true
+'...' = false
+
+[gpr-externals]
+AZip_Build_Mode = ["Debug", "Fast", "Small"]
+
+[gpr-set-externals]
+AZip_Build_Mode = "Fast"
+Zip_Build_Mode = "Fast"
+
+[[depends-on]]
+ini_files = ">=11.0.0"
+[[depends-on]]
+gwindows = ">=1.4.3"
+[[depends-on]]
+zipada = ">=59.0.0"
+
+[origin]
+url = "https://sourceforge.net/projects/azip/files/azip-src-2.6.2.zip"
+hashes = ["sha512:8516998ea2ec24ec5c76992fd31ab1bd7c10958e534705989d56f77eef152454f95cef5d97aa490a8730a0afed5b53ad52cbc946bdffd647268d9a75372212ec"]
diff --git a/index/da/dashera/dashera-0.15.1.toml b/index/da/dashera/dashera-0.15.1.toml
new file mode 100644
index 000000000..d6dfa637f
--- /dev/null
+++ b/index/da/dashera/dashera-0.15.1.toml
@@ -0,0 +1,24 @@
+name = "dashera"
+description = "DASHER Terminal Emulator"
+version = "0.15.1"
+licenses = "MIT"
+website = "https://github.com/SMerrony/dashera"
+
+authors = ["Stephen Merrony"]
+maintainers = ["Stephen Merrony "]
+maintainers-logins = ["SMerrony"]
+
+tags = ["gtk", "terminal", "dasher", "emulator",]
+
+executables = ["dashera"]
+
+[[depends-on]]
+gtkada = "^23.0.0"
+
+[build-switches]
+development.style_checks = ["-gnaty-m"]
+release.style_checks = "No"
+[origin]
+commit = "3d8309f0aae36124bef9ceee487213a0e5e8bccf"
+url = "git+https://github.com/SMerrony/dashera.git"
+
diff --git a/index/gi/gid/gid-13.0.0.toml b/index/gi/gid/gid-13.0.0.toml
index 75f24a920..8f40d34a4 100644
--- a/index/gi/gid/gid-13.0.0.toml
+++ b/index/gi/gid/gid-13.0.0.toml
@@ -7,7 +7,17 @@ licenses = "MIT"
maintainers = ["gdemont@hotmail.com"]
maintainers-logins = ["zertovitch", "Fabien-Chouteau"]
project-files = ["gid.gpr"]
-tags = ["image", "decoder", "bmp", "gif", "jpeg", "jpg", "pbm", "pgm", "png", "pnm", "ppm", "qoi", "tga", "targa"]
+tags = ["image",
+ "animated", "animation",
+ "bitmap",
+ "color",
+ "decoder", "decoding", "decompress",
+ "digitization",
+ "lossless", "lossy",
+ "rbg",
+ "steganography",
+ "transparency", "transparent",
+ "bmp", "gif", "jpeg", "jpg", "pbm", "pgm", "png", "pnm", "ppm", "qoi", "tga", "targa"]
executables = ["to_bmp"]
long-description = """
diff --git a/index/gl/globe_3d/globe_3d-2023.11.12.toml b/index/gl/globe_3d/globe_3d-2023.11.12.toml
index 91b964d9a..14c8f0a02 100644
--- a/index/gl/globe_3d/globe_3d-2023.11.12.toml
+++ b/index/gl/globe_3d/globe_3d-2023.11.12.toml
@@ -3,7 +3,11 @@ name = "globe_3d"
version = "2023.11.12"
licenses = "MIT"
-tags = [ "gl", "opengl" ]
+tags = [ "gl", "opengl",
+ "rendering", "graphics", "3d-rendering", "3d-graphics",
+ "space-partition",
+ "collision",
+ "portal" ]
website = "https://globe3d.sourceforge.io/"
authors = ["Gautier de Montmollin"]
diff --git a/index/gn/gnoga/gnoga-2.1.2.toml b/index/gn/gnoga/gnoga-2.1.2.toml
index 0aa003df8..280d6baf6 100644
--- a/index/gn/gnoga/gnoga-2.1.2.toml
+++ b/index/gn/gnoga/gnoga-2.1.2.toml
@@ -12,16 +12,16 @@ licenses = "GPL-3.0-only WITH GCC-exception-3.1"
project-files = ["lib_gnoga.gpr"]
-[gpr-set-externals.'case(os)']
-linux = { Target_OS = "Linux", PRJ_TARGET = "Linux" }
-windows = { Target_OS = "Windows", PRJ_TARGET = "Windows" }
-macos = { Target_OS = "OSX", PRJ_TARGET = "OSX" }
-
[[depends-on]]
gnat = ">=2021 | (>=12 & <2000)"
simple_components = "^4.62.0"
uxstrings = "~0.4.0+alpha-20220803"
+[gpr-set-externals.'case(os)']
+linux = { PRJ_TARGET = "Linux" }
+windows = { PRJ_TARGET = "Windows" }
+macos = { PRJ_TARGET = "OSX" }
+
[origin]
commit = "5f127c56986a7a1a562b405d7934eabf8e624c25"
url = "git+https://github.com/Blady-Com/gnoga.git"
diff --git a/index/he/hex_format/hex_format-0.1.0.toml b/index/he/hex_format/hex_format-0.1.0.toml
new file mode 100644
index 000000000..f5b93f4f6
--- /dev/null
+++ b/index/he/hex_format/hex_format-0.1.0.toml
@@ -0,0 +1,15 @@
+name = "hex_format"
+description = "Hexadecimal string formatting for modular types"
+version = "0.1.0"
+
+authors = ["Jeremy Grosser"]
+maintainers = ["Jeremy Grosser "]
+maintainers-logins = ["JeremyGrosser"]
+licenses = "BSD-3-Clause"
+website = "https://github.com/JeremyGrosser/hex_format"
+tags = ["hex", "pure", "embedded", "string", "text", "format"]
+
+[origin]
+commit = "caa3216179cc892014ce8ee23869fc45061aa54b"
+url = "git+https://github.com/JeremyGrosser/hex_format.git"
+
diff --git a/index/hi/hirtos/hirtos-2.0.0.toml b/index/hi/hirtos/hirtos-2.0.0.toml
new file mode 100644
index 000000000..ea5a452a8
--- /dev/null
+++ b/index/hi/hirtos/hirtos-2.0.0.toml
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2022-2024, German Rivera
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+# NOTE: This crate is not meant to be built with the native compiler.
+# A dependency on a cross-compiler must be specified in the client
+# crate. See example client crates in the sample_apps folder.
+#
+name = "hirtos"
+description = "High-Integrity RTOS"
+version = "2.0.0"
+licenses = "Apache-2.0"
+website = "https://github.com/jgrivera67/HiRTOS"
+tags = ["rtos"]
+authors = ["J. German Rivera"]
+maintainers = ["J. German Rivera "]
+maintainers-logins = ["jgrivera67"]
+
+[configuration.variables]
+Platform = {type = "Enum", values = ["arm_fvp", "esp32_c3"], default = "arm_fvp"}
+
+[[actions]]
+type = "test"
+command = ["alr", "build"]
+directory = "sample_apps/fvp_armv8r_aarch32_hello"
+
+[[actions]]
+type = "test"
+command = ["alr", "build"]
+directory = "sample_apps/esp32_c3_hello"
+
+[origin]
+commit = "66847740b093b19386959b0e7b65b0a09172a082"
+url = "git+https://github.com/jgrivera67/HiRTOS.git"
+
diff --git a/index/hi/hirtos_separation_kernel/hirtos_separation_kernel-2.0.0.toml b/index/hi/hirtos_separation_kernel/hirtos_separation_kernel-2.0.0.toml
new file mode 100644
index 000000000..da50731ef
--- /dev/null
+++ b/index/hi/hirtos_separation_kernel/hirtos_separation_kernel-2.0.0.toml
@@ -0,0 +1,34 @@
+#
+# Copyright (c) 2022-2024, German Rivera
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+# NOTE: This crate is not meant to be built with the native compiler.
+# A dependency on a cross-compiler must be specified in the client
+# crate. See example client crates in the sample_apps folder.
+#
+name = "hirtos_separation_kernel"
+description = "High-Integrity RTOS Separation Kernel"
+version = "2.0.0"
+licenses = "Apache-2.0"
+website = "https://github.com/jgrivera67/HiRTOS"
+tags = ["hypervisor"]
+authors = ["J. German Rivera"]
+maintainers = ["J. German Rivera "]
+maintainers-logins = ["jgrivera67"]
+
+[configuration.variables]
+Separation_Kernel_Debug_Tracing_On = {type = "Boolean", default = false}
+Platform = {type = "Enum", values = ["arm_fvp"], default = "arm_fvp"}
+
+[[actions]]
+type = "test"
+command = ["alr", "build"]
+directory = "../sample_apps/hello_partitions"
+
+
+[origin]
+commit = "ebcd8cb20115356aa0d99c97124e47a175e56e8e"
+subdir = "./hirtos_separation_kernel/"
+url = "git+https://github.com/jgrivera67/HiRTOS.git"
+
diff --git a/index/in/ini_files/ini_files-11.0.0.toml b/index/in/ini_files/ini_files-11.0.0.toml
new file mode 100644
index 000000000..4c9a89186
--- /dev/null
+++ b/index/in/ini_files/ini_files-11.0.0.toml
@@ -0,0 +1,25 @@
+description = "A standalone, portable Ada package for configuration files"
+name = "ini_files"
+version = "11.0.0"
+licenses = "MIT"
+authors = ["Rolf Ebert", "Gautier de Montmollin"]
+website = "https://sourceforge.net/p/ini-files/"
+maintainers = ["rolf.ebert.gcc@gmx.de", "gdemont@hotmail.com"]
+maintainers-logins = ["RREE", "zertovitch"]
+project-files = ["ini_files.gpr"]
+tags = ["ini", "ini-file", "cfg", "cfg-file", "config", "configuration"]
+executables = ["test_config"]
+
+long-description = """
+Config is an Ada package for parsing configuration files (.ini, .inf, .cfg, ...) and retrieving keys of various types. New values for single keys, or entire sections, can be set.
+
+* Standalone and unconditionally portable code.
+* Pure Ada 2005: nothing compiler- / system- specific.
+* Can be used in projects in Ada 2005, Ada 2012 and later versions of the Ada language.
+* Object oriented.
+* Tests and demos included.
+"""
+
+[origin]
+url = "https://sourceforge.net/projects/ini-files/files/ini-files/ini-files-11.zip"
+hashes = ["sha512:f46141f95d7580e8f1988bb7d08060015bb3bf3749c3525322b342a983dfa97fef779eadf5be22f855c6493323ca88d0b0d52de10a443cb933cd72a0e21f4aeb"]
diff --git a/index/li/libcmark/libcmark-external.toml b/index/li/libcmark/libcmark-external.toml
new file mode 100644
index 000000000..20e00423f
--- /dev/null
+++ b/index/li/libcmark/libcmark-external.toml
@@ -0,0 +1,13 @@
+description = "Cmark shared library"
+name = "libcmark"
+
+maintainers = ["AJ Ianozi "]
+maintainers-logins = ["AJ-Ianozi"]
+
+[[external]]
+kind = "system"
+
+[external.origin.'case(distribution)']
+'debian|ubuntu' = ["libcmark-dev"]
+'arch|homebrew|macports|fedora|suse' = ["cmark"]
+'msys2' = ["mingw-w64-x86_64-cmark"]
diff --git a/index/li/libgnutls/libgnutls-external.toml b/index/li/libgnutls/libgnutls-external.toml
index 34d7ea9fe..9159303d4 100644
--- a/index/li/libgnutls/libgnutls-external.toml
+++ b/index/li/libgnutls/libgnutls-external.toml
@@ -7,7 +7,9 @@ maintainers-logins = ["mosteo"]
[[external]]
kind = "system"
[external.origin."case(distribution)"]
+"arch" = ["gnutls"]
"debian|ubuntu" = ["libgnutls28-dev"]
+"centos|fedora" = ["gnutls-devel"]
"homebrew" = ["gnutls"]
"macports" = ["gnutls"]
diff --git a/index/li/libgtk3/libgtk3-external.toml b/index/li/libgtk3/libgtk3-external.toml
index 1ae478bea..ad025fe93 100644
--- a/index/li/libgtk3/libgtk3-external.toml
+++ b/index/li/libgtk3/libgtk3-external.toml
@@ -8,7 +8,7 @@ maintainers-logins = ["Fabien-Chouteau"]
kind = "system"
[external.origin."case(distribution)"]
"debian|ubuntu" = ["libgtk-3-dev"]
-"fedora" = ["gtk3-devel"]
+"centos|fedora" = ["gtk3-devel"]
arch = ["gtk3"]
msys2 = ["mingw-w64-x86_64-gtk3"]
homebrew = ["gtk+3"]
diff --git a/index/li/libhello/libhello-1.0.1.toml b/index/li/libhello/libhello-1.0.1.toml
index 7cb44bf88..97985fa90 100644
--- a/index/li/libhello/libhello-1.0.1.toml
+++ b/index/li/libhello/libhello-1.0.1.toml
@@ -15,4 +15,4 @@ url = "git+https://github.com/alire-project/libhello.git"
# We use this crate as a trigger to conveniently test minor changes to
# metaprocesses of the CI of the repository itself.
-# Last touch: 2024-05-16 13:40 CET
\ No newline at end of file
+# Last touch: 2024-05-23 17:40 CET
\ No newline at end of file
diff --git a/index/li/libmariadb/libmariadb-external.toml b/index/li/libmariadb/libmariadb-external.toml
index 7cd0b9f5e..b59665581 100644
--- a/index/li/libmariadb/libmariadb-external.toml
+++ b/index/li/libmariadb/libmariadb-external.toml
@@ -7,7 +7,9 @@ maintainers-logins = ["stcarrez"]
[[external]]
kind = "system"
[external.origin."case(distribution)"]
-"debian|ubuntu" = ["libmariadbclient-dev"]
+"debian|ubuntu" = ["libmariadb-dev", # newer Debian versions
+ "libmariadbclient-dev" # older Debian versions
+ ]
# No mariadb library on msys2
[external.available.'case(os)']
diff --git a/index/li/libsimpleio/libsimpleio-2.22364.1.toml b/index/li/libsimpleio/libsimpleio-2.22364.1.toml
new file mode 100644
index 000000000..263ef8cb9
--- /dev/null
+++ b/index/li/libsimpleio/libsimpleio-2.22364.1.toml
@@ -0,0 +1,146 @@
+name = "libsimpleio"
+version = "2.22364.1"
+description = "Linux Simple I/O Library"
+website = "https://github.com/pmunts/libsimpleio"
+authors = ["Philip Munts"]
+maintainers = ["Philip Munts "]
+maintainers-logins = ["pmunts"]
+licenses = "BSD-1-Clause"
+
+long-description = """
+Introduction
+============
+
+This crate provides an Ada binding to the [Linux Simple I/O
+Library](https://github.com/pmunts/libsimpleio), *aka* **libsimpleio**.
+
+*Note: This crate includes all of the functionality of the **`mcp2221`**
+and **`remoteio`** crates. Unlike those two crates, which can be built
+for and used on Linux, MacOS, or Windows targets, this crate can only be
+built for and used on Linux targets.*
+
+Linux Simple I/O Library
+========================
+
+**libsimpleio** is an attempt to encapsulate (as much as possible) the
+ugliness of Linux I/O device access. It provides services for the
+following types of I/O devices:
+
+- [Industrial I/O
+ Subsystem](https://wiki.analog.com/software/linux/docs/iio/iio) A/D
+ (Analog to Digital) Converter Devices
+- [Industrial I/O
+ Subsystem](https://wiki.analog.com/software/linux/docs/iio/iio) D/A
+ (Digital to Analog) Converter Devices
+- GPIO (General Purpose Input/Output) Pins
+- Raw HID (Human Interface Device) Devices
+- I2C (Inter-Integrated Circuit) Bus Devices
+- PWM (Pulse Width Modulated) Output Devices
+- [Remote I/O
+ Protocol](http://git.munts.com/libsimpleio/doc/RemoteIOProtocol.pdf)
+ Devices
+- Serial Ports
+- SPI (Serial Peripheral Interface) Bus Devices
+- [Stream Framing
+ Protocol](http://git.munts.com/libsimpleio/doc/StreamFramingProtocol.pdf)
+ Devices
+- TCP and UDP over IPv4 Network Devices
+- Watchdog Timer Devices
+
+**libsimpleio** exports a small number of C wrapper or shim functions.
+These shim functions present a more coherent API (Application
+Programming Interface) than Linux kernel **`ioctl()`** services and the
+myriad other different Linux device I/O API's. The **libsimpleio** shim
+functions are designed to be easily called from Ada, C++, C#, Java,
+Free Pascal and other programming languages.
+
+The **`man`** pages specifying the **libsimpleio** API (Application
+Programming Interface) are available for viewing at
+.
+
+Ada Binding for the Linux Simple I/O Library
+============================================
+
+The Ada binding consists of several software component layers.
+
+The bottom software component layer consists of the **C shim functions**
+discussed in the previous section.
+
+The next software component layer consists of **binding packages** that
+declare the C shim functions as Ada procedures. Each of the binding
+packages corresponds to a single C source file (*e.g.* package
+**`libadc`** corresponds to **`libadc.c`**). Each of the C shim
+functions are declared as external Ada procedures using
+**`pragma Import`**. The Ada procedure names do not necessarily match
+the C function names (*e.g.* the C function **`ADC_Open()`** is declared
+as Ada procedure **`libadc.Open`**). Many of the binding packages also
+declare constants as well (*e.g.* **`DIRECTION_INPUT`** in
+**`libgpio.ads`**).
+
+With very few exceptions, you will never need to directly call any of
+the procedures nor reference any of the constants declared in the
+**`libxxx`** binding packages.
+
+The next software component layer consists of **object packages** that
+declare OOP (Object Oriented Programming) object types and methods for
+each of the I/O subsystems. This layer uses Ada interface types,
+access-to-interface types, and private tagged records extensively.
+
+For example, the package **`GPIO`** defines an interface type
+**`PinInterface`**, an access to **`PinInterface`** type named
+**`Pin`**, and primitive operation subprograms **`Get`** and **`Put`**.
+
+The child package **`GPIO.libsimpleio`** declares a private tagged
+record type **`PinSubclass`** that *implements* **`GPIO.PinInterface`**,
+subprograms **`Get`** and **`Put`** that are required to implement
+**`GPIO.PinInterface`**, and a constructor function **`Create`** that
+returns an **`GPIO.Pin`** access value.
+
+Every package that implements **`GPIO.PinInterface`** will also declare
+a constructor function **`Create`** that returns **`GPIO.Pin`**.
+
+This architecture allows code similar to the following fragment:
+
+ MyPins : array (1 .. 3) of GPIO.pin;
+
+ GPIO(1) := GPIO.libsimpleio.Create(...);
+ GPIO(2) := GPIO.UserLED.Create(...);
+ GPIO(3) := GPIO.PWM.Create(...);
+
+The three GPIO pins can be stored in the same array and manipulated in
+exactly the same manner even though the hardware implementation for each
+pin is radically different.
+
+The topmost software component layer consists of **device packages**
+that implement support for particular I/O devices and are built upon the
+lower layers. Most of the device packages correspond to integrated
+circuits, such as the [PCA9534 I2C GPIO
+Expander](https://www.nxp.com/products/interfaces/ic-spi-serial-interface-devices/ic-general-purpose-i-o/8-bit-ic-bus-and-smbus-low-power-i-o-port-with-interrupt:PCA9534).
+A few implement support for boards or modules, such the [Grove
+Temperature
+Sensor](https://www.seeedstudio.com/Grove-Temperature-Sensor.html)
+module.
+"""
+
+tags = ["embedded", "linux", "libsimpleio", "remoteio", "beaglebone",
+"pocketbeagle", "raspberrypi", "raspberry", "pi", "adc", "dac", "gpio",
+"hid", "i2c", "motor", "pwm", "sensor", "serial", "servo", "spi", "stepper",
+"watchdog"]
+
+project-files = ["libsimpleio.gpr"]
+
+[available."case(os)"]
+'linux' = true
+"..." = false
+
+[[actions."case(os)".linux]]
+type = "post-fetch"
+command = ["sh", "-c", "./postfetch"]
+
+[origin]
+hashes = [
+"sha256:1fa62ea09be1a4f0ce42a00e356bf831187bd9b188a927b4ab3a5d656f5c99c2",
+"sha512:0dd5ac73e404c6499757315e117454b95ad388b70620f34cae0df3d35f5e335f83461346bc039a0e3912443c17c707f25621390e8b777d7798b62dd83185ebe7",
+]
+url = "https://raw.githubusercontent.com/pmunts/alire-crates/e042dc6ee4223693310e1af3afa99ad80e4fa313/libsimpleio/libsimpleio-2.22364.1.tbz2"
+
diff --git a/index/ma/mathpaqs/mathpaqs-20230121.0.0.toml b/index/ma/mathpaqs/mathpaqs-20230121.0.0.toml
index 3b91fabe3..0e27034e7 100644
--- a/index/ma/mathpaqs/mathpaqs-20230121.0.0.toml
+++ b/index/ma/mathpaqs/mathpaqs-20230121.0.0.toml
@@ -14,17 +14,38 @@ Key features of Mathpaqs:
* Unconditionally portable (*)
* Tests and demos included
* **Free**, Open-Source
+
___
(*) within limits of compiler's provided integer types and target architecture capacity.
"""
authors = ["Gautier de Montmollin"]
-executables = ["arenstorf", "arithmetic_compression", "biomorph", "champ_vt", "cr_demo", "fractal", "ppm2func", "show_floats_limits", "test_beta", "test_cholesky", "test_copulas", "test_ert", "test_estimators", "test_formulas", "test_gamma", "test_generic_real_linear_equations", "test_normal", "test_pareto", "test_poisson", "test_qr", "test_random_performance", "test_rsa", "test_samples", "test_sparse", "test_u_rand", "test_discrete_random_simulation"]
+executables = ["arenstorf", "arithmetic_compression",
+ "biomorph", "champ_vt", "cr_demo",
+ "fractal", "ppm2func", "show_floats_limits",
+ "test_beta", "test_cholesky", "test_copulas", "test_ert",
+ "test_estimators", "test_formulas", "test_gamma",
+ "test_generic_real_linear_equations", "test_normal",
+ "test_pareto", "test_poisson", "test_qr",
+ "test_random_performance", "test_rsa",
+ "test_samples", "test_sparse", "test_u_rand",
+ "test_discrete_random_simulation"]
project-files = ["mathpaqs.gpr", "mathpaqs_test.gpr"]
licenses = "MIT"
maintainers = ["alejandro@mosteo.com"]
maintainers-logins = ["mosteo", "zertovitch"]
-tags = ["mathematics", "numerics", "algebra", "matrix", "probability", "statistics", "runge", "kutta", "runge-kutta"]
+tags = ["algebra",
+ "contour", "contour-plot",
+ "formula-parser",
+ "fractal",
+ "kutta",
+ "linear-algebra", "mathematics", "matrix",
+ "numerics",
+ "pareto",
+ "poisson",
+ "polynomial", "probability",
+ "random", "rational", "runge", "runge-kutta",
+ "statistics"]
[origin]
url = "https://sourceforge.net/projects/mathpaqs/files/mathpaqs_2023_01_21.zip"
diff --git a/index/mc/mcp2221/mcp2221-2.22364.1.toml b/index/mc/mcp2221/mcp2221-2.22364.1.toml
new file mode 100644
index 000000000..cd0cd8027
--- /dev/null
+++ b/index/mc/mcp2221/mcp2221-2.22364.1.toml
@@ -0,0 +1,88 @@
+name = "mcp2221"
+version = "2.22364.1"
+description = "MCP2221 USB Raw HID I/O Expander Library for GNAT Ada"
+website = "https://github.com/pmunts/libsimpleio"
+authors = ["Philip Munts"]
+maintainers = ["Philip Munts "]
+maintainers-logins = ["pmunts"]
+licenses = "BSD-1-Clause"
+
+long-description = """
+This crate contains a subset of the [**Linux Simple I/O
+Library**](https://github.com/pmunts/libsimpleio) Ada packages that are
+relevant for building programs for the MCP2221 USB Raw HID I/O expander.
+
+This crate can be built for Linux, MacOS, or Windows targets.
+
+The [MCP2221A](https://www.microchip.com/en-us/product/MCP2221A) is a
+[PIC16F1455](https://www.microchip.com/en-us/product/PIC16F1455)
+microcontroller that has been preprogrammed with firmware to implement
+*two* USB devices: a USB serial port and a raw HID device that acts as
+an I/O expander providing one [I2C](https://i2c.info/) bus controller
+(master only) and four
+[GPIO](https://en.wikipedia.org/wiki/General-purpose_input/output) pins
+(**`GP0`**, **`GP1`**, **`GP2`**, and **`GP3`**).
+
+The GPIO pins **`GP1`**, **`GP2`**, and **`GP3`** can be configured for
+some alternate functions, including 10-bit A/D inputs or 5-bit D/A
+outputs:
+
+**`GP1`**: **`GPIO ADC1`**\
+**`GP2`**: **`GPIO ADC2 DAC1`**\
+**`GP3`**: **`GPIO ADC3 DAC2`**
+
+The MCP2221A replaces an earlier part, the MCP2221. The only difference
+between the older MCP2221 and the newer MCP2221A is that the latter
+supports some higher baud rates on the USB serial port device. Since
+this crate only deals with the raw HID I/O expander functions, it will
+work fine with either the older MCP2221 or the newer MCP2221A.
+"""
+
+tags = ["embedded", "linux", "mcp2221", "adc", "dac", "gpio", "i2c", "motor",
+"pwm", "sensor", "serial", "servo", "spi", "stepper"]
+
+project-files = ["mcp2221.gpr"]
+
+[available."case(os)"]
+'linux|macos|windows' = true
+"..." = false
+
+# Linux needs libhidapi and libusb crates
+
+[[depends-on]]
+[depends-on."case(os)"."linux"]
+libhidapi = "*"
+
+[[depends-on]]
+[depends-on."case(os)"."linux"]
+libusb = "*"
+
+# macOS needs hidapi and libusb crates
+
+[[depends-on]]
+[depends-on."case(distribution)"."homebrew|macports"]
+libhidapi = "*"
+
+[[depends-on]]
+[depends-on."case(distribution)"."homebrew|macports"]
+libusb = "*"
+
+[[actions."case(os)".linux]]
+type = "post-fetch"
+command = ["sh", "-c", "./postfetch.linux"]
+
+[[actions."case(os)".macos]]
+type = "post-fetch"
+command = ["sh", "-c", "./postfetch.macos"]
+
+[[actions."case(os)".windows]]
+type = "post-fetch"
+command = ["sh", "-c", "./postfetch.windows"]
+
+[origin]
+hashes = [
+"sha256:141497513602c0ad7e00e99eb8c0d8cf5a6b60a5baad6138af3d078fb8e3844f",
+"sha512:7b2159880a6ba784fcac2de596d7747f306ed3f8d8c5b7ef697c39067e6796b173a30c6788c346f8b6737a86ad146147f6eb9a34995863cb361c31a5d6833e55",
+]
+url = "https://raw.githubusercontent.com/pmunts/alire-crates/82a86adda97077c0c1be2ecc1e56b39ad793d91a/mcp2221/mcp2221-2.22364.1.tbz2"
+
diff --git a/index/op/optional/optional-0.2.0.toml b/index/op/optional/optional-0.2.0.toml
new file mode 100644
index 000000000..695ce237f
--- /dev/null
+++ b/index/op/optional/optional-0.2.0.toml
@@ -0,0 +1,16 @@
+name = "optional"
+description = "Optional values a la java.lang.Optional"
+version = "0.2.0"
+
+tags = ["optional", "functional"]
+licenses = "LGPL-3.0-only"
+website = "https://github.com/mosteo/optional/"
+
+authors = ["Alejandro R. Mosteo"]
+maintainers = ["Alejandro R. Mosteo "]
+maintainers-logins = ["mosteo"]
+
+[origin]
+commit = "3b6d741c320608579419db9871fe3fd02356d9b6"
+url = "git+https://github.com/mosteo/optional.git"
+
diff --git a/index/si/simple_components/simple_components-4.68.0.toml b/index/si/simple_components/simple_components-4.68.0.toml
index 6c9ca76a2..3ed668b49 100644
--- a/index/si/simple_components/simple_components-4.68.0.toml
+++ b/index/si/simple_components/simple_components-4.68.0.toml
@@ -21,18 +21,15 @@ Target_OS = ["Windows", "Windows_NT", "Linux", "UNIX", "OSX", "FreeBSD", "auto"]
Tasking = ["Multiple", "Single"] # Default Multiple
Traced_Objects = ["Off", "On"] # Default Off
-[gpr-set-externals]
-Target_OS = "auto"
+[gpr-set-externals."case(os)"]
+freebsd = { Target_OS = "FreeBSD" }
+linux = { Target_OS = "Linux", odbc = "unixODBC" }
+macos = { Target_OS = "OSX" }
+windows = { Target_OS = "Windows", odbc = "ODBC32" }
-[gpr-set-externals."case(os)".linux]
-odbc = "unixODBC"
-[gpr-set-externals."case(os)".windows]
-odbc = "ODBC32"
-
-[gpr-set-externals."case(word-size)".bits-32]
-arch = "i686"
-[gpr-set-externals."case(word-size)".bits-64]
-arch = "x86_64"
+[gpr-set-externals."case(word-size)"]
+bits-32 = { arch = "i686" }
+bits-64 = { arch = "x86_64" }
[origin]
commit = "da9b0f3a3d56a2e60490fa5f23ca510862c252cd"
diff --git a/index/te/texcad/texcad-4.5.2.toml b/index/te/texcad/texcad-4.5.2.toml
new file mode 100644
index 000000000..f5cd89507
--- /dev/null
+++ b/index/te/texcad/texcad-4.5.2.toml
@@ -0,0 +1,45 @@
+description = "TeXCAD is a program for drawing or retouching {picture}s in LaTeX"
+name = "texcad"
+version = "4.5.2"
+
+authors = ["Gautier de Montmollin"]
+maintainers = ["gdemont@hotmail.com"]
+maintainers-logins = ["zertovitch"]
+website = "https://texcad.sourceforge.io/"
+licenses = "GPL-2.0-or-later"
+tags = ["texcad", "tex", "latex", "cad", "picture", "draw", "drawing", "graphics", "vector-graphics"]
+long-description = """
+
+
+TeXCAD is a program for drawing or retouching {picture}s in LaTeX.
+It extends the original {picture} capabilities, even without any obligatory LaTeX package, class or style sheet.
+The core of TeXCAD is totally portable.
+
+Features:
+
+* Supports plain LaTeX
+* Extends LaTeX picture objects through emulation or use of special styles
+* Special styles are only optional
+* Parametric curves
+* **Free**, Open-Source
+"""
+
+project-files = ["tc_gwin/texcad_gw_project_tree.gpr"]
+executables = ["texcad"]
+
+[available.'case(os)']
+windows = true
+'...' = false
+
+[gpr-externals]
+TeXCAD_Build_Mode = ["Debug", "Optimize"]
+
+[gpr-set-externals]
+TeXCAD_Build_Mode = "Debug"
+
+[[depends-on]]
+gwindows = ">=1.4.3"
+
+[origin]
+url = "https://sourceforge.net/projects/texcad/files/texcad/source_snapshots/texcad-svn_code-r105.zip"
+hashes = ["sha512:efd993bff2838127f94d079a4bc90d8923354acdd796d3431324b7873817d1d217d3383eb879b739f01b0486260f89455b450f5e1fafe5ccfdf542adb91160a3"]
diff --git a/index/un/unixodbc/unixodbc-external.toml b/index/un/unixodbc/unixodbc-external.toml
index 67cfdf5b7..9f952b029 100644
--- a/index/un/unixodbc/unixodbc-external.toml
+++ b/index/un/unixodbc/unixodbc-external.toml
@@ -8,7 +8,9 @@ maintainers-logins = ["mosteo"]
[[external]]
kind = "system"
[external.origin."case(distribution)"]
+"arch" = ["unixodbc"]
"debian|ubuntu" = ["unixodbc-dev"]
+"centos|fedora" = ["unixODBC-devel"]
"homebrew" = ["unixodbc"]
"macports" = ["unixodbc"]
diff --git a/index/ux/uxstrings/uxstrings-0.7.1+alpha-20240525.toml b/index/ux/uxstrings/uxstrings-0.7.1+alpha-20240525.toml
new file mode 100644
index 000000000..2b7c2f665
--- /dev/null
+++ b/index/ux/uxstrings/uxstrings-0.7.1+alpha-20240525.toml
@@ -0,0 +1,23 @@
+name = "uxstrings"
+description = "Unicode Extended Strings utilities"
+version = "0.7.1+alpha-20240525"
+tags = ["unicode", "dynamic", "string"]
+
+authors = ["Pascal Pignard"]
+maintainers = ["Pascal Pignard "]
+maintainers-logins = ["Blady-Com"]
+website = "https://github.com/Blady-Com/UXStrings"
+
+licenses = "CECILL-C"
+
+project-files = ["lib_uxstrings.gpr"]
+
+[[depends-on]]
+gnat = "^13.0"
+# Put in comment since dependancies of SC puzzled Alire
+# simple_components = "^4.62.0"
+
+[origin]
+commit = "21f2f64053caf4d0ff5dedd2a4bf6a64509bd495"
+url = "git+https://github.com/Blady-Com/UXStrings.git"
+
diff --git a/index/zi/zipada/zipada-59.0.0.toml b/index/zi/zipada/zipada-59.0.0.toml
new file mode 100644
index 000000000..3ec6623a6
--- /dev/null
+++ b/index/zi/zipada/zipada-59.0.0.toml
@@ -0,0 +1,58 @@
+name = "zipada"
+version = "59.0.0"
+authors = [ "Gautier de Montmollin", ]
+description = "Manage Zip Archives and raw LZMA streams"
+
+long-description = """
+![Zip-Ada logo](https://unzip-ada.sourceforge.io/za_logo.png)
+
+Zip-Ada is a free, open-source programming library for dealing with the Zip compressed archive file format.
+The full sources of Zip-Ada are in Ada, compilable on every compiler and for every system (*).
+
+Key features of Zip-Ada:
+
+* Files and streams supported, for archives and entries, for compression and decompression
+* Task safe
+* Endian-neutral
+* Standalone
+* Zip methods supported for compression: Reduce, Shrink, Deflate, LZMA.
+* Zip methods supported for decompression: the above methods, plus: Implode, Deflate64, BZip2
+* Library is in pure Ada 2005 (nothing compiler/system specific), can be used in projects in Ada 2005, Ada 2012 and later versions of the language
+* Unconditionally portable (*)
+* Tests and demos included
+
+The library includes a standalone generic streaming LZMA encoder and decoder
+(can be used outside of the Zip archive context).
+
+___
+
+(*) within limits of compiler's provided integer types and target architecture capacity.
+"""
+
+licenses = "MIT"
+tags = [ "zip", "archive", "compression", "deflate", "lzma", "bzip2", "lzw", "shrink" ]
+website = "https://unzip-ada.sourceforge.io/"
+
+maintainers = [ "gdemont@hotmail.com" ]
+maintainers-logins = [ "mosteo", "zertovitch" ]
+
+project-files = [ "zipada.gpr" ]
+
+executables = [
+"comp_zip",
+"find_zip",
+"lzma_dec",
+"lzma_enc",
+"rezip",
+"unzipada",
+"zipada",
+"zip_dir_list"
+]
+
+[origin]
+url = "https://sourceforge.net/projects/unzip-ada/files/zipada59.zip"
+hashes = ["sha512:c9f5871c0405cd8da048e388a0ea88dbce861d34196d96bf0c0dd847481d48630d8dbbd732948c24ab2ca4234983c54e26c4ee8608eddaf59bb58e323cb9761a"]
+
+[gpr-set-externals.'case(os)']
+macos = { Zip_OS = "MacOSX" }
+windows = { Zip_OS = "Win64" }