looks like failed to send email yesterday Nicolas Goaziou writes: > Hello, > > Z572 via Guix-patches via writes: > >> +(define-public rust-src >> + (hidden-package >> + (package >> + (inherit rust-1.57) >> + (name "rust-src") >> + (build-system copy-build-system) >> + (native-inputs '()) >> + (inputs '()) >> + (native-search-paths '()) >> + (outputs '("out")) >> + (arguments >> + `(#:install-plan >> + '(("library" "lib/rustlib/src/rust/library") >> + ("src" "lib/rustlib/src/rust/src")))) >> + (synopsis "Source code for the Rust standard library") >> + (description "This package provide source code for the Rust >> standard >> +library, only use by rust-analyzer, make rust-analyzer out of >> box.")))) > > This cannot work, because, AFAIK, you can only inherit packages from the > same module. So rust-src should be moved to rust.scm and made visible. It can work, for example: fdik-libetpan and libetpan. fdik-libetpan is in (gnu packages pep), libetpan is in (gnu packages mail), fdik-libetpan inherit from libetpan, them are in different module. > >> + (add-after 'install 'wrap-program >> + (lambda* (#:key inputs outputs #:allow-other-keys) >> + (let* ((out (assoc-ref outputs "out")) >> + (bin (string-append out "/bin")) >> + (rust-src-path (search-input-directory >> + inputs "/lib/rustlib/src/rust/library"))) >> + ;; if not get environment variable RUST_SRC_PATH, set it, >> + ;; make rust-analyzer out of box. >> + (with-directory-excursion bin >> + (let* ((prog "rust-analyzer") >> + (wrapped-file (string-append (dirname prog) >> + "/." (basename prog) "-real")) >> + (prog-tmp (string-append wrapped-file "-tmp"))) >> + (link prog wrapped-file) >> + (call-with-output-file prog-tmp >> + (lambda (port) >> + (format port "#!~a >> +if test -z \"${RUST_SRC_PATH}\";then export RUST_SRC_PATH=~S;fi; >> +exec -a \"$0\" \"~a\" \"$@\"" >> + (which "bash") >> + rust-src-path >> + (canonicalize-path wrapped-file)))) >> + (chmod prog-tmp #o755) >> + (rename-file prog-tmp prog)))))) > > I tried to move the rust-src in rust.scm, as explained above, but when > I do, installation of rust-analyzer fails during the `wrap-program' > phases. new patch move rust-src to rust.scm, and build rust-analyzer success. > >> (replace 'install-license-files >> (lambda* (#:key outputs #:allow-other-keys) >> (let* ((out (assoc-ref outputs "out")) >> @@ -1298,6 +1341,7 @@ (define-public rust-analyzer >> (chdir "../..") >> (install-file "LICENSE-MIT" doc) >> (install-file "LICENSE-APACHE" doc))))))) >> + (inputs (list rust-src)) > > Shouldn't it be a native-input? Fix in new patch. > > Could you have a look at those issues? Thanks! > > Regards,