all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Kete <kete@ninthfloor.org>
Cc: guix-devel@gnu.org
Subject: Re: Package Definition Place
Date: Sat, 04 Jan 2014 12:47:06 +0100	[thread overview]
Message-ID: <87iou0ge9x.fsf@gnu.org> (raw)
In-Reply-To: <5816667.J2aAP2f9Oe@knossos> (kete@ninthfloor.org's message of "Fri, 03 Jan 2014 20:10:56 -0500")

Kete <kete@ninthfloor.org> 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’s an issue with the ‘configure’ script of Zsh now.

I’d recommend looking at how that tcsetpgrp check is implemented, to see
what makes it think it doesn’t work.  In particular what does
‘config.log’ report about this test?

This may be due to the chroot build environment, which could be lacking
something Zsh expects (see
<http://www.gnu.org/software/guix/manual/guix.html#Setting-Up-the-Daemon>
for details.)

> I tried the first flag, but it "failed to match any pattern in form". I was 
> copying the bash.scm, but I'm not sure if Zsh needs the readline and texinfo 
> stuff. Maybe I should just attach my package definition as Nikita requested. 
> It's attached.

Note that bash.scm is relatively complex, because Bash has a limited
‘configure’ interface; hopefully you can do something simpler here.

> By the way, the license also says some of the scripts are licensed with the 
> GPL.

The ‘license’ field should reflect the license of what gets installed.
So if build-time scripts are GPL, that doesn’t matter here.  But please
do skim over the license headers to make sure they’re all under that
X11-style license.

> (define-public zsh
>   (let* ((configure-flags
> 	  ``("--with-tcsetpgrp"))))

‘let*’ introduces a ‘configure-flags’ local variable, but it’s not used
after that.  So you can remove that ‘let*’ 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 ‘arguments’ field (info "(guix) Defining Packages"):

  (arguments '(#:configure-flags '("--with-tcsetpgrp")))

In the build log, search for ‘configure flags’, and you’ll 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’t use Readline nor Texinfo, but please check
its documentation to see what’s needed.

>    (synopsis "Z Shell")
>    (description "Zsh is a UNIX command interpreter (shell) usable as an interactive login shell and as a shell script command processor. Of the standard shells, zsh most closely resembles ksh but includes many enhancements. Zsh has command line editing, builtin spelling correction, programmable command completion, shell functions (with autoloading), a history mechanism, and a host of other features.")

Please wrap lines below 80 characters, and don’t use tabs (see “Coding
Style” in the ‘HACKING’ file.)

Hope this helps!

Ludo’.

  parent reply	other threads:[~2014-01-04 11:47 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-30  3:55 Package Definition Place Kete
2013-12-30  7:16 ` John Darrington
2013-12-31  0:37   ` Kete
2014-01-01 12:52     ` John Darrington
2014-01-01 16:05       ` Kete
     [not found] ` <1458111.8sUPPTkUlg@knossos>
     [not found]   ` <20140101160917.GA13487@intra>
2014-01-01 16:32     ` Kete
2014-01-01 16:50       ` John Darrington
2014-01-01 19:13         ` Kete
2014-01-01 19:55           ` John Darrington
2014-01-01 20:38             ` Kete
2014-01-01 22:30             ` Kete
2014-01-02  2:44               ` Nikita Karetnikov
2014-01-02  2:50                 ` Nikita Karetnikov
2014-01-02 10:06                   ` Kete
2014-01-02 14:58                     ` Nikita Karetnikov
2014-01-02 23:45                       ` Kete
2014-01-03  2:28                 ` Kete
2014-01-03  5:50                   ` John Darrington
2014-01-03 11:37                     ` Kete
2014-01-03 15:16                       ` Nikita Karetnikov
2014-01-03 15:19                       ` Ludovic Courtès
2014-01-04  1:10                         ` Kete
2014-01-04  7:15                           ` John Darrington
2014-01-04 21:21                             ` Kete
2014-01-04 22:25                               ` John Darrington
2014-01-05 18:21                               ` Ludovic Courtès
2014-01-04 11:47                           ` Ludovic Courtès [this message]
2014-01-04 21:31                             ` Kete
2014-01-05 17:57                               ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iou0ge9x.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=kete@ninthfloor.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.