Package: meson
Version: 1.6.1-1
Tags: patch upstream
User: debian-cr...@lists.debian.org
Usertags: ftcbfs
Control: affects -1 + src:glycin

glycin fails to cross build from source. The error is:

| ../meson.build:1:0: ERROR: 'rust' compiler binary not defined in cross file 
[binaries] section

Evidently, the crossfile passed to meson lacks a rust option in the
binaries section. Whilst this is currently handled by debcrossgen, the
goal is to produce it using env2mfile, but env2mfile also does not
produce this option. Hence, I am attaching a patch for env2mfile to add
it. I am presently unable to test the patch, because glycin is now
bd-uninstallable again, but the resulting crossfile looks sensible.

Helmut
--- meson-1.6.1.orig/mesonbuild/scripts/env2mfile.py
+++ meson-1.6.1/mesonbuild/scripts/env2mfile.py
@@ -257,6 +257,20 @@ def dpkg_architecture_to_machine_info(ou
         infos.binaries['cups-config'] = locate_path("cups-config")
     except ValueError:
         pass
+    try:
+        rustc = locate_path("rustc")
+    except ValueError:
+        pass
+    else:
+        infos.binaries["rust"] = [
+            "rustc",
+            "--target=%s-unknown-%s-%s%s" % (
+                data["DEB_HOST_GNU_CPU"],
+                data["DEB_HOST_ARCH_OS"],
+                data["DEB_HOST_ARCH_LIBC"],
+                {"base": ""}.get(data["DEB_HOST_ARCH_ABI"], data["DEB_HOST_ARCH_ABI"]),
+            )
+        ]
     infos.system = host_os
     infos.subsystem = host_subsystem
     infos.kernel = host_kernel

Reply via email to