unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add moreutils.
@ 2015-02-01  1:23 Taylan Ulrich Bayırlı/Kammer
  2015-02-01  1:44 ` David Thompson
  0 siblings, 1 reply; 12+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-01  1:23 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: gnu: Add moreutils. --]
[-- Type: text/x-diff, Size: 4094 bytes --]

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

* gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
* gnu/packages/moreutils.scm: New file.
---
 gnu-system.am              |  1 +
 gnu/packages/moreutils.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 72 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..da3df89
--- /dev/null
+++ b/gnu/packages/moreutils.scm
@@ -0,0 +1,71 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;;
+;;; 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
+                    "http://ftp.debian.org/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 outputs #:allow-other-keys)
+          (let ((out (assoc-ref outputs "out"))
+                (docbook-xml (assoc-ref inputs "docbook-xml"))
+                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
+            (substitute* "Makefile"
+              (("PREFIX\\?=/usr")
+               (string-append "PREFIX?=" out))
+              (("/usr/share/xml/.*/docbook.xsl")
+               (string-append
+                docbook-xsl
+                "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
+            (setenv
+             "XML_CATALOG_FILES"
+             (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))
+            (setenv "CC" "gcc")))
+        %standard-phases)))
+    (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

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01  1:23 [PATCH] gnu: Add moreutils Taylan Ulrich Bayırlı/Kammer
@ 2015-02-01  1:44 ` David Thompson
  2015-02-01  5:48   ` Mark H Weaver
  0 siblings, 1 reply; 12+ messages in thread
From: David Thompson @ 2015-02-01  1:44 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer, guix-devel

"Taylan Ulrich Bayırlı/Kammer" <taylanbayirli@gmail.com> writes:

> From c770ed88c66c10de47e8fe7f84c3df6cf7b14aa4 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  <taylanbayirli@gmail.com>
> Date: Sun, 1 Feb 2015 02:21:11 +0100
> Subject: [PATCH] gnu: Add moreutils.
>
> * gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
> * gnu/packages/moreutils.scm: New file.
> ---
>  gnu-system.am              |  1 +
>  gnu/packages/moreutils.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 72 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..da3df89
> --- /dev/null
> +++ b/gnu/packages/moreutils.scm
> @@ -0,0 +1,71 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
> +;;;
> +;;; 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
> +                    "http://ftp.debian.org/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 outputs #:allow-other-keys)
> +          (let ((out (assoc-ref outputs "out"))
> +                (docbook-xml (assoc-ref inputs "docbook-xml"))
> +                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
> +            (substitute* "Makefile"
> +              (("PREFIX\\?=/usr")
> +               (string-append "PREFIX?=" out))

In GNU Make, the '?=' operator for variable assignment means "assign if
the variable isn't already defined"[1].  So, rather than a substitution,
how about just setting an environment variable?

  (setenv "PREFIX" out)

> +              (("/usr/share/xml/.*/docbook.xsl")
> +               (string-append
> +                docbook-xsl
> +                "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
> +            (setenv
> +             "XML_CATALOG_FILES"
> +             (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))
> +            (setenv "CC" "gcc")))
> +        %standard-phases)))
> +    (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
>
>

Everything else looks good to me! :)

[1] https://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01  1:44 ` David Thompson
@ 2015-02-01  5:48   ` Mark H Weaver
  2015-02-01 13:08     ` Taylan Ulrich Bayırlı/Kammer
  2015-02-01 13:11     ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 2 replies; 12+ messages in thread
From: Mark H Weaver @ 2015-02-01  5:48 UTC (permalink / raw)
  To: David Thompson; +Cc: guix-devel

David Thompson <dthompson2@worcester.edu> writes:

> "Taylan Ulrich Bayırlı/Kammer" <taylanbayirli@gmail.com> writes:
>
>> From c770ed88c66c10de47e8fe7f84c3df6cf7b14aa4 Mon Sep 17 00:00:00 2001
>> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>>  <taylanbayirli@gmail.com>
>> Date: Sun, 1 Feb 2015 02:21:11 +0100
>> Subject: [PATCH] gnu: Add moreutils.
>>
>> * gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
>> * gnu/packages/moreutils.scm: New file.
>> ---
>>  gnu-system.am              |  1 +
>>  gnu/packages/moreutils.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++
>>  2 files changed, 72 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..da3df89
>> --- /dev/null
>> +++ b/gnu/packages/moreutils.scm
>> @@ -0,0 +1,71 @@
>> +;;; GNU Guix --- Functional package management for GNU
>> +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
>> +;;;
>> +;;; 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
>> +                    "http://ftp.debian.org/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 outputs #:allow-other-keys)
>> +          (let ((out (assoc-ref outputs "out"))
>> +                (docbook-xml (assoc-ref inputs "docbook-xml"))
>> +                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
>> +            (substitute* "Makefile"
>> +              (("PREFIX\\?=/usr")
>> +               (string-append "PREFIX?=" out))
>
> In GNU Make, the '?=' operator for variable assignment means "assign if
> the variable isn't already defined"[1].  So, rather than a substitution,
> how about just setting an environment variable?
>
>   (setenv "PREFIX" out)

Another way is to add "PREFIX=..." to #:make-flags like this:

  #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))

See 'freedink-data' in gnu/packages/games.scm for an example of this.

      Mark

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01  5:48   ` Mark H Weaver
@ 2015-02-01 13:08     ` Taylan Ulrich Bayırlı/Kammer
  2015-02-01 13:11     ` Taylan Ulrich Bayırlı/Kammer
  1 sibling, 0 replies; 12+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-01 13:08 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 643 bytes --]

Mark H Weaver <mhw@netris.org> writes:

> David Thompson <dthompson2@worcester.edu> writes:
>
>> In GNU Make, the '?=' operator for variable assignment means "assign if
>> the variable isn't already defined"[1].  So, rather than a substitution,
>> how about just setting an environment variable?
>>
>>   (setenv "PREFIX" out)
>
> Another way is to add "PREFIX=..." to #:make-flags like this:
>
>   #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
>
> See 'freedink-data' in gnu/packages/games.scm for an example of this.
>
>       Mark

I went with setenv since it's also done for "CC" and seems simpler.  Is
that OK?


[-- Attachment #2: gnu: Add moreutils. --]
[-- Type: text/x-diff, Size: 4047 bytes --]

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

* gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
* gnu/packages/moreutils.scm: New file.
---
 gnu-system.am              |  1 +
 gnu/packages/moreutils.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 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..e86c83c
--- /dev/null
+++ b/gnu/packages/moreutils.scm
@@ -0,0 +1,70 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;;
+;;; 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
+                    "http://ftp.debian.org/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 outputs #:allow-other-keys)
+          (let ((out (assoc-ref outputs "out"))
+                (docbook-xml (assoc-ref inputs "docbook-xml"))
+                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
+            (substitute* "Makefile"
+              (("/usr/share/xml/.*/docbook.xsl")
+               (string-append
+                docbook-xsl
+                "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
+            (setenv
+             "XML_CATALOG_FILES"
+             (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))
+            (setenv "PREFIX" out)
+            (setenv "CC" "gcc")))
+        %standard-phases)))
+    (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


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01  5:48   ` Mark H Weaver
  2015-02-01 13:08     ` Taylan Ulrich Bayırlı/Kammer
@ 2015-02-01 13:11     ` Taylan Ulrich Bayırlı/Kammer
  2015-02-01 14:14       ` David Thompson
  1 sibling, 1 reply; 12+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-01 13:11 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 98 bytes --]

Never mind the previous patch, just saw your comment re. 2015. :-)

(Too much copy-paste again.)


[-- Attachment #2: gnu: Add moreutils. --]
[-- Type: text/x-diff, Size: 4047 bytes --]

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

* gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
* gnu/packages/moreutils.scm: New file.
---
 gnu-system.am              |  1 +
 gnu/packages/moreutils.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 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..700e3e1
--- /dev/null
+++ b/gnu/packages/moreutils.scm
@@ -0,0 +1,70 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;;
+;;; 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
+                    "http://ftp.debian.org/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 outputs #:allow-other-keys)
+          (let ((out (assoc-ref outputs "out"))
+                (docbook-xml (assoc-ref inputs "docbook-xml"))
+                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
+            (substitute* "Makefile"
+              (("/usr/share/xml/.*/docbook.xsl")
+               (string-append
+                docbook-xsl
+                "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
+            (setenv
+             "XML_CATALOG_FILES"
+             (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))
+            (setenv "PREFIX" out)
+            (setenv "CC" "gcc")))
+        %standard-phases)))
+    (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


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01 13:11     ` Taylan Ulrich Bayırlı/Kammer
@ 2015-02-01 14:14       ` David Thompson
  2015-02-01 14:51         ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 1 reply; 12+ messages in thread
From: David Thompson @ 2015-02-01 14:14 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer, Mark H Weaver; +Cc: guix-devel

"Taylan Ulrich Bayırlı/Kammer" <taylanbayirli@gmail.com> writes:

> Never mind the previous patch, just saw your comment re. 2015. :-)
>
> (Too much copy-paste again.)
>
> From dc3070321f3923780d75906d0b73b60fcd166bb0 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  <taylanbayirli@gmail.com>
> Date: Sun, 1 Feb 2015 02:21:11 +0100
> Subject: [PATCH] gnu: Add moreutils.
>
> * gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
> * gnu/packages/moreutils.scm: New file.
> ---
>  gnu-system.am              |  1 +
>  gnu/packages/moreutils.scm | 70 ++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 71 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..700e3e1
> --- /dev/null
> +++ b/gnu/packages/moreutils.scm
> @@ -0,0 +1,70 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
> +;;;
> +;;; 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
> +                    "http://ftp.debian.org/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 outputs #:allow-other-keys)
> +          (let ((out (assoc-ref outputs "out"))
> +                (docbook-xml (assoc-ref inputs "docbook-xml"))
> +                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
> +            (substitute* "Makefile"
> +              (("/usr/share/xml/.*/docbook.xsl")
> +               (string-append
> +                docbook-xsl
> +                "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
> +            (setenv
> +             "XML_CATALOG_FILES"
> +             (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))
> +            (setenv "PREFIX" out)
> +            (setenv "CC" "gcc")))

Mark made a good point about using #:make-flags earlier.  I think it's
better to use the build system argument that is specifically for this
purpose rather than adding 'setenv' calls into the configure phase.

Sorry for leading you in the wrong direction.

> +        %standard-phases)))
> +    (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
>

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01 14:14       ` David Thompson
@ 2015-02-01 14:51         ` Taylan Ulrich Bayırlı/Kammer
  2015-02-01 22:01           ` Mark H Weaver
  2015-02-02 21:51           ` [PATCH] gnu: Add moreutils Ludovic Courtès
  0 siblings, 2 replies; 12+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-01 14:51 UTC (permalink / raw)
  To: David Thompson; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 164 bytes --]

No problem; here's the updated patch. :-)

I still use setenv for XML_CATALOG_FILES; is there a more correct way?
(It's not a Make variable; it's for xmllint(1).)


[-- Attachment #2: gnu: Add moreutils. --]
[-- Type: text/x-diff, Size: 4092 bytes --]

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

* gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
* gnu/packages/moreutils.scm: New file.
---
 gnu-system.am              |  1 +
 gnu/packages/moreutils.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 72 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..5a09b0f
--- /dev/null
+++ b/gnu/packages/moreutils.scm
@@ -0,0 +1,71 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;;
+;;; 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
+                    "http://ftp.debian.org/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 outputs #:allow-other-keys)
+          (let ((out (assoc-ref outputs "out"))
+                (docbook-xml (assoc-ref inputs "docbook-xml"))
+                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
+            (substitute* "Makefile"
+              (("/usr/share/xml/.*/docbook.xsl")
+               (string-append
+                docbook-xsl
+                "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
+            (setenv
+             "XML_CATALOG_FILES"
+             (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))))
+        %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


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01 14:51         ` Taylan Ulrich Bayırlı/Kammer
@ 2015-02-01 22:01           ` Mark H Weaver
  2015-02-01 22:08             ` docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add moreutils.) Mark H Weaver
  2015-02-02 21:51           ` [PATCH] gnu: Add moreutils Ludovic Courtès
  1 sibling, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2015-02-01 22:01 UTC (permalink / raw)
  To: Taylan Ulrich Bayırlı/Kammer; +Cc: guix-devel

taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> I still use setenv for XML_CATALOG_FILES; is there a more correct way?

This is handled automatically, so you can simply omit that part.

> From b38dd34fce834a54ccd0ae4628d8806418b41269 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  <taylanbayirli@gmail.com>
> Date: Sun, 1 Feb 2015 02:21:11 +0100
> Subject: [PATCH] gnu: Add moreutils.
>
> * gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
> * gnu/packages/moreutils.scm: New file.

It's not important, but for brevity we usually write it like this:

* gnu/packages/moreutils.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.

> ---
>  gnu-system.am              |  1 +
>  gnu/packages/moreutils.scm | 71 ++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 72 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..5a09b0f
> --- /dev/null
> +++ b/gnu/packages/moreutils.scm
> @@ -0,0 +1,71 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
> +;;;
> +;;; 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
> +                    "http://ftp.debian.org/debian/pool/main/m/moreutils/moreutils_"

Rather: "mirror://debian/pool/main/m/moreutils/moreutils_"

(there are other Debian URLs in our tree that could use this change)

> +                    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 outputs #:allow-other-keys)
> +          (let ((out (assoc-ref outputs "out"))
> +                (docbook-xml (assoc-ref inputs "docbook-xml"))
> +                (docbook-xsl (assoc-ref inputs "docbook-xsl")))
> +            (substitute* "Makefile"
> +              (("/usr/share/xml/.*/docbook.xsl")
> +               (string-append
> +                docbook-xsl
> +                "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
> +            (setenv
> +             "XML_CATALOG_FILES"
> +             (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))))

XML_CATALOG_FILES is set automatically by gnu-build-system, so you can
omit it.  This means you can also omit the 'docbook-xml' variable.

The 'out' variable is not used, so you can omit it.  Then the 'outputs'
argument will be unused, so omit it.  'docbook-xsl' is used in only one
place, so the expression to compute it could simply be put where it is
used, though it's a matter of taste and up to you :)

With these simplifications, it would look like this:

        (lambda* (#:key inputs #:allow-other-keys)
          (substitute* "Makefile"
            (("/usr/share/xml/.*/docbook.xsl")
             (string-append
              (assoc-ref inputs "docbook-xsl")
              "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl"))))

> +        %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+)))

Otherwise looks good.  Can you send an updated patch?

     Thanks!
       Mark

^ permalink raw reply	[flat|nested] 12+ messages in thread

* docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add moreutils.)
  2015-02-01 22:01           ` Mark H Weaver
@ 2015-02-01 22:08             ` Mark H Weaver
  2015-02-02  0:16               ` Taylan Ulrich Bayırlı/Kammer
  0 siblings, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2015-02-01 22:08 UTC (permalink / raw)
  To: Taylan Ulrich "Bayırlı/Kammer"; +Cc: guix-devel

Mark H Weaver <mhw@netris.org> writes:

> With these simplifications, it would look like this:
>
>         (lambda* (#:key inputs #:allow-other-keys)
>           (substitute* "Makefile"
>             (("/usr/share/xml/.*/docbook.xsl")
>              (string-append
>               (assoc-ref inputs "docbook-xsl")
>               "/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl"))))

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add moreutils.)
  2015-02-01 22:08             ` docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add moreutils.) Mark H Weaver
@ 2015-02-02  0:16               ` Taylan Ulrich Bayırlı/Kammer
  2015-02-13 15:10                 ` Mark H Weaver
  0 siblings, 1 reply; 12+ messages in thread
From: Taylan Ulrich Bayırlı/Kammer @ 2015-02-02  0:16 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 907 bytes --]

Mark H Weaver <mhw@netris.org> 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:


[-- Attachment #2: patch --]
[-- Type: text/x-diff, Size: 3974 bytes --]

From d7eeccc9c6b53670aa82936add30e2b0c80ea201 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 <taylanbayirli@gmail.com>
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 <taylanbayirli@gmail.com>
+;;;
+;;; 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


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] gnu: Add moreutils.
  2015-02-01 14:51         ` Taylan Ulrich Bayırlı/Kammer
  2015-02-01 22:01           ` Mark H Weaver
@ 2015-02-02 21:51           ` Ludovic Courtès
  1 sibling, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2015-02-02 21:51 UTC (permalink / raw)
  To: Taylan Ulrich "Bayırlı/Kammer"; +Cc: guix-devel

taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:

> I still use setenv for XML_CATALOG_FILES; is there a more correct way?

Yes there is!  libxml2 has a ‘search-path-specification’ for it, meaning
that if both libxml2 and docbook are inputs, XML_CATALOG_FILES will
automatically be set to
/path/to/docbook-xsl/xml/docbook/whatev/42.1/catalog.xml.

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add moreutils.)
  2015-02-02  0:16               ` Taylan Ulrich Bayırlı/Kammer
@ 2015-02-13 15:10                 ` Mark H Weaver
  0 siblings, 0 replies; 12+ messages in thread
From: Mark H Weaver @ 2015-02-13 15:10 UTC (permalink / raw)
  To: Taylan Ulrich "Bayırlı/Kammer"; +Cc: guix-devel

taylanbayirli@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> From d7eeccc9c6b53670aa82936add30e2b0c80ea201 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  <taylanbayirli@gmail.com>
> 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 <taylanbayirli@gmail.com>
> +;;;
> +;;; 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)))))

How about using 'string-suffix?' instead of 'string-match'?  Then you
could remove the (ice-9 regex) import.  This would also be a nice place
to use 'cut'.

> +        %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+)))

Otherwise looks good to me.  Okay to push.

     Thanks!
       Mark

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-02-13 15:10 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-01  1:23 [PATCH] gnu: Add moreutils Taylan Ulrich Bayırlı/Kammer
2015-02-01  1:44 ` David Thompson
2015-02-01  5:48   ` Mark H Weaver
2015-02-01 13:08     ` Taylan Ulrich Bayırlı/Kammer
2015-02-01 13:11     ` Taylan Ulrich Bayırlı/Kammer
2015-02-01 14:14       ` David Thompson
2015-02-01 14:51         ` Taylan Ulrich Bayırlı/Kammer
2015-02-01 22:01           ` Mark H Weaver
2015-02-01 22:08             ` docbook-xsl version number in pathname (was Re: [PATCH] gnu: Add moreutils.) Mark H Weaver
2015-02-02  0:16               ` Taylan Ulrich Bayırlı/Kammer
2015-02-13 15:10                 ` Mark H Weaver
2015-02-02 21:51           ` [PATCH] gnu: Add moreutils Ludovic Courtès

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).