gnu: Add libapr.

* gnu/packages/libapr.scm: New file.
* gnu/packages/patches/libapr-skip-getservbyname-test.patch: New file
* Makefile.am: Add them
This commit is contained in:
Cyril Roelandt 2013-01-25 20:42:49 +01:00 committed by Ludovic Courtès
parent 12a5199a27
commit df84950e44
3 changed files with 85 additions and 0 deletions

View File

@ -86,6 +86,7 @@ MODULES = \
gnu/packages/indent.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
gnu/packages/libapr.scm \
gnu/packages/libevent.scm \
gnu/packages/libffi.scm \
gnu/packages/libidn.scm \
@ -156,6 +157,7 @@ dist_patch_DATA = \
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
gnu/packages/patches/guile-default-utf8.patch \
gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/libapr-skip-getservbyname-test.patch \
gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libtool-skip-tests.patch \
gnu/packages/patches/lsh-guile-compat.patch \

58
gnu/packages/libapr.scm Normal file
View File

@ -0,0 +1,58 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;;
;;; 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 libapr)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages autotools))
(define-public libapr
(package
(name "libapr")
(version "1.4.6")
(source (origin
(method url-fetch)
(uri (string-append "http://mirrors.ircam.fr/pub/apache//apr/apr-"
version ".tar.bz2"))
(sha256
(base32
"1g0w9396akmhhrmjzmcwddny5ms43zvj2mrpdkyfcqxizrh5wqwv"))))
(build-system gnu-build-system)
(arguments
`(#:patches (list (assoc-ref %build-inputs
"patch/skip-test"))
#:patch-flags '("-p0")))
(inputs `(("perl" ,perl)
("libtool" ,libtool)
("patch/skip-test"
,(search-patch "libapr-skip-getservbyname-test.patch"))))
(home-page "http://apr.apache.org/")
(synopsis "The Apache Portable Runtime Library")
(description
"The mission of the Apache Portable Runtime (APR) project is to create and
maintain software libraries that provide a predictable and consistent interface
to underlying platform-specific implementations. The primary goal is to provide
an API to which software developers may code and be assured of predictable if
not identical behaviour regardless of the platform on which their software is
built, relieving them of the need to code special-case conditions to work
around or take advantage of platform-specific deficiencies or features.")
(license asl2.0)))

View File

@ -0,0 +1,25 @@
--- test/testsock.c 2013-01-24 06:57:21.000000000 +0100
+++ test/testsock.c 2013-01-24 17:24:54.000000000 +0100
@@ -90,16 +90,22 @@
rv = apr_sockaddr_info_get(&sa, NULL, APR_UNSPEC, 0, 0, p);
APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv);
+ /* /etc/services is not available while compiling, so apr_getservbyname
+ * will always return APR_ENOENT. */
+#if 0
rv = apr_getservbyname(sa, "ftp");
APR_ASSERT_SUCCESS(tc, "Problem getting ftp service", rv);
ABTS_INT_EQUAL(tc, 21, sa->port);
+#endif
rv = apr_getservbyname(sa, "complete_and_utter_rubbish");
APR_ASSERT_SUCCESS(tc, "Problem getting non-existent service", !rv);
+#if 0
rv = apr_getservbyname(sa, "telnet");
APR_ASSERT_SUCCESS(tc, "Problem getting telnet service", rv);
ABTS_INT_EQUAL(tc, 23, sa->port);
+#endif
}
static apr_socket_t *setup_socket(abts_case *tc)