X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/49b6dc2b4e02269850dacc71d9e7ec93139ec5b5..f862697b5c11a14a1bbc59adc4cfd90bc2526124:/gnu/packages/samba.scm diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 64017224a7..d90d12e665 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017, 2018 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,20 +32,24 @@ #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) + #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages crypto) #:use-module (gnu packages cups) #:use-module (gnu packages databases) #:use-module (gnu packages docbook) - #:use-module (gnu packages tls) - #:use-module (gnu packages popt) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages openldap) - #:use-module (gnu packages readline) + #:use-module (gnu packages gnupg) #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) + #:use-module (gnu packages openldap) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) #:use-module (gnu packages python) + #:use-module (gnu packages readline) + #:use-module (gnu packages tls) + #:use-module (gnu packages web) #:use-module (gnu packages xml)) (define-public cifs-utils @@ -73,10 +78,6 @@ (arguments `(#:phases (modify-phases %standard-phases - ;; The 6.7 tarball is missing ‘install.sh’. Create it. - (add-after 'unpack 'autoreconf - (lambda _ - (invoke "autoreconf" "-i"))) (add-before 'configure 'set-root-sbin (lambda _ ; Don't try to install in "/sbin". (setenv "ROOTSBINDIR" @@ -150,14 +151,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.8.3") + (version "4.9.4") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "1vc21c0m7wky70hpyjhw6ph6zlzljsvivlgxy54znpaxc259lmp0")))) + "0kqbzywlnh1skg6g78qilyn12qv7wri66h5v9f77igncpkcai63d")))) (build-system gnu-build-system) (arguments `(#:phases @@ -202,10 +203,14 @@ anywhere.") `(("acl" ,acl) ("cups" ,cups) ;; ("gamin" ,gamin) + ("gpgme" ,gpgme) ("gnutls" ,gnutls) ("iniparser" ,iniparser) + ("jansson" ,jansson) ("libaio" ,libaio) + ("libarchive" ,libarchive) ("linux-pam" ,linux-pam) + ("lmdb" ,lmdb) ("openldap" ,openldap) ("popt" ,popt) ("readline" ,readline) @@ -236,14 +241,14 @@ Desktops into Active Directory environments using the winbind daemon.") (define-public talloc (package (name "talloc") - (version "2.1.14") + (version "2.1.16") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/talloc/talloc-" version ".tar.gz")) (sha256 (base32 - "1kk76dyav41ip7ddbbf04yfydb4jvywzi2ps0z2vla56aqkn11di")))) + "1aajda08yf7njgvg6r21ccxlvkarb9bwvf4jqh8yn3871a1zcnqr")))) (build-system gnu-build-system) (arguments '(#:phases @@ -256,8 +261,10 @@ Desktops into Active Directory environments using the winbind daemon.") (let ((out (assoc-ref outputs "out"))) (invoke "./configure" (string-append "--prefix=" out)))))))) + (native-inputs + `(("which" ,which))) (inputs - `(("python" ,python-2))) + `(("python" ,python))) (home-page "https://talloc.samba.org") (synopsis "Hierarchical, reference counted memory pool system") (description @@ -283,15 +290,10 @@ destructors. It is the core memory allocator used in Samba.") `(modify-phases ,phases (replace 'build (lambda _ - (letrec-syntax ((shell (syntax-rules () - ((_ (command ...) rest ...) - (and (zero? (system* command ...)) - (shell rest ...))) - ((_) - #t)))) - (shell ("gcc" "-c" "-Ibin/default" "-I" "lib/replace" - "-I." "-Wall" "-g" "talloc.c") - ("ar" "rc" "libtalloc.a" "talloc.o"))))) + (invoke "gcc" "-c" "-Ibin/default" "-I" "lib/replace" + "-I." "-Wall" "-g" "-D__STDC_WANT_LIB_EXT1__=1" + "talloc.c") + (invoke "ar" "rc" "libtalloc.a" "talloc.o"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -306,14 +308,14 @@ destructors. It is the core memory allocator used in Samba.") (define-public tevent (package (name "tevent") - (version "0.9.37") + (version "0.9.39") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/tevent/tevent-" version ".tar.gz")) (sha256 (base32 - "1q77vbjic2bb79li2a54ffscnrnwwww55fbpry2kgh7acpnlb0qn")))) + "1rnln76ngd2b8lgqvfa9iscy6jizwycj85nfp9zd46b1c760z3gn")))) (build-system gnu-build-system) (arguments '(#:phases @@ -322,12 +324,13 @@ destructors. It is the core memory allocator used in Samba.") ;; tevent uses a custom configuration script that runs waf. (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out) - "--bundled-libraries=NONE")))))))) + (invoke "./configure" + (string-append "--prefix=" out) + "--bundled-libraries=NONE"))))))) (native-inputs `(("pkg-config" ,pkg-config) - ("python" ,python-2))) + ("python" ,python) + ("which" ,which))) (propagated-inputs `(("talloc" ,talloc))) ; required by tevent.pc (synopsis "Event system library") @@ -341,14 +344,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.3.3") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b")) + "1kiwlra6nfkb5n870k2db41jrm59bq9lxqmil4v7ignblgsdfdwb")) (modules '((guix build utils))) (snippet '(begin @@ -361,27 +364,34 @@ many event types, including timers, signals, and the classic file descriptor eve #t)))) (build-system gnu-build-system) (arguments - '(#:phases + '(;; LMDB is only supported on 64-bit systems, yet the test suite + ;; requires it. + #:tests? (assoc-ref %build-inputs "lmdb") + #:phases (modify-phases %standard-phases (replace 'configure ;; ldb use a custom configuration script that runs waf. (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (zero? (system* "./configure" - (string-append "--prefix=" out) - (string-append "--with-modulesdir=" out - "/lib/ldb/modules") - "--bundled-libraries=NONE")))))))) + (invoke "./configure" + (string-append "--prefix=" out) + (string-append "--with-modulesdir=" out + "/lib/ldb/modules") + "--bundled-libraries=NONE"))))))) (native-inputs `(("cmocka" ,cmocka) ("pkg-config" ,pkg-config) - ("python" ,python-2))) + ("python" ,python) + ("which" ,which))) (propagated-inputs ;; ldb.pc refers to all these. `(("talloc" ,talloc) ("tdb" ,tdb))) (inputs - `(("popt" ,popt) + `(,@(if (target-64bit?) + `(("lmdb" ,lmdb)) + '()) + ("popt" ,popt) ("tevent" ,tevent))) (synopsis "LDAP-like embedded database") (home-page "https://ldb.samba.org/") @@ -400,6 +410,18 @@ key-value pair databases and a real LDAP database.") (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ppp/ppp-" version ".tar.gz")) + (patches + (list (origin + ;; Use OpenSSL for cryptography instead of the obsolete glibc + ;; crypto functions that were removed in glibc 2.28. + (method url-fetch) + (uri (string-append "https://github.com/paulusmack/ppp/commit/" + "3c7b86229f7bd2600d74db14b1fe5b3896be3875" + ".patch")) + (file-name "ppp-use-openssl-crypto.patch") + (sha256 + (base32 + "0qlbi247lx3injpy8a1gcij9yilik0vfaibkpvdp88k3sa1rs69z"))))) (sha256 (base32 "0c7vrjxl52pdwi4ckrvfjr08b31lfpgwf3pp0cqy76a77vfs7q02")))) @@ -412,14 +434,19 @@ key-value pair databases and a real LDAP database.") (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"))))))))) + (string-append libpcap "/include/pcap-bpf.h"))) + #t)))))) (inputs - `(("libpcap" ,libpcap))) + `(("libpcap" ,libpcap) + ("openssl" ,(@ (gnu packages tls) openssl)))) (synopsis "Implementation of the Point-to-Point Protocol") (home-page "https://ppp.samba.org/") (description