all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: David Thompson <dthompson2@worcester.edu>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 2/3] gnu: Add man-db
Date: Mon, 07 Apr 2014 01:12:50 -0400	[thread overview]
Message-ID: <87vbulsox9.fsf@yeeloong.lan> (raw)
In-Reply-To: <871txaeznu.fsf@labrys.i-did-not-set--mail-host-address--so-tickle-me> (David Thompson's message of "Sun, 06 Apr 2014 20:44:37 -0400")

Hi David,

David Thompson <dthompson2@worcester.edu> writes:

> From e67306f142b9878f3f08688fc837f2faf967a5cb Mon Sep 17 00:00:00 2001
> From: David Thompson <dthompson@member.fsf.org>
> Date: Sun, 6 Apr 2014 20:25:01 -0400
> Subject: [PATCH 2/3] gnu: Add man-db.
>
> * gnu/packages.man.scm (man-db): New variable.
> ---
>  gnu/packages/man.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 53 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
> index aeb7c15..47eb892 100644
> --- a/gnu/packages/man.scm
> +++ b/gnu/packages/man.scm
> @@ -20,7 +20,13 @@
>    #:use-module (guix licenses)
>    #:use-module (guix download)
>    #:use-module (guix packages)
> -  #:use-module (guix build-system gnu))
> +  #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages flex)
> +  #:use-module (gnu packages gdbm)
> +  #:use-module (gnu packages groff)
> +  #:use-module (gnu packages less)
> +  #:use-module (gnu packages lynx)
> +  #:use-module (gnu packages pkg-config))
>  
>  (define-public libpipeline
>    (package
> @@ -41,3 +47,49 @@
>       "libpipeline is a C library for manipulating pipelines of subprocesses in
>  a flexible and convenient way.")
>      (license gpl3+)))
> +
> +(define-public man-db
> +  (package
> +    (name "man-db")
> +    (version "2.6.6")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "http://download.savannah.gnu.org/releases/man-db/man-db-"
> +                    version ".tar.xz"))
> +              (sha256
> +               (base32
> +                "1hv6byj6sg6cp3jyf08gbmdm4pwhvd5hzmb94xl0w7prin6hzabx"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     '(#:phases (alist-cons-after
> +                 'patch-source-shebangs 'patch-test-shebangs
> +                 (lambda* (#:key outputs #:allow-other-keys)
> +                   ;; Patch shebangs in test scripts.
> +                   (use-modules (srfi srfi-1))

Instead of putting the 'use-modules' form within the lambda (I'm
surprised this even works, and I wouldn't expect it to necessarily work
in future versions of guile) the way to do this is to add a #:modules
keyword to the arguments list.  See 'hop' in scheme.scm for an example.

Be sure to include (guix build gnu-build-system) and (guix build utils)
in addition to (srfi srfi-1).  Those first two modules are included by
default, and you'll need them.

> +                   (let ((out (assoc-ref outputs "out")))
> +                     (for-each (lambda (file)
> +                                 (substitute* file
> +                                   (("#! /bin/sh")
> +                                    (string-append "#!" (which "sh")))))
> +                               (remove file-is-directory?
> +                                       (find-files "src/tests" ".*")))))
> +                 %standard-phases)
> +       #:configure-flags '("--disable-setuid"))) ;; Disable setuid man user.
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("flex" ,flex)
> +       ("gdbm" ,gdbm)
> +       ("libpipeline" ,libpipeline)
> +       ("lynx" ,lynx)))

Why is 'lynx' an input?  I remember you mentioning on IRC that if PAGER
is not set, it launched a web browser by default.  I wonder: if you
included 'less' and not 'lynx', would it use 'less' by default instead?

    Thanks!
      Mark

  parent reply	other threads:[~2014-04-07  5:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-07  0:43 [PATCH 0/3] Add man-db and libpipeline David Thompson
2014-04-07  0:43 ` [PATCH 1/3] gnu: Add libpipeline David Thompson
2014-04-07  0:44   ` [PATCH 2/3] gnu: Add man-db David Thompson
2014-04-07  0:45     ` [PATCH 3/3] gnu: Move help2man package to (gnu packages man) module David Thompson
2014-04-07  7:47       ` Ludovic Courtès
2014-04-07  5:12     ` Mark H Weaver [this message]
     [not found]       ` <87txa59xvw.fsf@labrys.i-did-not-set--mail-host-address--so-tickle-me>
2014-04-08  1:51         ` [PATCH 2/3] gnu: Add man-db Mark H Weaver
2014-04-08 11:46           ` David Thompson
2014-04-08 12:12             ` Ludovic Courtès
2014-04-08 12:40               ` Thompson, David
2014-04-08 22:02               ` David Thompson
2014-04-08 22:55                 ` Nikita Karetnikov
2014-04-07  7:46   ` [PATCH 1/3] gnu: Add libpipeline Ludovic Courtès
2014-04-09  0:52 ` [PATCH 0/3] Add man-db and libpipeline David Thompson
2014-04-09  9:32   ` 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=87vbulsox9.fsf@yeeloong.lan \
    --to=mhw@netris.org \
    --cc=dthompson2@worcester.edu \
    --cc=guix-devel@gnu.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.