From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: Re: [PATCH] gnu: bind-utils: Build and install =?utf-8?B?4oCcbnN1?= =?utf-8?B?cGRhdGXigJ0u?= Date: Thu, 14 Jan 2016 11:59:26 +0300 Message-ID: <87lh7stu35.fsf@gmail.com> References: <8760yxt2by.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54123) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aJdkg-0004ZR-5r for guix-devel@gnu.org; Thu, 14 Jan 2016 03:59:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aJdkb-0001pw-Te for guix-devel@gnu.org; Thu, 14 Jan 2016 03:59:30 -0500 In-Reply-To: <8760yxt2by.fsf@gnu.org> (Mathieu Lirzin's message of "Thu, 14 Jan 2016 01:46:41 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Mathieu Lirzin Cc: Guix-devel Mathieu Lirzin (2016-01-14 03:46 +0300) wrote: > Hi, > > Ricardo Wurmus writes: > >>>From ba328617777728c3534be6796b6b32a9a90954b6 Mon Sep 17 00:00:00 2001 >> From: Ricardo Wurmus >> Date: Wed, 13 Jan 2016 16:06:36 +0100 >> Subject: [PATCH] gnu: bind-utils: Build and install "nsupdate". >> >> * gnu/packages/dns.scm (bind-utils)[arguments]: Generalize "build" and >> "install" phases. >> --- >> gnu/packages/dns.scm | 105 ++++++++++++++++++++++++++++----------------------- >> 1 file changed, 58 insertions(+), 47 deletions(-) >> >> diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm >> index 8357dad..0a42722 100644 >> --- a/gnu/packages/dns.scm >> +++ b/gnu/packages/dns.scm > [...] >> + (arguments >> + `(#:tests? #f ; no test phase implemented >> + #:configure-flags >> + (list (string-append "--with-openssl=" >> + (assoc-ref %build-inputs "openssl")) >> + (string-append "--with-dlz-mysql=" >> + (assoc-ref %build-inputs "mysql")) >> + (string-append "--with-pkcs11=" >> + (assoc-ref %build-inputs "p11-kit"))) > > What about: > > #:configure-flags > (map (lambda (opt val) > (string-append opt (assoc-ref %build-inputs val))) > '("--with-openssl=" "--with-dlz-mysql=" "--with-pkcs11=") > '("openssl" "mysql" "p11-kit")) As for me, I prefer the original variant as it looks more clear for me. When I look at this (map ...), I need some time to understand what it does. >> + #:modules ((srfi srfi-1) >> + (srfi srfi-26) >> + ,@%gnu-build-system-modules) >> + #:phases >> + (modify-phases %standard-phases >> + (replace 'build >> + (lambda _ >> + (fold (lambda (dir pass) >> + (and pass (zero? (system* "make" "-C" dir)))) >> + #t >> + (append >> + (map (cut string-append "lib/" <>) >> + (list ,@libs)) >> + (map (cut string-append "bin/" <>) >> + (list ,@bins)))))) >> + (replace 'install >> + (lambda _ >> + (fold (lambda (dir pass) >> + (and pass (zero? (system* "make" "-C" dir "install")))) >> + #t >> + (map (cut string-append "bin/" <>) >> + (list ,@bins)))))))) > > and this: > > (let ((libs '("dns" "isc" "bind9" "isccfg" "lwres")) > (bins '("dig" "nsupdate"))) > (modify-phases %standard-phases > (replace 'build > (lambda _ > (every (lambda (dir) > (zero? (system* "make" "-C" dir))) > (append (map (cut string-append "lib/" <>) libs) > (map (cut string-append "bin/" <>) bins))))) > (replace 'install > (lambda _ > (every (lambda (dir) > (zero? (system* "make" "-C" dir "install"))) > (map (cut string-append "bin/" <>) bins)))))))) > I also think 'every' is more suitable here. -- Alex