summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-05-16 15:40:19 +0200
committerLudovic Courtès <ludo@gnu.org>2014-05-16 15:45:25 +0200
commit90f69c2ec598b7a94b7d35e4ce61bda245369b6d (patch)
treec419f4278a98c1ca96963687e958aef718c35cc0
parent4cca91832b3fceed35eb46439fac7c12466d229d (diff)
downloadguix-90f69c2ec598b7a94b7d35e4ce61bda245369b6d.tar.gz
gnu: Add libuv.
* gnu/packages/libevent.scm (libuv): New variable.
-rw-r--r--gnu/packages/libevent.scm47
1 files changed, 45 insertions, 2 deletions
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index dce1ac1a69..7b8adbace4 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,7 +23,9 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages which)
-  #:use-module (gnu packages python))
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages pkg-config))
 
 (define-public libevent
   (package
@@ -58,3 +60,44 @@ network servers.  An application just needs to call event_dispatch() and
 then add or remove events dynamically without having to change the event
 loop.")
     (license bsd-3)))
+
+(define-public libuv
+  (package
+    (name "libuv")
+    (version "0.11.25")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/joyent/libuv/archive/v"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1ys2wlypdbv59yywn91d5vl329z50mi7ivi3fj5rjm4mr9g3wnmr"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases (alist-cons-before
+                 'configure 'autogen
+                 (lambda _
+                   ;; Fashionable people don't run 'make dist' these days, so
+                   ;; we need to do that ourselves.
+                   (zero? (system* "./autogen.sh")))
+                 %standard-phases)
+
+       ;; XXX: Some tests want /dev/tty, attempt to make connections, etc.
+       #:tests? #f))
+    (native-inputs `(("autoconf" ,(autoconf-wrapper))
+                     ("automake" ,automake)
+                     ("libtool" ,libtool "bin")
+
+                     ;; libuv.pc is installed only when pkg-config is found.
+                     ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/joyent/libuv")
+    (synopsis "Library for asynchronous I/O")
+    (description
+     "libuv is a multi-platform support library with a focus on asynchronous
+I/O.  Among other things, it supports event loops via epoll, kqueue, and
+similar IOCP, and event ports, asynchronous TCP/UDP sockets, asynchronous DNS
+resolution, asynchronous file system operations, and threading primitives.")
+
+    ;; A few files fall under other non-copyleft licenses; see 'LICENSE' for
+    ;; details.
+    (license x11)))