Danny Milosavljevic <dan...@scratchpost.org> writes:

Hi Danny,

in my long journey to panopticon (https://panopticon.re) I am at
rust now.
Through what I tested and searched while I packaged rust, the
next release candidate of rust will have an option for us where
we can disable the llvm tests because they are optional for rust.

I don't have the links at hand, but there were open tickets on
this at rust.

I need to send out another message, I'll append my breaking
(new) rust.scm file to this thread later. Maybe we could
co-author this? I would be happy for some kind of workload
balance.

> Hi,
>
> is anyone familiar with our LLVM packages? 
>
> I'm trying to package rust and run into
>
>   /gnu/store/pmiw7p7a6hwl6k2kblsk3zwhxh3gln21-llvm-3.6.2/bin/FileCheck is 
> missing 
>
> when configuring rust. Indeed, it is missing in the entire tree
>
>   /gnu/store/pmiw7p7a6hwl6k2kblsk3zwhxh3gln21-llvm-3.6.2
>
> .
>
> It seems to be a tool for unit testing.
>
> The rusts I'm trying to use are:
>
> ;;; GNU Guix --- Functional package management for GNU
> ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <l...@gnu.org>
> ;;; Copyright © 2014, 2015 Mark H Weaver <m...@netris.org>
> ;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus <rek...@elephly.net>
> ;;; Copyright © 2015 Andreas Enge <andr...@enge.fr>
> ;;; Copyright © 2015 Efraim Flashner <efr...@flashner.co.il>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> ;;; GNU Guix is free software; you can redistribute it and/or modify it
> ;;; under the terms of the GNU General Public License as published by
> ;;; the Free Software Foundation; either version 3 of the License, or (at
> ;;; your option) any later version.
> ;;;
> ;;; GNU Guix is distributed in the hope that it will be useful, but
> ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> ;;; GNU General Public License for more details.
> ;;;
> ;;; You should have received a copy of the GNU General Public License
> ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
>
> (define-module (gnu packages rust)
>   #:use-module ((guix licenses)
>                 #:select (asl2.0))
>   #:use-module (gnu packages)
>   #:use-module (gnu packages curl)
>   #:use-module (gnu packages python)
>   #:use-module (gnu packages llvm)
>   #:use-module (guix packages)
>   #:use-module (guix download)
>   #:use-module (guix build-system gnu)
>   #:use-module (guix build-system trivial)
>   #:use-module (guix utils)
> )
>
> (define-public rust
>   (package
>     (name "rust")
>     (version "1.9.0")
>     (home-page "http://www.rust-lang.org/";)
>     (synopsis "Rust Programming Language")
>     (description "Safe, Concurrent Programming Language")
>     (license (list asl2.0)) ; FIXME and which MIT
>     (build-system gnu-build-system) ; FIXME rust-build-system
>     (inputs `(
> ; TODO llvm python jemalloc nacl musl
> ("llvm" ,llvm)
>
> ))
>     (native-inputs `(
> ("curl" ,curl) ; FIXME remove
> ("python-2" ,python-2)
> ("llvm" ,llvm) ; 3.6 ??
> ; TODO ?
> ))
>     (source
>       (origin
>          (method url-fetch)
>          (uri 
> "https://static.rust-lang.org/dist/2016-03-25/rustc-nightly-src.tar.gz";)
>          (sha256 (base32 
> "01sxhssllwqckmmzck6b17kaqqx622mwslwhjdrrkwjwa5qy7v54"))
>          ;(uri (string-append "https://github.com/rust-lang/rust/archive/"; 
> version ".tar.gz"))
>          ;(sha256 (base32 
> "1m2d1dc243s7ym8fq2yag3fr5jvki0q9c39llfwgcpq1gc8jvcn8"))
> ))
>     (arguments
>       `(#:configure-flags `( ;"-DCFG_BUILD=x86_64-unknown-linux-gnu"
>                               ;"-disable-codegen-tests" ; because FileCheck 
> is not built in llvm. 
> https://github.com/alexcrichton/rust/commit/295a70f4b92d961c2e74cc750e47083e118ee10a
>                              ) ; FIXME don't hard-code
>         #:phases
>           (modify-phases %standard-phases
>             (replace 'configure
>                      (lambda* (#:key inputs outputs configure-flags 
> #:allow-other-keys)
>                       (let ((out (assoc-ref outputs "out")))
>                         (zero? (apply system*
>                                       `("./configure"
>                                         ,(string-append "--prefix=" out)
>                                         ,(string-append "--llvm-root=" 
> (assoc-ref inputs "llvm"))
>                                         ; FIXME (string-append 
> "--extra-ldflags=-Wl,-rpath-=" out "/lib")
>                                         ,@configure-flags)))))))))
>
> ; FIXME remove src/llvm
> ;configure: CFG_LLVM_ROOT        :=  
> ;configure: CFG_PYTHON           :=  
> ;configure: CFG_JEMALLOC_ROOT    :=  
> ;configure: CFG_NACL_CROSS_PATH  :=  
> ;configure: CFG_MUSL_ROOT        := /usr/local 
>
> ))
>
>

-- 
ng
personal contact: http://krosos.sdf.org
EDN: https://wiki.c3d2.de/EDN


Reply via email to