diff options
Diffstat (limited to 'gnu/packages/samba.scm')
-rw-r--r-- | gnu/packages/samba.scm | 230 |
1 files changed, 103 insertions, 127 deletions
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index da103ed839..8c004a1aac 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <[email protected]> ;;; Copyright © 2022 Guillaume Le Vaillant <[email protected]> ;;; Copyright © 2022 Maxime Devos <[email protected]> +;;; Copyright © 2022 Simon Streit <[email protected]> ;;; ;;; 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 "pinned" package shouldn't be -;;; susceptible to changes in the free one. (define-public samba/pinned - ;; Version that rarely changes, depended on by libsoup. (hidden-package (package - (inherit samba) - (replacement samba/fixed) - (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 +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/pinned) - ;; 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/pinned))))) (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 |