gnu: r-biocviews: Update to 1.64.1.
[jackhill/guix/guix.git] / gnu / packages / samba.scm
index b775ad9..7993b33 100644 (file)
@@ -10,6 +10,9 @@
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; 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>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,7 +35,8 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
-  #:use-module (guix licenses)
+  #:use-module (guix build-system copy)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages acl)
@@ -116,7 +120,7 @@ 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.
-    (license gpl3+)))
+    (license license:gpl3+)))
 
 (define-public iniparser
   (package
@@ -178,19 +182,21 @@ are easy to read, write, and modify.
 
 The library is small, thread safe, and written in portable ANSI C with no
 external dependencies.")
-    (license x11)))
+    (license license:x11)))
 
 (define-public samba
   (package
     (name "samba")
-    (version "4.15.5")
+    (version "4.16.4")
     (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 "0zyid2np45kl8hzp9fjqwvn5lxj766a4f0mya58vldqrhcrmw4b9"))))
+        (base32 "0bvhqinxwpbwp4ayhd9q8ga0w89gnkl1m3nrwpj1fnhjzd4ghclm"))))
     (build-system gnu-build-system)
     (arguments
      (list
@@ -269,7 +275,7 @@ external dependencies.")
            python-pyasn1                ;for krb5 tests
            ;; For generating man pages.
            docbook-xml-4.2
-           docbook-xsl
+           docbook-xsl-next             ;otherwise the man pages are corrupted
            libxslt
            libxml2))                    ;for XML_CATALOG_FILES
     (home-page "https://www.samba.org/")
@@ -282,8 +288,10 @@ 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 gpl3+)))
+    (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
@@ -295,7 +303,21 @@ Desktops into Active Directory environments using the winbind daemon.")
         (uri (string-append "https://download.samba.org/pub/samba/stable/"
                             "samba-" version ".tar.gz"))
         (sha256
-         (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si")))))))
+         (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si"))))
+     (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
+            libxslt
+            libxml2)))))
 
 (define-public talloc
   (package
@@ -329,7 +351,7 @@ Desktops into Active Directory environments using the winbind daemon.")
     (description
      "Talloc is a hierarchical, reference counted memory pool system with
 destructors.  It is the core memory allocator used in Samba.")
-    (license gpl3+))) ;; The bundled "replace" library uses LGPL3.
+    (license license:gpl3+))) ;; The bundled "replace" library uses LGPL3.
 
 (define-public talloc/static
   (package
@@ -396,7 +418,7 @@ destructors.  It is the core memory allocator used in Samba.")
      "Tevent is an event system based on the talloc memory management library.
 It is the core event system used in Samba.  The low level tevent has support for
 many event types, including timers, signals, and the classic file descriptor events.")
-    (license lgpl3+)))
+    (license license:lgpl3+)))
 
 (define-public ldb
   (package
@@ -452,7 +474,7 @@ many event types, including timers, signals, and the classic file descriptor eve
 is provide a fast database with an LDAP-like API designed to be used within an
 application.  In some ways it can be seen as a intermediate solution between
 key-value pair databases and a real LDAP database.")
-    (license lgpl3+)))
+    (license license:lgpl3+)))
 
 (define-public ppp
   (package
@@ -461,7 +483,7 @@ key-value pair databases and a real LDAP database.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/paulusmack/ppp")
+                    (url "https://github.com/ppp-project/ppp")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -469,26 +491,24 @@ key-value pair databases and a real LDAP database.")
                 "1bhhksdclsnkw54a517ndrw55q5zljjbh9pcqz1z4a2z2flxpsgk"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:tests? #f                    ; no check target
-       #:make-flags '("CC=gcc")
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'patch-Makefile
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((libc    (assoc-ref inputs "libc"))
-                   (openssl (assoc-ref inputs "openssl"))
-                   (libpcap (assoc-ref inputs "libpcap")))
-               (substitute* "pppd/Makefile.linux"
-                 (("/usr/include/crypt\\.h")
-                  (string-append libc "/include/crypt.h"))
-                 (("/usr/include/openssl")
-                  (string-append openssl "/include/openssl"))
-                 (("/usr/include/pcap-bpf.h")
-                  (string-append libpcap "/include/pcap-bpf.h")))
-               #t))))))
+      (list #:tests? #f                    ;; No "check" target
+            #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
+            #:phases
+            #~(modify-phases %standard-phases
+                (add-before 'configure 'patch-Makefile
+                  (lambda* (#:key inputs #:allow-other-keys)
+                    (let ((openssl (assoc-ref inputs "openssl"))
+                          (libpcap (assoc-ref inputs "libpcap")))
+                      (substitute* "pppd/Makefile.linux"
+                        (("/usr/include/openssl")
+                         (string-append openssl "/include"))
+                        (("-DPPP_FILTER")
+                         (string-append "-DPPP_FILTER -I" libpcap "/include")))
+                      (substitute* "pppd/pppcrypt.h"
+                        (("des\\.h") "openssl/des.h")))
+                    #t)))))
     (inputs
-     (list libpcap
-           (@ (gnu packages tls) openssl)))
+     (list libpcap openssl))
     (synopsis "Implementation of the Point-to-Point Protocol")
     (home-page "https://ppp.samba.org/")
     (description
@@ -498,5 +518,34 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.")
     ;; pppd, pppstats and pppdump are under BSD-style notices.
     ;; some of the pppd plugins are GPL'd.
     ;; chat is public domain.
-    (license (list bsd-3 bsd-4 gpl2+ public-domain))))
+    (license (list license:bsd-3
+                   license:bsd-4
+                   license:gpl2+
+                   license:public-domain))))
 
+(define-public wsdd
+  (package
+    (name "wsdd")
+    (version "0.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference (url "https://github.com/christgau/wsdd")
+                           (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "04an2w6hamnai668ag4vq8x0i09fsg2jrayb4a7ar0x6bn837k7m"))))
+    (build-system copy-build-system)
+    (inputs
+     `(("python" ,python)))
+    (arguments
+     '(#:install-plan
+       '(("src/wsdd.py" "bin/wsdd")
+         ("man/wsdd.1" "share/man/man1/"))))
+    (home-page "https://github.com/christgau/wsdd")
+    (synopsis "A Web Service Discovery host daemon")
+    (description "This daemon allows (Samba) hosts to be found by Web
+Service Dicovery Clients.  It also implements the client side of the
+discovery protocol which allows to search for devices implementing
+WSD.")
+    (license license:expat)))