aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2019-08-24 11:29:53 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2019-08-24 16:58:04 +0200
commit9119f7aba8f254aeb892e9c670fbf6f541b90607 (patch)
treed1a89544baebb8681a03778fa9f996efa20c0746 /gnu
parent52e7295fc18cd554ee1fd018d490d40740b62e66 (diff)
downloadguix-9119f7aba8f254aeb892e9c670fbf6f541b90607.tar.gz
guix-9119f7aba8f254aeb892e9c670fbf6f541b90607.zip
gnu: Add rust-libc.
* gnu/packages/crates-io.scm (rust-libc): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/crates-io.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6500adb215..c54920548c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -313,6 +314,38 @@ friction with idiomatic Rust structs to ease interopability.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-libc
+ (package
+ (name "rust-libc")
+ (version "0.2.62")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libc" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fh69kpjg8hqff36kdczx7sax98gk4qs4ws1dwvjz0rgip0d5z1l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core))))
+ (home-page "https://github.com/rust-lang/libc")
+ (synopsis "Raw FFI bindings to platform libraries like libc")
+ (description
+ "libc provides all of the definitions necessary to easily
+interoperate with C code (or \"C-like\" code) on each of the platforms
+that Rust supports. This includes type definitions (e.g., c_int),
+constants (e.g., EINVAL) as well as function headers (e.g., malloc).
+
+This crate exports all underlying platform types, functions, and
+constants under the crate root, so all items are accessible as
+@samp{libc::foo}. The types and values of all the exported APIs match
+the platform that libc is compiled for.")
+ (license (list license:expat
+ license:asl2.0))))
+
(define-public rust-maplit
(package
(name "rust-maplit")
@@ -950,3 +983,4 @@ x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on
@code{winapi} instead.")
(license (list license:asl2.0
license:expat))))
+