unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* rust build system, building libc crate
@ 2018-02-03 20:44 ng0
  2018-02-03 20:49 ` ng0
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2018-02-03 20:44 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 17366 bytes --]

From
https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00051.html
we are still missing some parts for a fully working
rust-build-system.

In my very big rust branch I tried a crate with no other
dependencies: libc.

Turns out this can't finish successfully. Was there something
other than the items listed in the email that are open issues?

> error: no packages found with binaries or examples

Makes me assume that there's something missing/acting wrong on
our side?


[…]
phase `unpack' succeeded after 0.0 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
patch-shebang: ./ci/android-install-ndk.sh: changing `/bin/sh' to `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/sh'
patch-shebang: ./ci/android-install-sdk.sh: changing `/bin/sh' to `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/sh'
patch-shebang: ./ci/docker/wasm32-unknown-emscripten/node-wrapper.sh: changing `/bin/sh' to `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/sh'
patch-shebang: ./ci/dox.sh: changing `/bin/sh' to `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/sh'
patch-shebang: ./ci/emscripten-entry.sh: changing `/usr/bin/env bash' to `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/bash'
patch-shebang: ./ci/run.sh: changing `/bin/sh' to `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/sh'
patch-shebang: ./ci/test-runner-linux: changing `/bin/sh' to `/gnu/store/kpxi8h3669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12/bin/sh'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `configure'
phase `configure' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `build'
   Compiling libc v0.2.36 (file:///tmp/guix-build-rust-libc-0.2.36.drv-0/libc-0.2.36)
    Finished release [optimized] target(s) in 7.74 secs
phase `build' succeeded after 10.5 seconds
starting phase `check'
   Compiling libc v0.2.36 (file:///tmp/guix-build-rust-libc-0.2.36.drv-0/libc-0.2.36)
    Finished dev [unoptimized + debuginfo] target(s) in 1.96 secs
     Running target/debug/deps/libc-194dc397a444cff7

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

   Doc-tests libc

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

phase `check' succeeded after 4.1 seconds
starting phase `install'
`src/dox.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/dox.rs'
`src/windows.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/windows.rs'
`src/lib.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/lib.rs'
`src/macros.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/macros.rs'
`src/fuchsia/aarch64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/fuchsia/aarch64.rs'
`src/fuchsia/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/fuchsia/mod.rs'
`src/fuchsia/powerpc64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/fuchsia/powerpc64.rs'
`src/fuchsia/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/fuchsia/x86_64.rs'
`src/unix/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/mod.rs'
`src/unix/haiku/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/haiku/mod.rs'
`src/unix/haiku/b64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/haiku/b64.rs'
`src/unix/haiku/b32.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/haiku/b32.rs'
`src/unix/notbsd/emscripten.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/emscripten.rs'
`src/unix/notbsd/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/mod.rs'
`src/unix/notbsd/android/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/android/mod.rs'
`src/unix/notbsd/android/b32/x86.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/android/b32/x86.rs'
`src/unix/notbsd/android/b32/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/android/b32/mod.rs'
`src/unix/notbsd/android/b32/arm.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/android/b32/arm.rs'
`src/unix/notbsd/android/b64/aarch64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/android/b64/aarch64.rs'
`src/unix/notbsd/android/b64/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/android/b64/mod.rs'
`src/unix/notbsd/android/b64/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/android/b64/x86_64.rs'
`src/unix/notbsd/linux/s390x.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/s390x.rs'
`src/unix/notbsd/linux/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/mod.rs'
`src/unix/notbsd/linux/other/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/mod.rs'
`src/unix/notbsd/linux/other/b32/x86.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b32/x86.rs'
`src/unix/notbsd/linux/other/b32/powerpc.rs' ->`/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b32/powerpc.rs'
`src/unix/notbsd/linux/other/b32/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b32/mod.rs'
`src/unix/notbsd/linux/other/b32/arm.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b32/arm.rs'
`src/unix/notbsd/linux/other/b64/not_x32.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b64/not_x32.rs'
`src/unix/notbsd/linux/other/b64/aarch64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b64/aarch64.rs'
`src/unix/notbsd/linux/other/b64/sparc64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b64/sparc64.rs'
`src/unix/notbsd/linux/other/b64/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b64/mod.rs'
`src/unix/notbsd/linux/other/b64/powerpc64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b64/powerpc64.rs'
`src/unix/notbsd/linux/other/b64/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b64/x86_64.rs'
`src/unix/notbsd/linux/other/b64/x32.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/other/b64/x32.rs'
`src/unix/notbsd/linux/musl/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/mod.rs'
`src/unix/notbsd/linux/musl/b32/x86.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b32/x86.rs'
`src/unix/notbsd/linux/musl/b32/mips.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b32/mips.rs'
`src/unix/notbsd/linux/musl/b32/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b32/mod.rs'
`src/unix/notbsd/linux/musl/b32/arm.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b32/arm.rs'
`src/unix/notbsd/linux/musl/b64/aarch64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b64/aarch64.rs'
`src/unix/notbsd/linux/musl/b64/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b64/mod.rs'
`src/unix/notbsd/linux/musl/b64/powerpc64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b64/powerpc64.rs'
`src/unix/notbsd/linux/musl/b64/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/musl/b64/x86_64.rs'
`src/unix/notbsd/linux/mips/mips32.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/mips/mips32.rs'
`src/unix/notbsd/linux/mips/mips64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/mips/mips64.rs'
`src/unix/notbsd/linux/mips/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/notbsd/linux/mips/mod.rs'
`src/unix/bsd/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/mod.rs'
`src/unix/bsd/freebsdlike/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/freebsdlike/mod.rs'
`src/unix/bsd/freebsdlike/dragonfly/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/freebsdlike/dragonfly/mod.rs'
`src/unix/bsd/freebsdlike/freebsd/aarch64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/freebsdlike/freebsd/aarch64.rs'
`src/unix/bsd/freebsdlike/freebsd/x86.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/freebsdlike/freebsd/x86.rs'
`src/unix/bsd/freebsdlike/freebsd/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/freebsdlike/freebsd/mod.rs'
`src/unix/bsd/freebsdlike/freebsd/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/freebsdlike/freebsd/x86_64.rs'
`src/unix/bsd/apple/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/apple/mod.rs'
`src/unix/bsd/apple/b64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/apple/b64.rs'
`src/unix/bsd/apple/b32.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/apple/b32.rs'
`src/unix/bsd/netbsdlike/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/mod.rs'
`src/unix/bsd/netbsdlike/openbsdlike/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/mod.rs'
`src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/openbsd/aarch64.rs'
`src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86.rs'
`src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/openbsd/mod.rs'
`src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/openbsd/x86_64.rs'
`src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86.rs'
`src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/bitrig/mod.rs'
`src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/openbsdlike/bitrig/x86_64.rs'
`src/unix/bsd/netbsdlike/netbsd/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/netbsd/mod.rs'
`src/unix/bsd/netbsdlike/netbsd/other/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/netbsd/other/mod.rs'
`src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/netbsd/other/b32/mod.rs'
`src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/bsd/netbsdlike/netbsd/other/b64/mod.rs'
`src/unix/uclibc/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/uclibc/mod.rs'
`src/unix/uclibc/x86_64/l4re.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/uclibc/x86_64/l4re.rs'
`src/unix/uclibc/x86_64/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/uclibc/x86_64/mod.rs'
`src/unix/uclibc/mips/mips32.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/uclibc/mips/mips32.rs'
`src/unix/uclibc/mips/mips64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/uclibc/mips/mips64.rs'
`src/unix/uclibc/mips/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/uclibc/mips/mod.rs'
`src/unix/newlib/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/newlib/mod.rs'
`src/unix/newlib/arm/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/newlib/arm/mod.rs'
`src/unix/newlib/aarch64/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/newlib/aarch64/mod.rs'
`src/unix/solaris/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/unix/solaris/mod.rs'
`src/cloudabi/aarch64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/cloudabi/aarch64.rs'
`src/cloudabi/x86.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/cloudabi/x86.rs'
`src/cloudabi/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/cloudabi/mod.rs'
`src/cloudabi/arm.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/cloudabi/arm.rs'
`src/cloudabi/x86_64.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/cloudabi/x86_64.rs'
`src/redox/net.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/redox/net.rs'
`src/redox/mod.rs' -> `/gnu/store/lc9q1l8q78iwy177if1569f3hnjznkyq-rust-libc-0.2.36-src/share/rust-source/src/redox/mod.rs'
error: no packages found with binaries or examples
phase `install' failed after 0.5 seconds
builder for `/gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv' failed with exit code 1
@ build-failed /gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv - 1 builder for `/gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv' failed with exit code 1
derivation '/gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv' offloaded to '192.168.1.198' failed: build of `/gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv' failed
@ build-failed /gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv - 1 builder for `/gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv' failed with exit code 100
guix build: error: build failed: build of `/gnu/store/k8b3kvd20iqc578rrnidsiz64mqmrw7b-rust-libc-0.2.36.drv' failed

Some deprecated features have been used.  Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information.  Set it to "no" to suppress
this message.


Patch appended so you don't need to pull from my branch.


[-- Attachment #2: 0001-gnu-Add-rust-libc.patch --]
[-- Type: text/x-patch, Size: 2295 bytes --]

From 5dcbff58611d750a013f28483d26f5ce7e44e719 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@libertad.pw>
Date: Thu, 29 Dec 2016 20:47:57 +0000
Subject: [PATCH] gnu: Add rust-libc.

* gnu/packages/rust.scm (rust-libc): New variable.
---
 gnu/packages/rust.scm | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 1ba857d36..04327bdfe 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
-;;; Copyright © 2016 ng0 <ng0@infotropique.org>
+;;; Copyright © 2016, 2018 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Nikolai Merinov <nikolai.merinov@member.fsf.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -45,6 +45,7 @@
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system cargo)
   #:use-module (guix download)
   #:use-module (guix base16)      ;for generated "cargo" native-inputs
   #:use-module ((guix licenses) #:prefix license:)
@@ -1468,3 +1469,23 @@ dependencies and ensures a reproducible build.")
     ;; Cargo is dual licensed Apache and MIT. Also contains
     ;; code from openssl which is GPL2 with linking exception.
     (license (list license:asl2.0 license:expat license:gpl2))))
+
+(define-public rust-libc
+  (package
+    (name "rust-libc")
+    (version "0.2.21")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0d9i6sii2cqfnkv9k7j0kq7my2n6q6kzw1p3j7wvy14zby483vl8"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/libc")
+    (synopsis "Raw bindings to platform APIs for Rust")
+    (description
+     "Libc provides a library for types and bindings to native
+C functions often found in libc or other common platform libraries.")
+    (license (list license:expat license:asl2.0))))
-- 
2.16.1


[-- Attachment #3: Type: text/plain, Size: 95 bytes --]

-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: rust build system, building libc crate
  2018-02-03 20:44 rust build system, building libc crate ng0
@ 2018-02-03 20:49 ` ng0
  2018-02-03 22:35   ` ng0
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2018-02-03 20:49 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 48 bytes --]

Appended the wrong patch, here's the right one.

[-- Attachment #2: 0001-gnu-Add-rust-libc.patch --]
[-- Type: text/x-patch, Size: 2284 bytes --]

From 7ea2e70a81a57305cf24844ba3b9a4501051fa40 Mon Sep 17 00:00:00 2001
From: ng0 <ng0@libertad.pw>
Date: Thu, 29 Dec 2016 20:47:57 +0000
Subject: [PATCH] gnu: Add rust-libc.

* gnu/packages/rust.scm (rust-libc): New variable.
---
 gnu/packages/rust.scm | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 1ba857d36..730af0ce4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 David Craven <david@craven.ch>
 ;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
-;;; Copyright © 2016 ng0 <ng0@infotropique.org>
+;;; Copyright © 2016, 2018 ng0 <ng0@n0.is>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Nikolai Merinov <nikolai.merinov@member.fsf.org>
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -45,6 +45,7 @@
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system cargo)
   #:use-module (guix download)
   #:use-module (guix base16)      ;for generated "cargo" native-inputs
   #:use-module ((guix licenses) #:prefix license:)
@@ -1468,3 +1469,23 @@ dependencies and ensures a reproducible build.")
     ;; Cargo is dual licensed Apache and MIT. Also contains
     ;; code from openssl which is GPL2 with linking exception.
     (license (list license:asl2.0 license:expat license:gpl2))))
+
+(define-public rust-libc
+  (package
+    (name "rust-libc")
+    (version "0.2.36")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "libc" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "08diwhvbj7dz75jnpyr2f9rg5h1djhdngalz883s9nlff3b9fp8y"))))
+    (build-system cargo-build-system)
+    (home-page "https://github.com/rust-lang/libc")
+    (synopsis "Raw bindings to platform APIs for Rust")
+    (description
+     "Libc provides a library for types and bindings to native
+C functions often found in libc or other common platform libraries.")
+    (license (list license:expat license:asl2.0))))
-- 
2.16.1


[-- Attachment #3: Type: text/plain, Size: 96 bytes --]


-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: rust build system, building libc crate
  2018-02-03 20:49 ` ng0
@ 2018-02-03 22:35   ` ng0
  2018-02-03 22:45     ` ng0
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2018-02-03 22:35 UTC (permalink / raw)
  To: guix-devel

Now I'm going to sleep on this:

    ;; Rust doesn't have a stable ABI yet. Because of this
    ;; Cargo doesn't have a search path for binaries yet.
    ;; Until this changes we are working around this by
    ;; distributing crates as source and replacing
    ;; references in Cargo.toml with store paths.
    (copy-recursively "src" (string-append rsrc "/src"))
    (touch (string-append rsrc "/.cargo-ok"))
    (generate-checksums rsrc src)
    (install-file "Cargo.toml" rsrc)
    ;; When the package includes executables we install
    ;; it using cargo install. This fails when the crate
    ;; doesn't contain an executable.
    (if (file-exists? "Cargo.lock")
        (zero? (system* "cargo" "install" "--root" out))
        (begin
          (mkdir out)
          #t))))


... and look into libc after the 8th again.
Maybe someone of you has an epiphany on the libc crate until
then.
-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rust build system, building libc crate
  2018-02-03 22:35   ` ng0
@ 2018-02-03 22:45     ` ng0
  2018-02-05  8:01       ` Danny Milosavljevic
  0 siblings, 1 reply; 5+ messages in thread
From: ng0 @ 2018-02-03 22:45 UTC (permalink / raw)
  To: guix-devel

On Sat, 03 Feb 2018, ng0@n0.is wrote:
> Now I'm going to sleep on this:
>
>     ;; Rust doesn't have a stable ABI yet. Because of this
>     ;; Cargo doesn't have a search path for binaries yet.
>     ;; Until this changes we are working around this by
>     ;; distributing crates as source and replacing
>     ;; references in Cargo.toml with store paths.
>     (copy-recursively "src" (string-append rsrc "/src"))
>     (touch (string-append rsrc "/.cargo-ok"))
>     (generate-checksums rsrc src)
>     (install-file "Cargo.toml" rsrc)
>     ;; When the package includes executables we install
>     ;; it using cargo install. This fails when the crate
>     ;; doesn't contain an executable.
>     (if (file-exists? "Cargo.lock")
>         (zero? (system* "cargo" "install" "--root" out))
>         (begin
>           (mkdir out)
>           #t))))
>
>
> ... and look into libc after the 8th again.
> Maybe someone of you has an epiphany on the libc crate until
> then.

One more thing before I take this break:

Can someone explain to me what the purpose of the Cargo.lock
is? Apparently libs ignore it and binaries track it.

> http://crates.io/faq.html#why-do-binaries-have-cargo.lock-in-version-control,-but-not-libraries? says:
>
> The purpose of a Cargo.lock is to describe the state of the world at the
> time of a successful build. It is then used to provide deterministic 
> builds across whatever machine is building the project by ensuring that 
> the exact same dependencies are being compiled.

and the Cargo.lock of libc is long. My assumption was it has no
real dependencies. 0. Nada. Nichts.

I think I have to read more into rust packaging, in the meantime
it would be good if someone with reference to the first email and
the email I referenced in there could reply about their knowledge
of the rust/cargo build system. I'm okay with stabbing in the
dark, but shared expertise is good.
-- 
ng0 :: https://ea.n0.is
A88C8ADD129828D7EAC02E52E22F9BBFEE348588 :: https://ea.n0.is/keys/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rust build system, building libc crate
  2018-02-03 22:45     ` ng0
@ 2018-02-05  8:01       ` Danny Milosavljevic
  0 siblings, 0 replies; 5+ messages in thread
From: Danny Milosavljevic @ 2018-02-05  8:01 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2133 bytes --]

Hi ng0,

> and the Cargo.lock of libc is long. My assumption was it has no
> real dependencies. 0. Nada. Nichts.
> 
> I think I have to read more into rust packaging, in the meantime
> it would be good if someone with reference to the first email and
> the email I referenced in there could reply about their knowledge
> of the rust/cargo build system. I'm okay with stabbing in the
> dark, but shared expertise is good.

The rust-build-system takes a wild guess as to what is a library and
what isn't.  The Cargo.lock "freezes" the dependencies to a known-good
configuration - and most libraries don't do that.  So the rust-build-system
uses that as a clue - if there's a file named "Cargo.lock" then the thing
is treated as a program (which means that the build system will invoke
"cargo install" on it).

My rust-libc package definition is:

(define-public rust-libc
  (package
    (name "rust-libc")
    (version "0.2.18")
    (source
     (origin
       (method url-fetch)
       ;; (crate-uri "libc" version) doesn't contain libc-test.
       (uri (string-append "https://github.com/rust-lang/libc/archive/" version ".tar.gz"))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1mh62gfm91aypbr830m2qklwgscgb0pcfpxzi3a6k60faamlrndf"))))
    (build-system cargo-build-system)
    ;(native-inputs
    ; `(("rust-ctest-bootstrap" ,rust-ctest-bootstrap "src")))
    (arguments
     `(#:tests? #f ; missing dependencies
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'delete-lock
           (lambda _
             (delete-file "Cargo.lock")
             #t))
         (delete 'build))))
    (home-page "https://github.com/rust-lang/libc")
    (synopsis "Raw bindings to platform APIs for Rust")
    (description
     "Libc provides a library for types and bindings to native
C functions often found in libc or other common platform libraries.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

I've attached the other crates I have (most of them unfinished).

The main problems is dependency cycles, as usual.

[-- Attachment #2: crates.scm --]
[-- Type: text/x-scheme, Size: 37956 bytes --]

(define-module (wip crates)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix utils)
  #:use-module (guix build-system cargo)
  #:use-module (guix gexp)
  #:use-module (gnu packages)
  #:use-module (gnu packages linux) ; strace
  #:use-module (gnu packages rust)
  #:use-module (gnu packages pkg-config))

;;; FIXME websocket crate, tokio, slack-rs.

(define-public rust-rand-bootstrap
  (package
    (name "rust-rand-bootstrap")
    (version "0.3.15")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/daym/nonrand/archive/v" version ".tar.gz"))
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "0m59msxrxwgwn7sissm6df1ly9zgyy1i53r6n98ajp3ch51myx21"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    ;(propagated-inputs
    ; `(("rust-libc" ,rust-libc)))
    ;(native-inputs
    ; `(("rust-log" ,rust-log)))
    (home-page "https://github.com/rust-lang/rand")
    (synopsis "Random number generators")
    (description "Random number generator that yields non-random numbers.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-tempdir-bootstrap
 (package
  (name "rust-tempdir-bootstrap")
  (version "0.3.5")
  (source
    (origin
      (method url-fetch)
      (uri (crate-uri "tempdir" version))
      (file-name
        (string-append name "-" version ".tar.gz"))
      (sha256
        (base32
          "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7"))
      (modules '((guix build utils)))
      (snippet
       '(substitute* "Cargo.toml"
          (("^rand") "nonrand")))))
  (build-system cargo-build-system)
  (propagated-inputs `(("rust-rand" ,rust-rand-bootstrap)))
  (home-page
    "https://github.com/rust-lang/tempdir")
  (synopsis
    "Library for managing a temporary directory in Rust")
    (description "This package provides a library for managing a temporary directory
and deleting all contents when it's dropped.
")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-gcc-bootstrap
  (package
    (name "rust-gcc-bootstrap")
    (version "0.3.40")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "gcc" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0l6rnf3b7vaxhcs7yg9nyv7brqidy2g0xhg8z0a2pvw6jkjvjbc7"))
        (modules '((guix build utils)))
        (snippet
         '(substitute* "Cargo.toml"
            (("^rayon.*") "
")
            (("^tempdir.*") "
")
            (("\"rayon\"") ""))))) ; TODO be nicer about it
    (build-system cargo-build-system)
    ;(arguments
    ; `(#:cargo-build-flags '("--features" "")))
    (native-inputs
     `(("rust-tempdir" ,rust-tempdir-bootstrap "src")))
    ; (inputs `(("rust-rayon" ,rust-rayon "src"))) ; optional
    (home-page "FIXME")
    (synopsis "Invoke the native C compiler to compile native C code into a static archive")
    (description "This package provides a build-time dependency for Cargo build scripts to
assist in invoking the native C compiler to compile native C code into a static
archive to be linked into Rust code.
")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-bitflags
  (package
    (name "rust-bitflags")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bitflags" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (home-page "https://github.com/rust-lang/bitflags")
    (synopsis "Macro to generate structures which behave like bitflags,
in Rust")
    (description "@code{bitflags} provides a macro to generate structures
which behave
like bitflags, in Rust.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

;;; TODO syntex-errors remove libc dependency again (isatty).

(define-public rust-syntex-syntax-bootstrap ; FIXME test whether it works with a very old syntex-syntax
  (package
    (name "rust-syntex-syntax-bootstrap")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "syntex_syntax" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "05rahy6vlr82nvf8fx1y8a6qzbspymhh1ja06lwi3b0kv26jrshn"))
        (modules '((guix build utils)))
        (snippet
         '(begin
           (substitute* "src/lib.rs"
            (("^#![[]feature.*") "
")
            (("^extern crate libc;") "
"))
           (substitute* "Cargo.toml"
            (("^libc.*") "
"))
           (substitute* "src/parse/mod.rs"
            ;; Only used on Windows
            (("libc::consts::os::extra::O_BINARY") "0"))))))
    (build-system cargo-build-system)
    (propagated-inputs
     `(("rust-bitflags" ,rust-bitflags "src")))
    (home-page "FIXME")
    (synopsis "Export of libsyntax for code generation")
    (description "Export of libsyntax for code generation")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-ctest-bootstrap
  (package
    (name "rust-ctest-bootstrap")
    (version "0.1.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "ctest" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0wlsw2ab36jqdcdzwxd58pir782449b937kljhxl49y7jzf2ssqm"))))
    (build-system cargo-build-system)
    (propagated-inputs
     `(("rust-gcc-bootstrap" ,rust-gcc-bootstrap "src") ; sometimes cycle because of rust-gcc - rust-tempdir - rust-rand - rust-libc; note: also because of rust-rayon as well.
       ("rust-syntex-syntax-bootstrap" ,rust-syntex-syntax-bootstrap "src")))
    (home-page "https://github.com/alexcrichton/ctest")
    (synopsis "Automated tests of FFI bindings.")
    (description "Automated tests of FFI bindings.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-libc
  (package
    (name "rust-libc")
    (version "0.2.18")
    (source
     (origin
       (method url-fetch)
       ;; (crate-uri "libc" version) doesn't contain libc-test.
       (uri (string-append "https://github.com/rust-lang/libc/archive/" version ".tar.gz"))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32
         "1mh62gfm91aypbr830m2qklwgscgb0pcfpxzi3a6k60faamlrndf"))))
    (build-system cargo-build-system)
    ;(native-inputs
    ; `(("rust-ctest-bootstrap" ,rust-ctest-bootstrap "src")))
    (arguments
     `(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'delete-lock
           (lambda _
             (delete-file "Cargo.lock")
             #t))
         (delete 'build))))
    (home-page "https://github.com/rust-lang/libc")
    (synopsis "Raw bindings to platform APIs for Rust")
    (description
     "Libc provides a library for types and bindings to native
C functions often found in libc or other common platform libraries.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-c-vec
  (package
    (name "rust-c-vec")
    (version "1.2.0")
    (source
      (origin
        ;(method git-fetch)
        ;(uri (git-reference
        ;       (url "https://github.com/GuillaumeGomez/c_vec-rs.git")
        ;       (commit "ee4ccb4ecb092926175ec58c60434ee153190aa8")))
        (method url-fetch)
        (uri (crate-uri "c_vec" version))
        (file-name
          (string-append name "-" version "-checkout"))
        (sha256
          (base32
            "01y5rllqclky30mskrycfm5i9nng5k2xsyksjg9lnapnb2kgan80"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         (add-after 'build 'delete-lock
           (lambda _
             (delete-file "Cargo.lock")
             #t)))))
    (native-inputs `(("rust-libc" ,rust-libc "src")))
    (home-page "https://github.com/GuillaumeGomez/c_vec-rs") ; FIXME fixed manually. It said ()
    (synopsis "Structures to wrap C arrays")
    (description "Structures to wrap C arrays")
    ;; Choose either license.
    (license (list license:asl2.0 license:expat))))

;; Requires inline assembly and so doesn't work on Rust stable.
(define-public rust-spin
  (package
    (name "rust-spin")
    (version "0.4.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "spin" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0lvyyxg646wl67b41655p2z25s725sw1rsfvpnm8d7vq5dpa45hx"))))
    (build-system cargo-build-system)
    (arguments
     `(#:tests? #f
       #:phases
       (modify-phases %standard-phases
         ;; Spin doesn't actually work - so don't build it.
         (delete 'build))))
    (home-page "https://github.com/mvdnes/spin-rs.git")
    (synopsis "Synchronization primitives based on spinning, for Rust")
    (description
    "@code{spin} provides synchronization primitives based on spinning.
They don't work in Rust stable, however. This is a dummy package to make
Cargo find (and hopefully not use) it.")
    (license license:expat)))

(define-public rust-lazy-static
  (package
    (name "rust-lazy-static")
    (version "0.2.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lazy_static" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1p30qiivkkg1d43s10pj3g07zpriqbdxy0hbc99gfcfkjzfv34bj"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch
           (lambda _
;             (substitute* "Cargo.toml"
;               (("^[[]dependencies[.]spin[]]") "")
;               (("^version = \"0.4\"") "") ; spin
;               (("^optional = true") "") ; spin
;               (("^spin_no_std.*") "
;"))
             #t))
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (inputs
     `(;; Even though rust-spin doesn't work on Rust stable,
       ;; Cargo requires it to be there.
       ("rust-spin" ,rust-spin "src")))
    (home-page "https://github.com/rust-lang-nursery/lazy-static.rs")
    (synopsis "Macro for declaring lazily evaluated statics in Rust")
    (description "@code{lazy_static} provides a macro for declaring lazily
evaluated statics in Rust.")
    (license license:expat)))

(define-public rust-pkg-config
  (package
    (name "rust-pkg-config")
    (version "0.3.9")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "pkg-config" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "00x9vc7667m4r8sn8idgpmj9yf1ih6bj1cdrshf1mkb5h5mlr2rs"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (native-inputs
     `(("rust-lazy-static" ,rust-lazy-static "src")))
    (home-page "https://github.com/alexcrichton/pkg-config-rs")
    (synopsis "Library to run the @code{pkg-config} system tool at build
time in Rust")
    (description "@code{pkg-config} provides a library that invokes the
@code{pkg-config} system tool at build time in Rust (to be used in Cargo
build scripts).")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-log
  (package
    (name "rust-log")
    (version "0.3.6")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "log" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0m40hgs3cg57dd5kk1mabfk6gk8z6l1cihar8akx4kmzz1xlk0xb"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (home-page "https://github.com/rust-lang/log")
    (synopsis "Logging interface for Rust")
    (description "@code{log} provides a logging facade for Rust.  Libraries
can use the provided logging API, and the consumer of those libraries can
choose the logging implementation that is most suitable for its use case.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

;; Contains broken members
(define-public rust-futures
  (package
    (name "rust-futures")
    (version "0.1.10")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "futures" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0hdwwbwld2af0g53rlgawxgz7sjmv9zinqzrrfxv2h1q12vkx4f1"))))
    (build-system cargo-build-system)
    (inputs `(("rust-log" ,rust-log "src")))
    (home-page
      "https://github.com/alexcrichton/futures-rs")
    (synopsis
      "An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.
")
    (description
    "An implementation of futures and streams featuring zero allocations,
composability, and iterator-like interfaces.
")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-rand
  (package
    (name "rust-rand")
    (version "0.3.15")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "rand" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "178qgglinqawwsw6l8imgnplxkmxcj404jqm92pds695xhv0cbh2"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (native-inputs
     `(("rust-log" ,rust-log "src")))
    (propagated-inputs
     `(("rust-libc" ,rust-libc "src")))
    (home-page "https://github.com/rust-lang/rand")
    (synopsis "Random number generators for Rust")
    (description "@code{rand} provides random number generators and other randomness functionality for Rust.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

;; Error: unused imports (WTF). Dependency: rust-byteorder, which requires quickcheck, which is broken.
(define-public rust-bytes
  (package
    (name "rust-bytes")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "bytes" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "12m10gdkvlwrn7d5p1j102sf3fy3gq5rs3izwvvbsz4kpf2knl46"))))
    (build-system cargo-build-system)
    (propagated-inputs
     `(("rust-rand" ,rust-rand "src")
       ("rust-byteorder" ,rust-byteorder "src")))
    (home-page "https://github.com/carllerche/bytes")
    (synopsis
      "Types and traits for working with bytes")
    (description
      "Types and traits for working with bytes.")
    (license license:expat)))

;; Reference cycle
(define-public rust-quickcheck
  (package
    (name "rust-quickcheck")
    (version "0.4.2")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "quickcheck" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "16symxywrj4qh431wjhl7zvzv4n9hp111dmn9qnj1kqq830r9wiy"))))
    (build-system cargo-build-system)
    (inputs
     `( ; FIXME fix loop ("rust-env-logger" ,rust-env-logger "src")
       ("rust-log" ,rust-log "src")
       ("rust-rand" ,rust-rand "src")))
    (home-page
      "https://github.com/BurntSushi/quickcheck")
    (synopsis
      "Automatic property based testing with shrinking.")
    (description
      "Automatic property based testing with shrinking.")
    (license (list license:unlicense license:expat))))

(define-public rust-regex-syntax
  (package
    (name "rust-regex-syntax")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "regex-syntax" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0ms4s2zdr9lr79isjphqqg2wkc8rblvpwcax21ghj0vnynqr349g"))))
    (build-system cargo-build-system)
    (native-inputs
     `(("rust-quickcheck" ,rust-quickcheck "src")
       ("rust-rand" ,rust-rand "src")))
    (home-page "https://github.com/rust-lang/regex")
    (synopsis "A regular expression parser.")
    (description
      "This package provides a regular expression parser.")
    (license (list license:expat license:asl2.0))))

;; Broken because quickcheck is broken.
(define-public rust-utf8-ranges
  (package
    (name "rust-utf8-ranges")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "utf8-ranges" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "08j129anwcbdwvcx1izb4nsf0nbxksin2zqxjbrfz2x94mjsnbv6"))))
    (build-system cargo-build-system)
    (native-inputs
     `(("rust-quickcheck" ,rust-quickcheck "src")))
    (home-page
      "https://github.com/BurntSushi/utf8-ranges")
    (synopsis
      "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
    (description
      "Convert ranges of Unicode codepoints to UTF-8 byte ranges.")
    (license (list license:unlicense license:expat))))

;; Broken because quickcheck is broken
(define-public rust-memchr
  (package
    (name "rust-memchr")
    (version "1.0.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "memchr" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1d27b8kk2zijj6f9qlcwa4q71lkbm72nfvbyy6wlgspi8q7crg0x"))))
    (build-system cargo-build-system)
    (native-inputs
     `(("rust-quickcheck" ,rust-quickcheck "src")))
    (inputs `(("rust-libc" ,rust-libc "src")))
    (home-page "https://github.com/BurntSushi/rust-memchr")
    (synopsis "Safe interface to memchr.")
    (description "Safe interface to memchr.")
    (license (list license:unlicense license:expat))))

;; Fails because of quickcheck
(define-public rust-byteorder
  (package
    (name "rust-byteorder")
    (version "1.0.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "byteorder" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1j0qvrvpmk01v5qkmp5l7gmjvlpxxygivm1w074qb63bxsq7f2f4"))))
    (build-system cargo-build-system)
    (native-inputs
      `(("rust-quickcheck" ,rust-quickcheck "src")
        ("rust-rand" ,rust-rand "src")))
    (home-page
      "https://github.com/BurntSushi/byteorder")
    (synopsis
      "Library for reading/writing numbers in big-endian and little-endian.")
    (description
      "Library for reading/writing numbers in big-endian and little-endian.")
    (license (list license:unlicense license:expat))))

;; Reference cycle
(define-public rust-csv
  (package
    (name "rust-csv")
    (version "0.15.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "csv" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "173dv65zmmm4kfqnjk66vhgj4w82vh9c14jq6r55c755qwvjpwky"))))
    (build-system cargo-build-system)
    (native-inputs
      `(("rust-regex" ,rust-regex "src")))
    (inputs
      `(("rust-byteorder" ,rust-byteorder "src")
        ("rust-memchr" ,rust-memchr "src")
        ; FIXME ("rust-rustc-serialize" ,rust-rustc-serialize "src")
))
    (home-page
      "https://github.com/BurntSushi/rust-csv")
    (synopsis
      "CSV parsing with automatic type based decoding and encoding.")
    (description
      "CSV parsing with automatic type based decoding and encoding.")
    (license (list license:unlicense license:expat))))

(define-public rust-strsim
  (package
    (name "rust-strsim")
    (version "0.6.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "strsim" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "151ngha649cyybr3j50qg331b206zrinxqz7fzw1ra8r0n0mrldl"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (home-page "https://github.com/dguo/strsim-rs")
    (synopsis
      "String similarity metrics")
    (description
      "@code{strsim} contains implementations of string similarity metrics.
Includes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler.")
    (license license:expat)))

;; Reference cycle
(define-public rust-docopt
  (package
    (name "rust-docopt")
    (version "0.7.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "docopt" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1n6gbhsks2w9y0b4bwqyawh4ghbkka09w6pjcrq9i1sd51pflcmb"))))
    (build-system cargo-build-system)
    (inputs
     `(("rust-lazy-static" ,rust-lazy-static "src")
       ("rust-regex" ,rust-regex "src")
       ; FIXME ("rust-rustc-serialize" ,rust-rustc-serialize "src")
       ("rust-strsim" ,rust-strsim "src")))
    (home-page "https://github.com/docopt/docopt.rs")
    (synopsis "Command line argument parsing.")
    (description "Command line argument parsing.")
    (license (list license:unlicense license:expat))))

;; #![cfg_attr(test, feature(test))] is unstable. So it breaks.
(define-public rust-fs2
  (package
    (name "rust-fs2")
    (version "0.4.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "fs2" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1bsb3x8mkffsnr4xd5ac6v8b8sv80npfd1x37k0rv1amfphaxv9l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch
           (lambda _
             (substitute* "src/lib.rs"
               (("#[!][[]cfg_attr[(]test, feature[(]test[)][)][]]") ""))
             #t)))))
    (native-inputs
     `(("rust-tempdir" ,rust-tempdir "src")))
    (inputs
     `(("rust-libc" ,rust-libc "src")))
    (home-page "https://github.com/danburkert/fs2-rs")
    (synopsis "Cross-platform file locks and file duplication.")
    (description "Cross-platform file locks and file duplication.")
    (license (list license:expat license:asl2.0))))

(define-public rust-memmap
  (package
    (name "rust-memmap")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "memmap" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1lmbkx92xlqb5yqh4cj2k4qfrm3x4jkbs04i84nfl60wyfdfap06"))))
    (build-system cargo-build-system)
    (native-inputs
     `(("rust-tempdir" ,rust-tempdir "src")))
    (inputs
     `(("rust-fs2" ,rust-fs2 "src")
       ("rust-libc" ,rust-libc "src")))
    (home-page
      "https://github.com/danburkert/memmap-rs")
    (synopsis
      "Cross-platform Rust API for memory-mapped file IO in Rust")
    (description
      "@code{memmap} provides a cross-platform Rust API for memory-mapped
file IO in Rust.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

;; Reference cycle
(define-public rust-aho-corasick
  (package
    (name "rust-aho-corasick")
    (version "0.6.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "aho-corasick" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1gymiyg646qyfzb0abqhmpxpd5smpcv4nyzhr5b9p5v24ya0nrjg"))))
    (build-system cargo-build-system)
    (native-inputs
      `(("rust-csv" ,rust-csv "src")
        ("rust-docopt" ,rust-docopt "src")
        ("rust-memmap" ,rust-memmap "src")
        ("rust-quickcheck" ,rust-quickcheck "src")
        ("rust-rand" ,rust-rand "src")
;        ("rust-rustc-serialize" ,rust-rustc-serialize "src")
))
    (inputs `(("rust-memchr" ,rust-memchr "src")))
    (home-page "https://github.com/BurntSushi/aho-corasick")
    (synopsis "Fast multiple substring searching with finite state machines.")
    (description "Fast multiple substring searching with finite state machines.")
    (license (list license:unlicense license:expat))))

;(define-public rust-simd
;  (package
;    (name "rust-simd")
;    (version "0.2.0")
;    (source
;      (origin
;        (method url-fetch)
;        (uri (crate-uri "simd" version))
;        (file-name
;          (string-append name "-" version ".tar.gz"))
;        (sha256
;          (base32
;            "183vwg7c5z4pl0wifzhw31h2adwlwilzprbxjc8g3wg1595d353s"))))
;    (build-system cargo-build-system)
;    (native-inputs
;     `(("rust-cfg-if" ,rust-cfg-if "src")))
;    (inputs
;     `(("rust-serde" ,rust-serde "src")
;       ("rust-serde-derive" ,rust-serde-derive "src")))
;    (home-page "https://github.com/rust-lang-nursery/simd")
;    (synopsis "SIMD instructions")
;    (description "@code{simd} offers limited cross-platform access to SIMD
;instructions on CPUs, as well as raw interfaces to platform-specific
;instructions.")
;  (license (list license:expat license:asl2.0))))

;; Dependency cycle
(define-public rust-regex
  (package
    (name "rust-regex")
    (version "0.2.1")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "regex" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "008cl7l1pssf8xihgy23508d5msvnkz2h05h1bpxyqkd1xyw2y22"))))
    (build-system cargo-build-system)
    (native-inputs
      `(("rust-lazy-static" ,rust-lazy-static "src")
        ("rust-quickcheck" ,rust-quickcheck "src")
        ("rust-rand" ,rust-rand "src")))
    (inputs
      `(("rust-aho-corasick" ,rust-aho-corasick "src")
        ("rust-memchr" ,rust-memchr "src")
        ("rust-regex-syntax" ,rust-regex-syntax "src")
        ;("rust-simd" ,rust-simd "src")
        ; FIXME ("rust-thread-local" ,rust-thread-local "src")
        ("rust-utf8-ranges" ,rust-utf8-ranges "src")))
    (home-page "https://github.com/rust-lang/regex")
    (synopsis
    "An implementation of regular expressions for Rust. This implementation uses
finite automata and guarantees linear time matching on all inputs.
")
    (description
    "An implementation of regular expressions for Rust.  This implementation uses
finite automata and guarantees linear time matching on all inputs.
")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

;; Dependency cycle
(define-public rust-env-logger
  (package
    (name "rust-env-logger")
    (version "0.4.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "env_logger" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0i21vvjyr49kc6si6mivla0clg5rbf26bl64wc77mzimnsqiz5wr"))))
    (build-system cargo-build-system)
    (inputs
      `(("rust-log" ,rust-log "src")
        ("rust-regex" ,rust-regex "src")))
    (home-page "https://github.com/rust-lang/log")
    (synopsis
    "A logging implementation for `log` which is configured via an environment
variable.
")
    (description
    "This package provides a logging implementation for `log` which is configured via an environment
variable.
")
    (license (list license:expat license:asl2.0))))

;; Required dependency clippy is missing
(define-public rust-lazycell
  (package
    (name "rust-lazycell")
    (version "0.5.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "lazycell" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "0cb3h771aqnq753krx6f6vpxw3nn41b8gaj24q6y7wqy5z1aaf7c"))))
    (build-system cargo-build-system)
    ; FIXME why? (inputs `(("rust-clippy" ,rust-clippy "src")))
    (home-page "https://github.com/indiv0/lazycell")
    (synopsis "Library providing a lazily filled Cell struct in Rust")
    (description "@code{lazycell} provides a library for lazily filled Cell
structs in Rust.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-cfg-if
  (package
    (name "rust-cfg-if")
    (version "0.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "cfg-if" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "137qikjcal4h75frzcn6mknygqk8vy5bva7w851aydb5gc6pc7ny"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (home-page "https://github.com/alexcrichton/cfg-if")
    (synopsis "Ergonomically define an item depending on a large number of
@code{#[cfg]} parameters in Rust")
    (description
    "@code{cfg-if} provides a macro to ergonomically define an item depending
on a large number of #[cfg] parameters in Rust.  Structured like an if-else
chain, the first matching branch is the item that gets emitted.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

(define-public rust-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)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (inputs
     `(("rust-cfg-if" ,rust-cfg-if "src")
       ;("rust-kernel32-sys" ,rust-kernel32-sys "src")
        ("rust-libc" ,rust-libc "src")
       ;("rust-winapi" ,rust-winapi "src")
       ;("rust-ws2-32-sys" ,rust-ws2-32-sys "src")
))
  (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))))

(define-public rust-slab
  (package
    (name "rust-slab")
    (version "0.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "slab" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "08xw8w61zdfn1094qkq1d554vh5wmm9bqdys8gqqxc4sv2pgrd0p"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (home-page "https://github.com/carllerche/slab")
    (synopsis "Simple slab allocator")
    (description "@code{slab} provides a SLAB allocator for Rust.  It
preallocates memory for values of a given type.")
    (license license:expat)))

(define-public rust-epoll
  (package
    (name "rust-epoll")
    (version "2.1.0")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "epoll" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1al3bcaqwgdq9kfk9xhkdg4nhjbhjz64r51y4v89qc02bbgz8f7l"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (inputs
     `(("rust-bitflags" ,rust-bitflags "src")
       ("rust-libc" ,rust-libc "src")))
    (home-page
      "https://github.com/nathansizemore/epoll")
    (synopsis "Safe epoll interface.")
    (description "Safe epoll interface.")
    (license license:mpl2.0)))

(define-public rust-tempdir
  (package
    (name "rust-tempdir")
    (version "0.3.5")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tempdir" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1mij45kgzflkja0h8q9avrik76h5a0b60m9hfd6k9yqxbiplm5w7"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (propagated-inputs
     `(("rust-rand" ,rust-rand "src")))
    (home-page "https://github.com/rust-lang/tempdir")
    (synopsis "Manages a temporary directory in Rust")
    (description"@code{tempdir} provides a library for managing a temporary
directory and deleting all contents when it's dropped, in Rust.")
    ;; Choose either license.
    (license (list license:expat license:asl2.0))))

;; Dependency cycle
(define-public rust-mio
  (package
    (name "rust-mio")
    (version "0.6.4")
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "mio" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "10g65mhc82mf4q01m4sibgxjqalpi4f04gs5ggkkd4w4kbabvkgf"))))
    (build-system cargo-build-system)
    (native-inputs
      `(("rust-bytes" ,rust-bytes "src")
        ("rust-env-logger" ,rust-env-logger "src")
        ("rust-tempdir" ,rust-tempdir "src")))
    (inputs
      `(("rust-lazycell" ,rust-lazycell "src")
        ("rust-libc" ,rust-libc "src")
        ("rust-log" ,rust-log "src")
        ("rust-net2" ,rust-net2 "src")
        ("rust-slab" ,rust-slab "src")))
    (home-page "https://github.com/carllerche/mio")
    (synopsis "Lightweight non-blocking IO")
    (description "This package provides lightweight non-blocking IO.")
    (license license:expat)))

(define-public rust-tokio
  (package
    (name "rust-tokio")
    (version "0.0.0") ; FIXME 0.1
    (source
      (origin
        (method url-fetch)
        (uri (crate-uri "tokio" version))
        (file-name
          (string-append name "-" version ".tar.gz"))
        (sha256
          (base32
            "1qpyb5ncs57cb7g6m37m9ybxiwq22dzh8k22n39ifqc654hql05d"))))
    (build-system cargo-build-system)
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (add-before 'install 'delete-lock
           (lambda _
             (delete-file "Cargo.lock") ; Otherwise "cargo install" fails.
             #t)))))
    (home-page "")
    (synopsis "A fast, async, IO framework")
    (description "This package provides a fast, async, IO framework.")
    (license license:expat)))

;; Test failure.
(define-public rust-glob
 (package
  (name "rust-glob")
  (version "0.2.11")
  (source
    (origin
      (method url-fetch)
      (uri (crate-uri "glob" version))
      (file-name
        (string-append name "-" version ".tar.gz"))
      (sha256
        (base32
          "1ysvi72slkw784fcsymgj4308c3y03gwjjzqxp80xdjnkbh8vqcb"))))
  (build-system cargo-build-system)
  (propagated-inputs
   `(("rust-tempdir" ,rust-tempdir "src")))
  (home-page "https://github.com/rust-lang/glob")
  (synopsis "Matching file paths against Unix shell style patterns")
  (description "This package provides support for matching file paths against
Unix shell style patterns.")
  ;; Choose either license.
  (license (list license:expat license:asl2.0))))

; TODO mioco
; TOOD https://intermezzos.github.io/
; TODO http://os.phil-opp.com/ [!!!]
; good Rust: https://github.com/google/xi-editor
; good Rust: https://github.com/jwilm/alacritty
; good Rust: https://github.com/BurntSushi/ripgrep

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-02-05  8:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-03 20:44 rust build system, building libc crate ng0
2018-02-03 20:49 ` ng0
2018-02-03 22:35   ` ng0
2018-02-03 22:45     ` ng0
2018-02-05  8:01       ` Danny Milosavljevic

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).