From a494a8984255e0cab54fa814766a8d91eb1fb9e2 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 6 Oct 2023 10:13:00 -0400 Subject: [PATCH] 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. --- projects/curl.se/package.yml | 1 + projects/rust-lang.org/cargo/package.yml | 25 ++++++++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/projects/curl.se/package.yml b/projects/curl.se/package.yml index 2aa6c658..be443b13 100644 --- a/projects/curl.se/package.yml +++ b/projects/curl.se/package.yml @@ -11,6 +11,7 @@ versions: dependencies: openssl.org: ^1.1 curl.se/ca-certs: '*' + zlib.net: ^1.2.11 build: - ./configure diff --git a/projects/rust-lang.org/cargo/package.yml b/projects/rust-lang.org/cargo/package.yml index d2cbe853..fbb4d269 100644 --- a/projects/rust-lang.org/cargo/package.yml +++ b/projects/rust-lang.org/cargo/package.yml @@ -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