From: Sebastien Marie Subject: Re: net/matrirc: create port, "--offline mode" error (download crates from github.com) To: Manuel Kuklinski , ports@openbsd.org Date: Thu, 15 Feb 2024 08:24:30 +0100 Manuel Kuklinski writes: > Hi! > > Please excuse my e-mail - I already searched google.com and asked on > #openbsd at libera.chat but haven't got a satisfying answer. The problem > is as follows: > > I want to create a new port, namely net/matrirc > (https://github.com/martinetd/matrirc). It's an irc to matrix bridge, > written in rust, that supports e2e ecnryption. I created a skeleton > Makefile (excuse the formatting): > > [...] > > But make fails with the following error: > > - - - - - - - - - - %< - - - - - - - - - - > > ===> Building for matrirc-1.0 > error: failed to get `irc` as a dependency of package `matrirc v0.1.0 (/usr/obj/ports/matrirc-1.0/matrirc-1.0)` > > Caused by: > failed to load source for dependency `irc` > > Caused by: > Unable to update https://github.com/aatxe/irc?rev=709151b94d9f92a79758e706e6bea219b449e56f#709151b9 > > Caused by: > can't checkout from 'https://github.com/aatxe/irc': you are in the offline mode (--offline) > > - - - - - - - - - - %< - - - - - - - - - - > > My question is as follows: how do I get cargo to download the necessary > crates from github.com, without modifying: > > /usr/ports/devel/cargo/cargo.port.mk > the devel/cargo module doesn't support fetching crates from arbitrary git repository. so basically, you can't. from Cargo.toml, matrirc has two git dependencies: - irc = { version = "0.15", git = "https://github.com/aatxe/irc", rev = "709151b94d9f92a79758e706e6bea219b449e56f" } - matrix-sdk = { features = ["anyhow"], git = "https://github.com/matrix-org/matrix-rust-sdk", rev = "0b9c082e11955f49f99acd21542f62b40f11c418" } and they aren't managed by the module. There is currently no simple way to resolve that. -- Sebastien Marie