Browse Source

gnu: Add libapr.

* gnu/packages/libapr.scm: New file.
* gnu/packages/patches/libapr-skip-getservbyname-test.patch: New file
* Makefile.am: Add them
gn-latest-20200428
Cyril Roelandt 9 years ago
committed by Ludovic Courtès
parent
commit
df84950e44
3 changed files with 85 additions and 0 deletions
  1. +2
    -0
      Makefile.am
  2. +58
    -0
      gnu/packages/libapr.scm
  3. +25
    -0
      gnu/packages/patches/libapr-skip-getservbyname-test.patch

+ 2
- 0
Makefile.am 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
- 0
gnu/packages/libapr.scm 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)))

+ 25
- 0
gnu/packages/patches/libapr-skip-getservbyname-test.patch 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)

Loading…
Cancel
Save