summary refs log tree commit diff
path: root/gnu/packages/samba.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/samba.scm')
-rw-r--r--gnu/packages/samba.scm127
1 files changed, 69 insertions, 58 deletions
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 359a345029..bb5b402eee 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2015, 2017, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
@@ -55,6 +55,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
@@ -64,19 +65,19 @@
 (define-public cifs-utils
   (package
     (name "cifs-utils")
-    (version "6.13")
+    (version "6.14")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://download.samba.org/pub/linux-cifs/"
                            "cifs-utils/cifs-utils-" version ".tar.bz2"))
        (sha256 (base32
-                "0mnhcc4ayj2vn2azhk45fnal1hibsv0q2c4ihkxcrjhkhrn7in23"))))
+                "1f2n0yzqsy5v5qv83731bi0mi86rrh11z8qjy1gjj8al9c3yh2b6"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("pkg-config" ,pkg-config)))
+     (list autoconf automake pkg-config
+           ;; To generate the manpages.
+           python-docutils)) ; rst2man
     (inputs
      `(("keytuils" ,keyutils)
        ("linux-pam" ,linux-pam)
@@ -85,23 +86,31 @@
        ("samba" ,samba)
        ("talloc" ,talloc)))
     (arguments
-     `(#:phases
+     `(#:configure-flags
+       (list "--enable-man")
+       #:phases
        (modify-phases %standard-phases
+         (add-before 'bootstrap 'trigger-bootstrap
+           ;; The shipped configure script is buggy, e.g., it contains a
+           ;; unexpanded literal ‘LIBCAP_NG_PATH’ line).
+           (lambda _
+             (delete-file "configure")))
          (add-before 'configure 'set-root-sbin
            (lambda* (#:key outputs #:allow-other-keys)
              ;; Don't try to install into "/sbin".
              (setenv "ROOTSBINDIR"
-                     (string-append (assoc-ref outputs "out") "/sbin"))
-             #t))
-         (add-before 'install 'create-man8dir
+                     (string-append (assoc-ref outputs "out") "/sbin"))))
+         (add-before 'install 'install-man-pages
            ;; Create a directory that isn't created since version 6.10.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (mkdir-p (string-append out "/share/man/man8"))
-               #t))))))
+           (lambda* (#:key make-flags parallel-build? #:allow-other-keys)
+             (apply invoke "make" "install-man"
+                    `(,@(if parallel-build?
+                            `("-j" ,(number->string (parallel-job-count)))
+                            '())
+                      ,@make-flags)))))))
     (synopsis "User-space utilities for Linux CIFS (Samba) mounts")
     (description "@code{cifs-utils} is a set of user-space utilities for
-mounting and managing @dfn{Common Internet File System} (CIFS) shares using
+mounting and managing @acronym{CIFS, Common Internet File System} shares using
 the Linux kernel CIFS client.")
     (home-page "https://wiki.samba.org/index.php/LinuxCIFS_utils")
     ;; cifs-utils is licensed as GPL3 or later, but 3 files contain LGPL code.
@@ -172,14 +181,14 @@ external dependencies.")
 (define-public samba
   (package
     (name "samba")
-    (version "4.13.10")
+    (version "4.13.14")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://download.samba.org/pub/samba/stable/"
                            "samba-" version ".tar.gz"))
        (sha256
-        (base32 "00q5hf2r71dyma785dckcyksv3082mqfgyy9q6k6rc6kqjwkirzh"))
+        (base32 "103zy09mszjlfrsnm2vzrw5d9ph5jckddb9cxsrhrslkzblah4b6"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -231,30 +240,28 @@ external dependencies.")
        ;; test environment.
        #:tests? #f))
     (inputs
-     `(("acl" ,acl)
-       ("cmocka" ,cmocka)
-       ("cups" ,cups)
-       ("gamin" ,gamin)
-       ("dbus" ,dbus)
-       ("gpgme" ,gpgme)
-       ("gnutls" ,gnutls)
-       ("heimdal" ,heimdal)
-       ("jansson" ,jansson)
-       ("libarchive" ,libarchive)
-       ("libtirpc" ,libtirpc)
-       ("linux-pam" ,linux-pam)
-       ("lmdb" ,lmdb)
-       ("openldap" ,openldap)
-       ("perl" ,perl)
-       ("python" ,python)
-       ("popt" ,popt)
-       ("readline" ,readline)
-       ("tdb" ,tdb)))
+     (list acl
+           cmocka
+           cups
+           gamin
+           dbus
+           gpgme
+           gnutls
+           heimdal
+           jansson
+           libarchive
+           libtirpc
+           linux-pam
+           lmdb
+           openldap
+           perl
+           python
+           popt
+           readline
+           tdb))
     (propagated-inputs
      ;; In Requires or Requires.private of pkg-config files.
-     `(("ldb" ,ldb)
-       ("talloc" ,talloc)
-       ("tevent" ,tevent)))
+     (list ldb talloc tevent))
     (native-inputs
      `(("perl-parse-yapp" ,perl-parse-yapp)
        ("pkg-config" ,pkg-config)
@@ -277,6 +284,18 @@ Samba is an important component to seamlessly integrate Linux/Unix Servers and
 Desktops into Active Directory environments using the winbind daemon.")
     (license gpl3+)))
 
+(define-public samba/fixed
+  ;; Version that rarely changes, depended on by libsoup.
+  (package/inherit samba
+    (version "4.13.10")
+    (source
+     (origin
+       (inherit (package-source samba))
+       (uri (string-append "https://download.samba.org/pub/samba/stable/"
+                           "samba-" version ".tar.gz"))
+       (sha256
+        (base32 "00q5hf2r71dyma785dckcyksv3082mqfgyy9q6k6rc6kqjwkirzh"))))))
+
 (define-public talloc
   (package
     (name "talloc")
@@ -301,9 +320,9 @@ Desktops into Active Directory environments using the winbind daemon.")
                (invoke "./configure"
                        (string-append "--prefix=" out))))))))
     (native-inputs
-     `(("which" ,which)))
+     (list which))
     (inputs
-     `(("python" ,python)))
+     (list python))
     (home-page "https://talloc.samba.org")
     (synopsis "Hierarchical, reference counted memory pool system")
     (description
@@ -367,12 +386,9 @@ destructors.  It is the core memory allocator used in Samba.")
                        (string-append "--prefix=" out)
                        "--bundled-libraries=NONE")))))))
     (native-inputs
-     `(("cmocka" ,cmocka)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("which" ,which)))
+     (list cmocka pkg-config python which))
     (propagated-inputs
-     `(("talloc" ,talloc))) ; required by tevent.pc
+     (list talloc)) ; required by tevent.pc
     (synopsis "Event system library")
     (home-page "https://tevent.samba.org/")
     (description
@@ -384,14 +400,14 @@ many event types, including timers, signals, and the classic file descriptor eve
 (define-public ldb
   (package
     (name "ldb")
-    (version "2.4.0")
+    (version "2.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.samba.org/ftp/ldb/ldb-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "10rd1z2llqz8xdx6m7yyxb9a118gx2xxwri18bhkkab9n1w55rvn"))
+                "13yd7lavbx8bxwnmzl0j7xnl2gl4wmnn0q9g7n3y7bvbnhm07hb9"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -400,8 +416,7 @@ many event types, including timers, signals, and the classic file descriptor eve
                               (unless (or (string-prefix? "third_party/waf" file)
                                           (string-suffix? "wscript" file))
                                 (delete-file file)))
-                            (find-files "third_party"))
-                  #t))))
+                            (find-files "third_party"))))))
     (build-system gnu-build-system)
     (arguments
      '(;; LMDB is only supported on 64-bit systems, yet the test suite
@@ -419,14 +434,10 @@ many event types, including timers, signals, and the classic file descriptor eve
                                       "/lib/ldb/modules")
                        "--bundled-libraries=NONE")))))))
     (native-inputs
-     `(("cmocka" ,cmocka)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("which" ,which)))
+     (list cmocka pkg-config python which))
     (propagated-inputs
      ;; ldb.pc refers to all these.
-     `(("talloc" ,talloc)
-       ("tdb" ,tdb)))
+     (list talloc tdb))
     (inputs
      `(,@(if (target-64bit?)
              `(("lmdb" ,lmdb))
@@ -475,8 +486,8 @@ key-value pair databases and a real LDAP database.")
                   (string-append libpcap "/include/pcap-bpf.h")))
                #t))))))
     (inputs
-     `(("libpcap" ,libpcap)
-       ("openssl" ,(@ (gnu packages tls) openssl))))
+     (list libpcap
+           (@ (gnu packages tls) openssl)))
     (synopsis "Implementation of the Point-to-Point Protocol")
     (home-page "https://ppp.samba.org/")
     (description