all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ng0 <ng0@libertad.pw>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: guix-devel@gnu.org
Subject: Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings
Date: Wed, 04 Jan 2017 12:24:33 +0000	[thread overview]
Message-ID: <87h95f108u.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <20170104123933.6323991a@scratchpost.org>

Danny Milosavljevic <dannym@scratchpost.org> writes:

> Hi ng0,
>
>> > For those I checked (like rust-openssl-sys) left me in confusion. Does our cargo build-system just build nothing?
>
> Most Rust libraries are installed as source code (similar to C++ templates which are also installed as source code).

Okay, I'm totally new to Rust, the developers at my side might've
told me before but I forgot about it I guess.

> The current Guix master cargo build system doesn't build anything.

Ah!

> On the other hand, my WIP v2 build system does build the libraries. But that's not because it installs the stuff it built (it shouldn't - it should install the source code), it's just to make it easily possible to find out what dependencies are missing and whether it's the correct version of the library (e.g. working in Rust stable). Is builds in the "build" phase AND in the "check" phase in order to find out which dependencies are required for the library and which are required for the tests only.
>
>> Are all of these libraries? rust-openssl-sys contained nothing, but rust-openssl-sys:src had all the data.
>
> Yeah, David added a "src" output that contains the source code.

The openssl-sys (or rather, the openssl crate) was one of these
crates which required an external, non-rust dependency to be
present. I was wondering how rust dealt with this, as I was just
following upstream description and saw that something must be
missing/broken at our end (or somewhere down my graph).

> My WIP v2 build system doesn't do that yet since I have ~5000 lines of existing rust package recipes I'd have to update - and I'd rather get everything to work first and then drop all my Rust packages and recreate them. Keep in mind that if you want to use my WIP v2 build system you also have to either (1) patch guix/build-system/cargo.scm not to do the src output or (2) patch guix/build/cargo-build-system.scm to do the src output. 
> Please be advised that it's not finished yet - that's why it's marked WIP and not merged :)
>
> This is all very much work-in-progress. But your Rust package recipes without dependencies probably won't change later. So those are fine. The others - ehhh don't know yet. For example it's not clear yet to me whether we need propagated-inputs for source libs. I think we do.

I could create a branch with just those 0 dependency crates (see
below for a list including but not limited to them) and send them
to be merged? That's a base which can't be (very) wrong.

In addition I could also split off the fluid and roboto patch to
be merged.

> Right now I'm working on untangling circular dependencies manually - probably have to talk to upstream some more.
>
> (Sigh... why do people so often create circular dependencies? Don't they feel icky about it?)
>

I have rebased with the latest master since David just pushed the
cargo updates. Building rust-serde gave me the VM error you
mentioned earlier.


    David Craven wrote:
    
    > > Both can happen at the same time and help each other. I/we need
    > > these patches, and I think keeping this branch around on our
    > > (my)
    > > side will help finding bugs in the cargo build-system. I just
    > > hope it won't be another year until it all works well enough.

    > Well if you'd like to help there, I think that finding and
    > packaging a
    > simple package that contains a Cargo.lock file and a dependency
    > tree
    > <= 10 crates would be a more useful test scenario. A test base
    > this
    > large would be useful at a later stage. I'm having difficulties
    > finding a crate that fits those requirements, maybe I'll package
    > some
    > old rust project of mine...

    I have most dependency trees listed in our gitlab. I can
    paste the ones where I found less than 10 dependencies.
    Keep in mind I could be wrong about some as later I started
    to add not all dependencies for those I already packaged
    before. No names except the name itself means that it has 0
    dependencies, and "~" was a visual guideline for myself when
    I still used gitlab's limited markdown to track what I
    already packaged:

     futures
     log
     bitflags
     cfg-if
     void
     scoped-tls
     slab
     tempdir
     openssl-probe
     pkg-config
     rustc-serialize
     tempdir
     time -> needs: (advapi32-sys), ~log~, (kernel32-sys), ~libc~, rustc-serialize, (winapi)
     bitflags
     libc
     glob
     rand
     nix-test
     bytes -> needs: rand
     spin
     lazy-static
     qml (will require DOtherSide and crates: lazy-static, libc

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org

  reply	other threads:[~2017-01-04 12:24 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-03 23:35 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings ng0
2017-01-03 23:35 ` [PATCH 01/86] gnu: Add rust-libc ng0
2017-01-04  0:17   ` Danny Milosavljevic
2017-01-04  1:34     ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 02/86] gnu: Add rust-spin ng0
2017-01-04  0:21   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 03/86] gnu: Add rust-lazy-static ng0
2017-01-03 23:35 ` [PATCH 04/86] gnu: Add dotherside ng0
2017-01-03 23:35 ` [PATCH 05/86] gnu: Add rust-qml ng0
2017-01-03 23:35 ` [PATCH 06/86] gnu: Add rust-log ng0
2017-01-04  0:22   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 07/86] gnu: Add rust-futures ng0
2017-01-03 23:35 ` [PATCH 08/86] gnu: Add rust-rand ng0
2017-01-03 23:35 ` [PATCH 09/86] gnu: Add rust-nix-test ng0
2017-01-03 23:35 ` [PATCH 10/86] gnu: Add rust-void ng0
2017-01-04  0:24   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 11/86] gnu: Add rust-slab ng0
2017-01-04  0:25   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 12/86] gnu: Add rust-winapi-build ng0
2017-01-03 23:35 ` [PATCH 13/86] gnu: Add rust-tempdir ng0
2017-01-03 23:35 ` [PATCH 14/86] gnu: Add rust-glob ng0
2017-01-03 23:35 ` [PATCH 15/86] gnu: Add rust-scoped-tls ng0
2017-01-03 23:35 ` [PATCH 16/86] gnu: Add rust-bitflags ng0
2017-01-03 23:35 ` [PATCH 17/86] gnu: Add rust-unreachable ng0
2017-01-03 23:35 ` [PATCH 18/86] gnu: Add rust-thread-id ng0
2017-01-03 23:35 ` [PATCH 19/86] gnu: Add rust-thread-local ng0
2017-01-03 23:35 ` [PATCH 20/86] gnu: Add rust-cfg-if ng0
2017-01-03 23:35 ` [PATCH 21/86] gnu: Add rust-net2 ng0
2017-01-03 23:35 ` [PATCH 22/86] gnu: Add rust-bytes ng0
2017-01-03 23:35 ` [PATCH 23/86] gnu: Add rust-openssl-probe ng0
2017-01-03 23:35 ` [PATCH 24/86] gnu: Add rust-pkg-config ng0
2017-01-03 23:35 ` [PATCH 25/86] gnu: Add rust-num-traits ng0
2017-01-03 23:35 ` [PATCH 26/86] gnu: Add rust-num-integer ng0
2017-01-03 23:35 ` [PATCH 27/86] gnu: Add rust-num-iter ng0
2017-01-03 23:35 ` [PATCH 28/86] gnu: Add rust-openssl-sys ng0
2017-01-03 23:35 ` [PATCH 29/86] gnu: Add rust-matches ng0
2017-01-03 23:35 ` [PATCH 30/86] gnu: Add rust-getopts ng0
2017-01-03 23:35 ` [PATCH 31/86] gnu: Add rust-encoding-index-tests ng0
2017-01-03 23:35 ` [PATCH 32/86] gnu: Add rust-encoding-index-japanese ng0
2017-01-03 23:35 ` [PATCH 33/86] gnu: Add rust-encoding-index-korean ng0
2017-01-03 23:35 ` [PATCH 34/86] gnu: Add rust-encoding-index-simpchinese ng0
2017-01-03 23:35 ` [PATCH 35/86] gnu: Add rust-encoding-index-singlebyte ng0
2017-01-03 23:35 ` [PATCH 36/86] gnu: Add rust-encoding-index-tradchinese ng0
2017-01-03 23:35 ` [PATCH 37/86] gnu: Add rust-encoding ng0
2017-01-03 23:35 ` [PATCH 38/86] gnu: Add rust-deque ng0
2017-01-03 23:35 ` [PATCH 39/86] gnu: Add rust-clippy-mini-macro-test ng0
2017-01-03 23:35 ` [PATCH 40/86] gnu: Add rust-unicode-normalization ng0
2017-01-03 23:35 ` [PATCH 41/86] gnu: Add rust-fnv ng0
2017-01-04  0:38   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 42/86] gnu: Add rust-heapsize ng0
2017-01-04  0:39   ` Danny Milosavljevic
2017-01-03 23:35 ` [PATCH 43/86] gnu: Add rust-unicode-bidi ng0
2017-01-03 23:36 ` [PATCH 44/86] gnu: Add rust-rustc-serialize ng0
2017-01-03 23:36 ` [PATCH 45/86] gnu: Add rust-time ng0
2017-01-03 23:36 ` [PATCH 46/86] gnu: Add rust-term ng0
2017-01-04  0:41   ` Danny Milosavljevic
2017-01-03 23:36 ` [PATCH 47/86] gnu: Add rust-rustc-test ng0
2017-01-03 23:36 ` [PATCH 48/86] gnu: Add rust-idna ng0
2017-01-03 23:36 ` [PATCH 49/86] gnu: Add rust-compiletest-rs ng0
2017-01-03 23:36 ` [PATCH 50/86] gnu: Add rust-strsim ng0
2017-01-04  0:41   ` Danny Milosavljevic
2017-01-03 23:36 ` [PATCH 51/86] gnu: Add rust-quickcheck ng0
2017-01-03 23:36 ` [PATCH 52/86] gnu: Add rust-memchr ng0
2017-01-03 23:36 ` [PATCH 53/86] gnu: Add rust-fs2 ng0
2017-01-04  1:04   ` Danny Milosavljevic
2017-01-03 23:36 ` [PATCH 54/86] gnu: Add rust-memmap ng0
2017-01-03 23:36 ` [PATCH 55/86] gnu: Add rust-docopt ng0
2017-01-03 23:36 ` [PATCH 56/86] gnu: Add rust-byteorder ng0
2017-01-03 23:36 ` [PATCH 57/86] gnu: Add rust-csv ng0
2017-01-03 23:36 ` [PATCH 58/86] gnu: Add rust-aho-corasick ng0
2017-01-03 23:36 ` [PATCH 59/86] gnu: Add rust-regex-syntax ng0
2017-01-03 23:36 ` [PATCH 60/86] gnu: Add rust-simd ng0
2017-01-03 23:36 ` [PATCH 61/86] gnu: Add rust-utf8-ranges ng0
2017-01-03 23:36 ` [PATCH 62/86] gnu: Add rust-regex ng0
2017-01-03 23:36 ` [PATCH 63/86] gnu: Add rust-env-logger ng0
2017-01-03 23:36 ` [PATCH 64/86] gnu: Add rust-quine-mc-cluskey ng0
2017-01-03 23:36 ` [PATCH 65/86] gnu: Add rust-toml ng0
2017-01-03 23:36 ` [PATCH 66/86] gnu: Add rust-semver-parser ng0
2017-01-03 23:36 ` [PATCH 67/86] gnu: Add rust-semver ng0
2017-01-03 23:36 ` [PATCH 68/86] gnu: Add rust-rustc-version ng0
2017-01-03 23:36 ` [PATCH 69/86] gnu: Add rust-tempfile ng0
2017-01-03 23:36 ` [PATCH 70/86] gnu: Add rust-nix ng0
2017-01-03 23:36 ` [PATCH 71/86] gnu: Add rust-clippy-lints ng0
2017-01-03 23:36 ` [PATCH 72/86] gnu: Add rust-clippy ng0
2017-01-03 23:36 ` [PATCH 73/86] gnu: Add rust-lazycell ng0
2017-01-03 23:36 ` [PATCH 74/86] gnu: Add rust-mio ng0
2017-01-03 23:36 ` [PATCH 75/86] gnu: Add rust-tokio-core ng0
2017-01-03 23:36 ` [PATCH 76/86] gnu: Add rust-serde ng0
2017-01-03 23:36 ` [PATCH 77/86] gnu: Add rust-serde-test ng0
2017-01-03 23:36 ` [PATCH 78/86] gnu: rust-clippy: Add rust-serde input ng0
2017-01-03 23:36 ` [PATCH 79/86] gnu: rust-toml: " ng0
2017-01-03 23:36 ` [PATCH 80/86] gnu: rust-csv: Add rust-regex input ng0
2017-01-04  0:36   ` Danny Milosavljevic
2017-01-04 11:26     ` ng0
2017-01-03 23:36 ` [PATCH 81/86] gnu: rust-docopt: " ng0
2017-01-03 23:36 ` [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input ng0
2017-01-04  0:31   ` Danny Milosavljevic
2017-01-04 11:30     ` ng0
2017-01-03 23:36 ` [PATCH 83/86] gnu: Add fluid ng0
2017-01-03 23:36 ` [PATCH 84/86] gnu: Add libpsyc-rust ng0
2017-01-03 23:36 ` [PATCH 85/86] gnu: libpsyc: Remove comment ng0
2017-01-03 23:36 ` [PATCH 86/86] gnu: Add font-google-roboto ng0
2017-01-03 23:51 ` 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings Ben Woodcroft
2017-01-04 10:14 ` Ricardo Wurmus
2017-01-04 11:16 ` ng0
2017-01-04 11:20   ` David Craven
2017-01-04 11:54     ` ng0
2017-01-04 12:00       ` David Craven
2017-01-04 11:39   ` Danny Milosavljevic
2017-01-04 12:24     ` ng0 [this message]
2017-01-04 20:52 ` Ludovic Courtès
2017-01-04 22:30   ` ng0
2017-01-05 20:34     ` David Craven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h95f108u.fsf@wasp.i-did-not-set--mail-host-address--so-tickle-me \
    --to=ng0@libertad.pw \
    --cc=dannym@scratchpost.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.