rust importer duplicates input

  • Done
  • quality assurance status badge
Details
4 participants
  • David Craven
  • ng0
  • Ricardo Wurmus
  • zimoun
Owner
unassigned
Submitted by
ng0
Severity
normal
N
(address . bug-guix@gnu.org)
87zijhuzcv.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me
I'm on the grand journey into rusty land, and while I'm
assembling a list of what needs to be packaged to package our
prototype, I got this:

ng0@wasp ~$ guix import crate net2
(package
(name "rust-net2")
(version "0.2.26")
(source
(origin
(method url-fetch)
(uri (crate-uri "net2" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy"))))
(build-system cargo-build-system)
(inputs
`(("rust-cfg-if" ,rust-cfg-if)
("rust-kernel32-sys" ,rust-kernel32-sys)
("rust-libc" ,rust-libc)
("rust-libc" ,rust-libc)
("rust-libc" ,rust-libc)
("rust-libc" ,rust-libc)
("rust-libc" ,rust-libc)
("rust-winapi" ,rust-winapi)
("rust-ws2-32-sys" ,rust-ws2-32-sys)))
(home-page
(synopsis
"Extensions to the standard library's networking types as proposed in RFC 1158.
")
(description
"Extensions to the standard library's networking types as proposed in RFC 1158.
")
(license (list license:expat license:asl2.0)))

--
♥? ng0
PGP keys and more: https://n0is.noblogs.org/http://ng0.chaosnet.org
D
D
David Craven wrote on 28 Dec 2016 01:01
(name . ng0)(address . ng0@libertad.pw)(address . 25281@debbugs.gnu.org)
CAL1_immr3jcxCDJxjYUpO5o8sxVsorW-t7178Vzd55kCGrG3-w@mail.gmail.com
Looking at the Cargo.toml file we see this:

[target."cfg(unix)".dependencies]
libc = "0.2.14"
# Compat with older Cargo versions temporarily
[target.x86_64-unknown-linux-gnu.dependencies]
libc = "0.2.14"
[target.i686-unknown-linux-gnu.dependencies]
libc = "0.2.14"
[target.x86_64-apple-darwin.dependencies]
libc = "0.2.14"
[target.i686-apple-darwin.dependencies]
libc = "0.2.14"

I started reimplementing cargos dependency resolution algorithm, but
think now that it's better to use a Cargo.lock file when one is
provided.

When there isn't a cargo lock file it's a library in the sense that it
is a collection of source code that can be reused in a cargo project
that has a Cargo.lock file.

I don't think that this is a issue that needs fixing.
R
R
Ricardo Wurmus wrote on 28 Dec 2016 13:06
(name . David Craven)(address . david@craven.ch)
idjeg0sgsvv.fsf@bimsb-sys02.mdc-berlin.net
David Craven <david@craven.ch> writes:

Toggle quote (24 lines)
> Looking at the Cargo.toml file we see this:
>
> [target."cfg(unix)".dependencies]
> libc = "0.2.14"
> # Compat with older Cargo versions temporarily
> [target.x86_64-unknown-linux-gnu.dependencies]
> libc = "0.2.14"
> [target.i686-unknown-linux-gnu.dependencies]
> libc = "0.2.14"
> [target.x86_64-apple-darwin.dependencies]
> libc = "0.2.14"
> [target.i686-apple-darwin.dependencies]
> libc = "0.2.14"
>
> I started reimplementing cargos dependency resolution algorithm, but
> think now that it's better to use a Cargo.lock file when one is
> provided.
>
> When there isn't a cargo lock file it's a library in the sense that it
> is a collection of source code that can be reused in a cargo project
> that has a Cargo.lock file.
>
> I don't think that this is a issue that needs fixing.

Could the importer be changed to either ignore targets that don’t match
the current architecture or to uniquify the list of inputs?

~~ Ricardo
D
D
David Craven wrote on 28 Dec 2016 21:51
(name . Ricardo Wurmus)(address . ricardo.wurmus@mdc-berlin.de)
CAL1_imkUxTgUfpTgkRX6KJ_wO8O5nPyEeo2PAmX-pTjZm0fbhw@mail.gmail.com
Toggle quote (3 lines)
> Could the importer be changed to either ignore targets that don’t match
> the current architecture or to uniquify the list of inputs?

It could, but I don't see an advantage. It takes more than just
removing duplicate inputs for the thing to build. I'd find time spent
on a Cargo.lock parser (which should be quite easy) to be more useful,
but if someone wants to do it...
Z
Z
zimoun wrote on 2 Jul 2021 10:52
(name . ng0)(address . ng0@libertad.pw)(address . 25281@debbugs.gnu.org)
85im1t85cn.fsf@gmail.com
Hi,

On mar., 27 déc. 2016 at 16:10, ng0 <ng0@libertad.pw> wrote:

Toggle quote (35 lines)
> ng0@wasp ~$ guix import crate net2
> following redirection to `https://crates-io.s3-us-west-1.amazonaws.com/crates/net2/net2-0.2.26.crate'...
> (package
> (name "rust-net2")
> (version "0.2.26")
> (source
> (origin
> (method url-fetch)
> (uri (crate-uri "net2" version))
> (file-name
> (string-append name "-" version ".tar.gz"))
> (sha256
> (base32
> "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy"))))
> (build-system cargo-build-system)
> (inputs
> `(("rust-cfg-if" ,rust-cfg-if)
> ("rust-kernel32-sys" ,rust-kernel32-sys)
> ("rust-libc" ,rust-libc)
> ("rust-libc" ,rust-libc)
> ("rust-libc" ,rust-libc)
> ("rust-libc" ,rust-libc)
> ("rust-libc" ,rust-libc)
> ("rust-winapi" ,rust-winapi)
> ("rust-ws2-32-sys" ,rust-ws2-32-sys)))
> (home-page
> "https://github.com/rust-lang-nursery/net2-rs")
> (synopsis
> "Extensions to the standard library's networking types as proposed in RFC 1158.
> ")
> (description
> "Extensions to the standard library's networking types as proposed in RFC 1158.
> ")
> (license (list license:expat license:asl2.0)))

Using Guix 3694c0d, I get this:

Toggle snippet (31 lines)
$ guix import crate net2
(define-public rust-net2-0.2
(package
(name "rust-net2")
(version "0.2.37")
(source
(origin
(method url-fetch)
(uri (crate-uri "net2" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1bk8jp0i12gvhrlaqbfq19ancja70r1rg3sywbhjl0385g8k05ir"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-cfg-if" ,rust-cfg-if-0.1)
("rust-libc" ,rust-libc-0.2)
("rust-winapi" ,rust-winapi-0.3))))
(home-page
"https://github.com/deprecrated/net2-rs")
(synopsis
"Extensions to the standard library's networking types as proposed in RFC 1158.
")
(description
"Extensions to the standard library's networking types as proposed in RFC 1158.
")
(license (list license:expat license:asl2.0))))

Therefore, I think this bug report can be close. WDYT?


All the best,
simon
Z
Z
zimoun wrote on 3 Jul 2021 09:54
(name . ng0)(address . ng0@libertad.pw)(address . 25281-done@debbugs.gnu.org)
86zgv396jk.fsf@gmail.com
Hi,

On Fri, 02 Jul 2021 at 10:52, zimoun <zimon.toutoune@gmail.com> wrote:
Toggle quote (71 lines)
> On mar., 27 déc. 2016 at 16:10, ng0 <ng0@libertad.pw> wrote:
>
>> ng0@wasp ~$ guix import crate net2
>> following redirection to `https://crates-io.s3-us-west-1.amazonaws.com/crates/net2/net2-0.2.26.crate'...
>> (package
>> (name "rust-net2")
>> (version "0.2.26")
>> (source
>> (origin
>> (method url-fetch)
>> (uri (crate-uri "net2" version))
>> (file-name
>> (string-append name "-" version ".tar.gz"))
>> (sha256
>> (base32
>> "1qp3q6xynb481rsp3ig1nmqb6qlxfba3shfrmqij88cppsv9rpsy"))))
>> (build-system cargo-build-system)
>> (inputs
>> `(("rust-cfg-if" ,rust-cfg-if)
>> ("rust-kernel32-sys" ,rust-kernel32-sys)
>> ("rust-libc" ,rust-libc)
>> ("rust-libc" ,rust-libc)
>> ("rust-libc" ,rust-libc)
>> ("rust-libc" ,rust-libc)
>> ("rust-libc" ,rust-libc)
>> ("rust-winapi" ,rust-winapi)
>> ("rust-ws2-32-sys" ,rust-ws2-32-sys)))
>> (home-page
>> "https://github.com/rust-lang-nursery/net2-rs")
>> (synopsis
>> "Extensions to the standard library's networking types as proposed in RFC 1158.
>> ")
>> (description
>> "Extensions to the standard library's networking types as proposed in RFC 1158.
>> ")
>> (license (list license:expat license:asl2.0)))
>
> Using Guix 3694c0d, I get this:
>
> $ guix import crate net2
> (define-public rust-net2-0.2
> (package
> (name "rust-net2")
> (version "0.2.37")
> (source
> (origin
> (method url-fetch)
> (uri (crate-uri "net2" version))
> (file-name
> (string-append name "-" version ".tar.gz"))
> (sha256
> (base32
> "1bk8jp0i12gvhrlaqbfq19ancja70r1rg3sywbhjl0385g8k05ir"))))
> (build-system cargo-build-system)
> (arguments
> `(#:cargo-inputs
> (("rust-cfg-if" ,rust-cfg-if-0.1)
> ("rust-libc" ,rust-libc-0.2)
> ("rust-winapi" ,rust-winapi-0.3))))
> (home-page
> "https://github.com/deprecrated/net2-rs")
> (synopsis
> "Extensions to the standard library's networking types as proposed in RFC 1158.
> ")
> (description
> "Extensions to the standard library's networking types as proposed in RFC 1158.
> ")
> (license (list license:expat license:asl2.0))))
>
> Therefore, I think this bug report can be close. WDYT?

I get a «Delivery Status Notification (Failure)» from the email address
of the submitter, and I consider this issue is now fixed, so closing.

If I misread something or misunderstand a point, please reopen.

All the best,
simon
Closed
?