aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/cyrus-sasl.scm
blob: 8677cab1bd2c1264a62c3c8d281365154654f1e2 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; 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 cyrus-sasl)
  #:use-module (gnu packages)
  #:use-module (gnu packages gdbm)
  #:use-module (gnu packages mit-krb5)
  #:use-module (gnu packages openssl)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu))

(define-public cyrus-sasl
  (package
   (name "cyrus-sasl")
   (version "2.1.26")
   (source (origin
            (method url-fetch)
            (uri (list (string-append
                        "http://cyrusimap.org/releases/cyrus-sasl-"
                        version ".tar.gz")
                       (string-append
                        "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-"
                        version ".tar.gz")))
            (sha256 (base32
                     "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g"))))
   (build-system gnu-build-system)
   (inputs `(("gdbm" ,gdbm)
             ("mit-krb5" ,mit-krb5)
             ("openssl" ,openssl)))
   (arguments
    '(#:configure-flags (list (string-append "--with-plugindir="
                                             (assoc-ref %outputs "out")
                                             "/lib/sasl2"))

      ;; The 'plugins' directory has shared source files, such as
      ;; 'plugin_common.c'.  When building the shared libraries there, libtool
      ;; ends up doing "ln -s plugin_common.lo plugin_common.o", which can
      ;; fail with EEXIST when building things in parallel.
      #:parallel-build? #f))
   (synopsis "Simple Authentication Security Layer implementation")
   (description
    "SASL (Simple Authentication Security Layer) is an Internet
standards-track method for remote computers to authenticate.  The Cyrus SASL
library makes supporting various SASL mechanisms easy for both client and
server writers.")
   (license (license:non-copyleft "file://COPYING"
                                  "See COPYING in the distribution."))
   (home-page "http://cyrusimap.web.cmu.edu/index.php")))
"Archive"))) #:directories? #t)))) (wrap-program program `("PERL5LIB" prefix (,(dirname zip))))))))))))) (define-public texinfo-5 (package (inherit texinfo) (version "5.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/texinfo/texinfo-" version ".tar.xz")) (patches (search-patches "texinfo-5-perl-compat.patch")) (sha256 (base32 "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal")))))) (define-public texinfo-4 (package (inherit texinfo) (version "4.13a") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/texinfo/texinfo-" version ".tar.lzma")) (sha256 (base32 "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) (inputs (list ncurses xz)) (native-inputs (modify-inputs (package-native-inputs texinfo) (prepend automake))) (arguments (substitute-keyword-arguments (package-arguments texinfo) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'fix-configure (lambda* (#:key inputs native-inputs #:allow-other-keys) ;; Replace outdated config.sub and config.guess. (with-directory-excursion "build-aux" (for-each (lambda (file) (install-file (string-append (assoc-ref (or native-inputs inputs) "automake") "/share/automake-" ,(version-major+minor (package-version automake)) "/" file) ".")) '("config.sub" "config.guess"))) #t)) ;; Build native version of tools before running 'build phase. ,@(if (%current-target-system) `((add-before 'build 'make-native-gnu-lib (lambda* (#:key inputs #:allow-other-keys) (invoke "make" "-C" "tools/gnulib/lib") #t))) '()))))))) (define-public info-reader ;; The idea of this package is to have the standalone Info reader without ;; the dependency on Perl that 'makeinfo' drags. (package/inherit texinfo (name "info-reader") (arguments `(,@(substitute-keyword-arguments (package-arguments texinfo) ((#:phases phases) `(modify-phases ,phases ;; Make sure 'info-reader' can read compressed info files ;; in a pure environment. There are also a few other ;; uncompressors listed in this file (lzip, unxz, bunzip2, ...) ;; but let's not include them because info manuals in Guix ;; are always compressed with 'gzip'. ;; TODO(core-updates): maybe move to the 'texinfo' package. (add-after 'unpack 'absolute-binary-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "info/filesys.c" (("gunzip") (search-input-file inputs "/bin/gunzip")) (("gzip") (search-input-file inputs "/bin/gzip"))))) (add-after 'install 'keep-only-info-reader (lambda* (#:key outputs #:allow-other-keys) ;; Remove everything but 'bin/info' and associated ;; files. (define (files) (scandir "." (lambda (file) (not (member file '("." "..")))))) (let ((out (assoc-ref outputs "out"))) (with-directory-excursion out (for-each delete-file-recursively (fold delete (files) '("bin" "share")))) (with-directory-excursion (string-append out "/bin") (for-each delete-file (delete "info" (files)))) (with-directory-excursion (string-append out "/share") (for-each delete-file-recursively (fold delete (files) '("info" "locale")))) #t)))))) #:disallowed-references ,(assoc-ref (package-inputs texinfo) "perl") #:modules ((ice-9 ftw) (srfi srfi-1) ,@%default-gnu-modules))) (synopsis "Standalone Info documentation reader") (inputs (modify-inputs (package-inputs texinfo) (prepend gzip))))) (define-public texi2html (package (name "texi2html") (version "5.0") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/" name "/" name "-" version ".tar.bz2")) (sha256 (base32 "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8")) (patches (search-patches "texi2html-document-encoding.patch" "texi2html-i18n.patch")) (snippet ;; This file is modified by the patch above, but reset its ;; timestamp so we don't trigger the rule to update PO files, ;; which would require Gettext. ;; See <http://bugs.gnu.org/18247>. '(begin (utime "texi2html.pl" 0 0 0 0) #t)))) (build-system gnu-build-system) (inputs (list perl)) (arguments ;; Tests fail because of warnings on stderr from Perl 5.22. Adjusting ;; texi2html.pl to avoid the warnings seems non-trivial, so we simply ;; disable the tests. '(#:tests? #f)) (home-page "https://www.nongnu.org/texi2html/") (synopsis "Convert Texinfo to HTML") (description "Texi2HTML is a Perl script which converts Texinfo source files to HTML output. It now supports many advanced features, such as internationalization and extremely configurable output formats. Development of Texi2HTML moved to the GNU Texinfo repository in 2010, since it was meant to replace the makeinfo implementation in GNU Texinfo. The route forward for authors is, in most cases, to alter manuals and build processes as necessary to use the new features of the makeinfo/texi2any implementation of GNU Texinfo. The Texi2HTML maintainers (one of whom is the principal author of the GNU Texinfo implementation) do not intend to make further releases of Texi2HTML.") ;; Files in /lib under lgpl2.1+ and x11 (license gpl2+))) (define-public texi2html-1.82 (package (inherit texi2html) (version "1.82") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/texi2html/" "texi2html-" version ".tar.bz2")) (sha256 (base32 "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n")))))) (define-public pinfo (let ((commit "3d76eecde211e41ccc28b04e229f159b3f924399") (revision "0")) (package (name "pinfo") ;; Latest tag is completely broken and does not build. (version (git-version "0.6.13" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/baszoetekouw/pinfo") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0qym323d9my5l4bhw9vry453hhlxhjjvy8mcdi38sk0bqqid0vd1")))) (build-system gnu-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'embed-reference-to-clear (lambda* (#:key inputs #:allow-other-keys) (let ((ncurses (assoc-ref inputs "ncurses"))) (substitute* (list "src/manual.c" "src/mainfunction.c" "src/utils.c") (("\"clear\"") (string-append "\"" ncurses "/bin/clear\""))))))))) (inputs (list ncurses readline)) (native-inputs (list autoconf automake gettext-minimal libtool texinfo)) (home-page "https://github.com/baszoetekouw/pinfo") (synopsis "Lynx-style Info file and man page reader") (description "Pinfo is an Info file viewer. Pinfo is similar in use to the Lynx web browser. You just move across info nodes, and select links, follow them, etc. It supports many colors. Pinfo also supports viewing of manual pages -- they are colorized like in the midnight commander's viewer, and additionally they are hypertextualized.") (license gpl2+))))