Archived
1
0
Fork 0

gnu: samba: Update to 4.15.3.

* gnu/packages/samba.scm (samba): Update to 4.15.3.
[source]: Delete snippet; pyiso8601 is no longer bundled.
[arguments]: Adjust make-flags and arguments to use G-Exp.
[phases]{configure}: Add the '--with-system-mitkrb5', '--with-system-mitkdc'
and '--with-experimental-mit-ad-dc' configure flags.
[inputs]: Replace heimdal with mit-krb5.
[native-inputs]: Use new style.
{python-cryptography, python-dnspython, python-markdown}
{python-pyasn1}: New inputs.
(samba/fixed): Update to 4.15.3 and hide package.
This commit is contained in:
Maxim Cournoyer 2022-01-09 21:51:47 -05:00
parent b6509548eb
commit a02c1ce716
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -9,7 +9,7 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,6 +27,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages samba) (define-module (gnu packages samba)
#:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
@ -55,6 +56,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt) #:use-module (gnu packages popt)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages time) #:use-module (gnu packages time)
@ -181,64 +183,58 @@ external dependencies.")
(define-public samba (define-public samba
(package (package
(name "samba") (name "samba")
(version "4.13.14") (version "4.15.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/" (uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz")) "samba-" version ".tar.gz"))
(sha256 (sha256
(base32 "103zy09mszjlfrsnm2vzrw5d9ph5jckddb9cxsrhrslkzblah4b6")) (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si"))))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: Some bundled libraries (e.g, popt, cmocka) are used from
;; the system, but their bundled sources must be kept as they
;; include the WAF scripts used for detecting them.
(delete-file-recursively "third_party/pyiso8601")
#t))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("TEST_OPTIONS=--quick") ;some tests are very long (list
#:phases #:make-flags #~(list "TEST_OPTIONS=--quick") ;some tests are very long
(modify-phases %standard-phases #:phases
(add-before 'configure 'setup-docbook-stylesheets #~(modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) (add-before 'configure 'setup-docbook-stylesheets
;; Append Samba's own DTDs to XML_CATALOG_FILES (lambda* (#:key inputs #:allow-other-keys)
;; (c.f. docs-xml/build/README). ;; Append Samba's own DTDs to XML_CATALOG_FILES
(copy-file "docs-xml/build/catalog.xml.in" ;; (c.f. docs-xml/build/README).
"docs-xml/build/catalog.xml") (copy-file "docs-xml/build/catalog.xml.in"
(substitute* "docs-xml/build/catalog.xml" "docs-xml/build/catalog.xml")
(("/@abs_top_srcdir@") (substitute* "docs-xml/build/catalog.xml"
(string-append (getcwd) "/docs-xml"))) (("/@abs_top_srcdir@")
;; Honor XML_CATALOG_FILES. (string-append (getcwd) "/docs-xml")))
(substitute* "buildtools/wafsamba/wafsamba.py" ;; Honor XML_CATALOG_FILES.
(("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all) (substitute* "buildtools/wafsamba/wafsamba.py"
(string-append all " $XML_CATALOG_FILES"))) (("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all)
#t)) (string-append all " $XML_CATALOG_FILES")))))
(replace 'configure (replace 'configure
;; Samba uses a custom configuration script that runs WAF. ;; Samba uses a custom configuration script that runs WAF.
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((libdir (string-append #$output "/lib")))
(libdir (string-append out "/lib"))) (invoke "./configure"
(invoke "./configure" "--enable-selftest"
"--enable-selftest" "--enable-fhs"
"--enable-fhs" (string-append "--prefix=" #$output)
(string-append "--prefix=" out) "--sysconfdir=/etc"
"--sysconfdir=/etc" "--localstatedir=/var"
"--localstatedir=/var" ;; Install public and private libraries into
;; Install public and private libraries into ;; a single directory to avoid RPATH issues.
;; a single directory to avoid RPATH issues. (string-append "--libdir=" libdir)
(string-append "--libdir=" libdir) (string-append "--with-privatelibdir=" libdir)
(string-append "--with-privatelibdir=" libdir))))) "--with-system-mitkrb5" ;#$(this-package-input "mit-krb5")
(add-before 'install 'disable-etc,var-samba-directories-setup (string-append "--with-system-mitkdc="
(lambda _ (search-input-file inputs "sbin/krb5kdc"))
(substitute* "dynconfig/wscript" "--with-experimental-mit-ad-dc"))))
(("bld\\.INSTALL_DIR.*") "")) (add-before 'install 'disable-etc,var-samba-directories-setup
#t))) (lambda _
;; FIXME: The test suite seemingly hangs after failing to provision the (substitute* "dynconfig/wscript"
;; test environment. (("bld\\.INSTALL_DIR.*") "")))))
#:tests? #f)) ;; FIXME: The test suite seemingly hangs after failing to provision the
;; test environment.
#:tests? #f))
(inputs (inputs
(list acl (list acl
cmocka cmocka
@ -247,12 +243,12 @@ external dependencies.")
dbus dbus
gpgme gpgme
gnutls gnutls
heimdal
jansson jansson
libarchive libarchive
libtirpc libtirpc
linux-pam linux-pam
lmdb lmdb
mit-krb5
openldap openldap
perl perl
python python
@ -263,15 +259,19 @@ external dependencies.")
;; In Requires or Requires.private of pkg-config files. ;; In Requires or Requires.private of pkg-config files.
(list ldb talloc tevent)) (list ldb talloc tevent))
(native-inputs (native-inputs
`(("perl-parse-yapp" ,perl-parse-yapp) (list perl-parse-yapp
("pkg-config" ,pkg-config) pkg-config
("python-iso8601" ,python-iso8601) python-cryptography ;for krb5 tests
("rpcsvc-proto" ,rpcsvc-proto) ; for 'rpcgen' python-dnspython
;; For generating man pages. python-iso8601
("docbook-xml" ,docbook-xml-4.2) python-markdown
("docbook-xsl" ,docbook-xsl) rpcsvc-proto ;for 'rpcgen'
("xsltproc" ,libxslt) python-pyasn1 ;for krb5 tests
("libxml2" ,libxml2))) ;for XML_CATALOG_FILES ;; For generating man pages.
docbook-xml-4.2
docbook-xsl
libxslt
libxml2)) ;for XML_CATALOG_FILES
(home-page "https://www.samba.org/") (home-page "https://www.samba.org/")
(synopsis (synopsis
"The standard Windows interoperability suite of programs for GNU and Unix") "The standard Windows interoperability suite of programs for GNU and Unix")
@ -286,15 +286,16 @@ Desktops into Active Directory environments using the winbind daemon.")
(define-public samba/fixed (define-public samba/fixed
;; Version that rarely changes, depended on by libsoup. ;; Version that rarely changes, depended on by libsoup.
(package/inherit samba (hidden-package
(version "4.13.10") (package/inherit samba
(source (version "4.15.3")
(origin (source
(inherit (package-source samba)) (origin
(uri (string-append "https://download.samba.org/pub/samba/stable/" (method url-fetch)
"samba-" version ".tar.gz")) (uri (string-append "https://download.samba.org/pub/samba/stable/"
(sha256 "samba-" version ".tar.gz"))
(base32 "00q5hf2r71dyma785dckcyksv3082mqfgyy9q6k6rc6kqjwkirzh")))))) (sha256
(base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si")))))))
(define-public talloc (define-public talloc
(package (package