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:
openssl.org: ^1.1
curl.se/ca-certs: '*'
zlib.net: ^1.2.11
build:
- ./configure

View file

@ -12,35 +12,44 @@ runtime:
env:
CARGO_INSTALL_ROOT: ${{home}}/.local
dependencies:
companions:
git-scm.org: ^2
rust-lang.org: '*'
dependencies:
openssl.org: ^1 # cargo needs the certs
curl.se: '*'
zlib.net: ^1
libssh2.org: ^1
libgit2.org: ^1
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:
dependencies:
rust-lang.org: '*'
gnu.org/tar: '*'
tukaani.org/xz: '*'
freedesktop.org/pkg-config: ^0.29
rust-lang.org/cargo: '*'
script:
- |
sed -i.bak 's/^curl\s*=\s*"(.+)"$/curl = { version = "\\1", features = ["force-system-lib-on-osx"] }/' Cargo.toml
# otherwise we are not ABI compatible and new macOS versions may break
# this happened with Sonoma
- echo "default = ['curl/force-system-lib-on-osx']" >> Cargo.toml
- cargo install
--verbose
--root={{ prefix }}
--path=.
env:
LIBGIT2_SYS_USE_PKG_CONFIG: 1
LIBSSH2_SYS_USE_PKG_CONFIG: 1
test:
env:
CC: clang #FIXME
dependencies: #FIXME brewkit should add companions to the test env
git-scm.org: ^2
rust-lang.org: '*'
script: |
cargo init . --name xyz_tea_fixture
echo 'fn main() {println!("Hello World!");}' >src/main.rs