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.scm230
1 files changed, 103 insertions, 127 deletions
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 00442d9645..fdba37d1b8 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
 ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages avahi)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages check)
@@ -66,7 +68,8 @@
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
-  #:use-module (gnu packages xml))
+  #:use-module (gnu packages xml)
+  #:use-module (srfi srfi-1))
 
 (define-public cifs-utils
   (package
@@ -169,128 +172,88 @@ The library is small, thread safe, and written in portable ANSI C with no
 external dependencies.")
     (license license:x11)))
 
-(define-public samba
-  (package
-    (name "samba")
-    (version "4.16.8")
-    (source
-     ;; For updaters: the current PGP fingerprint is
-     ;; 81F5E2832BD2545A1897B713AA99442FB680B620.
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://download.samba.org/pub/samba/stable/"
-                           "samba-" version ".tar.gz"))
-       (sha256
-        (base32 "11a1vikbijaq7csg49h5ivn25gx84v6wx8z8kgsj1wmkhsf9bcmv"))))
-    (build-system gnu-build-system)
-    (arguments
-     (list
-      #:make-flags #~(list "TEST_OPTIONS=--quick") ;some tests are very long
-      #:phases
-      #~(modify-phases %standard-phases
-          (add-before 'configure 'setup-docbook-stylesheets
-            (lambda* (#:key inputs #:allow-other-keys)
-              ;; Append Samba's own DTDs to XML_CATALOG_FILES
-              ;; (c.f. docs-xml/build/README).
-              (copy-file "docs-xml/build/catalog.xml.in"
-                         "docs-xml/build/catalog.xml")
-              (substitute* "docs-xml/build/catalog.xml"
-                (("/@abs_top_srcdir@")
-                 (string-append (getcwd) "/docs-xml")))
-              ;; Honor XML_CATALOG_FILES.
-              (substitute* "buildtools/wafsamba/wafsamba.py"
-                (("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all)
-                 (string-append all " $XML_CATALOG_FILES")))))
-          (replace 'configure
-            ;; Samba uses a custom configuration script that runs WAF.
-            (lambda* (#:key inputs #:allow-other-keys)
-              (let* ((libdir (string-append #$output "/lib")))
-                (invoke "./configure"
-                        "--enable-selftest"
-                        "--enable-fhs"
-                        (string-append "--prefix=" #$output)
-                        "--sysconfdir=/etc"
-                        "--localstatedir=/var"
-                        ;; Install public and private libraries into
-                        ;; a single directory to avoid RPATH issues.
-                        (string-append "--libdir=" libdir)
-                        (string-append "--with-privatelibdir=" libdir)
-                        "--with-system-mitkrb5" ;#$(this-package-input "mit-krb5")
-                        (string-append "--with-system-mitkdc="
-                                       (search-input-file inputs "sbin/krb5kdc"))
-                        "--with-experimental-mit-ad-dc"))))
-          (add-before 'install 'disable-etc,var-samba-directories-setup
-            (lambda _
-              (substitute* "dynconfig/wscript"
-                (("bld\\.INSTALL_DIR.*") "")))))
-      ;; FIXME: The test suite seemingly hangs after failing to provision the
-      ;; test environment.
-      #:tests? #f))
-    (inputs
-     (list acl
-           cmocka
-           cups
-           gamin
-           dbus
-           gpgme
-           gnutls
-           jansson
-           libarchive
-           libtirpc
-           linux-pam
-           lmdb
-           mit-krb5
-           openldap
-           perl
-           python
-           popt
-           readline
-           tdb))
-    (propagated-inputs
-     ;; In Requires or Requires.private of pkg-config files.
-     (list ldb talloc tevent))
-    (native-inputs
-     (list perl-parse-yapp
-           pkg-config
-           python-cryptography          ;for krb5 tests
-           python-dnspython
-           python-iso8601
-           python-markdown
-           rpcsvc-proto                 ;for 'rpcgen'
-           python-pyasn1                ;for krb5 tests
-           ;; For generating man pages.
-           docbook-xml-4.2
-           docbook-xsl-next             ;otherwise the man pages are corrupted
-           libxslt
-           libxml2))                    ;for XML_CATALOG_FILES
-    (home-page "https://www.samba.org/")
-    (synopsis
-     "The standard Windows interoperability suite of programs for GNU and Unix")
-    (description
-     "Since 1992, Samba has provided secure, stable and fast file and print
-services for all clients using the SMB/CIFS protocol, such as all versions of
-DOS and Windows, OS/2, GNU/Linux and many others.
-
-Samba is an important component to seamlessly integrate Linux/Unix Servers and
-Desktops into Active Directory environments using the winbind daemon.")
-    (license license:gpl3+)))
-
-;;; FIXME: Invert inheritance relationship; the "fixed" package shouldn't be
-;;; susceptible to changes in the free one.
 (define-public samba/fixed
-  ;; Version that rarely changes, depended on by libsoup.
   (hidden-package
    (package
-     (inherit samba)
-     (replacement samba/fixed-patched)
-     (version "4.15.3")
+     (name "samba")
+     (version "4.17.0")
      (source
+      ;; For updaters: the current PGP fingerprint is
+      ;; 81F5E2832BD2545A1897B713AA99442FB680B620.
       (origin
         (method url-fetch)
         (uri (string-append "https://download.samba.org/pub/samba/stable/"
                             "samba-" version ".tar.gz"))
         (sha256
-         (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si"))))
+         (base32 "0fl2y5avmyxjadh6zz0fwz35akd6c4j9lldzp2kyvjrgm36qx1h4"))))
+     (build-system gnu-build-system)
+     (arguments
+      (list
+       #:make-flags #~(list "TEST_OPTIONS=--quick") ;some tests are very long
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-before 'configure 'setup-docbook-stylesheets
+             (lambda* (#:key inputs #:allow-other-keys)
+               ;; Append Samba's own DTDs to XML_CATALOG_FILES
+               ;; (c.f. docs-xml/build/README).
+               (copy-file "docs-xml/build/catalog.xml.in"
+                          "docs-xml/build/catalog.xml")
+               (substitute* "docs-xml/build/catalog.xml"
+                 (("/@abs_top_srcdir@")
+                  (string-append (getcwd) "/docs-xml")))
+               ;; Honor XML_CATALOG_FILES.
+               (substitute* "buildtools/wafsamba/wafsamba.py"
+                 (("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all)
+                  (string-append all " $XML_CATALOG_FILES")))))
+           (replace 'configure
+             ;; Samba uses a custom configuration script that runs WAF.
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let* ((libdir (string-append #$output "/lib")))
+                 (invoke "./configure"
+                         "--enable-selftest"
+                         "--enable-fhs"
+                         (string-append "--prefix=" #$output)
+                         "--sysconfdir=/etc"
+                         "--localstatedir=/var"
+                         ;; Install public and private libraries into
+                         ;; a single directory to avoid RPATH issues.
+                         (string-append "--libdir=" libdir)
+                         (string-append "--with-privatelibdir=" libdir)
+                         "--with-system-mitkrb5"
+                         (string-append "--with-system-mitkdc="
+                                        (search-input-file inputs "sbin/krb5kdc"))
+                         "--with-experimental-mit-ad-dc"))))
+           (add-before 'install 'disable-etc,var-samba-directories-setup
+             (lambda _
+               (substitute* "dynconfig/wscript"
+                 (("bld\\.INSTALL_DIR.*") "")))))
+       ;; FIXME: The test suite seemingly hangs after failing to provision the
+       ;; test environment.
+       #:tests? #f))
+     (inputs
+      (list acl
+            avahi
+            cmocka
+            cups
+            gamin
+            dbus
+            gpgme
+            gnutls
+            jansson
+            libarchive
+            libtirpc
+            linux-pam
+            lmdb
+            mit-krb5
+            openldap
+            perl
+            python
+            popt
+            readline
+            tdb))
+     (propagated-inputs
+      ;; In Requires or Requires.private of pkg-config files.
+      (list ldb talloc tevent))
      (native-inputs
       (list perl-parse-yapp
             pkg-config
@@ -304,33 +267,46 @@ Desktops into Active Directory environments using the winbind daemon.")
             docbook-xml-4.2
             docbook-xsl
             libxslt
-            libxml2)))))
+            libxml2))                   ;for XML_CATALOG_FILES
+     (home-page "https://www.samba.org/")
+     (synopsis
+      "The standard Windows interoperability suite of programs for GNU and Unix")
+     (description
+      "Since 1992, Samba has provided secure, stable and fast file and print
+services for all clients using the SMB/CIFS protocol, such as all versions of
+DOS and Windows, OS/2, GNU/Linux and many others.
 
-(define-public samba/fixed-patched
+Samba is an important component to seamlessly integrate Linux/Unix Servers and
+Desktops into Active Directory environments using the winbind daemon.")
+     (license license:gpl3+))))
+
+(define-public samba
   (package
     (inherit samba/fixed)
-    ;; This is 4.15.13, but we need to trim the store file name to have
-    ;; the same length as the one we are grafting above.
-    (version "4.15.A")
+    (name "samba")
+    (version "4.17.0")
     (source
+     ;; For updaters: the current PGP fingerprint is
+     ;; 81F5E2832BD2545A1897B713AA99442FB680B620.
      (origin
        (method url-fetch)
        (uri (string-append "https://download.samba.org/pub/samba/stable/"
-                           "samba-4.15.13.tar.gz"))
+                           "samba-" version ".tar.gz"))
        (sha256
-        (base32 "0s29vzn5f42vjhx6h25c7v67n14ymqxn8glqa97d0rajd99y64n4"))))))
+        (base32 "0fl2y5avmyxjadh6zz0fwz35akd6c4j9lldzp2kyvjrgm36qx1h4"))))
+    (properties (alist-delete 'hidden? (package-properties samba/fixed)))))
 
 (define-public talloc
   (package
     (name "talloc")
-    (version "2.3.3")
+    (version "2.3.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.samba.org/ftp/talloc/talloc-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1ala3l6v8qk2pwq97z1zdkj1isnfnrp1923srp2g22mxd0impsbb"))))
+                "01b5pq39z1l26f86dy8jqb37fsjbvsvx5ji65jmy8rsy4sz9x7qp"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -390,14 +366,14 @@ destructors.  It is the core memory allocator used in Samba.")
 (define-public tevent
   (package
     (name "tevent")
-    (version "0.11.0")
+    (version "0.13.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.samba.org/ftp/tevent/tevent-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1fl2pj4p8p5fa2laykwf1sfjdw7pkw9slklj3vzc5ah8x348d6pf"))))
+                "030x6ziapxiqvmi2m23ri2p9rsa202gfqr7b3cv48lx5gy8plhxr"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -424,14 +400,14 @@ many event types, including timers, signals, and the classic file descriptor eve
 (define-public ldb
   (package
     (name "ldb")
-    (version "2.4.1")
+    (version "2.6.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.samba.org/ftp/ldb/ldb-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "13yd7lavbx8bxwnmzl0j7xnl2gl4wmnn0q9g7n3y7bvbnhm07hb9"))
+                "1j9n2yzhd35xjh0mdfgym58xfbma1d27bcavjv1q4rzqgpvh6x26"))
               (modules '((guix build utils)))
               (snippet
                '(begin