* [PATCH 2/4] gnu: Add tevent.
2015-12-15 4:21 [PATCH 1/4] gnu: talloc: Update to 2.1.5 宋文武
@ 2015-12-15 4:22 ` 宋文武
2015-12-17 22:48 ` Ludovic Courtès
2015-12-15 4:22 ` [PATCH 3/4] gnu: Add ldb 宋文武
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: 宋文武 @ 2015-12-15 4:22 UTC (permalink / raw)
To: guix-devel; +Cc: 宋文武
* gnu/packages/samba.scm (tevent): New variable.
---
gnu/packages/samba.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index e5f81a4..ec73a28 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -25,6 +25,7 @@
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
#: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 libunwind)
@@ -201,6 +202,40 @@ Desktops into Active Directory environments using the winbind daemon.")
destructors. It is the core memory allocator used in Samba.")
(license gpl3+))) ;; The bundled "replace" library uses LGPL3.
+(define-public tevent
+ (package
+ (name "tevent")
+ (version "0.9.26")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.samba.org/ftp/tevent/tevent-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1gbh6d2m49j1v2hkaiyrh8bj02i5wxd4hqayzk2g44yyivbi8b16"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (zero? (system* "./configure"
+ (string-append "--prefix=" out)
+ "--bundled-libraries=NONE"))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-2)))
+ (propagated-inputs
+ `(("talloc" ,talloc))) ; required by tevent.pc
+ (synopsis "Event system library")
+ (home-page "https://tevent.samba.org/")
+ (description
+ "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+)))
+
(define-public ppp
(package
(name "ppp")
--
2.5.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] gnu: Add tevent.
2015-12-15 4:22 ` [PATCH 2/4] gnu: Add tevent 宋文武
@ 2015-12-17 22:48 ` Ludovic Courtès
0 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2015-12-17 22:48 UTC (permalink / raw)
To: 宋文武; +Cc: guix-devel
宋文武 <iyzsong@gmail.com> skribis:
> * gnu/packages/samba.scm (tevent): New variable.
[...]
> + (modify-phases %standard-phases
> + (replace 'configure
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out")))
> + (zero? (system* "./configure"
> + (string-append "--prefix=" out)
> + "--bundled-libraries=NONE"))))))))
Please add a comment saying why this phase is necessary.
Otherwise LGTM, thanks!
Ludo’.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] gnu: Add ldb.
2015-12-15 4:21 [PATCH 1/4] gnu: talloc: Update to 2.1.5 宋文武
2015-12-15 4:22 ` [PATCH 2/4] gnu: Add tevent 宋文武
@ 2015-12-15 4:22 ` 宋文武
2015-12-17 22:49 ` Ludovic Courtès
2015-12-15 4:22 ` [PATCH 4/4] gnu: samba: Update to 4.3.2 宋文武
2015-12-17 22:47 ` [PATCH 1/4] gnu: talloc: Update to 2.1.5 Ludovic Courtès
3 siblings, 1 reply; 10+ messages in thread
From: 宋文武 @ 2015-12-15 4:22 UTC (permalink / raw)
To: guix-devel; +Cc: 宋文武
* gnu/packages/samba.scm (ldb): New variable.
---
gnu/packages/samba.scm | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index ec73a28..05fb3b2 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -24,6 +24,7 @@
#:use-module (guix licenses)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages popt)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages openldap)
@@ -236,6 +237,48 @@ 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+)))
+(define-public ldb
+ (package
+ (name "ldb")
+ (version "1.1.23")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.samba.org/ftp/ldb/ldb-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0ncmwgga6q9v7maiywgw21w6rb3149m1w2ca11yq8k5j0izjz2wg"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (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"))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("python" ,python-2)))
+ (propagated-inputs
+ ;; ldb.pc refers to all these.
+ `(("talloc" ,talloc)
+ ("tdb" ,tdb)))
+ (inputs
+ `(("popt" ,popt)
+ ("tevent" ,tevent)))
+ (synopsis "LDAP-like embedded database")
+ (home-page "https://ldb.samba.org/")
+ (description
+ "Ldb is a LDAP-like embedded database built on top of TDB. What ldb does
+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+)))
+
(define-public ppp
(package
(name "ppp")
--
2.5.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] gnu: samba: Update to 4.3.2.
2015-12-15 4:21 [PATCH 1/4] gnu: talloc: Update to 2.1.5 宋文武
2015-12-15 4:22 ` [PATCH 2/4] gnu: Add tevent 宋文武
2015-12-15 4:22 ` [PATCH 3/4] gnu: Add ldb 宋文武
@ 2015-12-15 4:22 ` 宋文武
2015-12-17 22:51 ` Ludovic Courtès
2015-12-17 22:47 ` [PATCH 1/4] gnu: talloc: Update to 2.1.5 Ludovic Courtès
3 siblings, 1 reply; 10+ messages in thread
From: 宋文武 @ 2015-12-15 4:22 UTC (permalink / raw)
To: guix-devel; +Cc: 宋文武
* gnu/packages/samba.scm (samba): Update to 4.3.2. Add more inputs.
[arguments]: Use 'modify-phases' syntax.
---
gnu/packages/samba.scm | 75 +++++++++++++++++++++++---------------------------
1 file changed, 34 insertions(+), 41 deletions(-)
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 05fb3b2..cd2d048 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -24,14 +24,14 @@
#:use-module (guix licenses)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages cups)
#:use-module (gnu packages databases)
+ #: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 libunwind)
#:use-module (gnu packages linux)
- #:use-module (gnu packages elf)
#:use-module (gnu packages perl)
#:use-module (gnu packages python))
@@ -98,64 +98,57 @@ anywhere.")
(define-public samba
(package
(name "samba")
- (version "3.6.25")
+ (version "4.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/samba/ftp/stable/samba-"
version ".tar.gz"))
(sha256
(base32
- "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g"))))
+ "0xcs2bcim421mlk6l9rcrkx4cq9y41gfssyfa7xzdw5draar3631"))))
(build-system gnu-build-system)
(arguments
- `(#:phases (alist-cons-before
- 'configure 'chdir
- (lambda _
- (chdir "source3"))
- (alist-cons-after
- 'strip 'add-lib-to-runpath
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- ;; Add LIB to the RUNPATH of all the executables and
- ;; dynamic libraries.
- (with-directory-excursion out
- (for-each (cut augment-rpath <> lib)
- (append (find-files "bin" ".*")
- (find-files "sbin" ".*")
- (find-files "lib" ".*"))))))
- %standard-phases))
-
- #:modules ((guix build gnu-build-system)
- (guix build utils)
- (guix build rpath)
- (srfi srfi-26))
- #:imported-modules (,@%gnu-build-system-modules
- (guix build rpath))
-
- ;; This flag is required to allow for "make test".
- #:configure-flags '("--enable-socket-wrapper")
-
- #:test-target "test"
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ ;; samba uses a custom configuration script that runs waf.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib")))
+ (zero? (system*
+ "./configure"
+ "--enable-fhs"
+ ;; XXX: heimdal not packaged.
+ "--bundled-libraries=com_err"
+ (string-append "--prefix=" out)
+ ;; Install public and private libraries into
+ ;; a single directory to avoid RPATH issues.
+ (string-append "--libdir=" libdir)
+ (string-append "--with-privatelibdir=" libdir)))))))
;; XXX: The test infrastructure attempts to set password with
;; smbpasswd, which fails with "smbpasswd -L can only be used by root."
;; So disable tests until there's a workaround.
#:tests? #f))
(inputs ; TODO: Add missing dependencies
- `(;; ("cups" ,cups)
- ("acl" ,acl)
+ `(("acl" ,acl)
+ ("cups" ,cups)
;; ("gamin" ,gamin)
- ("libunwind" ,libunwind)
+ ("gnutls" ,gnutls)
("iniparser" ,iniparser)
- ("popt" ,popt)
- ("openldap" ,openldap)
+ ("libaio" ,libaio)
+ ("ldb" ,ldb)
("linux-pam" ,linux-pam)
+ ("openldap" ,openldap)
+ ("popt" ,popt)
("readline" ,readline)
- ("patchelf" ,patchelf))) ; for (guix build rpath)
- (native-inputs ; for the test suite
+ ("talloc" ,talloc)
+ ("tevent" ,tevent)
+ ("tdb" ,tdb)))
+ (native-inputs
`(("perl" ,perl)
- ("python" ,python-wrapper)))
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-2))) ; incompatible with Python 3
(home-page "http://www.samba.org/")
(synopsis
"The standard Windows interoperability suite of programs for GNU and Unix")
--
2.5.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] gnu: samba: Update to 4.3.2.
2015-12-15 4:22 ` [PATCH 4/4] gnu: samba: Update to 4.3.2 宋文武
@ 2015-12-17 22:51 ` Ludovic Courtès
2015-12-18 2:31 ` 宋文武
0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2015-12-17 22:51 UTC (permalink / raw)
To: 宋文武; +Cc: guix-devel
宋文武 <iyzsong@gmail.com> skribis:
> * gnu/packages/samba.scm (samba): Update to 4.3.2. Add more inputs.
> [arguments]: Use 'modify-phases' syntax.
Please mention the arguments removed (#:modules and #:imported-modules)
and the phases removed.
Otherwise LGTM.
One less user of PatchELF, good. :-)
Thank you!
Ludo’.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] gnu: samba: Update to 4.3.2.
2015-12-17 22:51 ` Ludovic Courtès
@ 2015-12-18 2:31 ` 宋文武
2015-12-21 13:39 ` Ludovic Courtès
0 siblings, 1 reply; 10+ messages in thread
From: 宋文武 @ 2015-12-18 2:31 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: guix-devel
ludo@gnu.org (Ludovic Courtès) writes:
> 宋文武 <iyzsong@gmail.com> skribis:
>
>> * gnu/packages/samba.scm (samba): Update to 4.3.2. Add more inputs.
>> [arguments]: Use 'modify-phases' syntax.
>
> Please mention the arguments removed (#:modules and #:imported-modules)
> and the phases removed.
>
> Otherwise LGTM.
Done, thanks for the review!
> Besides, I wonder if we should change it to ‘waf-build-system’.
All things from samba projects (tevent, ldb, etc.) use a custom
configure script to run its own “buildtools/bin/waf”. And
waf-build-system expect “waf” and “wscript” in the same toplevel
folder, so it won’t work.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] gnu: samba: Update to 4.3.2.
2015-12-18 2:31 ` 宋文武
@ 2015-12-21 13:39 ` Ludovic Courtès
0 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2015-12-21 13:39 UTC (permalink / raw)
To: 宋文武; +Cc: guix-devel
iyzsong@member.fsf.org (宋文武) skribis:
> ludo@gnu.org (Ludovic Courtès) writes:
[...]
>> Besides, I wonder if we should change it to ‘waf-build-system’.
> All things from samba projects (tevent, ldb, etc.) use a custom
> configure script to run its own “buildtools/bin/waf”. And
> waf-build-system expect “waf” and “wscript” in the same toplevel
> folder, so it won’t work.
OK, thanks for explaining!
Ludo’.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/4] gnu: talloc: Update to 2.1.5.
2015-12-15 4:21 [PATCH 1/4] gnu: talloc: Update to 2.1.5 宋文武
` (2 preceding siblings ...)
2015-12-15 4:22 ` [PATCH 4/4] gnu: samba: Update to 4.3.2 宋文武
@ 2015-12-17 22:47 ` Ludovic Courtès
3 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2015-12-17 22:47 UTC (permalink / raw)
To: 宋文武; +Cc: guix-devel
宋文武 <iyzsong@gmail.com> skribis:
> * gnu/packages/samba.scm (talloc): Update to 2.1.5.
> [arguments]: Use 'modify-phases' syntax.
It uses ‘modify-phases’ and also modifies stuff in ‘wscript’, which
should be mentioned here.
It would be ideal if you could make one patch that switches to
‘modify-phases’, and the next one that upgrades and adds the ‘wscript’
change.
> + ;; test_magic_differs.sh is a broken script, skip the test.
Could you mention what makes it “broken”? :-)
Otherwise LGTM.
Besides, I wonder if we should change it to ‘waf-build-system’.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 10+ messages in thread