unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Andreas Enge <andreas@enge.fr>
To: bug-guix@gnu.org
Subject: [PATCH] gnu: Add openldap.
Date: Sat, 26 Jan 2013 20:37:22 +0100	[thread overview]
Message-ID: <201301262037.22115.andreas@enge.fr> (raw)


[-- 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


             reply	other threads:[~2013-01-26 19:37 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-26 19:37 Andreas Enge [this message]
2013-01-26 22:36 ` [PATCH] gnu: Add openldap Ludovic Courtès
2013-01-29 18:58   ` Andreas Enge
2013-01-29 20:44     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201301262037.22115.andreas@enge.fr \
    --to=andreas@enge.fr \
    --cc=bug-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).