git: enable libgit2's OpenSSH feature

This commit is contained in:
Benjamin Tan 2024-03-02 00:43:48 +08:00
parent dc567a2277
commit 9cf51e4b8c
No known key found for this signature in database
GPG Key ID: A853F0716C413825
4 changed files with 7 additions and 22 deletions

15
Cargo.lock generated
View File

@ -2031,7 +2031,6 @@ source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84c
dependencies = [
"cc",
"libc",
"libssh2-sys",
"libz-sys",
"openssl-sys",
"pkg-config",
@ -2047,20 +2046,6 @@ dependencies = [
"libc",
]
[[package]]
name = "libssh2-sys"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee"
dependencies = [
"cc",
"libc",
"libz-sys",
"openssl-sys",
"pkg-config",
"vcpkg",
]
[[package]]
name = "libz-sys"
version = "1.1.18"

View File

@ -49,7 +49,9 @@ dunce = "1.0.5"
either = "1.13.0"
esl01-renderdag = "0.3.0"
futures = "0.3.30"
git2 = { git = "https://github.com/bnjmnt4n/git2-rs.git", rev = "60e29ff0d", features = [
git2 = { git = "https://github.com/bnjmnt4n/git2-rs.git", rev = "60e29ff0d", default-features = false, features = [
"https",
"ssh-openssh",
# Do *not* disable this feature even if you'd like dynamic linking. Instead,
# set the environment variable `LIBGIT2_NO_VENDOR=1` if dynamic linking must
# be used (this will override the Cargo feature), and allow static linking

View File

@ -80,8 +80,8 @@ fn map_git_error(err: git2::Error) -> CommandError {
successfully load certificates. Try setting it to the path of a directory that \
contains a `.ssh` directory."
} else {
"Jujutsu uses libssh2, which doesn't respect ~/.ssh/config. Does `ssh -F \
/dev/null` to the host work?"
"There was an error creating an SSH connection. Does `ssh -F /dev/null` to the \
host work?"
};
user_error_with_hint(err, hint)

View File

@ -99,11 +99,10 @@
openssh
] ++ linuxNativeDeps;
buildInputs = with pkgs; [
openssl zstd libgit2 libssh2
openssl zstd libgit2 openssh
] ++ darwinDeps;
ZSTD_SYS_USE_PKG_CONFIG = "1";
LIBSSH2_SYS_USE_PKG_CONFIG = "1";
RUSTFLAGS = pkgs.lib.optionalString pkgs.stdenv.isLinux "-C link-arg=-fuse-ld=mold";
NIX_JJ_GIT_HASH = self.rev or "";
CARGO_INCREMENTAL = "0";
@ -153,7 +152,7 @@
ourRustVersion
# Foreign dependencies
openssl zstd libgit2 libssh2
openssl zstd libgit2
pkg-config
# Additional tools recommended by contributing.md
@ -179,7 +178,6 @@
shellHook = ''
export RUST_BACKTRACE=1
export ZSTD_SYS_USE_PKG_CONFIG=1
export LIBSSH2_SYS_USE_PKG_CONFIG=1
export RUSTFLAGS="-Zthreads=0 ${rustLinkFlagsString}"
'';