Cargo fixes (#3546)

Fixes crash due to cURL needing a patch for Sonoma. We use the Apple vendored cURL to work around this but probs will need to patch cURL as well. We'll see.

Note this is notable in that we elected to use more of our own deps on macOS than eg. brew, but probs should approach some balance with that.
This commit is contained in:
Max Howell 2023-10-06 10:13:00 -04:00 committed by GitHub
parent 630e7163d5
commit a494a89842
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 8 deletions

View file

@ -11,6 +11,7 @@ versions:
dependencies: dependencies:
openssl.org: ^1.1 openssl.org: ^1.1
curl.se/ca-certs: '*' curl.se/ca-certs: '*'
zlib.net: ^1.2.11
build: build:
- ./configure - ./configure

View file

@ -12,35 +12,44 @@ runtime:
env: env:
CARGO_INSTALL_ROOT: ${{home}}/.local CARGO_INSTALL_ROOT: ${{home}}/.local
dependencies: companions:
git-scm.org: ^2 git-scm.org: ^2
rust-lang.org: '*' rust-lang.org: '*'
dependencies:
openssl.org: ^1 # cargo needs the certs openssl.org: ^1 # cargo needs the certs
curl.se: '*'
zlib.net: ^1 zlib.net: ^1
libssh2.org: ^1
libgit2.org: ^1 libgit2.org: ^1
linux: linux:
llvm.org: '*' #FIXME only need the linker actually llvm.org: '*' # FIXME only need the linker actually
curl.se: '*'
# ^^ Apple adds patches to curl on Darwin that prevent breakage with this pkg
# NOTE maybe in general we should just use darwin curl?
# https://github.com/pkgxdev/pantry/issues/3520
build: build:
dependencies: dependencies:
rust-lang.org: '*'
gnu.org/tar: '*' gnu.org/tar: '*'
tukaani.org/xz: '*' tukaani.org/xz: '*'
freedesktop.org/pkg-config: ^0.29 freedesktop.org/pkg-config: ^0.29
rust-lang.org/cargo: '*' rust-lang.org/cargo: '*'
script: script:
- | # otherwise we are not ABI compatible and new macOS versions may break
sed -i.bak 's/^curl\s*=\s*"(.+)"$/curl = { version = "\\1", features = ["force-system-lib-on-osx"] }/' Cargo.toml # this happened with Sonoma
- echo "default = ['curl/force-system-lib-on-osx']" >> Cargo.toml
- cargo install - cargo install
--verbose
--root={{ prefix }} --root={{ prefix }}
--path=. --path=.
env: env:
LIBGIT2_SYS_USE_PKG_CONFIG: 1 LIBGIT2_SYS_USE_PKG_CONFIG: 1
LIBSSH2_SYS_USE_PKG_CONFIG: 1 LIBSSH2_SYS_USE_PKG_CONFIG: 1
test: test:
env: dependencies: #FIXME brewkit should add companions to the test env
CC: clang #FIXME git-scm.org: ^2
rust-lang.org: '*'
script: | script: |
cargo init . --name xyz_tea_fixture cargo init . --name xyz_tea_fixture
echo 'fn main() {println!("Hello World!");}' >src/main.rs echo 'fn main() {println!("Hello World!");}' >src/main.rs