guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add mor


From: Taylan Ulrich Bayırlı/Kammer
Subject: Re: docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add moreutils.)
Date: Mon, 02 Feb 2015 01:16:54 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

Mark H Weaver <address@hidden> writes:

> I just realized, it's not good that the docbook-xsl version number is
> hardcoded here.  This will break the next time docbook-xsl is updated.
>
> Does anyone know how to improve this?
>
> The relevant bit in the package Makefile that is being modified is this:
>
> DOCBOOK2XMAN=xsltproc --param man.authors.section.enabled 0 
> /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl
>
> Can we modify this command to avoid giving the full pathname?  Or should
> we modify our docbook-xsl package to add a symlink that allows us to
> omit the version number?
>
>       Mark

I just hacked up the following; not sure if it's OK:

(let* ((docbook-xsl (assoc-ref inputs "docbook-xsl"))
       (files (find-files docbook-xsl "^docbook\\.xsl$")))
  (find (lambda (file)
          (string-match "/manpages/docbook\\.xsl$" file))
        files))

Updated patch:

>From d7eeccc9c6b53670aa82936add30e2b0c80ea201 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <address@hidden>
Date: Sun, 1 Feb 2015 02:21:11 +0100
Subject: [PATCH] gnu: Add moreutils.

* gnu/packages/moreutils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am              |  1 +
 gnu/packages/moreutils.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)
 create mode 100644 gnu/packages/moreutils.scm

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..8ae5b79 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -187,6 +187,7 @@ GNU_SYSTEM_MODULES =                                \
   gnu/packages/miscfiles.scm                   \
   gnu/packages/mit-krb5.scm                    \
   gnu/packages/moe.scm                         \
+  gnu/packages/moreutils.scm                   \
   gnu/packages/mpd.scm                         \
   gnu/packages/mp3.scm                         \
   gnu/packages/mpi.scm                         \
diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm
new file mode 100644
index 0000000..0d07456
--- /dev/null
+++ b/gnu/packages/moreutils.scm
@@ -0,0 +1,69 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <address@hidden>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages moreutils)
+  #:use-module ((guix licenses) #:prefix l:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages docbook))
+
+(define-public moreutils
+  (package
+    (name "moreutils")
+    (version "0.55")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://debian/pool/main/m/moreutils/moreutils_"
+                    version ".orig.tar.gz"))
+              (sha256
+               (base32
+                "1dcah2jx8dbznn8966xl7sf1jrld2qfh6l6xcmx9dsnf8p8mr7fs"))))
+    (build-system gnu-build-system)
+    (inputs `(("perl" ,perl)
+              ("libxml2" ,libxml2)
+              ("libxslt" ,libxslt)
+              ("docbook-xml" ,docbook-xml-4.4)
+              ("docbook-xsl" ,docbook-xsl)))
+    (arguments
+     `(#:phases
+       (alist-replace
+        'configure
+        (lambda* (#:key inputs #:allow-other-keys)
+          (use-modules (srfi srfi-1)
+                       (ice-9 regex))
+          (substitute* "Makefile"
+            (("/usr/share/xml/.*/docbook.xsl")
+             (let* ((docbook-xsl (assoc-ref inputs "docbook-xsl"))
+                    (files (find-files docbook-xsl "^docbook\\.xsl$")))
+               (find (lambda (file)
+                       (string-match "/manpages/docbook\\.xsl$" file))
+                     files)))))
+        %standard-phases)
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+             "CC=gcc")))
+    (home-page "http://joeyh.name/code/moreutils/";)
+    (synopsis "Miscellaneous general-purpose command-line tools")
+    (description
+     "Moreutils is a collection of general-purpose command-line tools to
+augment the traditional Unix toolbox.")
+    (license l:gpl2+)))
-- 
2.2.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]