gnu: Add serf.
* gnu/packages/web.scm (serf): New variable.
This commit is contained in:
parent
a3f61425a6
commit
ed86593620
|
@ -46,6 +46,7 @@
|
||||||
#:use-module (gnu packages icu4c)
|
#:use-module (gnu packages icu4c)
|
||||||
#:use-module (gnu packages lua)
|
#:use-module (gnu packages lua)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages pcre)
|
#:use-module (gnu packages pcre)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
|
@ -548,6 +549,79 @@ URLs and extracting their actual media files.")
|
||||||
from streaming URLs. It is a command-line wrapper for the libquvi library.")
|
from streaming URLs. It is a command-line wrapper for the libquvi library.")
|
||||||
(license l:lgpl2.1+)))
|
(license l:lgpl2.1+)))
|
||||||
|
|
||||||
|
(define-public serf
|
||||||
|
(package
|
||||||
|
(name "serf")
|
||||||
|
(version "1.3.8")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "http://serf.googlecode.com/svn/src_releases/serf-"
|
||||||
|
version ".tar.bz2"))
|
||||||
|
(sha256
|
||||||
|
(base32 "14155g48gamcv5s0828bzij6vr14nqmbndwq8j8f9g6vcph0nl70"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs
|
||||||
|
`(("scons" ,scons)
|
||||||
|
("python" ,python-2)))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("apr" ,apr)
|
||||||
|
("apr-util" ,apr-util)
|
||||||
|
("openssl" ,openssl)))
|
||||||
|
(inputs
|
||||||
|
`(;; TODO: Fix build with gss.
|
||||||
|
;;("gss" ,gss)
|
||||||
|
("zlib" ,zlib)))
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
;; TODO: Add scons-build-system and use it here.
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(add-after 'unpack 'scons-propagate-environment
|
||||||
|
(lambda _
|
||||||
|
;; By design, SCons does not, by default, propagate
|
||||||
|
;; environment variables to subprocesses. See:
|
||||||
|
;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
|
||||||
|
;; Here, we modify the SConstruct file to arrange for
|
||||||
|
;; environment variables to be propagated.
|
||||||
|
(substitute* "SConstruct"
|
||||||
|
(("^env = Environment\\(")
|
||||||
|
"env = Environment(ENV=os.environ, "))))
|
||||||
|
(add-after 'unpack 'remove-non-c89-comment
|
||||||
|
(lambda _
|
||||||
|
;; The SConstruct file asks to compile with -std=c89,
|
||||||
|
;; but there is a non-c89 comment in one of the files.
|
||||||
|
;; Remove it.
|
||||||
|
(substitute* "test/test_buckets.c"
|
||||||
|
(("^//.*") ""))))
|
||||||
|
(replace 'build
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out"))
|
||||||
|
(apr (assoc-ref inputs "apr"))
|
||||||
|
(apr-util (assoc-ref inputs "apr-util"))
|
||||||
|
(openssl (assoc-ref inputs "openssl"))
|
||||||
|
;;(gss (assoc-ref inputs "gss"))
|
||||||
|
(zlib (assoc-ref inputs "zlib")))
|
||||||
|
(zero? (system* "scons"
|
||||||
|
(string-append "APR=" apr)
|
||||||
|
(string-append "APU=" apr-util)
|
||||||
|
(string-append "OPENSSL=" openssl)
|
||||||
|
;;(string-append "GSSAPI=" gss)
|
||||||
|
(string-append "ZLIB=" zlib)
|
||||||
|
(string-append "PREFIX=" out))))))
|
||||||
|
(replace 'check (lambda _ (zero? (system* "scons" "check"))))
|
||||||
|
(replace 'install (lambda _ (zero? (system* "scons" "install")))))))
|
||||||
|
(home-page "https://code.google.com/p/serf/")
|
||||||
|
(synopsis "High-performance asynchronous HTTP client library")
|
||||||
|
(description
|
||||||
|
"serf is a C-based HTTP client library built upon the Apache Portable
|
||||||
|
Runtime (APR) library. It multiplexes connections, running the read/write
|
||||||
|
communication asynchronously. Memory copies and transformations are kept to a
|
||||||
|
minimum to provide high performance operation.")
|
||||||
|
;; Most of the code is covered by the Apache License, Version 2.0, but the
|
||||||
|
;; bundled CuTest framework uses a different non-copyleft license.
|
||||||
|
(license (list l:asl2.0 (l:non-copyleft "file://test/CuTest-README.txt")))))
|
||||||
|
|
||||||
|
|
||||||
(define-public perl-apache-logformat-compiler
|
(define-public perl-apache-logformat-compiler
|
||||||
(package
|
(package
|
||||||
|
|
Loading…
Reference in New Issue