Rust Packages in MDVL

Overview

This repository contains a metapackage which defines the dependencies required to build programs implemented in Rust on MDVL.

Metapackage

The list of dependencies can be found in build.xml and the metapackage mdvl-meta-rust itself can be built using

ant package

Approach to Rust in MDVL

MDVL relies on packages provided by Debian as much as possible. It does this, too, for Rust. This is nearly impossible in the general case as Rust programs tend to depend on very recent compiler versions (rustc, cargo) and on many arbitrary (often: new) versions of libraries which, too, are often not available in Debian.

Although MDVL is generally based on Debian stable, as of this writing, Debian testing (Forky) is used to build the Rust packages.

To integrate a Rust program into MDVL, their Cargo.toml and code are patched to change the dependencies to Debian-included variants as far as possible.

Also, in event that a dependency is required but not available in Debian, custom MDVL packages are provided to import the packages of interest from crates.io.

The MDVL packages for dependencies are created by combining debcargo (a tool from Debian) with the MDVL build system (ant). The official Debian Rust packages are built from a monorepo. The MDVL packages are offered as individual repositories, making it possible to re-use most of the build infrastructure which depends on one build.xml per package.

The MDVL packages for programs are created by invoking cargo after adding the following configuration (.cargo/config.toml):

[source]

[source.debian-packages]
directory = "/usr/share/cargo/registry"

[source.crates-io]
replace-with = "debian-packages"

[net]
offline = true

This way, dependencies are (only) resolved from the ones available in the running Debian system.

List of Rust Dependencies

You can find the following Rust packages for dependencies in MDVL:

Package Repository
librust-mlua-dev https://www.github.com/m7a/lp-rust-mlua
librust-mlua-sys-dev https://www.github.com/m7a/lp-rust-mlua-sys
librust-strum-dev https://www.github.com/m7a/lp-rust-strum
librust-strum-macros-dev https://www.github.com/m7a/lp-rust-strum-macros

Ma_Sys.ma Website 5 (1.0.3) – no Flash, no JavaScript, no Webfont, no Copy Protection, no Mobile First. No bullshit. No GUI needed. Works with any browser.

Created: 2026/09/26 23:32:35 | Revised: 2026/09/26 21:01:56 | Tags: rust, mdvl, kb, mdvl-meta-rust, compile, meta | Version: 1.0.0 | SRC (Pandoc MD) | GPL

(c) 2026 Ma_Sys.ma info@masysma.net.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.