From 215ec14b20e5273ce70a53d8f9a8deac4923d6c7 Mon Sep 17 00:00:00 2001 From: link2xt Date: Tue, 5 Mar 2024 00:13:57 +0000 Subject: [PATCH] build: revert to OpenSSL 3.1 OpenSSL 3.2 build currently fails under Nix so we cannot build deltachat-rpc-server releases: --- Cargo.lock | 13 +++++++------ Cargo.toml | 8 ++++++++ flake.nix | 8 +++----- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6490d882f6..14e06b373d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1124,6 +1124,7 @@ dependencies = [ "num-traits", "num_cpus", "once_cell", + "openssl-src", "parking_lot", "percent-encoding", "pgp", @@ -3211,9 +3212,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" dependencies = [ "bitflags 2.4.2", "cfg-if", @@ -3243,18 +3244,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.2.3+3.2.1" +version = "300.1.6+3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" +checksum = "439fac53e092cd7442a3660c85dde4643ab3b5bd39040912388dcdabf6b88085" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.101" +version = "0.9.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" dependencies = [ "cc", "libc", diff --git a/Cargo.toml b/Cargo.toml index e9b8daa238..5be195ad62 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -100,6 +100,14 @@ toml = "0.8" url = "2" uuid = { version = "1", features = ["serde", "v4"] } +# Pin OpenSSL to 3.1 releases. +# OpenSSL 3.2 has a regression tracked at +# which results in broken `deltachat-rpc-server` binaries when cross-compiled using Zig toolchain. +# See for Delta Chat issue. +# According to +# 3.1 branch will be supported until 2025-03-14. +openssl-src = "~300.1" + [dev-dependencies] ansi_term = "0.12.0" anyhow = { version = "1", features = ["backtrace"] } # Enable `backtrace` feature in tests. diff --git a/flake.nix b/flake.nix index 049a36b649..2d6889eba9 100644 --- a/flake.nix +++ b/flake.nix @@ -165,6 +165,9 @@ version = manifest.version; strictDeps = true; src = pkgs.lib.cleanSource ./.; + nativeBuildInputs = [ + pkgs.perl # Needed to build vendored OpenSSL. + ]; auditable = false; # Avoid cargo-auditable failures. doCheck = false; # Disable test as it requires network access. @@ -177,11 +180,6 @@ CC = "${pkgsCross.stdenv.cc}/bin/${pkgsCross.stdenv.cc.targetPrefix}cc"; LD = "${pkgsCross.stdenv.cc}/bin/${pkgsCross.stdenv.cc.targetPrefix}cc"; - - OPENSSL_LIB_DIR = "${pkgsCross.pkgsStatic.openssl.out}/lib"; - OPENSSL_INCLUDE_DIR = "${pkgsCross.pkgsStatic.openssl.dev}/include"; - OPENSSL_STATIC = "1"; - OPENSSL_NO_VENDOR = "1"; }; mk-aarch64-RustPackage = mkCrossRustPackage "aarch64-unknown-linux-musl" "aarch64-unknown-linux-musl";