all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add openldap.
@ 2013-01-26 19:37 Andreas Enge
  2013-01-26 22:36 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Andreas Enge @ 2013-01-26 19:37 UTC (permalink / raw)
  To: bug-guix


[-- Attachment #1.1: Type: text/plain, Size: 800 bytes --]

Attached a patch for openldap, the test phase of which was really tricky.

Since there are dynamically linked independent server and client programs, 
I had to set LD_LIBRARY_PATH. Still, one test failed, but not all the time: 
It succeeded once when run in the build tree. So I took it out. Even then, 
some test fails from time to time; sometimes after an hour of different 
tests passing, sometimes after 15 minutes.

So my impression is that the programs are correctly compiled, but that 
sometimes the server does not respond, or responds too late, and I ended up 
disabling all the tests. But I left my modifications for running tests in 
the file, you can try them out by setting #:tests? to #t.

If there are no opposition or other comments, I am going to push the patch 
on Monday.

Andreas

[-- Attachment #1.2: Type: text/html, Size: 2601 bytes --]

[-- Attachment #2: 0001-gnu-Add-openldap.patch --]
[-- Type: text/x-patch, Size: 4562 bytes --]

From 88a17b0ae63ca3b23006d5654312c14e25ab711c Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Sat, 26 Jan 2013 20:31:37 +0100
Subject: [PATCH] gnu: Add openldap.

* gnu/packages/openldap.scm: New file.
* Makefile.am (MODULE): Add it.
---
 Makefile.am               |    3 +-
 gnu/packages/openldap.scm |   78 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/openldap.scm

diff --git a/Makefile.am b/Makefile.am
index 3942db5..9bb8d73 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -110,8 +110,9 @@ MODULES =					\
   gnu/packages/netpbm.scm			\
   gnu/packages/nettle.scm			\
   gnu/packages/ocaml.scm 			\
-  gnu/packages/openssl.scm			\
   gnu/packages/oggvorbis.scm			\
+  gnu/packages/openldap.scm			\
+  gnu/packages/openssl.scm			\
   gnu/packages/pdf.scm				\
   gnu/packages/perl.scm				\
   gnu/packages/pkg-config.scm			\
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
new file mode 100644
index 0000000..83a453e
--- /dev/null
+++ b/gnu/packages/openldap.scm
@@ -0,0 +1,78 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;;
+;;; 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 openldap)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages bdb)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages groff)
+  #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages openssl)
+  #:use-module ((guix licenses) #:select (openldap2.8))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public openldap
+  (package
+   (name "openldap")
+   (version "2.4.33")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append
+                   "ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/openldap-release/openldap-"
+                   version ".tgz"))
+            (sha256 (base32
+                     "0k51mhrs7pkwph2j38w09x7xl1ii69mcdi7b2mfrm9hp1yifrsc1"))))
+   (build-system gnu-build-system)
+   (inputs `(("bdb" ,bdb)
+             ("openssl" ,openssl)
+             ("cyrus-sasl" ,cyrus-sasl)
+             ("groff" ,groff)
+             ("icu4c" ,icu4c)
+             ("libgcrypt" ,libgcrypt)
+             ;; FIXME: currently, openldap requires openssl or gnutls<3, see
+             ;; http://www.openldap.org/its/index.cgi/Incoming?id=7430;page=17
+             ;; Once this is fixed, switch to gnutls.
+             ("zlib" ,zlib)))
+   (arguments
+    `(#:parallel-tests? #f
+      ;; disable all tests; they are too unreliable to be run automatically,
+      ;; since they fail intermittently
+      #:tests? #f
+      #:phases
+       (alist-replace
+        'check
+        (lambda* (#:key #:allow-other-keys #:rest args)
+         (let ((check (assoc-ref %standard-phases 'check)))
+           (for-each (lambda (f)
+                       (substitute* (string-append "tests/scripts/" f)
+                                    (("/bin/rm") "rm")))
+                       '("all" "its-all" "passwd-search" "sql-all" "test027-emptydn"))
+           (setenv "LD_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
+           ;; disable especially finicky test
+           (delete-file "tests/scripts/test050-syncrepl-multimaster")
+           (apply check args)))
+       %standard-phases)))
+   (synopsis "openldap, an implementation of the Lightweight Directory Access Protocol")
+   (description
+    "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.")
+   (license openldap2.8)
+   (home-page "http://www.openldap.org/")))
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-29 20:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-26 19:37 [PATCH] gnu: Add openldap Andreas Enge
2013-01-26 22:36 ` Ludovic Courtès
2013-01-29 18:58   ` Andreas Enge
2013-01-29 20:44     ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.