On Wed, Oct 21, 2020 at 05:27:16PM +0330, Hamzeh Nasajpour wrote: > I'm so sorry I had a mistake in the previous package definition, I was in testing. Please remove these lines in the previous definition: > ``` > (substitute* "Cargo.toml" > (("0.10.30\"" all) "0.10.30\"}# ")) > ``` > > It means that my package definition is: > ``` > (define-public python-etebase-py > (package > (name "python-etebase-py") > (version "0.30.0") > (source > (origin > (method url-fetch) > (uri (pypi-uri "etebase" version)) > (sha256 > (base32 > "1py635aqnxx3jy4x6zffriqi0l9gc2gk06h0ms91k4rs68h0gb0i")) > (modules '((guix build utils))) > (snippet > '(begin > (substitute* "Cargo.toml" > (("etebase = " all) "#etebase = ")) > (substitute* "Cargo.toml" > (("flapigen = " all) "flapigen = \"^0.6.0-pre7\" #")) I'd add in a substitution here for openssl like this (untested): ;; Don't depend on vendored sources (("0.10.30.*") "0.10.30\" }\n") > #t)))) > (build-system cargo-build-system) > (arguments > `(#:tests? #f > #:cargo-inputs > (("rust-openssl" ,rust-openssl-0.10) > ("rust-cpython" ,rust-cpython-0.3) > ("rust-log" ,rust-log-0.4) > ("rust-etebase-rs" ,rust-etebase-rs) > ("rust-flapigen" ,rust-flapigen-0.6) > ("rust-env-logger" ,rust-env-logger-0.7)) > #:phases > (modify-phases %standard-phases > (add-after 'unpack 'patch-env-var > (lambda* (#:key inputs #:allow-other-keys) > (let ((openssl (assoc-ref inputs "openssl"))) > (invoke "rm" "setup.py") > (setenv "RUST_BACKTRACE" "full") > (setenv "OPENSSL_DIR" openssl)) > #t)) > ))) > (native-inputs > `(("openssl" ,openssl) > ("python-msgpack" ,python-msgpack) > ("python-setuptools-rust" ,python-setuptools-rust))) > (inputs > `(("python" ,python) > ; ("rust-etebase-rs" ,rust-etebase-rs) > )) > (home-page "https://github.com/etesync/etebase-rs") > (synopsis "A python client library for EteSync.") > (description > "This module provides a python API to interact with an EteSync server. > It currently implements AddressBook and Calendar access, and supports two-way sync (both push and pull) to the server.") > (license license:gpl3))) > ``` > > With above definition, I set the `OPENSSL_DIR` and add `openssl` as input but the problem not resolved: > ``` > phase `patch-cargo-checksums' succeeded after 57.8 seconds > starting phase `build' > Compiling autocfg v1.0.1 > Compiling memchr v2.3.3 > Compiling lazy_static v1.4.0 > Compiling regex-syntax v0.6.18 > Compiling libc v0.2.71 > Compiling cc v1.0.58 > Compiling pkg-config v0.3.17 > Compiling bitflags v1.2.1 > Compiling openssl v0.10.30 > Compiling cpython v0.3.0 > Compiling foreign-types-shared v0.1.1 > Compiling cfg-if v0.1.10 > Compiling thread_local v1.0.1 > Compiling foreign-types v0.3.2 > Compiling aho-corasick v0.7.13 > Compiling num-traits v0.2.12 > Compiling regex v1.3.9 > Compiling openssl-sys v0.9.58 > error[E0463]: can't find crate for `openssl_src` > --> /tmp/guix-build-python-etebase-py-0.30.0.drv-0/etebase-0.30.0/guix-vendor/rust-openssl-sys-0.9.58.tar.xz/build/main.rs:6:1 > | > 6 | extern crate openssl_src; > | ^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate > > error: aborting due to previous error > > For more information about this error, try `rustc --explain E0463`. > error: could not compile `openssl-sys`. > warning: build failed, waiting for other jobs to finish... > error: build failed > ``` > > -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted