[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/3] gnu: Add man-db
From: |
Mark H Weaver |
Subject: |
Re: [PATCH 2/3] gnu: Add man-db |
Date: |
Mon, 07 Apr 2014 01:12:50 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Hi David,
David Thompson <address@hidden> writes:
> From e67306f142b9878f3f08688fc837f2faf967a5cb Mon Sep 17 00:00:00 2001
> From: David Thompson <address@hidden>
> 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
- [PATCH 0/3] Add man-db and libpipeline, David Thompson, 2014/04/06
- [PATCH 1/3] gnu: Add libpipeline, David Thompson, 2014/04/06
- [PATCH 2/3] gnu: Add man-db, David Thompson, 2014/04/06
- Re: [PATCH 2/3] gnu: Add man-db,
Mark H Weaver <=
- Message not available
- Re: [PATCH 2/3] gnu: Add man-db, Mark H Weaver, 2014/04/07
- Re: [PATCH 2/3] gnu: Add man-db, David Thompson, 2014/04/08
- Re: [PATCH 2/3] gnu: Add man-db, Ludovic Courtès, 2014/04/08
- Re: [PATCH 2/3] gnu: Add man-db, Thompson, David, 2014/04/08
- Re: [PATCH 2/3] gnu: Add man-db, David Thompson, 2014/04/08
- Re: [PATCH 2/3] gnu: Add man-db, Nikita Karetnikov, 2014/04/08
Re: [PATCH 1/3] gnu: Add libpipeline, Ludovic Courtès, 2014/04/07
Re: [PATCH 0/3] Add man-db and libpipeline, David Thompson, 2014/04/08