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,27 +183,20 @@ 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
#:make-flags #~(list "TEST_OPTIONS=--quick") ;some tests are very long
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'configure 'setup-docbook-stylesheets (add-before 'configure 'setup-docbook-stylesheets
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Append Samba's own DTDs to XML_CATALOG_FILES ;; Append Samba's own DTDs to XML_CATALOG_FILES
@ -214,28 +209,29 @@ external dependencies.")
;; Honor XML_CATALOG_FILES. ;; Honor XML_CATALOG_FILES.
(substitute* "buildtools/wafsamba/wafsamba.py" (substitute* "buildtools/wafsamba/wafsamba.py"
(("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all) (("XML_CATALOG_FILES=\"\\$\\{SAMBA_CATALOGS\\}" all)
(string-append all " $XML_CATALOG_FILES"))) (string-append all " $XML_CATALOG_FILES")))))
#t))
(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=" out) (string-append "--prefix=" #$output)
"--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")
(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 (add-before 'install 'disable-etc,var-samba-directories-setup
(lambda _ (lambda _
(substitute* "dynconfig/wscript" (substitute* "dynconfig/wscript"
(("bld\\.INSTALL_DIR.*") "")) (("bld\\.INSTALL_DIR.*") "")))))
#t)))
;; FIXME: The test suite seemingly hangs after failing to provision the ;; FIXME: The test suite seemingly hangs after failing to provision the
;; test environment. ;; test environment.
#:tests? #f)) #:tests? #f))
@ -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
python-iso8601
python-markdown
rpcsvc-proto ;for 'rpcgen'
python-pyasn1 ;for krb5 tests
;; For generating man pages. ;; For generating man pages.
("docbook-xml" ,docbook-xml-4.2) docbook-xml-4.2
("docbook-xsl" ,docbook-xsl) docbook-xsl
("xsltproc" ,libxslt) libxslt
("libxml2" ,libxml2))) ;for XML_CATALOG_FILES 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.
(hidden-package
(package/inherit samba (package/inherit samba
(version "4.13.10") (version "4.15.3")
(source (source
(origin (origin
(inherit (package-source samba)) (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 "00q5hf2r71dyma785dckcyksv3082mqfgyy9q6k6rc6kqjwkirzh")))))) (base32 "1nrp85aya0pbbqdqjaqcw82cnzzys16yls37hi2h6mci8d09k4si")))))))
(define-public talloc (define-public talloc
(package (package