From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Craven Subject: [PATCH 12/12] gnu: Add cargo. Date: Sun, 11 Dec 2016 18:25:37 +0100 Message-ID: <20161211172537.23315-13-david@craven.ch> References: <20161211172537.23315-1-david@craven.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46426) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cG7tL-00007h-1o for guix-devel@gnu.org; Sun, 11 Dec 2016 12:26:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cG7tJ-0001Iw-Fc for guix-devel@gnu.org; Sun, 11 Dec 2016 12:26:27 -0500 Received: from so254-10.mailgun.net ([198.61.254.10]:32977) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cG7tJ-00018L-Av for guix-devel@gnu.org; Sun, 11 Dec 2016 12:26:25 -0500 In-Reply-To: <20161211172537.23315-1-david@craven.ch> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * gnu/packages/rust.scm (cargo): New variable. --- gnu/packages/rust.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index a64f72f03..dfe0db60e 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -19,13 +19,18 @@ (define-module (gnu packages rust) #:use-module (gnu packages base) #:use-module (gnu packages bootstrap) + #:use-module (gnu packages cmake) #:use-module (gnu packages commencement) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages jemalloc) #:use-module (gnu packages llvm) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages ssh) + #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (guix build-system cargo) #:use-module (guix build-system gnu) @@ -271,6 +276,43 @@ fast, prevents segfaults, and guarantees thread safety.") (home-page "https://www.rust-lang.org") (license (list license:asl2.0 license:expat)))) +(define-public cargo + ;; NOTE: To build cargo manually: + ;; cd /tmp && tar -xf $(guix build -S cargo) + ;; cd cargo* + ;; guix environment cargo + ;; cargo build --release + (package + (name "cargo") + (version (cargo-version (rustc-version %rust-bootstrap-binaries-version))) + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/rust-lang/cargo" + "/archive/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cbm32dw85zqf84yk2bvld5ggdkxlndn8kp3wri9z5c68mj0xv4h")))) + (build-system cargo-build-system) + (inputs + `(("cmake" ,cmake) + ("curl" ,curl) + ("libgit2" ,libgit2) + ("libssh2" ,libssh2) + ("openssl" ,openssl) + ("pkg-config" ,pkg-config) + ("python-2" ,python-2) + ("rust-bootstrap" ,rust-bootstrap) + ("zlib" ,zlib))) + (home-page "https://github.com/rust-lang/cargo") + (synopsis "Build tool and package manager for Rust") + (description "Cargo downloads your Rust project’s dependencies and compiles +your project.") + ;; 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") -- 2.11.0