[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2] gnu: Add rust (sidenotes on rust)
From: |
ng0 |
Subject: |
Re: [PATCH v2] gnu: Add rust (sidenotes on rust) |
Date: |
Tue, 13 Sep 2016 11:55:28 +0000 |
I can testbuild rustc and give some input.
Additionally, we're having conversations about rust, today this came up:
dev @> Very interesting:
https://github.com/rust-lang/rfcs/blob/master/text/1200-cargo-install.md
" it's not clear that this is worthwhile enough to support installing libraries
yet."
on bootstraping:
https://mail.mozilla.org/pipermail/rust-dev/2014-June/010222.html
dev @> apparently cargo is not designed to use system paths to find dynamic
libraries
by default libraries are downloaded from github and stored in a cache directory
How problematic will this be for us? Our person in charge for the rust
stuff works around this by including copies of the libraries in a folder
named 'third_party', but I don't understand enough of the language and
lack a build system at the moment.
David Craven <address@hidden> writes:
> I haven't actually built rustc yet, because I know how long it takes...
>
>> + (ld-so (string-append
>> + (assoc-ref inputs "libc")
>> + ,(glibc-dynamic-linker)))
>
>> + ;; Remove reference to "/lib64/ld-linux-x86-64.so.2"
>> from binary
>> + (zero? (system*
>> + "patchelf"
>> + "--set-interpreter" ld-so
>
> I think that this should be part of the a rustc-bootstrap package. We
> shouldn't export binaries to the user, but I think we need a fully
> functional bootstrap compiler.
>
>> + (setenv "SHELL" (which "sh"))
>> + (setenv "CONFIG_SHELL" (which "sh"))
>> + ;; Tell where to find libgcc_s.so
>> + (setenv "LD_LIBRARY_PATH" (string-append gcc-lib
>> "/lib"))
>
> I think this should be a separate phase. We can then use
> #:configure-flags to pass --default-linker etc.
>
>> + #:tests? #f))
>
> To get tests enabled you can apply this patch [0].
>
> [0]
> https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/rust/patches/disable-lockfile-check.patch
>
--
ng0
For non-prism friendly talk find me on http://www.psyced.org