From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Package Definition Place Date: Sat, 04 Jan 2014 12:47:06 +0100 Message-ID: <87iou0ge9x.fsf@gnu.org> References: <1471744.UPeTPsttfJ@knossos> <1524895.hciPEQfdFj@knossos> <87k3ehnldt.fsf@gnu.org> <5816667.J2aAP2f9Oe@knossos> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzPhB-0003Oj-Ql for guix-devel@gnu.org; Sat, 04 Jan 2014 06:47:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VzPh7-0003wC-0Z for guix-devel@gnu.org; Sat, 04 Jan 2014 06:47:13 -0500 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:1868) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VzPh6-0003w3-R5 for guix-devel@gnu.org; Sat, 04 Jan 2014 06:47:08 -0500 In-Reply-To: <5816667.J2aAP2f9Oe@knossos> (kete@ninthfloor.org's message of "Fri, 03 Jan 2014 20:10:56 -0500") 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: Kete Cc: guix-devel@gnu.org Kete skribis: > Thanks, that did help, but I got the following error: > checking if tcsetpgrp() actually works... notty > configure: error: no controlling tty > Try running configure with --with-tcsetpgrp or --without-tcsetpgrp Ah, that=E2=80=99s an issue with the =E2=80=98configure=E2=80=99 script of = Zsh now. I=E2=80=99d recommend looking at how that tcsetpgrp check is implemented, t= o see what makes it think it doesn=E2=80=99t work. In particular what does =E2=80=98config.log=E2=80=99 report about this test? This may be due to the chroot build environment, which could be lacking something Zsh expects (see for details.) > I tried the first flag, but it "failed to match any pattern in form". I w= as=20 > copying the bash.scm, but I'm not sure if Zsh needs the readline and texi= nfo=20 > stuff. Maybe I should just attach my package definition as Nikita request= ed.=20 > It's attached. Note that bash.scm is relatively complex, because Bash has a limited =E2=80=98configure=E2=80=99 interface; hopefully you can do something simpl= er here. > By the way, the license also says some of the scripts are licensed with t= he=20 > GPL. The =E2=80=98license=E2=80=99 field should reflect the license of what gets= installed. So if build-time scripts are GPL, that doesn=E2=80=99t matter here. But pl= ease do skim over the license headers to make sure they=E2=80=99re all under that X11-style license. > (define-public zsh > (let* ((configure-flags > ``("--with-tcsetpgrp")))) =E2=80=98let*=E2=80=99 introduces a =E2=80=98configure-flags=E2=80=99 local= variable, but it=E2=80=99s not used after that. So you can remove that =E2=80=98let*=E2=80=99 form altogether,= and instead... > (package > (name "zsh") > (version "5.0.2") > (source (origin > (method url-fetch) > (uri (string-append "ftp://ftp.zsh.org/zsh/zsh.tar.bz2")) > (sha256 > (base32 "1s2fvv0zfpi0qg9fzhiv8ac19pwbbjd0sbsbzmll3nqa8k4yfvz9")))) > (build-system gnu-build-system) ... you can add an =E2=80=98arguments=E2=80=99 field (info "(guix) Defining= Packages"): (arguments '(#:configure-flags '("--with-tcsetpgrp"))) In the build log, search for =E2=80=98configure flags=E2=80=99, and you=E2= =80=99ll notice that --with-tcsetpgrp is now passed (and I guess this should solve the problem above?) > (inputs `(("readline" ,readline) > ("ncurses" ,ncurses) > ("texinfo" ,texinfo))) My guess is that Zsh doesn=E2=80=99t use Readline nor Texinfo, but please c= heck its documentation to see what=E2=80=99s needed. > (synopsis "Z Shell") > (description "Zsh is a UNIX command interpreter (shell) usable as an i= nteractive login shell and as a shell script command processor. Of the stan= dard shells, zsh most closely resembles ksh but includes many enhancements.= Zsh has command line editing, builtin spelling correction, programmable co= mmand completion, shell functions (with autoloading), a history mechanism, = and a host of other features.") Please wrap lines below 80 characters, and don=E2=80=99t use tabs (see =E2= =80=9CCoding Style=E2=80=9D in the =E2=80=98HACKING=E2=80=99 file.) Hope this helps! Ludo=E2=80=99.