ptxdist cargosync iceoryx2
--------------------------
target: iceoryx2.cargosync
--------------------------
Reading Cargo.lock...
Processing addr2line 0.25.1 ...
Downloading $(call ptx/mirror, CRATESIO, addr2line/0.25.1/download) ...
Unknown URL Type!
URL: $(call
make: ***
[/usr/local/lib/ptxdist-2026.06.0/rules/post/ptxd_make_world_cargo.make:15:
/home/dev/demo/root/platform-raspi4b/state/iceoryx2.cargosync] Error 1
Here's the problem (according to Claude):
What broke: ptxdist cargosync downloads each crate from Cargo.lock into SRCDIR
while generating iceoryx2.cargo.make. In ptxdist 2026.06.0, upstream commit
ee282ffe7 ("setup: add mirror for crates.io", May 2026) changed the URL that
cargosync uses for each crate from a real URL
(https://crates.io/api/v1/crates/<name>/<version>/download) to the make
expression $(call ptx/mirror, CRATESIO, <name>/<version>/download).
Why that fails: that expression is only meaningful when make evaluates it —
which happens later, in the normal get stage, when the generated .cargo.make is
parsed. But cargosync itself runs as a shell script
(ptxd_make_world_cargo_sync_package in scripts/lib/ptxd_make_world_cargo.sh)
and passes the string unexpanded to ptxd_make_get, which only understands real
URL schemes (http://, git://, …). It splits the string on spaces, sees $(call
as the "URL", and dies with exactly your error — Unknown URL Type! URL: $(call.
The download is only attempted when the .crate file is missing from SRCDIR (if
[ ! -e "${path}" ]), so upstream's own websocat.cargo.make etc. were
regenerated on machines that already had all crates cached — that's presumably
why the regression went unnoticed. I checked upstream git: there's no fix yet
I hope it helps!
Artur