guix-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]