unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob 75913347cd3100fad90c47db31b7aa4beb794248 5065 bytes (raw)
name: gnu/packages/mit-krb5.scm 	 # note: path name is non-authoritative(*)

  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
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
 
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;;
;;; 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 mit-krb5)
  #:use-module (gnu packages)
  #:use-module (gnu packages bison)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages gcc)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu))

(define-public mit-krb5
  (package
    (name "mit-krb5")
    (version "1.13.2")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://web.mit.edu/kerberos/www/dist/krb5/"
                                  (version-major+minor version)
                                  "/krb5-" version "-signed.tar"))
              (sha256 (base32
                       "1qbdzyrws7d0q4filsibh28z54pd5l987jr0ygv43iq9085w6a75"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("bison" ,bison)
       ("perl" ,perl)

       ;; Include the patches as native-inputs.
       ,@(map (lambda (label)
                (let ((input-name (string-append "patch/" label))
                      (file-name  (string-append name "-" label ".patch")))
                  `(,input-name ,(search-patch file-name))))
              '("CVE-2015-2695-pt1"
                "CVE-2015-2695-pt2"
                "CVE-2015-2696"
                "CVE-2015-2697"
                "CVE-2015-2698-pt1"
                "CVE-2015-2698-pt2"
                "CVE-2015-8629"
                "CVE-2015-8630"
                "CVE-2015-8631"))))
    (arguments
     `(#:modules ((ice-9 ftw)
                  (ice-9 match)
                  (srfi srfi-1)
                  ,@%gnu-build-system-modules)
       #:phases
       (modify-phases %standard-phases
         (replace 'unpack
           (lambda* (#:key source #:allow-other-keys)
             (define (sub-directory? name)
               (and (not (member name '("." "..")))
                    (equal? (stat:type (stat name))
                            'directory)))
             (and (zero? (system* "tar" "xvf" source))
                  (match (find-files "." "\\.tar\\.gz$")
                    ((inner-tar-file)
                     (zero? (system* "tar" "xvf" inner-tar-file))))
                  (match (scandir "." sub-directory?)
                    ((directory)
                     (chdir directory)
                     #t)))))

         (add-after 'unpack 'apply-patches
           (lambda* (#:key inputs native-inputs #:allow-other-keys)
             (let ((patches (filter (match-lambda
                                      ((name . file)
                                       (string-prefix? "patch/" name)))
                                    (or native-inputs inputs))))
               (every (match-lambda
                        ((name . file)
                         (format (current-error-port)
                                 "applying '~a'...~%" name)
                         (zero? (system* "patch" "-p1" "--force" "-i" file))))
                      patches))))

         (add-after 'apply-patches 'enter-source-directory
           (lambda _
             (chdir "src")
             #t))

         (add-before 'check 'pre-check
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((perl (assoc-ref inputs "perl")))
               (substitute* "plugins/kdb/db2/libdb2/test/run.test"
                 (("/bin/cat") (string-append perl "/bin/perl"))
                 (("D/bin/sh") (string-append "D" (which "bash")))
                 (("bindir=/bin/.") (string-append "bindir=" perl "/bin"))))

             ;; avoid service names since /etc/services is unavailable
             (substitute* "tests/resolve/Makefile"
               (("-p telnet") "-p 23"))
             #t)))))
    (synopsis "MIT Kerberos 5")
    (description
     "Massachusetts Institute of Technology implementation of Kerberos.
Kerberos is a network authentication protocol designed to provide strong
authentication for client/server applications by using secret-key
cryptography.")
    (license (non-copyleft "file://NOTICE"
                           "See NOTICE in the distribution."))
    (home-page "http://web.mit.edu/kerberos/")))

debug log:

solving 7591334 ...
found 7591334 in https://yhetil.org/guix-devel/c9f6ee38995916f6f7864d83e3a7915cd8c53cf4.1454633096.git.leo@famulari.name/
found 16bef8d in https://git.savannah.gnu.org/cgit/guix.git
preparing index
index prepared:
100644 16bef8d97dd0fa64597bde098b46de53f5ad3041	gnu/packages/mit-krb5.scm

applying [1/1] https://yhetil.org/guix-devel/c9f6ee38995916f6f7864d83e3a7915cd8c53cf4.1454633096.git.leo@famulari.name/
diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm
index 16bef8d..7591334 100644

Checking patch gnu/packages/mit-krb5.scm...
Applied patch gnu/packages/mit-krb5.scm cleanly.

index at:
100644 75913347cd3100fad90c47db31b7aa4beb794248	gnu/packages/mit-krb5.scm

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

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).