unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* (unknown), 
  2014-01-23 13:30 [PATCH] Doc: Introduction: rewrite for style and clarity Ludovic Courtès
@ 2014-01-23 18:00 ` Alex Sassmannshausen
  0 siblings, 0 replies; 57+ messages in thread
From: Alex Sassmannshausen @ 2014-01-23 18:00 UTC (permalink / raw)
  To: guix-devel

Hello,

Please find, following on from this, a further revision of the patch
for dmd's manual, taking into account Ludovic's feedback.

Best wishes,

Alex

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

* [PATCH 1/3] gnu: libxft: Propagate input.
@ 2014-01-23 20:07 John Darrington
  2014-01-23 20:07 ` [PATCH 2/3] gnu: fltk: New module John Darrington
                   ` (2 more replies)
  0 siblings, 3 replies; 57+ messages in thread
From: John Darrington @ 2014-01-23 20:07 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/xorg.scm (libxft): Propagate input libxrender.
---
 gnu/packages/xorg.scm |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index dfdd82c..c21ed63 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1257,10 +1257,11 @@ tracking.")
           (base32
             "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz"))))
     (build-system gnu-build-system)
+    (propagated-inputs
+      `(("libxrender" ,libxrender)))
     (inputs
       `(("libx11" ,libx11)
         ("xproto" ,xproto)
-        ("libxrender" ,libxrender)
         ("freetype" ,freetype)
         ("fontconfig" ,fontconfig)))
     (native-inputs
-- 
1.7.10.4

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

* [PATCH 2/3] gnu: fltk: New module
  2014-01-23 20:07 [PATCH 1/3] gnu: libxft: Propagate input John Darrington
@ 2014-01-23 20:07 ` John Darrington
  2014-01-24 16:07   ` Thompson, David
  2014-01-23 20:07 ` [PATCH 3/3] gnu: Add octave and dependencies John Darrington
  2014-01-24 13:11 ` [PATCH 1/3] gnu: libxft: Propagate input Ludovic Courtès
  2 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-23 20:07 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/fltk.scm: New file
* gnu-system.am: New file fltk.scm
---
 gnu-system.am         |    1 +
 gnu/packages/fltk.scm |   63 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 gnu/packages/fltk.scm

diff --git a/gnu-system.am b/gnu-system.am
index 47995b5..5c01e8e 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -62,6 +62,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/fdisk.scm			\
   gnu/packages/file.scm				\
   gnu/packages/flex.scm				\
+  gnu/packages/fltk.scm				\
   gnu/packages/fonts.scm			\
   gnu/packages/fontutils.scm			\
   gnu/packages/freeipmi.scm			\
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
new file mode 100644
index 0000000..245cd93
--- /dev/null
+++ b/gnu/packages/fltk.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;;
+;;; 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 fltk)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages gl)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public fltk
+  (package
+    (name "fltk")
+    (version "1.3.2")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "http://fltk.org/pub/fltk/1.3.2/fltk-" version "-source.tar.gz"))
+      (sha256
+       (base32
+        "1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p"))))
+   (build-system gnu-build-system)
+    (inputs
+      `(("libx11" ,libx11)
+        ("mesa" ,mesa)))
+    (arguments
+     `(#:phases
+       (alist-replace
+        'check
+        (lambda* (#:key inputs #:allow-other-keys) #t) ;; fltk does not have a
+                                                      ;; check target
+        (alist-replace
+         'configure
+         (lambda* (#:key outputs #:allow-other-keys #:rest args)
+           (let ((configure (assoc-ref %standard-phases 'configure)))
+             (substitute* "makeinclude.in"
+               (("/bin/sh") (which "sh")))
+             (apply configure args)))
+         %standard-phases))))
+    (home-page "https://www.fltk.org")
+    (synopsis "3D C++ GUI library")
+    (description "FLTK is a C++ GUI toolkit providing modern GUI functionality without the
+bloat. It supports 3D graphics via OpenGL and its built-in GLUT emulation.
+FLTK is designed to be small and modular enough to be statically linked, but
+works fine as a shared library. FLTK also includes an excellent UI builder
+called FLUID that can be used to create applications in minutes.")
+    (license lgpl2.0))) ; plus certain additional permissions
-- 
1.7.10.4

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

* [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-23 20:07 [PATCH 1/3] gnu: libxft: Propagate input John Darrington
  2014-01-23 20:07 ` [PATCH 2/3] gnu: fltk: New module John Darrington
@ 2014-01-23 20:07 ` John Darrington
  2014-01-25 15:30   ` Ludovic Courtès
  2014-01-24 13:11 ` [PATCH 1/3] gnu: libxft: Propagate input Ludovic Courtès
  2 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-23 20:07 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/maths.scm (octave gnuplot): New variables
---
 gnu/packages/maths.scm |   88 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 640d502..ffa2cd9 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -25,16 +25,25 @@
   #:use-module (guix download)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build utils)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages fltk)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages less)
   #:use-module (gnu packages multiprecision)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages xml))
 
 (define-public units
@@ -202,3 +211,82 @@ output in text, PostScript, PDF or HTML.")
 problems in numerical linear algebra.")
     (license (license:bsd-style "file://LICENSE"
                                 "See LICENSE in the distribution."))))
+
+(define-public gnuplot
+  (package
+    (name "gnuplot")
+    (version "4.6.3")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
+                                version "/gnuplot-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1xd7gqdhlk7k1p9yyqf9vkk811nadc7m4si0q3nb6cpv4pxglpyz"))
+      ))
+    (build-system gnu-build-system)
+    (home-page "http://www.gnuplot.info")
+    (synopsis "command-line driven graphing utility.")
+    (description "Gnuplot  is a portable command-line driven graphing
+utility. It was originally created to allow scientists and students to
+visualize mathematical functions and data interactively, but has grown to
+support many non-interactive uses such as web scripting. It is also used as a
+plotting engine by third-party applications like Octave.") 
+    (license 
+     license:fsf-free))) ; http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright 
+                         ;  X11 Style with the additional restriction that
+                         ;  derived works may only be distributed as patches
+                         ;  to the original.
+
+
+(define-public octave
+  (package
+    (name "octave")
+    (version "3.8.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnu/octave/octave-"
+                          version ".tar.gz"))
+      (sha256
+       (base32
+        "0ks9pr154syw0vb3jn6xsnrkkrbvf9y7i7gaxa28rz6ngxbxvq9l"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("lapack" ,lapack)
+       ("readline" ,readline)
+       ("glpk" ,glpk)
+       ("curl" ,curl)
+       ("pcre" ,pcre)
+       ("fltk" ,fltk)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("libxft" ,libxft)
+       ("mesa" ,mesa)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("gfortran" ,gfortran-4.8)
+       ("perl" ,perl)
+       ("less" ,less)
+       ("pkg-config" ,pkg-config)
+       ("texinfo" ,texinfo)
+       ("ghostscript" ,ghostscript)
+       ("gnuplot" ,gnuplot)))
+    (propagated-inputs
+      `(("texinfo" ,texinfo)
+        ("less" ,less)
+        ("ghostscript" ,ghostscript)
+        ("gnuplot" ,gnuplot)))
+    (arguments
+     `(#:configure-flags (list (string-append "--with-shell=" 
+                            (assoc-ref %build-inputs "bash")
+                            "/bin/sh"))))
+    (home-page "http://www.gnu.org/software/octave/")
+    (synopsis "High-level language for numerical computation")
+    (description "GNU Octave is a high-level interpreted language that is specialized
+for numerical computations.  It can be used for both linear and non-linear
+applications and it provides great support for visualizing results.  Work may
+be performed both at the interactive command-line as well as via script
+files.")
+    (license license:gpl3+)))
-- 
1.7.10.4

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

* Re: [PATCH 1/3] gnu: libxft: Propagate input.
  2014-01-23 20:07 [PATCH 1/3] gnu: libxft: Propagate input John Darrington
  2014-01-23 20:07 ` [PATCH 2/3] gnu: fltk: New module John Darrington
  2014-01-23 20:07 ` [PATCH 3/3] gnu: Add octave and dependencies John Darrington
@ 2014-01-24 13:11 ` Ludovic Courtès
  2014-01-25  7:01   ` [PATCH 1/2] " John Darrington
  2 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-24 13:11 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <jmd@gnu.org> skribis:

> * gnu/packages/xorg.scm (libxft): Propagate input libxrender.

Can you please provide the rationale in a comment next to it?

Thanks,
Ludo’.

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

* Re: [PATCH 2/3] gnu: fltk: New module
  2014-01-23 20:07 ` [PATCH 2/3] gnu: fltk: New module John Darrington
@ 2014-01-24 16:07   ` Thompson, David
  2014-01-25  7:00     ` [PATCH 2/2] " John Darrington
  0 siblings, 1 reply; 57+ messages in thread
From: Thompson, David @ 2014-01-24 16:07 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

Hi John,

Noticed one small thing.

On Thu, Jan 23, 2014 at 3:07 PM, John Darrington <jmd@gnu.org> wrote:
> * gnu/packages/fltk.scm: New file
> * gnu-system.am: New file fltk.scm
> ---
>  gnu-system.am         |    1 +
>  gnu/packages/fltk.scm |   63 +++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 64 insertions(+)
>  create mode 100644 gnu/packages/fltk.scm
>
> diff --git a/gnu-system.am b/gnu-system.am
> index 47995b5..5c01e8e 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -62,6 +62,7 @@ GNU_SYSTEM_MODULES =                          \
>    gnu/packages/fdisk.scm                       \
>    gnu/packages/file.scm                                \
>    gnu/packages/flex.scm                                \
> +  gnu/packages/fltk.scm                                \
>    gnu/packages/fonts.scm                       \
>    gnu/packages/fontutils.scm                   \
>    gnu/packages/freeipmi.scm                    \
> diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
> new file mode 100644
> index 0000000..245cd93
> --- /dev/null
> +++ b/gnu/packages/fltk.scm
> @@ -0,0 +1,63 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2014 John Darrington <jmd@gnu.org>
> +;;;
> +;;; 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 fltk)
> +  #:use-module (guix licenses)
> +  #:use-module (gnu packages xorg)
> +  #:use-module (gnu packages gl)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu))
> +
> +(define-public fltk
> +  (package
> +    (name "fltk")
> +    (version "1.3.2")
> +    (source
> +     (origin
> +      (method url-fetch)
> +      (uri (string-append "http://fltk.org/pub/fltk/1.3.2/fltk-" version "-source.tar.gz"))

Substitute "1.3.2" with 'version'.

> +      (sha256
> +       (base32
> +        "1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p"))))
> +   (build-system gnu-build-system)
> +    (inputs
> +      `(("libx11" ,libx11)
> +        ("mesa" ,mesa)))
> +    (arguments
> +     `(#:phases
> +       (alist-replace
> +        'check
> +        (lambda* (#:key inputs #:allow-other-keys) #t) ;; fltk does not have a
> +                                                      ;; check target
> +        (alist-replace
> +         'configure
> +         (lambda* (#:key outputs #:allow-other-keys #:rest args)
> +           (let ((configure (assoc-ref %standard-phases 'configure)))
> +             (substitute* "makeinclude.in"
> +               (("/bin/sh") (which "sh")))
> +             (apply configure args)))
> +         %standard-phases))))
> +    (home-page "https://www.fltk.org")
> +    (synopsis "3D C++ GUI library")
> +    (description "FLTK is a C++ GUI toolkit providing modern GUI functionality without the
> +bloat. It supports 3D graphics via OpenGL and its built-in GLUT emulation.
> +FLTK is designed to be small and modular enough to be statically linked, but
> +works fine as a shared library. FLTK also includes an excellent UI builder
> +called FLUID that can be used to create applications in minutes.")
> +    (license lgpl2.0))) ; plus certain additional permissions
> --
> 1.7.10.4
>
>

- Dave

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

* [PATCH 2/2] gnu: fltk: New module
  2014-01-24 16:07   ` Thompson, David
@ 2014-01-25  7:00     ` John Darrington
  2014-01-25  8:27       ` (unknown), John Darrington
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-25  7:00 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/fltk.scm: New file
* gnu-system.am: New file fltk.scm
---
 gnu-system.am         |    2 ++
 gnu/packages/fltk.scm |   63 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)
 create mode 100644 gnu/packages/fltk.scm

diff --git a/gnu-system.am b/gnu-system.am
index 31d664e..a2d85c8 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -57,12 +57,14 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/dictionaries.scm			\
   gnu/packages/docbook.scm			\
   gnu/packages/dwm.scm				\
+  gnu/packages/e2fsprogs.scm			\
   gnu/packages/ed.scm				\
   gnu/packages/elf.scm				\
   gnu/packages/emacs.scm			\
   gnu/packages/fdisk.scm			\
   gnu/packages/file.scm				\
   gnu/packages/flex.scm				\
+  gnu/packages/fltk.scm				\
   gnu/packages/fonts.scm			\
   gnu/packages/fontutils.scm			\
   gnu/packages/freeipmi.scm			\
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
new file mode 100644
index 0000000..4c8fc3f
--- /dev/null
+++ b/gnu/packages/fltk.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;;
+;;; 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 fltk)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages gl)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public fltk
+  (package
+    (name "fltk")
+    (version "1.3.2")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "http://fltk.org/pub/fltk/" version "/fltk-" version "-source.tar.gz"))
+      (sha256
+       (base32
+        "1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p"))))
+   (build-system gnu-build-system)
+    (inputs
+      `(("libx11" ,libx11)
+        ("mesa" ,mesa)))
+    (arguments
+     `(#:phases
+       (alist-replace
+        'check
+        (lambda* (#:key inputs #:allow-other-keys) #t) ;; fltk does not have a
+                                                       ;; check target
+        (alist-replace
+         'configure
+         (lambda* (#:key outputs #:allow-other-keys #:rest args)
+           (let ((configure (assoc-ref %standard-phases 'configure)))
+             (substitute* "makeinclude.in"
+               (("/bin/sh") (which "sh")))
+             (apply configure args)))
+         %standard-phases))))
+    (home-page "https://www.fltk.org")
+    (synopsis "3D C++ GUI library")
+    (description "FLTK is a C++ GUI toolkit providing modern GUI functionality without the
+bloat. It supports 3D graphics via OpenGL and its built-in GLUT emulation.
+FLTK is designed to be small and modular enough to be statically linked, but
+works fine as a shared library. FLTK also includes an excellent UI builder
+called FLUID that can be used to create applications in minutes.")
+    (license lgpl2.0))) ; plus certain additional permissions
-- 
1.7.10.4

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

* [PATCH 1/2] gnu: libxft: Propagate input.
  2014-01-24 13:11 ` [PATCH 1/3] gnu: libxft: Propagate input Ludovic Courtès
@ 2014-01-25  7:01   ` John Darrington
  2014-01-25 15:19     ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-25  7:01 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/xorg.scm (libxft): Propagate input libxrender.
---
 gnu/packages/xorg.scm |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index dfdd82c..c230654 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1257,10 +1257,12 @@ tracking.")
           (base32
             "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz"))))
     (build-system gnu-build-system)
+    (propagated-inputs
+      `(("libxrender" ,libxrender))) ;; libxft refers to symbols in libxrender, 
+                                     ;; so without it, applications cannot be built.
     (inputs
       `(("libx11" ,libx11)
         ("xproto" ,xproto)
-        ("libxrender" ,libxrender)
         ("freetype" ,freetype)
         ("fontconfig" ,fontconfig)))
     (native-inputs
-- 
1.7.10.4

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

* (unknown), 
  2014-01-25  7:00     ` [PATCH 2/2] " John Darrington
@ 2014-01-25  8:27       ` John Darrington
  2014-01-25  8:27         ` [PATCH] gnu: fltk: New module John Darrington
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-25  8:27 UTC (permalink / raw)
  To: guix-devel

Sorry!  Corrected patch herewith.

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

* [PATCH] gnu: fltk: New module
  2014-01-25  8:27       ` (unknown), John Darrington
@ 2014-01-25  8:27         ` John Darrington
  2014-01-25 15:39           ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-25  8:27 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/fltk.scm: New file
* gnu-system.am: New file fltk.scm
---
 gnu-system.am         |    1 +
 gnu/packages/fltk.scm |   63 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 gnu/packages/fltk.scm

diff --git a/gnu-system.am b/gnu-system.am
index 31d664e..22ef1c7 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -63,6 +63,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/fdisk.scm			\
   gnu/packages/file.scm				\
   gnu/packages/flex.scm				\
+  gnu/packages/fltk.scm				\
   gnu/packages/fonts.scm			\
   gnu/packages/fontutils.scm			\
   gnu/packages/freeipmi.scm			\
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
new file mode 100644
index 0000000..4c8fc3f
--- /dev/null
+++ b/gnu/packages/fltk.scm
@@ -0,0 +1,63 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;;
+;;; 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 fltk)
+  #:use-module (guix licenses)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages gl)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public fltk
+  (package
+    (name "fltk")
+    (version "1.3.2")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "http://fltk.org/pub/fltk/" version "/fltk-" version "-source.tar.gz"))
+      (sha256
+       (base32
+        "1974brlk723095vf8z72kazq1cbqr9a51kq6b0xda6zkjkgl8q0p"))))
+   (build-system gnu-build-system)
+    (inputs
+      `(("libx11" ,libx11)
+        ("mesa" ,mesa)))
+    (arguments
+     `(#:phases
+       (alist-replace
+        'check
+        (lambda* (#:key inputs #:allow-other-keys) #t) ;; fltk does not have a
+                                                       ;; check target
+        (alist-replace
+         'configure
+         (lambda* (#:key outputs #:allow-other-keys #:rest args)
+           (let ((configure (assoc-ref %standard-phases 'configure)))
+             (substitute* "makeinclude.in"
+               (("/bin/sh") (which "sh")))
+             (apply configure args)))
+         %standard-phases))))
+    (home-page "https://www.fltk.org")
+    (synopsis "3D C++ GUI library")
+    (description "FLTK is a C++ GUI toolkit providing modern GUI functionality without the
+bloat. It supports 3D graphics via OpenGL and its built-in GLUT emulation.
+FLTK is designed to be small and modular enough to be statically linked, but
+works fine as a shared library. FLTK also includes an excellent UI builder
+called FLUID that can be used to create applications in minutes.")
+    (license lgpl2.0))) ; plus certain additional permissions
-- 
1.7.10.4

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

* Re: [PATCH 1/2] gnu: libxft: Propagate input.
  2014-01-25  7:01   ` [PATCH 1/2] " John Darrington
@ 2014-01-25 15:19     ` Ludovic Courtès
  2014-01-25 15:38       ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-25 15:19 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <jmd@gnu.org> skribis:

> +    (propagated-inputs
> +      `(("libxrender" ,libxrender))) ;; libxft refers to symbols in libxrender, 
> +                                     ;; so without it, applications cannot be built.

The only reasons I can think of where we may want to propagate are when:

  • installed C headers (or .scm, or Perl files, etc.) refer to headers
    of another library;

  • a .pc file lists another .pc in its ‘Requires’ field.

Here the problem seem to be a link-time error in some other program,
right?  Could you post the details?

I’m asking because it could be that the problem lies elsewhere, and I
want to make sure we’re not overlooking something.

Thanks,
Ludo’.

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-23 20:07 ` [PATCH 3/3] gnu: Add octave and dependencies John Darrington
@ 2014-01-25 15:30   ` Ludovic Courtès
  2014-01-25 16:14     ` John Darrington
  0 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-25 15:30 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <jmd@gnu.org> skribis:

> * gnu/packages/maths.scm (octave gnuplot): New variables

Should be “(octave, gnuplot)”.

> +(define-public gnuplot
> +  (package
> +    (name "gnuplot")
> +    (version "4.6.3")
> +    (source
> +     (origin
> +      (method url-fetch)
> +      (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
> +                                version "/gnuplot-" version ".tar.gz"))
> +      (sha256
> +       (base32
> +        "1xd7gqdhlk7k1p9yyqf9vkk811nadc7m4si0q3nb6cpv4pxglpyz"))
> +      ))

Please move the closing parens to the previous line.

> +    (build-system gnu-build-system)
> +    (home-page "http://www.gnuplot.info")
> +    (synopsis "command-line driven graphing utility.")

Start with a capital letter and remove the final period.

> +    (description "Gnuplot  is a portable command-line driven graphing
                            ^^
Extra space.
                            
> +    (license 
> +     license:fsf-free))) ; http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright 
> +                         ;  X11 Style with the additional restriction that
> +                         ;  derived works may only be distributed as patches
> +                         ;  to the original.

‘fsf-free’ is actually a procedure, so it should be:

  (license (license:fsf-free "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright"))

The comment should be kept just above.
> +    (native-inputs
> +     `(("gfortran" ,gfortran-4.8)
> +       ("perl" ,perl)
> +       ("less" ,less)
> +       ("pkg-config" ,pkg-config)
> +       ("texinfo" ,texinfo)
> +       ("ghostscript" ,ghostscript)
> +       ("gnuplot" ,gnuplot)))
> +    (propagated-inputs
> +      `(("texinfo" ,texinfo)
> +        ("less" ,less)
> +        ("ghostscript" ,ghostscript)
> +        ("gnuplot" ,gnuplot)))

Oh, seems like a case where native inputs need to be propagated.

Why do less, Texinfo, etc. need to be propagated?

If that’s because Octave expects them to be in $PATH, then maybe an
option would be to use ‘wrap-program’ to wrap the ‘octave’ program with
a shell script that initialize $PATH to contain these.

That way, we make sure Octave will run with the “right” versions of
these (those used at compile time and known to work), and the user’s
environment doesn’t end up pulling them.

An example of ‘wrap-program’ is Git (in version-control.scm.)

Other than that, looks great to me!

Thanks!

Ludo’.

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

* Re: [PATCH 1/2] gnu: libxft: Propagate input.
  2014-01-25 15:19     ` Ludovic Courtès
@ 2014-01-25 15:38       ` Ludovic Courtès
  0 siblings, 0 replies; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-25 15:38 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

ludo@gnu.org (Ludovic Courtès) skribis:

> John Darrington <jmd@gnu.org> skribis:
>
>> +    (propagated-inputs
>> +      `(("libxrender" ,libxrender))) ;; libxft refers to symbols in libxrender, 
>> +                                     ;; so without it, applications cannot be built.
>
> The only reasons I can think of where we may want to propagate are when:
>
>   • installed C headers (or .scm, or Perl files, etc.) refer to headers
>     of another library;
>
>   • a .pc file lists another .pc in its ‘Requires’ field.

As we discussed on IRC, the reason is that xft.pc refers to ‘xrender’,
so I just put that in the comment.

Ludo’.

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

* Re: [PATCH] gnu: fltk: New module
  2014-01-25  8:27         ` [PATCH] gnu: fltk: New module John Darrington
@ 2014-01-25 15:39           ` Ludovic Courtès
  0 siblings, 0 replies; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-25 15:39 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <jmd@gnu.org> skribis:

> * gnu/packages/fltk.scm: New file
> * gnu-system.am: New file fltk.scm

Pushed, thanks!

Ludo’.

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-25 15:30   ` Ludovic Courtès
@ 2014-01-25 16:14     ` John Darrington
  2014-01-25 16:42       ` Andreas Enge
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-25 16:14 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel, John Darrington

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

On Sat, Jan 25, 2014 at 04:30:30PM +0100, Ludovic Court??s wrote:

     > +    (native-inputs
     > +     `(("gfortran" ,gfortran-4.8)
     > +       ("perl" ,perl)
     > +       ("less" ,less)
     > +       ("pkg-config" ,pkg-config)
     > +       ("texinfo" ,texinfo)
     > +       ("ghostscript" ,ghostscript)
     > +       ("gnuplot" ,gnuplot)))
     > +    (propagated-inputs
     > +      `(("texinfo" ,texinfo)
     > +        ("less" ,less)
     > +        ("ghostscript" ,ghostscript)
     > +        ("gnuplot" ,gnuplot)))
     
     Oh, seems like a case where native inputs need to be propagated.
     
     Why do less, Texinfo, etc. need to be propagated?

The octave build system is rather naive.  These propagated inputs don't actually
*need* to be present at configure/build time.  But the ./configure (rather stupidly IMO)
checks for their presence, and turns off the relevant features if they are not found.
Therefore, one must declare them as native-inputs just to keep ./configure happy AND
as propagated inputs because they are called in a pipe from the octave program itself.
     
     If that???s because Octave expects them to be in $PATH, then maybe an
     option would be to use ???wrap-program??? to wrap the ???octave??? program with
     a shell script that initialize $PATH to contain these.
     
     That way, we make sure Octave will run with the ???right??? versions of
     these (those used at compile time and known to work), and the user???s
     environment doesn???t end up pulling them.
     
     An example of ???wrap-program??? is Git (in version-control.scm.)

I don't think this will work in this case, for reasons explained above.

J'
     
     

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-25 16:14     ` John Darrington
@ 2014-01-25 16:42       ` Andreas Enge
  2014-01-25 17:04         ` John Darrington
  0 siblings, 1 reply; 57+ messages in thread
From: Andreas Enge @ 2014-01-25 16:42 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

On Sat, Jan 25, 2014 at 05:14:57PM +0100, John Darrington wrote:
> The octave build system is rather naive.  These propagated inputs don't actually
> *need* to be present at configure/build time.  But the ./configure (rather stupidly IMO)
> checks for their presence, and turns off the relevant features if they are not found.
> Therefore, one must declare them as native-inputs just to keep ./configure happy AND
> as propagated inputs because they are called in a pipe from the octave program itself.

Would it be reasonable to patch the lines in which external programs are
called, replacing the program name by its complete path with a well-chosen
(substitute*)?
Then one would not need to propagate the inputs.

Andreas

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-25 16:42       ` Andreas Enge
@ 2014-01-25 17:04         ` John Darrington
  2014-01-25 20:41           ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-25 17:04 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel, John Darrington

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

On Sat, Jan 25, 2014 at 05:42:17PM +0100, Andreas Enge wrote:
     On Sat, Jan 25, 2014 at 05:14:57PM +0100, John Darrington wrote:
     > The octave build system is rather naive.  These propagated inputs don't actually
     > *need* to be present at configure/build time.  But the ./configure (rather stupidly IMO)
     > checks for their presence, and turns off the relevant features if they are not found.
     > Therefore, one must declare them as native-inputs just to keep ./configure happy AND
     > as propagated inputs because they are called in a pipe from the octave program itself.
     
     Would it be reasonable to patch the lines in which external programs are
     called, replacing the program name by its complete path with a well-chosen
     (substitute*)?
     Then one would not need to propagate the inputs.
     
I don't think that will work.  One needs to propagate the inputs.  Otherwise octave won't
work (properly).  For example, one needs to ensure that when octave is installed, less is
also installed.  Otherwise it wont have a pager.  Similarly for texinfo - if makeinfo does
not get installed along with octave, then the integrated documentation won't be available.

A better approach would be to patch the configure so that it does not bother to check for
these programs AND then to patch the install phase to check for them.  But I don't fancy
doing that.

J'


-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-25 17:04         ` John Darrington
@ 2014-01-25 20:41           ` Ludovic Courtès
  2014-01-26  7:38             ` John Darrington
  0 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-25 20:41 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

John Darrington <john@darrington.wattle.id.au> skribis:

> On Sat, Jan 25, 2014 at 05:42:17PM +0100, Andreas Enge wrote:
>      On Sat, Jan 25, 2014 at 05:14:57PM +0100, John Darrington wrote:
>      > The octave build system is rather naive.  These propagated inputs don't actually
>      > *need* to be present at configure/build time.  But the ./configure (rather stupidly IMO)
>      > checks for their presence, and turns off the relevant features if they are not found.
>      > Therefore, one must declare them as native-inputs just to keep ./configure happy AND
>      > as propagated inputs because they are called in a pipe from the octave program itself.
>      
>      Would it be reasonable to patch the lines in which external programs are
>      called, replacing the program name by its complete path with a well-chosen
>      (substitute*)?
>      Then one would not need to propagate the inputs.
>      
> I don't think that will work.

I think it would.  If there’s a line like:

  execlp ("makeinfo" ...);

patching that to, say:

  execl ("/.../bin/makeinfo" ...);

will definitely work.  (This is what Octave’s build system should be
doing, actually.)

WDYT?

(As an example, see how mingetty is patched to refer to a specific
‘login’ program, in admin.scm.)

Ludo’.

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-25 20:41           ` Ludovic Courtès
@ 2014-01-26  7:38             ` John Darrington
  2014-01-26  9:09               ` (unknown), John Darrington
  2014-01-26 18:54               ` [PATCH 3/3] gnu: Add octave and dependencies Andreas Enge
  0 siblings, 2 replies; 57+ messages in thread
From: John Darrington @ 2014-01-26  7:38 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel, John Darrington

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

On Sat, Jan 25, 2014 at 09:41:32PM +0100, Ludovic Court??s wrote:
     John Darrington <john@darrington.wattle.id.au> skribis:
     
     > On Sat, Jan 25, 2014 at 05:42:17PM +0100, Andreas Enge wrote:
     >      On Sat, Jan 25, 2014 at 05:14:57PM +0100, John Darrington wrote:
     >      > The octave build system is rather naive.  These propagated inputs don't actually
     >      > *need* to be present at configure/build time.  But the ./configure (rather stupidly IMO)
     >      > checks for their presence, and turns off the relevant features if they are not found.
     >      > Therefore, one must declare them as native-inputs just to keep ./configure happy AND
     >      > as propagated inputs because they are called in a pipe from the octave program itself.
     >      
     >      Would it be reasonable to patch the lines in which external programs are
     >      called, replacing the program name by its complete path with a well-chosen
     >      (substitute*)?
     >      Then one would not need to propagate the inputs.
     >      
     > I don't think that will work.
     
     I think it would.  If there???s a line like:
     
       execlp ("makeinfo" ...);
     
     patching that to, say:
     
       execl ("/.../bin/makeinfo" ...);
     
     will definitely work.  (This is what Octave???s build system should be
     doing, actually.)
     
     WDYT?
     
     (As an example, see how mingetty is patched to refer to a specific
     ???login??? program, in admin.scm.)
     
I think I see where you are coming from.  If we did what you suggest, then we could remove
makeinfo et al from propagated-inputs, but we would have to add them to inputs (in 
to native-inputs).

So it would not reduce the total number of "inputs".  Further, it would mean we would have
to devise a number of potentially complicated patches, which we would be condemned to
maintain.  Further, it seems to me, to be a bit deceptive.  By removing makeinfo from
propagated-inputs we are pretending that makeinfo does not need to be installed along with
octave, whereas in fact, it does (if one wants to read the manual from within octave).
As I understand it, a propagated input means that X must always be installed with Y.

What benefit does this proposal bring us?

J'


-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

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

* (unknown), 
  2014-01-26  7:38             ` John Darrington
@ 2014-01-26  9:09               ` John Darrington
  2014-01-26  9:09                 ` [PATCH] gnu: Add gnuplot John Darrington
  2014-01-26 18:54               ` [PATCH 3/3] gnu: Add octave and dependencies Andreas Enge
  1 sibling, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-26  9:09 UTC (permalink / raw)
  To: guix-devel

... In the meantime, here is a patch for gnuplot (without octave).
This one includes some additional inputs not present in the previous
patch, to provide some features.

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

* [PATCH] gnu: Add gnuplot
  2014-01-26  9:09               ` (unknown), John Darrington
@ 2014-01-26  9:09                 ` John Darrington
  2014-01-26 20:17                   ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-26  9:09 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/maths.scm (gnuplot): New variable
---
 gnu/packages/maths.scm |   33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 640d502..206ebba 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -29,12 +29,14 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gd)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages texlive)
   #:use-module (gnu packages xml))
 
 (define-public units
@@ -202,3 +204,34 @@ output in text, PostScript, PDF or HTML.")
 problems in numerical linear algebra.")
     (license (license:bsd-style "file://LICENSE"
                                 "See LICENSE in the distribution."))))
+
+(define-public gnuplot
+  (package
+    (name "gnuplot")
+    (version "4.6.3")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
+                                version "/gnuplot-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1xd7gqdhlk7k1p9yyqf9vkk811nadc7m4si0q3nb6cpv4pxglpyz"))))
+    (build-system gnu-build-system)
+    (inputs `(("readline" ,readline)
+              ("cairo" ,cairo)
+              ("pango" ,pango)
+              ("gd" ,gd)))
+    (native-inputs `(("texlive" ,texlive)
+                     ("pkg-config" ,pkg-config)))
+    (home-page "http://www.gnuplot.info")
+    (synopsis "Command-line driven graphing utility")
+    (description "Gnuplot is a portable command-line driven graphing
+utility. It was originally created to allow scientists and students to
+visualize mathematical functions and data interactively, but has grown to
+support many non-interactive uses such as web scripting. It is also used as a
+plotting engine by third-party applications like Octave.") 
+    ;;  X11 Style with the additional restriction that derived works may only be
+    ;;  distributed as patches to the original. 
+    (license (license:fsf-free
+              "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright"))))
-- 
1.7.10.4

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-26  7:38             ` John Darrington
  2014-01-26  9:09               ` (unknown), John Darrington
@ 2014-01-26 18:54               ` Andreas Enge
  2014-01-26 19:30                 ` Ludovic Courtès
  1 sibling, 1 reply; 57+ messages in thread
From: Andreas Enge @ 2014-01-26 18:54 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

On Sun, Jan 26, 2014 at 08:38:16AM +0100, John Darrington wrote:
> So it would not reduce the total number of "inputs".  Further, it would mean we would have
> to devise a number of potentially complicated patches, which we would be condemned to
> maintain.  Further, it seems to me, to be a bit deceptive.  By removing makeinfo from
> propagated-inputs we are pretending that makeinfo does not need to be installed along with
> octave, whereas in fact, it does (if one wants to read the manual from within octave).
> As I understand it, a propagated input means that X must always be installed with Y.
> 
> What benefit does this proposal bring us?

I think that from a functional point of view, it could be preferable to have
octave "deep link" to its own dependency in the nix store, but I am not sure
if I understand things correctly.

Assume that octave is compiled with an old version of makeinfo (where "old
version" could simply mean that a dependency of makeinfo has been updated
in the mean time, or some of the build tools). At the time of installing
octave, it thus pulled the propagated input makeinfo into the user profile.
Now the user installs makeinfo; normally, this should be the new one.
I think right now, there is a warning about a conflict, and then one or the
other takes precedence; I assume the newer one (is this decided on a file
by file basis?). So octave has been compiled against an old makeinfo, but
ends up using a newer one. (Something like this has happened to me with
ripperx and cdparanoia; I installed both at different times, and got the
slightly confusing message that cdparanoia collided with itself). This seems
to be a rather annoying "feature" of our propagated inputs, and if what
I wrote above is true, they should probably be avoided as much as possible.
Ludovic, can you comment?

Andreas

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-26 18:54               ` [PATCH 3/3] gnu: Add octave and dependencies Andreas Enge
@ 2014-01-26 19:30                 ` Ludovic Courtès
  2014-01-27  8:30                   ` John Darrington
  2014-01-27  9:04                   ` Sree Harsha Totakura
  0 siblings, 2 replies; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-26 19:30 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel, John Darrington

Andreas Enge <andreas@enge.fr> skribis:

> On Sun, Jan 26, 2014 at 08:38:16AM +0100, John Darrington wrote:
>> So it would not reduce the total number of "inputs".  Further, it would mean we would have
>> to devise a number of potentially complicated patches, which we would be condemned to
>> maintain.  Further, it seems to me, to be a bit deceptive.  By removing makeinfo from
>> propagated-inputs we are pretending that makeinfo does not need to be installed along with
>> octave, whereas in fact, it does (if one wants to read the manual from within octave).
>> As I understand it, a propagated input means that X must always be installed with Y.
>> 
>> What benefit does this proposal bring us?
>
> I think that from a functional point of view, it could be preferable to have
> octave "deep link" to its own dependency in the nix store, but I am not sure
> if I understand things correctly.
>
> Assume that octave is compiled with an old version of makeinfo (where "old
> version" could simply mean that a dependency of makeinfo has been updated
> in the mean time, or some of the build tools). At the time of installing
> octave, it thus pulled the propagated input makeinfo into the user profile.
> Now the user installs makeinfo; normally, this should be the new one.
> I think right now, there is a warning about a conflict, and then one or the
> other takes precedence; I assume the newer one (is this decided on a file
> by file basis?). So octave has been compiled against an old makeinfo, but
> ends up using a newer one. (Something like this has happened to me with
> ripperx and cdparanoia; I installed both at different times, and got the
> slightly confusing message that cdparanoia collided with itself). This seems
> to be a rather annoying "feature" of our propagated inputs, and if what
> I wrote above is true, they should probably be avoided as much as possible.
> Ludovic, can you comment?

Yes, you explained it very well.

The functional model is that anything a package depends on at compile
time, or will depend on at run time, is specified in its definition.
When running ‘make && make check’, we check that the package works
correctly with this particular set of inputs.  What we want is that,
when users install the package, it ends up using the inputs that were
specified.

With ‘propagated-inputs’ here, this would be sort-of achieved, because
when installing Octave, the corresponding Texinfo would also get
installed.

However, that is very inconvenient: what if the user also wants to
install another Texinfo version in their profile?  Either the
user-chosen version wins, and Octave may end up working incorrectly; or
Octave’s version wins, and the user doesn’t have what they asked for.

To summarize: ‘propagated-inputs’ should list libraries 99% of the
time.  Listing programs in ‘propagated-inputs’ just for the sake of
populating $PATH is a bad idea.

HTH,
Ludo’.

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

* Re: [PATCH] gnu: Add gnuplot
  2014-01-26  9:09                 ` [PATCH] gnu: Add gnuplot John Darrington
@ 2014-01-26 20:17                   ` Ludovic Courtès
  0 siblings, 0 replies; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-26 20:17 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <jmd@gnu.org> skribis:

> * gnu/packages/maths.scm (gnuplot): New variable

Pushed, thanks!

Ludo’.

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-26 19:30                 ` Ludovic Courtès
@ 2014-01-27  8:30                   ` John Darrington
  2014-01-27  9:11                     ` Ludovic Courtès
  2014-01-27  9:04                   ` Sree Harsha Totakura
  1 sibling, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-27  8:30 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel, John Darrington

On Sun, Jan 26, 2014 at 08:30:02PM +0100, Ludovic Court??s wrote:
     Andreas Enge <andreas@enge.fr> skribis:
     
     > On Sun, Jan 26, 2014 at 08:38:16AM +0100, John Darrington wrote:
     >> So it would not reduce the total number of "inputs".  Further, it would mean we would have
     >> to devise a number of potentially complicated patches, which we would be condemned to
     >> maintain.  Further, it seems to me, to be a bit deceptive.  By removing makeinfo from
     >> propagated-inputs we are pretending that makeinfo does not need to be installed along with
     >> octave, whereas in fact, it does (if one wants to read the manual from within octave).
     >> As I understand it, a propagated input means that X must always be installed with Y.
     >> 
     >> What benefit does this proposal bring us?
     >
     > I think that from a functional point of view, it could be preferable to have
     > octave "deep link" to its own dependency in the nix store, but I am not sure
     > if I understand things correctly.
     >
     > Assume that octave is compiled with an old version of makeinfo (where "old
     > version" could simply mean that a dependency of makeinfo has been updated
     > in the mean time, or some of the build tools). At the time of installing
     > octave, it thus pulled the propagated input makeinfo into the user profile.
     > Now the user installs makeinfo; normally, this should be the new one.
     > I think right now, there is a warning about a conflict, and then one or the
     > other takes precedence; I assume the newer one (is this decided on a file
     > by file basis?). So octave has been compiled against an old makeinfo, but
     > ends up using a newer one. (Something like this has happened to me with
     > ripperx and cdparanoia; I installed both at different times, and got the
     > slightly confusing message that cdparanoia collided with itself). This seems
     > to be a rather annoying "feature" of our propagated inputs, and if what
     > I wrote above is true, they should probably be avoided as much as possible.
     > Ludovic, can you comment?
     
     Yes, you explained it very well.
     
     The functional model is that anything a package depends on at compile
     time, or will depend on at run time, is specified in its definition.
     When running ???make && make check???, we check that the package works
     correctly with this particular set of inputs.  What we want is that,
     when users install the package, it ends up using the inputs that were
     specified.
     
     With ???propagated-inputs??? here, this would be sort-of achieved, because
     when installing Octave, the corresponding Texinfo would also get
     installed.
     
     However, that is very inconvenient: what if the user also wants to
     install another Texinfo version in their profile?  Either the
     user-chosen version wins, and Octave may end up working incorrectly; or
     Octave???s version wins, and the user doesn???t have what they asked for.
     
     To summarize: ???propagated-inputs??? should list libraries 99% of the
     time.  Listing programs in ???propagated-inputs??? just for the sake of
     populating $PATH is a bad idea.


Ok.  Andraes' and Ludo's explanations convince me.  However I'm skeptical that
the Octave devs would be quite so convinced.  And removing the propagates-inputs
will mean patching to the Octave source and I don't know how difficult this will be.
I will do some experiments and see how far I get.

J'

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-26 19:30                 ` Ludovic Courtès
  2014-01-27  8:30                   ` John Darrington
@ 2014-01-27  9:04                   ` Sree Harsha Totakura
  2014-01-27  9:53                     ` Installing a C tool chain Ludovic Courtès
  1 sibling, 1 reply; 57+ messages in thread
From: Sree Harsha Totakura @ 2014-01-27  9:04 UTC (permalink / raw)
  To: guix-devel


On 01/26/2014 08:30 PM, Ludovic Courtès wrote:
> To summarize: ‘propagated-inputs’ should list libraries 99% of the
> time.  Listing programs in ‘propagated-inputs’ just for the sake of
> populating $PATH is a bad idea.

I recently found that many library packages do not propagate libc.  I
installed gnutls through Guix and wanted to use it for development, but
the linker complained that some symbols belonging to glibc are missing.
 What is the correct way of doing this?

Sree

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-27  8:30                   ` John Darrington
@ 2014-01-27  9:11                     ` Ludovic Courtès
  2014-01-29  8:20                       ` John Darrington
  0 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-27  9:11 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

John Darrington <john@darrington.wattle.id.au> skribis:

> On Sun, Jan 26, 2014 at 08:30:02PM +0100, Ludovic Court??s wrote:
>      Andreas Enge <andreas@enge.fr> skribis:
>      
>      > On Sun, Jan 26, 2014 at 08:38:16AM +0100, John Darrington wrote:
>      >> So it would not reduce the total number of "inputs".  Further, it would mean we would have
>      >> to devise a number of potentially complicated patches, which we would be condemned to
>      >> maintain.  Further, it seems to me, to be a bit deceptive.  By removing makeinfo from
>      >> propagated-inputs we are pretending that makeinfo does not need to be installed along with
>      >> octave, whereas in fact, it does (if one wants to read the manual from within octave).
>      >> As I understand it, a propagated input means that X must always be installed with Y.
>      >> 
>      >> What benefit does this proposal bring us?
>      >
>      > I think that from a functional point of view, it could be preferable to have
>      > octave "deep link" to its own dependency in the nix store, but I am not sure
>      > if I understand things correctly.
>      >
>      > Assume that octave is compiled with an old version of makeinfo (where "old
>      > version" could simply mean that a dependency of makeinfo has been updated
>      > in the mean time, or some of the build tools). At the time of installing
>      > octave, it thus pulled the propagated input makeinfo into the user profile.
>      > Now the user installs makeinfo; normally, this should be the new one.
>      > I think right now, there is a warning about a conflict, and then one or the
>      > other takes precedence; I assume the newer one (is this decided on a file
>      > by file basis?). So octave has been compiled against an old makeinfo, but
>      > ends up using a newer one. (Something like this has happened to me with
>      > ripperx and cdparanoia; I installed both at different times, and got the
>      > slightly confusing message that cdparanoia collided with itself). This seems
>      > to be a rather annoying "feature" of our propagated inputs, and if what
>      > I wrote above is true, they should probably be avoided as much as possible.
>      > Ludovic, can you comment?
>      
>      Yes, you explained it very well.
>      
>      The functional model is that anything a package depends on at compile
>      time, or will depend on at run time, is specified in its definition.
>      When running ???make && make check???, we check that the package works
>      correctly with this particular set of inputs.  What we want is that,
>      when users install the package, it ends up using the inputs that were
>      specified.
>      
>      With ???propagated-inputs??? here, this would be sort-of achieved, because
>      when installing Octave, the corresponding Texinfo would also get
>      installed.
>      
>      However, that is very inconvenient: what if the user also wants to
>      install another Texinfo version in their profile?  Either the
>      user-chosen version wins, and Octave may end up working incorrectly; or
>      Octave???s version wins, and the user doesn???t have what they asked for.
>      
>      To summarize: ???propagated-inputs??? should list libraries 99% of the
>      time.  Listing programs in ???propagated-inputs??? just for the sake of
>      populating $PATH is a bad idea.
>
>
> Ok.  Andraes' and Ludo's explanations convince me.  However I'm skeptical that
> the Octave devs would be quite so convinced.  And removing the propagates-inputs
> will mean patching to the Octave source and I don't know how difficult this will be.

The patch that would be great upstream is:

  AC_PATH_PROG([MAKEINFO], [makeinfo])
  AC_SUBST([MAKEINFO])

and then use “@MAKEINFO@” wherever ‘makeinfo’ is expected in the source
(similarly for ‘less’, etc.)

The patch that we can do in the meantime is similar to what is done for
‘glibc’ in base.scm:

  ;; Have `system' use that Bash.
  (substitute* "sysdeps/posix/system.c"
    (("#define[[:blank:]]+SHELL_PATH.*$")
     (format #f "#define SHELL_PATH \"~a/bin/bash\"\n"
             out)))

  ;; Same for `popen'.
  (substitute* "libio/iopopen.c"
    (("/bin/sh")
     (string-append out "/bin/bash")))

HTH,
Ludo’.

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

* Installing a C tool chain
  2014-01-27  9:04                   ` Sree Harsha Totakura
@ 2014-01-27  9:53                     ` Ludovic Courtès
  2014-01-27 10:32                       ` Sree Harsha Totakura
  2014-02-04  6:31                       ` Mark H Weaver
  0 siblings, 2 replies; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-27  9:53 UTC (permalink / raw)
  To: Sree Harsha Totakura; +Cc: guix-devel

Sree Harsha Totakura <sreeharsha@totakura.in> skribis:

> On 01/26/2014 08:30 PM, Ludovic Courtès wrote:
>> To summarize: ‘propagated-inputs’ should list libraries 99% of the
>> time.  Listing programs in ‘propagated-inputs’ just for the sake of
>> populating $PATH is a bad idea.
>
> I recently found that many library packages do not propagate libc.  I
> installed gnutls through Guix and wanted to use it for development, but
> the linker complained that some symbols belonging to glibc are missing.
>  What is the correct way of doing this?

This is undocumented/suboptimal territory.

To install a working C environment in your profile, run:

  guix package -i gcc binutils ld-wrapper glibc

and set the environment as suggested.  (‘ld-wrapper’ is a linker wrapper
that takes care of adding a ‘-rpath’ flag for every ‘-l’; see
ld-wrapper.scm.)

The crux here is that ‘ld-wrapper’ must come *after* ‘binutils’ on the
command line above, so that $profile/bin/ld points to it, and not to the
real ‘ld’.

I believe this could be addressed by having a simple “toolchain”
meta-package with the sole purpose of propagating these 4 inputs, and by
documenting it in the manual.

WDYT?

Ludo’.

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

* Re: Installing a C tool chain
  2014-01-27  9:53                     ` Installing a C tool chain Ludovic Courtès
@ 2014-01-27 10:32                       ` Sree Harsha Totakura
  2014-02-04  6:31                       ` Mark H Weaver
  1 sibling, 0 replies; 57+ messages in thread
From: Sree Harsha Totakura @ 2014-01-27 10:32 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On 01/27/2014 10:53 AM, Ludovic Courtès wrote:
> 
> I believe this could be addressed by having a simple “toolchain”
> meta-package with the sole purpose of propagating these 4 inputs, and by
> documenting it in the manual.

Yes, a toolchain package would be nice.  Debian does similarly: it has
build-essential package.

Sree

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-27  9:11                     ` Ludovic Courtès
@ 2014-01-29  8:20                       ` John Darrington
  2014-01-29 21:26                         ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: John Darrington @ 2014-01-29  8:20 UTC (permalink / raw)
  To: Ludovic Court??s; +Cc: guix-devel, John Darrington

On Mon, Jan 27, 2014 at 10:11:14AM +0100, Ludovic Court??s wrote:

     > Ok.  Andraes' and Ludo's explanations convince me.  However I'm skeptical that
     > the Octave devs would be quite so convinced.  And removing the propagates-inputs
     > will mean patching to the Octave source and I don't know how difficult this will be.
     
     The patch that would be great upstream is:
     
       AC_PATH_PROG([MAKEINFO], [makeinfo])
       AC_SUBST([MAKEINFO])
     
     and then use ???@MAKEINFO@??? wherever ???makeinfo??? is expected in the source
     (similarly for ???less???, etc.)

     Ludo???.

Having thought about this some more, looked to see what is currently in the 
octave source and "discussed" the issue on #octave I think now the best solution
is to simply remove all the propagated-inputs from the package (and leave inputs
and native-inputs as they are).  Rationale:

* Octave "works" without all these programs (albeit in a rather featureless 
  fashion).  If a user wants to add the feature, then she just needs to 
  guix package -i <foo>.
* It seems to have been a deliberate decision by the octave developers to rely 
  on $PATH to select the appropriate version of these external programs.
* Changing this behaviour would involve alterations to the octave source touching 
  many files, and I think upstream would be unlikely to cooperate with us.

The disadvantage of this approach is, that a guix user who installs octave, but 
not the other packages, gets only a barely functional version.  Perhaps we need 
a (recommended-inputs `(...)) like in debian.


Comments?


J'

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.

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

* Re: [PATCH 3/3] gnu: Add octave and dependencies
  2014-01-29  8:20                       ` John Darrington
@ 2014-01-29 21:26                         ` Ludovic Courtès
  0 siblings, 0 replies; 57+ messages in thread
From: Ludovic Courtès @ 2014-01-29 21:26 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

John Darrington <john@darrington.wattle.id.au> skribis:

> On Mon, Jan 27, 2014 at 10:11:14AM +0100, Ludovic Court??s wrote:
>
>      > Ok.  Andraes' and Ludo's explanations convince me.  However I'm skeptical that
>      > the Octave devs would be quite so convinced.  And removing the propagates-inputs
>      > will mean patching to the Octave source and I don't know how difficult this will be.
>      
>      The patch that would be great upstream is:
>      
>        AC_PATH_PROG([MAKEINFO], [makeinfo])
>        AC_SUBST([MAKEINFO])
>      
>      and then use ???@MAKEINFO@??? wherever ???makeinfo??? is expected in the source
>      (similarly for ???less???, etc.)
>
>      Ludo???.
>
> Having thought about this some more, looked to see what is currently in the 
> octave source and "discussed" the issue on #octave I think now the best solution
> is to simply remove all the propagated-inputs from the package (and leave inputs
> and native-inputs as they are).  Rationale:
>
> * Octave "works" without all these programs (albeit in a rather featureless 
>   fashion).  If a user wants to add the feature, then she just needs to 
>   guix package -i <foo>.
> * It seems to have been a deliberate decision by the octave developers to rely 
>   on $PATH to select the appropriate version of these external programs.
> * Changing this behaviour would involve alterations to the octave source touching 
>   many files, and I think upstream would be unlikely to cooperate with us.

Item #2 is definitely a good reason to leave things untouched (no
propagation, no patching.)

> The disadvantage of this approach is, that a guix user who installs octave, but 
> not the other packages, gets only a barely functional version.  Perhaps we need 
> a (recommended-inputs `(...)) like in debian.

Yes, that would make sense.

Could you file this to bug-guix@gnu.org (with the ‘wishlist’ tag, if you
master Debbugs)?

TIA,
Ludo’.

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

* Re: Installing a C tool chain
  2014-01-27  9:53                     ` Installing a C tool chain Ludovic Courtès
  2014-01-27 10:32                       ` Sree Harsha Totakura
@ 2014-02-04  6:31                       ` Mark H Weaver
  2014-04-05 20:44                         ` Ludovic Courtès
  1 sibling, 1 reply; 57+ messages in thread
From: Mark H Weaver @ 2014-02-04  6:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

ludo@gnu.org (Ludovic Courtès) writes:

> To install a working C environment in your profile, run:
>
>   guix package -i gcc binutils ld-wrapper glibc

[...]

> I believe this could be addressed by having a simple “toolchain”
> meta-package with the sole purpose of propagating these 4 inputs, and by
> documenting it in the manual.

FWIW, I think we should do this.

    Mark

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

* (unknown), 
@ 2014-02-04 15:12 John Darrington
  0 siblings, 0 replies; 57+ messages in thread
From: John Darrington @ 2014-02-04 15:12 UTC (permalink / raw)
  To: guix-devel

In my opinion the changelog conventions are achronistic, unintuitive,
and bring benefit neither to developers nor users.

However thanks for showing me the correct format.

Updated patches follow

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

* (unknown), 
  2014-02-11 22:17 Gnunet-0.10.0 recipe Sree Harsha Totakura
@ 2014-02-12 15:15 ` Sree Harsha Totakura
  0 siblings, 0 replies; 57+ messages in thread
From: Sree Harsha Totakura @ 2014-02-12 15:15 UTC (permalink / raw)
  To: guix-devel


The reason why the transport tests are failing is that gnurl is not being
built with HTTPS protocol support and these tests expect gnurl to have those.
The HTTPS support was not built into gnurl because pkg-config was not
available as native inputs during configure time.

This patch fixes the above problem and also appends an existing patch to fix
testcases to run them on local interfaces.

-
Sree

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

* Re: Installing a C tool chain
  2014-02-04  6:31                       ` Mark H Weaver
@ 2014-04-05 20:44                         ` Ludovic Courtès
  2014-04-14 17:54                           ` Andreas Enge
  0 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-04-05 20:44 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

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

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> To install a working C environment in your profile, run:
>>
>>   guix package -i gcc binutils ld-wrapper glibc
>
> [...]
>
>> I believe this could be addressed by having a simple “toolchain”
>> meta-package with the sole purpose of propagating these 4 inputs, and by
>> documenting it in the manual.
>
> FWIW, I think we should do this.

Commit a28ef66 adds a ‘gcc-toolchain’ meta-package:

  guix package -i gcc-toolchain

effectively installs gcc, glibc, ld-wrapper, and binutils (in the right
order), and:

  guix package -i gcc-toolchain:debug

install libc’s corresponding debugging symbols.

Comments welcome!

Ludo’.

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

* Re: Installing a C tool chain
  2014-04-05 20:44                         ` Ludovic Courtès
@ 2014-04-14 17:54                           ` Andreas Enge
  2014-04-14 19:16                             ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: Andreas Enge @ 2014-04-14 17:54 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Sat, Apr 05, 2014 at 10:44:55PM +0200, Ludovic Courtès wrote:
> Comments welcome!

This could be a useful package! Do I need to set any more environment
variables in my .bashrc? So far, I have
export PATH=$HOME/.guix-profile/bin:$PATH
export LIBRARY_PATH=$HOME/.guix-profile/lib
export CPATH=$HOME/.guix-profile/include
export MANPATH=$HOME/.guix-profile/share/man:/usr/share/man
export PKG_CONFIG_PATH=$HOME/.guix-profile/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig
export PYTHONPATH=$HOME/.guix-profile/lib/python2.7/site-packages
export PERL5LIB=$HOME/.guix-profile/lib/perl5/site_perl
export XDG_DATA_DIRS=$HOME/.guix-profile/share


When I do a "./configure" of mpc, none of the standard headers are recognised;
I obtain something like:

configure:12920: checking for ANSI C header files
configure:13024: result: yes
configure:13035: checking locale.h usability
configure:13035: gcc -std=gnu99 -c -g -Werror -g -std=c99 -pedantic -Wno-long-long -Wall -Wextra -Wdeclaration-after-statement -Wundef -Wshadow -Wmissing-prototypes -Wno-unused-value -Wlogical-op -I/usr/local/gmp-6.0.0a/include -I/usr/local/mpfr-3.1.2/include  conftest.c >&5
In file included from /home/enge/.guix-profile/include/stdio.h:27:0,
                 from conftest.c:24:
/home/enge/.guix-profile/include/features.h:232:36: error: "_XOPEN_SOURCE" is not defined [-Werror=undef]
 #if ((!defined __STRICT_ANSI__ || (_XOPEN_SOURCE - 0) >= 500) && \
                                    ^
/home/enge/.guix-profile/include/features.h:247:30: error: "_POSIX_C_SOURCE" is not defined [-Werror=undef]
 #if defined _POSIX_SOURCE || _POSIX_C_SOURCE >= 1 || defined _XOPEN_SOURCE
                              ^
/home/enge/.guix-profile/include/features.h:255:6: error: "_POSIX_C_SOURCE" is not defined [-Werror=undef]
 #if (_POSIX_C_SOURCE - 0) >= 199309L
      ^
/home/enge/.guix-profile/include/features.h:259:6: error: "_POSIX_C_SOURCE" is not defined [-Werror=undef]
 #if (_POSIX_C_SOURCE - 0) >= 199506L
      ^
/home/enge/.guix-profile/include/features.h:263:6: error: "_POSIX_C_SOURCE" is not defined [-Werror=undef]
 #if (_POSIX_C_SOURCE - 0) >= 200112L
      ^
/home/enge/.guix-profile/include/features.h:271:6: error: "_POSIX_C_SOURCE" is not defined [-Werror=undef]
 #if (_POSIX_C_SOURCE - 0) >= 200809L
      ^
cc1: all warnings being treated as errors
configure:13035: $? = 1
configure: failed program was:
...
configure:13035: result: no
configure:13035: checking locale.h presence
configure:13035: gcc -std=gnu99 -E -I/usr/local/gmp-6.0.0a/include -I/usr/local/mpfr-3.1.2/include  conftest.c
configure:13035: $? = 0
configure:13035: result: yes
configure:13035: WARNING: locale.h: present but cannot be compiled
configure:13035: WARNING: locale.h:     check for missing prerequisite headers?
configure:13035: WARNING: locale.h: see the Autoconf documentation
configure:13035: WARNING: locale.h:     section "Present But Cannot Be Compiled"
configure:13035: WARNING: locale.h: proceeding with the compiler's result


and so on for other header files.


When compiling pari/gp, I get messages such as
/home/enge/.guix-profile/bin/gcc  -c -I. -I../src/headers -I../src/language -I/usr/include -O3 -Wall -fno-strict-aliasing -fomit-frame-pointer  -Wextra -Wno-missing-field-initializers  -o gp_rl.o ../src/gp/gp_rl.c
In file included from /usr/include/features.h:323:0,
                 from /usr/include/stdlib.h:25,
                 from ../src/headers/pari.h:18,
                 from ../src/gp/gp_rl.c:19:
/usr/include/bits/predefs.h:27:0: warning: "__STDC_IEC_559__" redefined [enabled by default]
 #define __STDC_IEC_559__  1
 ^
In file included from <command-line>:0:0:
/home/enge/.guix-profile/include/stdc-predef.h:41:0: note: this is the location of the previous definition
 # define __STDC_IEC_559__  1
 ^

Andreas

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

* Re: Installing a C tool chain
  2014-04-14 17:54                           ` Andreas Enge
@ 2014-04-14 19:16                             ` Ludovic Courtès
  2014-04-14 19:43                               ` Andreas Enge
  0 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-04-14 19:16 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> skribis:

> On Sat, Apr 05, 2014 at 10:44:55PM +0200, Ludovic Courtès wrote:
>> Comments welcome!

[...]

> When I do a "./configure" of mpc, none of the standard headers are recognised;
> I obtain something like:
>
> configure:12920: checking for ANSI C header files
> configure:13024: result: yes
> configure:13035: checking locale.h usability
> configure:13035: gcc -std=gnu99 -c -g -Werror -g -std=c99 -pedantic -Wno-long-long -Wall -Wextra -Wdeclaration-after-statement -Wundef -Wshadow -Wmissing-prototypes -Wno-unused-value -Wlogical-op -I/usr/local/gmp-6.0.0a/include -I/usr/local/mpfr-3.1.2/include  conftest.c >&5
> In file included from /home/enge/.guix-profile/include/stdio.h:27:0,
>                  from conftest.c:24:
> /home/enge/.guix-profile/include/features.h:232:36: error: "_XOPEN_SOURCE" is not defined [-Werror=undef]
>  #if ((!defined __STRICT_ANSI__ || (_XOPEN_SOURCE - 0) >= 500) && \

This is because you’re compiling with -Wundef -Werror, something that
libc 2.19 headers apparently don’t support.

Can you try without -Werror?

Ludo’.

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

* Re: Installing a C tool chain
  2014-04-14 19:16                             ` Ludovic Courtès
@ 2014-04-14 19:43                               ` Andreas Enge
  2014-04-14 21:32                                 ` Ludovic Courtès
  0 siblings, 1 reply; 57+ messages in thread
From: Andreas Enge @ 2014-04-14 19:43 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Mon, Apr 14, 2014 at 09:16:31PM +0200, Ludovic Courtès wrote:
> This is because you’re compiling with -Wundef -Werror, something that
> libc 2.19 headers apparently don’t support.

I tried without both, and then it works. Do you have a source and suggestion
on what to do in such a case? Is it deprecated to use -Werror with the
autotoools?

Pari/GP now also works without modifying anything; maybe this was just a
problem of needing to start a new shell, as sometimes new binaries in the path
are not taken into account due to caching.

Andreas

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

* Re: Installing a C tool chain
  2014-04-14 19:43                               ` Andreas Enge
@ 2014-04-14 21:32                                 ` Ludovic Courtès
  2014-04-14 21:57                                   ` Sergio Durigan Junior
  0 siblings, 1 reply; 57+ messages in thread
From: Ludovic Courtès @ 2014-04-14 21:32 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> skribis:

> On Mon, Apr 14, 2014 at 09:16:31PM +0200, Ludovic Courtès wrote:
>> This is because you’re compiling with -Wundef -Werror, something that
>> libc 2.19 headers apparently don’t support.
>
> I tried without both, and then it works. Do you have a source and suggestion
> on what to do in such a case?

All I know is that feature test macros have been cleaned up in 2.19, so
perhaps it led to a change in behavior.

> Is it deprecated to use -Werror with the autotoools?

In general, using -Werror is very risky, because a slight change in a
third-party header, or in compiler warnings, can cause the project to
fail to build.  In Guile building with -Werror is opt-in for this
reason.

Cheers,
Ludo’.

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

* Re: Installing a C tool chain
  2014-04-14 21:32                                 ` Ludovic Courtès
@ 2014-04-14 21:57                                   ` Sergio Durigan Junior
  0 siblings, 0 replies; 57+ messages in thread
From: Sergio Durigan Junior @ 2014-04-14 21:57 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Monday, April 14 2014, Ludovic Courtès wrote:

>> Is it deprecated to use -Werror with the autotoools?
>
> In general, using -Werror is very risky, because a slight change in a
> third-party header, or in compiler warnings, can cause the project to
> fail to build.  In Guile building with -Werror is opt-in for this
> reason.

In GDB we use it by default, and it generally does a good service for us
without causing headaches, but of course, as Ludo said, this is mostly a
project's decision.  However, I wouldn't say that using -Werror is
deprecated :-).

-- 
Sergio

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

* (unknown)
@ 2014-12-03 18:02 Tomas Cech
  0 siblings, 0 replies; 57+ messages in thread
From: Tomas Cech @ 2014-12-03 18:02 UTC (permalink / raw)
  To: guix-devel

Hello,

I'd like to share with you some experiences with using Guix.



I tried to install Guix as alternative OS to my Gentoo and openSUSE
installations to give a try. I tried unsupported scenario -
installation on LVM volume and separate /boot partition until I was
told it is unsupported. Separate boot wasn't hard as I had to just
copy generated files so they are loaded. But eventually I gave up
preparing it manually or automating it and I had rather put another
Grub in the same partition and set up chainloading.

I met then two problems:

1] if you set device to partition (and not to disk) in your grub-configuration like this:

 (bootloader (grub-configuration
               (device "/dev/sda4")))

`guix system init' will fail on grub installation. By default Grub
tries to fit in the beginning of partition and fails if it can't fit
in. I asked about this behaviour on Grub mailing list and it seems
that there are two options:

  a] add `--force' to command line and use block list for keeping information about position of Grub's core.img
  b] use filesystem which allows embedding - BtrFS or ZFS

I verified both options (a] and then b] with BtrFS) and it no longer fails.

But,
ad a] - I don't feel safe passing `--force' to grub-install every
time. So if installation fails on this point and you'd like to use
your FS anyway, you can pass `--no-grub' to `guix system init' and
then rung grub-install manually.

ad b] - I don't feel safe using still experimental BtrFS.


2] current Grub version in Guix during boots generated this error:

error: symbol 'grub_term_highlight_color' not found

and started rescue shell.
It seems to be a bit mystic bug:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977

I used my Gentoo's version of Grub to fix it and then it worked.



I'm also interested in running chroot in Guix. This is something I
like about all Linux distribution I use - I can run Linux and at the
same time I prepare another Linux root filesystem for use. It seems
that chrooting into Guix may be tricky.

I prepared this script to be placed somewhere into Guix:

----------%<---------
#!/run/current-system/profile/bin/bash

export LIBRARY_PATH=LIBRARY_PATH=/root/.guix-profile/lib
export CPATH=/root/.guix-profile/include
export PATH=/run/setuid-programs:/run/current-system/profile/sbin:/root/.guix-profile/bin:/run/current-system/profile/bin
export INFOPATH=/root/.guix-profile/share/info:/run/current-system/profile/share/info

exec bash -i
----------%<--------

for i in dev proc sys; do mount -R /$i /guix_mountpoint/$i; done
chroot /guix_mountpoint/ /helper_script.sh

Ludovic said that `guix packages --search-paths' should generate similar path configuration so it may be the right way, but it didn't work for me.


And last thing I wanted to mention, you have kind community around Guix and Guile. It's really motivating!

Best regards,

Tomas Cech
Sleep_Walker

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

* (unknown), 
@ 2015-03-25 22:49 Tomáš Čech
  0 siblings, 0 replies; 57+ messages in thread
From: Tomáš Čech @ 2015-03-25 22:49 UTC (permalink / raw)
  To: guix-devel

I haven't seen any further reaction for 12 days so I hope you don't mind that
I resend it again.

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

* (unknown), 
  2015-07-08 14:30 [PATCH 2/2] gnu: Update pumpa to 0.9.1 Mathieu Lirzin
@ 2015-07-08 14:39 ` Claes Wallin (韋嘉誠)
  0 siblings, 0 replies; 57+ messages in thread
From: Claes Wallin (韋嘉誠) @ 2015-07-08 14:39 UTC (permalink / raw)
  To: guix-devel



Ok! Sending the merged patch. Sorry for the patch spam, still figuring out the git-send-mail way of working.

-- 
   /c

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

* (unknown)
@ 2015-07-13 13:01 Pjotr Prins
  0 siblings, 0 replies; 57+ messages in thread
From: Pjotr Prins @ 2015-07-13 13:01 UTC (permalink / raw)
  To: guix-devel

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



[-- Attachment #2: 0001-gnu-Add-ruby-nokogiri.patch --]
[-- Type: text/x-diff, Size: 2711 bytes --]

From e2fd935a659cacde5cb74bef19406f056a262f79 Mon Sep 17 00:00:00 2001
From: pjotrp <pjotr.public01@thebird.nl>
Date: Mon, 13 Jul 2015 14:56:40 +0200
Subject: [PATCH] gnu: Add ruby-nokogiri

* gnu/packages/ruby.scm (gnu-nokogiri): New variable
---
 gnu/packages/ruby.scm |   40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bb7d865..85cb0d4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -34,6 +34,7 @@
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages xml)
   #:use-module (guix build-system ruby))
 
 (define-public ruby
@@ -519,6 +520,45 @@ using Net::HTTP, supporting reconnection and retry according to RFC 2616.")
     (home-page "https://github.com/drbrain/net-http-persistent")
     (license license:expat)))
 
+(define-public ruby-nokogiri
+  (package
+    (name "ruby-nokogiri")
+    (version "1.6.6.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+		    "https://github.com/sparklemotion/nokogiri/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+	      (patches (map search-patch
+                            (list "ruby-nokogiri-Rakefile.patch")))
+              (sha256
+               (base32
+                "1dpmmxr8azbyvhhmw9hpyk3dds577vsd6c312gh2s7kgjd98nd9j"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(
+       #:tests? #f  ;; test fails because nokogiri can only test with a built extension (now part of install phase)
+       #:gem-flags (list "--use-system-libraries" (string-append "--with-xml2-include=" (assoc-ref %build-inputs "libxml2") "/include/libxml2" ))
+       #:phases (alist-replace
+                 'build
+                 (lambda _
+		   ;; calling rake gem 2x begets a gem
+		   (system* "rake" "gem")
+		   (zero? (system* "rake" "gem")))
+		  %standard-phases)))
+    (native-inputs
+     `(("ruby-hoe" ,ruby-hoe)
+       ("ruby-rake-compiler", ruby-rake-compiler)))
+    (inputs
+     `(("zlib" ,zlib)
+       ("libxml2" ,libxml2)
+       ("libxslt" ,libxslt)))
+    (synopsis "Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser")
+    (description "Nokogiri parses and searches XML/HTML very quickly, and also has correctly implemented CSS3 selector support as well as XPath 1.0 support.")
+    (home-page "http://www.nokogiri.org/")
+    (license license:x11)))
+
 (define-public ruby-minitest
   (package
     (name "ruby-minitest")
-- 
1.7.10.4


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

* (unknown)
@ 2015-09-15 14:35 Pjotr Prins
  0 siblings, 0 replies; 57+ messages in thread
From: Pjotr Prins @ 2015-09-15 14:35 UTC (permalink / raw)
  To: guix-devel

From f8493e0e3e4520bb4de4fd20e93d325444332dc3 Mon Sep 17 00:00:00 2001
Date: Tue, 15 Sep 2015 14:21:17 +0000
Subject: [PATCH] gnu: Add ruby-gherkin3
To: guix-devel@gnu.org
From: pjotr.public12@thebird.nl

* gnu/packages/ruby.scm (ruby-gherkin3): New variable.
---
 gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index ee0acc8..4756cd4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1124,3 +1124,28 @@ it unifies the API for web servers, web frameworks, and software in between
 into a single method call.")
     (home-page "http://rack.github.io/")
     (license license:expat)))
+
+(define-public ruby-gherkin3
+  (package
+    (name "ruby-gherkin3")
+    (version "3.1.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (rubygems-uri "gherkin3" version))
+        (sha256
+          (base32
+            "0xsyxhqa1gwcxzvsdy4didaiq5vam8ma3fbwbw2w60via4k6r1z9"))))
+    (build-system ruby-build-system)
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-rspec" ,ruby-rspec)))
+    (arguments
+     '(#:tests? #f)) ; needs simplecov, among others
+    (synopsis "Gherkin parser")
+    (description "Gherkin 3 is a parser and compiler for the Gherkin
+language.  It is intended to replace Gherkin 2 and be used by all
+Cucumber implementations to parse .feature files.")
+    (home-page
+      "https://github.com/cucumber/gherkin3")
+    (license expat)))
-- 
2.4.3

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

* (unknown), 
  2016-05-30 19:24 [PATCH] gnu: Add py3status Tomáš Čech
@ 2016-05-30 20:01 ` Tomáš Čech
  0 siblings, 0 replies; 57+ messages in thread
From: Tomáš Čech @ 2016-05-30 20:01 UTC (permalink / raw)
  To: guix-devel


OK, I got too excited with sending patch, I'm just glad I get in touch once
again. And besides, that GPG signing of commits is new to me.

S_W

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

* (unknown), 
@ 2016-06-08 12:55 Ben Woodcroft
  0 siblings, 0 replies; 57+ messages in thread
From: Ben Woodcroft @ 2016-06-08 12:55 UTC (permalink / raw)
  To: guix-devel

Thanks in advance.
ben

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

* (unknown), 
@ 2016-06-30  0:27 ng0
  0 siblings, 0 replies; 57+ messages in thread
From: ng0 @ 2016-06-30  0:27 UTC (permalink / raw)
  To: guix-devel

Just a heads up for patchworks:

You currently have no option to change the firstname + lastname
you select at signing up (and not an efficient way to see if this
is a requirement (which it should not be in my opinion)).

Having now a random name associated on the patchworks list with
my submissions is not too weird for me, but it might be
irritating for other people who are not expecting this
"feature".

-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion

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

* (unknown)
@ 2016-07-20  3:46 Pjotr Prins
  0 siblings, 0 replies; 57+ messages in thread
From: Pjotr Prins @ 2016-07-20  3:46 UTC (permalink / raw)
  To: guix-devel

From 5fd8f64794b27f59f6688177a7a9e532b5d57f01 Mon Sep 17 00:00:00 2001
Date: Tue, 19 Jul 2016 11:13:27 +0000
Subject: [PATCH] gnu: Add elixir.
To: guix-devel@gnu.org
From: Pjotr Prins <pjotr.public12@thebird.nl>

* gnu/packages/elixir.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk                                       |   1 +
 gnu/packages/elixir.scm                            |  91 ++++++++++++
 .../patches/elixir-disable-failing-tests.patch     | 108 +++++++++++++++
 .../patches/elixir-disable-mix-tests.patch         | 152 +++++++++++++++++++++
 gnu/packages/ruby.scm                              |   1 -
 5 files changed, 352 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/elixir.scm
 create mode 100644 gnu/packages/patches/elixir-disable-failing-tests.patch
 create mode 100644 gnu/packages/patches/elixir-disable-mix-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 536ecef..7a9a820 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -104,6 +104,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ebook.scm			\
   %D%/packages/ed.scm				\
   %D%/packages/elf.scm				\
+  %D%/packages/elixir.scm			\
   %D%/packages/emacs.scm			\
   %D%/packages/enchant.scm			\
   %D%/packages/engineering.scm			\
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
new file mode 100644
index 0000000..c1bbab3
--- /dev/null
+++ b/gnu/packages/elixir.scm
@@ -0,0 +1,91 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl>
+;;;
+;;; 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 elixir)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages base)  ; for patch
+  #:use-module (gnu packages erlang)
+  #:use-module (gnu packages version-control))
+
+(define-public elixir
+  (package
+   (name "elixir")
+   (version "1.3.2")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append
+                  "https://github.com/elixir-lang/elixir/archive/v"
+                  version ".tar.gz"))
+            (file-name (string-append name "-" version ".tar.gz"))
+            (sha256
+             (base32
+              "0jsc6kl7f74yszcypdv3w3vhyc9qfqav8nwc41in082m0vpfy95y"))))
+   (build-system gnu-build-system)
+   (native-inputs
+    `(("patch" ,patch)
+      ("patch/elixir-disable-failing-tests"
+       ,(search-patch "elixir-disable-failing-tests.patch"))
+      ("patch/elixir-disable-mix-tests"
+       ,(search-patch "elixir-disable-mix-tests.patch"))))
+   (inputs
+    `(("erlang" ,erlang)
+      ("git" ,git)))
+   (arguments
+    `(#:phases (modify-phases %standard-phases
+      (add-after 'unpack 'replace-git-path
+        (lambda _
+          (substitute* '("lib/elixir/lib/system.ex"
+                         "lib/mix/lib/mix/scm/git.ex")
+                       (("cmd\\('git") (string-append "cmd('" (which "git")))
+                       (("cmd\\(\"git") (string-append "cmd(\"" (which "git"))))
+          #t))
+      (delete 'configure)
+      (add-before 'build 'rewrite-path
+        (lambda* (#:key inputs #:allow-other-keys)
+                 (substitute* "bin/elixir"
+                              (("ERL_EXEC=\"erl\"")
+                               (string-append "ERL_EXEC=" (which "erl"))))))
+      (add-after 'build 'disable-breaking-elixir-tests
+        ;; when patching tests as part of source the build breaks, so we do
+        ;; it after the build phase
+        (lambda* (#:key inputs #:allow-other-keys)
+          (and
+           (zero? (system* "patch" "--force" "-p1" "-i"
+                           (assoc-ref inputs "patch/elixir-disable-failing-tests")))
+           (zero? (system* "patch" "--force" "-p1" "-i"
+                           (assoc-ref inputs "patch/elixir-disable-mix-tests")))
+           ;; Tests currently fail in these two files:
+           (delete-file "./lib/mix/test/mix/tasks/deps.git_test.exs")
+           (delete-file "./lib/mix/test/mix/shell_test.exs"))))
+      (replace 'check
+               (lambda _
+                 (zero? (system* "make" "test"))))) ;; 3124 tests, 0 failures, 11 skipped
+      #:make-flags (list (string-append "PREFIX=" %output))))
+   (home-page "http://elixir-lang.org/")
+   (synopsis "The Elixir programming language")
+   (description "Elixir is a dynamic, functional language used to
+build scalable and maintainable applications.  Elixir leverages the
+Erlang VM, known for running low-latency, distributed and
+fault-tolerant systems, while also being successfully used in web
+development and the embedded software domain.")
+   (license license:asl2.0)))
diff --git a/gnu/packages/patches/elixir-disable-failing-tests.patch b/gnu/packages/patches/elixir-disable-failing-tests.patch
new file mode 100644
index 0000000..802cb1e
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-failing-tests.patch
@@ -0,0 +1,108 @@
+diff --git a/lib/elixir/test/elixir/kernel/cli_test.exs b/lib/elixir/test/elixir/kernel/cli_test.exs
+index 3ffd56c..1232d19 100644
+--- a/lib/elixir/test/elixir/kernel/cli_test.exs
++++ b/lib/elixir/test/elixir/kernel/cli_test.exs
+@@ -39,6 +39,7 @@ end
+ defmodule Kernel.CLI.OptionParsingTest do
+   use ExUnit.Case, async: true
+ 
++  @tag :skip
+   test "properly parses paths" do
+     root = fixture_path("../../..") |> to_charlist
+     list = elixir('-pa "#{root}/*" -pz "#{root}/lib/*" -e "IO.inspect(:code.get_path, limit: :infinity)"')
+@@ -57,6 +58,7 @@ end
+ defmodule Kernel.CLI.AtExitTest do
+   use ExUnit.Case, async: true
+ 
++  @tag :skip
+   test "invokes at_exit callbacks" do
+     assert elixir(fixture_path("at_exit.exs") |> to_charlist) ==
+            'goodbye cruel world with status 1\n'
+@@ -66,6 +68,7 @@ end
+ defmodule Kernel.CLI.ErrorTest do
+   use ExUnit.Case, async: true
+ 
++  @tag :skip
+   test "properly format errors" do
+     assert :string.str('** (throw) 1', elixir('-e "throw 1"')) == 0
+     assert :string.str('** (ErlangError) erlang error: 1', elixir('-e "error 1"')) == 0
+@@ -86,6 +89,7 @@ defmodule Kernel.CLI.CompileTest do
+     {:ok, [tmp_dir_path: tmp_dir_path, beam_file_path: beam_file_path, fixture: fixture]}
+   end
+ 
++  @tag :skip
+   test "compiles code", context do
+     assert elixirc('#{context[:fixture]} -o #{context[:tmp_dir_path]}') == ''
+     assert File.regular?(context[:beam_file_path])
+@@ -96,6 +100,7 @@ defmodule Kernel.CLI.CompileTest do
+     Code.delete_path context[:tmp_dir_path]
+   end
+ 
++  @tag :skip
+   test "fails on missing patterns", context do
+     output = elixirc('#{context[:fixture]} non_existing.ex -o #{context[:tmp_dir_path]}')
+     assert :string.str(output, 'non_existing.ex') > 0, "expected non_existing.ex to be mentioned"
+@@ -103,6 +108,7 @@ defmodule Kernel.CLI.CompileTest do
+     refute File.exists?(context[:beam_file_path]), "expected the sample to not be compiled"
+   end
+ 
++  @tag :skip
+   test "fails on missing write access to .beam file", context do
+     compilation_args = '#{context[:fixture]} -o #{context[:tmp_dir_path]}'
+ 
+diff --git a/lib/elixir/test/elixir/kernel/dialyzer_test.exs b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+index 801d852..40fc5bc 100644
+--- a/lib/elixir/test/elixir/kernel/dialyzer_test.exs
++++ b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+@@ -60,16 +60,19 @@ defmodule Kernel.DialyzerTest do
+     assert_dialyze_no_warnings! context
+   end
+ 
++  @tag :skip
+   test "no warnings on rewrites", context do
+     copy_beam! context, Dialyzer.Rewrite
+     assert_dialyze_no_warnings! context
+   end
+ 
++  @tag :skip
+   test "no warnings on raise", context do
+     copy_beam! context, Dialyzer.Raise
+     assert_dialyze_no_warnings! context
+   end
+ 
++  @tag :skip
+   test "no warnings on macrocallback", context do
+     copy_beam! context, Dialyzer.Macrocallback
+     copy_beam! context, Dialyzer.Macrocallback.Impl
+diff --git a/lib/elixir/test/elixir/node_test.exs b/lib/elixir/test/elixir/node_test.exs
+index d1f1fe6..5c2d469 100644
+--- a/lib/elixir/test/elixir/node_test.exs
++++ b/lib/elixir/test/elixir/node_test.exs
+@@ -6,8 +6,10 @@ defmodule NodeTest do
+   doctest Node
+ 
+   test "start/3 and stop/0" do
+-    assert Node.stop == {:error, :not_found}
+-    assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
+-    assert Node.stop() == :ok
++    IO.puts "Skipping test because GNU Guix does not allow the HOME environment variable."
++
++    # assert Node.stop == {:error, :not_found}
++    # assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
++    # assert Node.stop() == :ok
+   end
+ end
+diff --git a/lib/elixir/test/elixir/system_test.exs b/lib/elixir/test/elixir/system_test.exs
+index aafa559..0f9c178 100644
+--- a/lib/elixir/test/elixir/system_test.exs
++++ b/lib/elixir/test/elixir/system_test.exs
+@@ -53,7 +53,8 @@ defmodule SystemTest do
+     assert System.endianness in [:little, :big]
+     assert System.endianness == System.compiled_endianness
+   end
+-
++ 
++  @tag :skip
+   test "argv/0" do
+     list = elixir('-e "IO.inspect System.argv" -- -o opt arg1 arg2 --long-opt 10')
+     {args, _} = Code.eval_string list, []
diff --git a/gnu/packages/patches/elixir-disable-mix-tests.patch b/gnu/packages/patches/elixir-disable-mix-tests.patch
new file mode 100644
index 0000000..649a916
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-mix-tests.patch
@@ -0,0 +1,152 @@
+diff --git a/lib/mix/test/mix/dep_test.exs b/lib/mix/test/mix/dep_test.exs
+index fff3351..d6ed1b3 100644
+--- a/lib/mix/test/mix/dep_test.exs
++++ b/lib/mix/test/mix/dep_test.exs
+@@ -244,6 +244,7 @@ defmodule Mix.DepTest do
+     end
+   end
+ 
++  @tag :skip
+   test "remote converger" do
+     deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+             {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo")}]
+@@ -301,6 +302,7 @@ defmodule Mix.DepTest do
+     end
+   end
+ 
++  @tag :skip
+   test "remote converger is not invoked if deps diverge" do
+     deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+             {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo"), only: :test}]
+diff --git a/lib/mix/test/mix/rebar_test.exs b/lib/mix/test/mix/rebar_test.exs
+index d2dd098..12cef15 100644
+--- a/lib/mix/test/mix/rebar_test.exs
++++ b/lib/mix/test/mix/rebar_test.exs
+@@ -120,6 +120,7 @@ defmodule Mix.RebarTest do
+     assert Enum.all?(deps, &(&1.manager == :rebar3))
+   end
+ 
++  @tag :skip
+   test "Rebar overrides" do
+     Mix.Project.push(RebarOverrideAsDep)
+ 
+@@ -150,6 +151,7 @@ defmodule Mix.RebarTest do
+     end
+   end
+ 
++  @tag :skip
+   test "get and compile dependencies for Rebar" do
+     Mix.Project.push(RebarAsDep)
+ 
+@@ -180,6 +182,7 @@ defmodule Mix.RebarTest do
+     end
+   end
+ 
++  @tag :skip
+   test "get and compile dependencies for rebar3" do
+     Mix.Project.push(Rebar3AsDep)
+ 
+diff --git a/lib/mix/test/mix/shell/io_test.exs b/lib/mix/test/mix/shell/io_test.exs
+index 9bfb6b4..d982ef3 100644
+--- a/lib/mix/test/mix/shell/io_test.exs
++++ b/lib/mix/test/mix/shell/io_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.IOTest do
+     assert capture_io("", fn -> refute yes?("Ok?") end)
+   end
+ 
++  @tag :skip
+   test "runs a given command" do
+     assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == "hello\n"
+ 
+diff --git a/lib/mix/test/mix/shell/quiet_test.exs b/lib/mix/test/mix/shell/quiet_test.exs
+index 626429b..99fab35 100644
+--- a/lib/mix/test/mix/shell/quiet_test.exs
++++ b/lib/mix/test/mix/shell/quiet_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.QuietTest do
+     assert capture_io("", fn -> refute yes?("Ok?") end)
+   end
+ 
++  @tag :skip
+   test "runs a given command" do
+     assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == ""
+ 
+diff --git a/lib/mix/test/mix/tasks/cmd_test.exs b/lib/mix/test/mix/tasks/cmd_test.exs
+index db4bf06..4d441f7 100644
+--- a/lib/mix/test/mix/tasks/cmd_test.exs
++++ b/lib/mix/test/mix/tasks/cmd_test.exs
+@@ -3,6 +3,7 @@ Code.require_file "../../test_helper.exs", __DIR__
+ defmodule Mix.Tasks.CmdTest do
+   use MixTest.Case
+ 
++  @tag :skip
+   test "runs the command for each app" do
+     in_fixture "umbrella_dep/deps/umbrella", fn ->
+       Mix.Project.in_project(:umbrella, ".", fn _ ->
+diff --git a/lib/mix/test/mix/tasks/deps.tree_test.exs b/lib/mix/test/mix/tasks/deps.tree_test.exs
+index 4f09ff3..c371997 100644
+--- a/lib/mix/test/mix/tasks/deps.tree_test.exs
++++ b/lib/mix/test/mix/tasks/deps.tree_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+     end
+   end
+ 
++  @tag :skip
+   test "shows the dependency tree", context do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -109,6 +110,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+     end
+   end
+ 
++  @tag :skip
+   test "shows the dependency tree in DOT graph format", context do
+     Mix.Project.push ConvergedDepsApp
+ 
+diff --git a/lib/mix/test/mix/tasks/deps_test.exs b/lib/mix/test/mix/tasks/deps_test.exs
+index b061777..cc45cf8 100644
+--- a/lib/mix/test/mix/tasks/deps_test.exs
++++ b/lib/mix/test/mix/tasks/deps_test.exs
+@@ -409,6 +409,7 @@ defmodule Mix.Tasks.DepsTest do
+     end
+   end
+ 
++  @tag :skip
+   test "fails on diverged dependencies by requirement" do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -440,6 +441,7 @@ defmodule Mix.Tasks.DepsTest do
+     end
+   end
+ 
++  @tag :skip
+   test "fails on diverged dependencies even when optional" do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -469,6 +471,7 @@ defmodule Mix.Tasks.DepsTest do
+     end
+   end
+ 
++  @tag :skip
+   test "works with converged dependencies" do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -491,6 +494,7 @@ defmodule Mix.Tasks.DepsTest do
+     purge [GitRepo, GitRepo.Mixfile]
+   end
+ 
++  @tag :skip
+   test "works with overridden dependencies" do
+     Mix.Project.push OverriddenDepsApp
+ 
+diff --git a/lib/mix/test/mix/umbrella_test.exs b/lib/mix/test/mix/umbrella_test.exs
+index 69f9428..406668a 100644
+--- a/lib/mix/test/mix/umbrella_test.exs
++++ b/lib/mix/test/mix/umbrella_test.exs
+@@ -98,6 +98,7 @@ defmodule Mix.UmbrellaTest do
+     end
+   end
+ 
++  @tag :skip
+   test "loads umbrella child dependencies in all environments" do
+     in_fixture "umbrella_dep/deps/umbrella", fn ->
+       Mix.Project.in_project :umbrella, ".", fn _ ->
-- 
2.6.3

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

* (unknown)
@ 2016-07-21  1:39 Unknown, Pjotr Prins
  0 siblings, 0 replies; 57+ messages in thread
From: Unknown, Pjotr Prins @ 2016-07-21  1:39 UTC (permalink / raw)
  To: guix-devel

From 5fd8f64794b27f59f6688177a7a9e532b5d57f01 Mon Sep 17 00:00:00 2001
Date: Tue, 19 Jul 2016 11:13:27 +0000
Subject: [PATCH] gnu: Add elixir.
To: guix-devel@gnu.org
From: Pjotr Prins <pjotr.public01@thebird.nl>
References: <578e47d0.i8Ovns6KhzHqzVNC%pjotr.public12@thebird.nl>

* gnu/packages/elixir.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk                                       |   1 +
 gnu/packages/elixir.scm                            |  91 ++++++++++++
 .../patches/elixir-disable-failing-tests.patch     | 108 +++++++++++++++
 .../patches/elixir-disable-mix-tests.patch         | 152 +++++++++++++++++++++
 gnu/packages/ruby.scm                              |   1 -
 5 files changed, 352 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/elixir.scm
 create mode 100644 gnu/packages/patches/elixir-disable-failing-tests.patch
 create mode 100644 gnu/packages/patches/elixir-disable-mix-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 536ecef..7a9a820 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -104,6 +104,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ebook.scm			\
   %D%/packages/ed.scm				\
   %D%/packages/elf.scm				\
+  %D%/packages/elixir.scm			\
   %D%/packages/emacs.scm			\
   %D%/packages/enchant.scm			\
   %D%/packages/engineering.scm			\
diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm
new file mode 100644
index 0000000..c1bbab3
--- /dev/null
+++ b/gnu/packages/elixir.scm
@@ -0,0 +1,91 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Pjotr Prins <pjotr.public12@thebird.nl>
+;;;
+;;; 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 elixir)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages base)  ; for patch
+  #:use-module (gnu packages erlang)
+  #:use-module (gnu packages version-control))
+
+(define-public elixir
+  (package
+   (name "elixir")
+   (version "1.3.2")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append
+                  "https://github.com/elixir-lang/elixir/archive/v"
+                  version ".tar.gz"))
+            (file-name (string-append name "-" version ".tar.gz"))
+            (sha256
+             (base32
+              "0jsc6kl7f74yszcypdv3w3vhyc9qfqav8nwc41in082m0vpfy95y"))))
+   (build-system gnu-build-system)
+   (native-inputs
+    `(("patch" ,patch)
+      ("patch/elixir-disable-failing-tests"
+       ,(search-patch "elixir-disable-failing-tests.patch"))
+      ("patch/elixir-disable-mix-tests"
+       ,(search-patch "elixir-disable-mix-tests.patch"))))
+   (inputs
+    `(("erlang" ,erlang)
+      ("git" ,git)))
+   (arguments
+    `(#:phases (modify-phases %standard-phases
+      (add-after 'unpack 'replace-git-path
+        (lambda _
+          (substitute* '("lib/elixir/lib/system.ex"
+                         "lib/mix/lib/mix/scm/git.ex")
+                       (("cmd\\('git") (string-append "cmd('" (which "git")))
+                       (("cmd\\(\"git") (string-append "cmd(\"" (which "git"))))
+          #t))
+      (delete 'configure)
+      (add-before 'build 'rewrite-path
+        (lambda* (#:key inputs #:allow-other-keys)
+                 (substitute* "bin/elixir"
+                              (("ERL_EXEC=\"erl\"")
+                               (string-append "ERL_EXEC=" (which "erl"))))))
+      (add-after 'build 'disable-breaking-elixir-tests
+        ;; when patching tests as part of source the build breaks, so we do
+        ;; it after the build phase
+        (lambda* (#:key inputs #:allow-other-keys)
+          (and
+           (zero? (system* "patch" "--force" "-p1" "-i"
+                           (assoc-ref inputs "patch/elixir-disable-failing-tests")))
+           (zero? (system* "patch" "--force" "-p1" "-i"
+                           (assoc-ref inputs "patch/elixir-disable-mix-tests")))
+           ;; Tests currently fail in these two files:
+           (delete-file "./lib/mix/test/mix/tasks/deps.git_test.exs")
+           (delete-file "./lib/mix/test/mix/shell_test.exs"))))
+      (replace 'check
+               (lambda _
+                 (zero? (system* "make" "test"))))) ;; 3124 tests, 0 failures, 11 skipped
+      #:make-flags (list (string-append "PREFIX=" %output))))
+   (home-page "http://elixir-lang.org/")
+   (synopsis "The Elixir programming language")
+   (description "Elixir is a dynamic, functional language used to
+build scalable and maintainable applications.  Elixir leverages the
+Erlang VM, known for running low-latency, distributed and
+fault-tolerant systems, while also being successfully used in web
+development and the embedded software domain.")
+   (license license:asl2.0)))
diff --git a/gnu/packages/patches/elixir-disable-failing-tests.patch b/gnu/packages/patches/elixir-disable-failing-tests.patch
new file mode 100644
index 0000000..802cb1e
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-failing-tests.patch
@@ -0,0 +1,108 @@
+diff --git a/lib/elixir/test/elixir/kernel/cli_test.exs b/lib/elixir/test/elixir/kernel/cli_test.exs
+index 3ffd56c..1232d19 100644
+--- a/lib/elixir/test/elixir/kernel/cli_test.exs
++++ b/lib/elixir/test/elixir/kernel/cli_test.exs
+@@ -39,6 +39,7 @@ end
+ defmodule Kernel.CLI.OptionParsingTest do
+   use ExUnit.Case, async: true
+ 
++  @tag :skip
+   test "properly parses paths" do
+     root = fixture_path("../../..") |> to_charlist
+     list = elixir('-pa "#{root}/*" -pz "#{root}/lib/*" -e "IO.inspect(:code.get_path, limit: :infinity)"')
+@@ -57,6 +58,7 @@ end
+ defmodule Kernel.CLI.AtExitTest do
+   use ExUnit.Case, async: true
+ 
++  @tag :skip
+   test "invokes at_exit callbacks" do
+     assert elixir(fixture_path("at_exit.exs") |> to_charlist) ==
+            'goodbye cruel world with status 1\n'
+@@ -66,6 +68,7 @@ end
+ defmodule Kernel.CLI.ErrorTest do
+   use ExUnit.Case, async: true
+ 
++  @tag :skip
+   test "properly format errors" do
+     assert :string.str('** (throw) 1', elixir('-e "throw 1"')) == 0
+     assert :string.str('** (ErlangError) erlang error: 1', elixir('-e "error 1"')) == 0
+@@ -86,6 +89,7 @@ defmodule Kernel.CLI.CompileTest do
+     {:ok, [tmp_dir_path: tmp_dir_path, beam_file_path: beam_file_path, fixture: fixture]}
+   end
+ 
++  @tag :skip
+   test "compiles code", context do
+     assert elixirc('#{context[:fixture]} -o #{context[:tmp_dir_path]}') == ''
+     assert File.regular?(context[:beam_file_path])
+@@ -96,6 +100,7 @@ defmodule Kernel.CLI.CompileTest do
+     Code.delete_path context[:tmp_dir_path]
+   end
+ 
++  @tag :skip
+   test "fails on missing patterns", context do
+     output = elixirc('#{context[:fixture]} non_existing.ex -o #{context[:tmp_dir_path]}')
+     assert :string.str(output, 'non_existing.ex') > 0, "expected non_existing.ex to be mentioned"
+@@ -103,6 +108,7 @@ defmodule Kernel.CLI.CompileTest do
+     refute File.exists?(context[:beam_file_path]), "expected the sample to not be compiled"
+   end
+ 
++  @tag :skip
+   test "fails on missing write access to .beam file", context do
+     compilation_args = '#{context[:fixture]} -o #{context[:tmp_dir_path]}'
+ 
+diff --git a/lib/elixir/test/elixir/kernel/dialyzer_test.exs b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+index 801d852..40fc5bc 100644
+--- a/lib/elixir/test/elixir/kernel/dialyzer_test.exs
++++ b/lib/elixir/test/elixir/kernel/dialyzer_test.exs
+@@ -60,16 +60,19 @@ defmodule Kernel.DialyzerTest do
+     assert_dialyze_no_warnings! context
+   end
+ 
++  @tag :skip
+   test "no warnings on rewrites", context do
+     copy_beam! context, Dialyzer.Rewrite
+     assert_dialyze_no_warnings! context
+   end
+ 
++  @tag :skip
+   test "no warnings on raise", context do
+     copy_beam! context, Dialyzer.Raise
+     assert_dialyze_no_warnings! context
+   end
+ 
++  @tag :skip
+   test "no warnings on macrocallback", context do
+     copy_beam! context, Dialyzer.Macrocallback
+     copy_beam! context, Dialyzer.Macrocallback.Impl
+diff --git a/lib/elixir/test/elixir/node_test.exs b/lib/elixir/test/elixir/node_test.exs
+index d1f1fe6..5c2d469 100644
+--- a/lib/elixir/test/elixir/node_test.exs
++++ b/lib/elixir/test/elixir/node_test.exs
+@@ -6,8 +6,10 @@ defmodule NodeTest do
+   doctest Node
+ 
+   test "start/3 and stop/0" do
+-    assert Node.stop == {:error, :not_found}
+-    assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
+-    assert Node.stop() == :ok
++    IO.puts "Skipping test because GNU Guix does not allow the HOME environment variable."
++
++    # assert Node.stop == {:error, :not_found}
++    # assert {:ok, _} = Node.start(:hello, :shortnames, 15000)
++    # assert Node.stop() == :ok
+   end
+ end
+diff --git a/lib/elixir/test/elixir/system_test.exs b/lib/elixir/test/elixir/system_test.exs
+index aafa559..0f9c178 100644
+--- a/lib/elixir/test/elixir/system_test.exs
++++ b/lib/elixir/test/elixir/system_test.exs
+@@ -53,7 +53,8 @@ defmodule SystemTest do
+     assert System.endianness in [:little, :big]
+     assert System.endianness == System.compiled_endianness
+   end
+-
++ 
++  @tag :skip
+   test "argv/0" do
+     list = elixir('-e "IO.inspect System.argv" -- -o opt arg1 arg2 --long-opt 10')
+     {args, _} = Code.eval_string list, []
diff --git a/gnu/packages/patches/elixir-disable-mix-tests.patch b/gnu/packages/patches/elixir-disable-mix-tests.patch
new file mode 100644
index 0000000..649a916
--- /dev/null
+++ b/gnu/packages/patches/elixir-disable-mix-tests.patch
@@ -0,0 +1,152 @@
+diff --git a/lib/mix/test/mix/dep_test.exs b/lib/mix/test/mix/dep_test.exs
+index fff3351..d6ed1b3 100644
+--- a/lib/mix/test/mix/dep_test.exs
++++ b/lib/mix/test/mix/dep_test.exs
+@@ -244,6 +244,7 @@ defmodule Mix.DepTest do
+     end
+   end
+ 
++  @tag :skip
+   test "remote converger" do
+     deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+             {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo")}]
+@@ -301,6 +302,7 @@ defmodule Mix.DepTest do
+     end
+   end
+ 
++  @tag :skip
+   test "remote converger is not invoked if deps diverge" do
+     deps = [{:deps_repo, "0.1.0", path: "custom/deps_repo"},
+             {:git_repo, "0.2.0", git: MixTest.Case.fixture_path("git_repo"), only: :test}]
+diff --git a/lib/mix/test/mix/rebar_test.exs b/lib/mix/test/mix/rebar_test.exs
+index d2dd098..12cef15 100644
+--- a/lib/mix/test/mix/rebar_test.exs
++++ b/lib/mix/test/mix/rebar_test.exs
+@@ -120,6 +120,7 @@ defmodule Mix.RebarTest do
+     assert Enum.all?(deps, &(&1.manager == :rebar3))
+   end
+ 
++  @tag :skip
+   test "Rebar overrides" do
+     Mix.Project.push(RebarOverrideAsDep)
+ 
+@@ -150,6 +151,7 @@ defmodule Mix.RebarTest do
+     end
+   end
+ 
++  @tag :skip
+   test "get and compile dependencies for Rebar" do
+     Mix.Project.push(RebarAsDep)
+ 
+@@ -180,6 +182,7 @@ defmodule Mix.RebarTest do
+     end
+   end
+ 
++  @tag :skip
+   test "get and compile dependencies for rebar3" do
+     Mix.Project.push(Rebar3AsDep)
+ 
+diff --git a/lib/mix/test/mix/shell/io_test.exs b/lib/mix/test/mix/shell/io_test.exs
+index 9bfb6b4..d982ef3 100644
+--- a/lib/mix/test/mix/shell/io_test.exs
++++ b/lib/mix/test/mix/shell/io_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.IOTest do
+     assert capture_io("", fn -> refute yes?("Ok?") end)
+   end
+ 
++  @tag :skip
+   test "runs a given command" do
+     assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == "hello\n"
+ 
+diff --git a/lib/mix/test/mix/shell/quiet_test.exs b/lib/mix/test/mix/shell/quiet_test.exs
+index 626429b..99fab35 100644
+--- a/lib/mix/test/mix/shell/quiet_test.exs
++++ b/lib/mix/test/mix/shell/quiet_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Shell.QuietTest do
+     assert capture_io("", fn -> refute yes?("Ok?") end)
+   end
+ 
++  @tag :skip
+   test "runs a given command" do
+     assert capture_io("", fn -> assert cmd("echo hello") == 0 end) == ""
+ 
+diff --git a/lib/mix/test/mix/tasks/cmd_test.exs b/lib/mix/test/mix/tasks/cmd_test.exs
+index db4bf06..4d441f7 100644
+--- a/lib/mix/test/mix/tasks/cmd_test.exs
++++ b/lib/mix/test/mix/tasks/cmd_test.exs
+@@ -3,6 +3,7 @@ Code.require_file "../../test_helper.exs", __DIR__
+ defmodule Mix.Tasks.CmdTest do
+   use MixTest.Case
+ 
++  @tag :skip
+   test "runs the command for each app" do
+     in_fixture "umbrella_dep/deps/umbrella", fn ->
+       Mix.Project.in_project(:umbrella, ".", fn _ ->
+diff --git a/lib/mix/test/mix/tasks/deps.tree_test.exs b/lib/mix/test/mix/tasks/deps.tree_test.exs
+index 4f09ff3..c371997 100644
+--- a/lib/mix/test/mix/tasks/deps.tree_test.exs
++++ b/lib/mix/test/mix/tasks/deps.tree_test.exs
+@@ -29,6 +29,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+     end
+   end
+ 
++  @tag :skip
+   test "shows the dependency tree", context do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -109,6 +110,7 @@ defmodule Mix.Tasks.Deps.TreeTest do
+     end
+   end
+ 
++  @tag :skip
+   test "shows the dependency tree in DOT graph format", context do
+     Mix.Project.push ConvergedDepsApp
+ 
+diff --git a/lib/mix/test/mix/tasks/deps_test.exs b/lib/mix/test/mix/tasks/deps_test.exs
+index b061777..cc45cf8 100644
+--- a/lib/mix/test/mix/tasks/deps_test.exs
++++ b/lib/mix/test/mix/tasks/deps_test.exs
+@@ -409,6 +409,7 @@ defmodule Mix.Tasks.DepsTest do
+     end
+   end
+ 
++  @tag :skip
+   test "fails on diverged dependencies by requirement" do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -440,6 +441,7 @@ defmodule Mix.Tasks.DepsTest do
+     end
+   end
+ 
++  @tag :skip
+   test "fails on diverged dependencies even when optional" do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -469,6 +471,7 @@ defmodule Mix.Tasks.DepsTest do
+     end
+   end
+ 
++  @tag :skip
+   test "works with converged dependencies" do
+     Mix.Project.push ConvergedDepsApp
+ 
+@@ -491,6 +494,7 @@ defmodule Mix.Tasks.DepsTest do
+     purge [GitRepo, GitRepo.Mixfile]
+   end
+ 
++  @tag :skip
+   test "works with overridden dependencies" do
+     Mix.Project.push OverriddenDepsApp
+ 
+diff --git a/lib/mix/test/mix/umbrella_test.exs b/lib/mix/test/mix/umbrella_test.exs
+index 69f9428..406668a 100644
+--- a/lib/mix/test/mix/umbrella_test.exs
++++ b/lib/mix/test/mix/umbrella_test.exs
+@@ -98,6 +98,7 @@ defmodule Mix.UmbrellaTest do
+     end
+   end
+ 
++  @tag :skip
+   test "loads umbrella child dependencies in all environments" do
+     in_fixture "umbrella_dep/deps/umbrella", fn ->
+       Mix.Project.in_project :umbrella, ".", fn _ ->
-- 
2.6.3

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

* (unknown), 
@ 2016-10-06  6:16 Leo Famulari
  0 siblings, 0 replies; 57+ messages in thread
From: Leo Famulari @ 2016-10-06  6:16 UTC (permalink / raw)
  To: guix-devel

Subject: [PATCH 0/1] libupnp remote filesystem access CVE-2016-6255

You can use libupnp on a remote server to read and write the filesystem
with the privileges of the libupnp process:

http://seclists.org/oss-sec/2016/q3/102

This patch cherry-picks the upstream commit:

https://github.com/mrjimenez/pupnp/commit/d64d6a44906b5aa5306bdf1708531d698654dda5

Leo Famulari (1):
  gnu: libupnp: Fix CVE-2016-6255.

 gnu/local.mk                                     |  1 +
 gnu/packages/libupnp.scm                         |  2 +
 gnu/packages/patches/libupnp-CVE-2016-6255.patch | 86 ++++++++++++++++++++++++
 3 files changed, 89 insertions(+)
 create mode 100644 gnu/packages/patches/libupnp-CVE-2016-6255.patch

-- 
2.10.1

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

* (unknown), 
@ 2016-12-05 18:20 ng0
  0 siblings, 0 replies; 57+ messages in thread
From: ng0 @ 2016-12-05 18:20 UTC (permalink / raw)
  To: guix-devel

[PATCH 1/2] gnu: tlsdate: Use the system provided certificate store.

So far it looks like we are using the application bundled certificates.
This should fix it to use the system provided certificates.

[PATCH 2/2] services: Add tlsdate-service.

Because I still need to learn how make network bridges and make the "guix vm" generated qemu machine use that to call outside, this is tested in theory:
The service spawns, complains about certificates, and quits because it was called with too many ssl connection failures. This is expected in the state the vm is in.
I used tlsdate and not sbin/tlsdated because tlsdate is a one-time, at boot only, setting of time while tlsdated does it periodically.
This can be changed, but I really need the "one time on boot only" service and find it reasonable not to query servers for time too often.

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

* (unknown), 
@ 2016-12-19 17:50 John Darrington
  0 siblings, 0 replies; 57+ messages in thread
From: John Darrington @ 2016-12-19 17:50 UTC (permalink / raw)
  To: guix-devel


Thanks to Ludovic for showing me how to fix this.

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

* (unknown), 
@ 2017-01-02 19:22 manolis837
  0 siblings, 0 replies; 57+ messages in thread
From: manolis837 @ 2017-01-02 19:22 UTC (permalink / raw)
  To: guix-devel


Hello everyone,

The idea behind this patch is to remove the ugly (string-match (or "i586-pc-gnu" "i586-gnu") ...) I had 
everywhere.

Manolis

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

* (unknown), 
@ 2018-04-27 15:05 Catonano
  0 siblings, 0 replies; 57+ messages in thread
From: Catonano @ 2018-04-27 15:05 UTC (permalink / raw)
  To: guix-devel

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

it's 17:05 of april 27th

I just pulled guix and tried to build it

with this result

impossibile aprire ./doc/guix.fr.texi: No such file or directory

ERROR: In procedure lstat:
In procedure lstat: File o directory non esistente:
"/home/catonano/GNU/guix/doc/contributing.fr.texi"

[-- Attachment #2: Type: text/html, Size: 412 bytes --]

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

* (unknown)
@ 2019-05-02 16:19 znavko
  0 siblings, 0 replies; 57+ messages in thread
From: znavko @ 2019-05-02 16:19 UTC (permalink / raw)
  To: guix-devel

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

Hi! I want be able to see which version number of guix I have, not commit but human-readable version, such as 1.0.0. How to do this?
Once performing `guix pull` I saw it, but now I cannot do it this ways:

# guix describe
Generation 88 May 02 2019 17:18:30 (current)
 guix 48f19e6
 repository URL: https://git.savannah.gnu.org/git/guix.git
 branch: master
 commit: 48f19e60c4677e392ee2c23f28098cfcaf9d1710

# guix pull
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
 guix https://git.savannah.gnu.org/git/guix.git 48f19e6
Computing Guix derivation for 'x86_64-linux'... |
nothing to be done

How to see guix version: 1.0.0 ?

[-- Attachment #2: Type: text/html, Size: 1008 bytes --]

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

* (unknown)
@ 2020-04-13  9:53 elaexuotee
  0 siblings, 0 replies; 57+ messages in thread
From: elaexuotee @ 2020-04-13  9:53 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1: Type: text/plain, Size: 874 bytes --]


Attempting to define and build my own package for the first time, I am havi=
ng trouble
simply setting up the basic environment. In particular, make is failing wit=
h a
plethora of "@ref reference to nonexistent node" errors on doc/*.de.texi fi=
les.

It looks like issues #35913 and #35786 may be related; however, at the mome=
nt
issues.guix.gnu.org is returning 500 when I attempt to open them.

Attached is the output of make, and below is how I am getting to that point=
:

    $ guix environment --pure guix --ad-hoc coreutils findutils which
    $ ./bootstrap
    $ ./configure --localstatedir=3D/var
    $ make

Am I just flubbing up something simple? For clarity, this is happening on a=
 freshly
pulled master:

    $ git rev-parse HEAD
    f6145358c7d33e73c0708bbe400e6e8e65512ef3



[-- Attachment #1.2: make.log --]
[-- Type: text/plain, Size: 47367 bytes --]

make  all-recursive
make[1]: Entering directory '/home/x/devel/guix'
Making all in po/guix
make[2]: Entering directory '/home/x/devel/guix/po/guix'
make[2]: Leaving directory '/home/x/devel/guix/po/guix'
Making all in po/packages
make[2]: Entering directory '/home/x/devel/guix/po/packages'
make[2]: Leaving directory '/home/x/devel/guix/po/packages'
make[2]: Entering directory '/home/x/devel/guix'
  MAKEINFO doc/guix.de.info
./doc/guix.de.texi:419: @ref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:431: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:432: @ref reference to nonexistent node `Development'
./doc/guix.de.texi:433: @ref reference to nonexistent node `Utilities'
./doc/guix.de.texi:434: @ref reference to nonexistent node `Programming Interface'
./doc/guix.de.texi:437: @ref reference to nonexistent node `Setting Up the Daemon'
./doc/guix.de.texi:439: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:446: @ref reference to nonexistent node `Defining
Packages'
./doc/guix.de.texi:448: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:450: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:456: @ref reference to nonexistent node `Acknowledgments'
./doc/guix.de.texi:473: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:482: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:493: @ref reference to nonexistent node `System Installation'
./doc/guix.de.texi:504: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:544: @ref reference to nonexistent node `System Configuration'
./doc/guix.de.texi:555: @ref reference to nonexistent node `Porting'
./doc/guix.de.texi:558: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:576: @ref reference to nonexistent node `System
Installation'
./doc/guix.de.texi:591: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:683: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:700: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:718: @ref reference to nonexistent node `Build Environment Setup'
./doc/guix.de.texi:785: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:795: @ref reference to nonexistent node `Application Setup'
./doc/guix.de.texi:823: @ref reference to nonexistent node `Invoking guix pack'
./doc/guix.de.texi:867: @pxref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:868: @pxref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:901: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:945: @ref reference to nonexistent node `Requirements'
./doc/guix.de.texi:969: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:989: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1028: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:1049: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:1054: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:1116: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:1117: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1289: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:1460: @ref reference to nonexistent node `Setting Up the
Daemon'
./doc/guix.de.texi:1472: @ref reference to nonexistent node `Programming Interface'
./doc/guix.de.texi:1478: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:1489: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1497: @ref reference to nonexistent node `Invoking guix processes'
./doc/guix.de.texi:1504: @ref reference to nonexistent node `Setting Up the Daemon'
./doc/guix.de.texi:1510: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1514: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:1524: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:1529: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:1540: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:1549: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1561: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:1572: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:1582: @ref reference to nonexistent node `Common Build
Options'
./doc/guix.de.texi:1589: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1602: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:1652: @ref reference to nonexistent node `Invoking
guix gc'
./doc/guix.de.texi:1721: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:1871: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:1913: @ref reference to nonexistent node `X.509 Certificates'
./doc/guix.de.texi:1966: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:1988: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:2048: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:2052: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:2060: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:2084: @ref reference to nonexistent node `operating-system
Reference'
./doc/guix.de.texi:2210: @ref reference to nonexistent node `Installing Guix in a VM'
./doc/guix.de.texi:2219: @ref reference to nonexistent node `Guided Graphical
Installation'
./doc/guix.de.texi:2223: @ref reference to nonexistent node `Manual Installation'
./doc/guix.de.texi:2276: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:2279: @ref reference to nonexistent node `After System Installation'
./doc/guix.de.texi:2291: @ref reference to nonexistent node `Guided Graphical Installation'
./doc/guix.de.texi:2300: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:2498: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:2516: @ref reference to nonexistent node `File
Systems'
./doc/guix.de.texi:2623: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:2661: @ref reference to nonexistent node `Mapped Devices'
./doc/guix.de.texi:2677: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:2687: @ref reference to nonexistent node `After System Installation'
./doc/guix.de.texi:2705: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:2707: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:2746: @ref reference to nonexistent node `USB Stick and DVD
Installation'
./doc/guix.de.texi:2773: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:2778: @ref reference to nonexistent node `Preparing for Installation'
./doc/guix.de.texi:2783: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:2798: @ref reference to nonexistent node `Invoking guix
system'
./doc/guix.de.texi:2829: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:2877: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:2896: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:2901: @ref reference to nonexistent node `Invoking guix
gc'
./doc/guix.de.texi:2909: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:2918: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:2926: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:2929: @ref reference to nonexistent node `Invoking guix challenge'
./doc/guix.de.texi:2935: @ref reference to nonexistent node `Invoking guix environment'
./doc/guix.de.texi:2941: @ref reference to nonexistent node `Invoking guix
pull'
./doc/guix.de.texi:3027: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:3053: @ref reference to nonexistent node `Packages with Multiple
Outputs'
./doc/guix.de.texi:3055: @ref reference to nonexistent node `Package
Modules'
./doc/guix.de.texi:3096: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:3105: @ref reference to nonexistent node `Invoking guix
environment'
./doc/guix.de.texi:3128: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:3431: @pxref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:3436: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:3449: @ref reference to nonexistent node `Packages
with Multiple Outputs'
./doc/guix.de.texi:3501: @ref reference to nonexistent node `Common
Build Options'
./doc/guix.de.texi:3503: @ref reference to nonexistent node `Package Transformation
Options'
./doc/guix.de.texi:3509: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:3524: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:3561: @ref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:3580: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:3632: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:3708: @ref reference to nonexistent node `Invoking
guix weather'
./doc/guix.de.texi:3726: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:3729: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:3736: @ref reference to nonexistent node `Invoking guix challenge'
./doc/guix.de.texi:3792: @ref reference to nonexistent node `Invoking guix size'
./doc/guix.de.texi:3793: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:3799: @ref reference to nonexistent node `Installing Debugging Files'
./doc/guix.de.texi:3801: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:3827: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:3833: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:3846: @ref reference to nonexistent node `Scheduled Job Execution'
./doc/guix.de.texi:3912: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:3959: @ref reference to nonexistent node `Invoking guix size'
./doc/guix.de.texi:3961: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:3967: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:4012: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:4016: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:4025: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:4049: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4081: @ref reference to nonexistent node `Documentation'
./doc/guix.de.texi:4119: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4124: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:4136: @ref reference to nonexistent node `Invoking guix
package'
./doc/guix.de.texi:4167: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4175: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4188: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:4228: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4259: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4262: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:4273: @ref reference to nonexistent node `Invoking guix
pull'
./doc/guix.de.texi:4315: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:4332: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:4562: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4564: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4565: @ref reference to nonexistent node `Invoking guix time-machine'
./doc/guix.de.texi:4578: @ref reference to nonexistent node `Inferiors'
./doc/guix.de.texi:4594: @ref reference to nonexistent node `Invoking guix describe'
./doc/guix.de.texi:4605: @pxref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4619: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4635: @ref reference to nonexistent node `Common
Build Options'
./doc/guix.de.texi:4657: @ref reference to nonexistent node `Invoking guix repl'
./doc/guix.de.texi:4664: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4672: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:4761: @ref reference to nonexistent node `package Reference'
./doc/guix.de.texi:4769: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:4771: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:4795: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:4809: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4832: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4853: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:4880: @ref reference to nonexistent node `Invoking guix pack'
./doc/guix.de.texi:4892: @ref reference to nonexistent node `Invoking
guix package'
./doc/guix.de.texi:4904: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:4930: @ref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:5016: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:5042: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:5217: @ref reference to nonexistent node `Invoking
guix gc'
./doc/guix.de.texi:5256: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:5292: @ref reference to nonexistent node `Packages with
Multiple Outputs'
./doc/guix.de.texi:5432: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:5433: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:5446: @ref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:5446: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:5447: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:5478: @ref reference to nonexistent node `Binary Installation'
./doc/guix.de.texi:5682: @ref reference to nonexistent node `Additional Build Options'
./doc/guix.de.texi:5737: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:5767: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:5768: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:5775: @ref reference to nonexistent node `Binary Installation'
./doc/guix.de.texi:5787: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:5788: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:5849: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:5873: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:5881: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:5951: @ref reference to nonexistent node `Invoking guix import'
./doc/guix.de.texi:5957: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:5964: @ref reference to nonexistent node `origin
Reference'
./doc/guix.de.texi:5977: @ref reference to nonexistent node `Invoking guix download'
./doc/guix.de.texi:5977: @ref reference to nonexistent node `Invoking guix
hash'
./doc/guix.de.texi:5989: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:5996: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:6045: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:6053: @ref reference to nonexistent node `package Reference'
./doc/guix.de.texi:6058: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:6059: @ref reference to nonexistent node `Debugging Build Failures'
./doc/guix.de.texi:6061: @ref reference to nonexistent node `Invoking guix edit'
./doc/guix.de.texi:6062: @ref reference to nonexistent node `Packaging Guidelines'
./doc/guix.de.texi:6063: @ref reference to nonexistent node `Invoking guix lint'
./doc/guix.de.texi:6067: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:6073: @ref reference to nonexistent node `Invoking guix refresh'
./doc/guix.de.texi:6079: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:6083: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:6089: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:6147: @ref reference to nonexistent node `Package Transformation Options'
./doc/guix.de.texi:6197: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:6212: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:6215: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:6219: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:6235: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:6256: @ref reference to nonexistent node `Invoking guix lint'
./doc/guix.de.texi:6281: @ref reference to nonexistent node `Packages with Multiple Outputs'
./doc/guix.de.texi:6293: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:6349: @ref reference to nonexistent node `Defining
Packages'
./doc/guix.de.texi:6394: @ref reference to nonexistent node `Invoking guix download'
./doc/guix.de.texi:6394: @ref reference to nonexistent node `Invoking
guix hash'
./doc/guix.de.texi:6407: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:6416: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:6443: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:6459: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:6463: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:6468: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:6527: @ref reference to nonexistent node `Installing Debugging Files'
./doc/guix.de.texi:6641: @ref reference to nonexistent node `Python Modules'
./doc/guix.de.texi:7406: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:7430: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:7439: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:7441: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:7486: @ref reference to nonexistent node `Invoking
guix-daemon'
./doc/guix.de.texi:7492: @pxref reference to nonexistent node `Requirements'
./doc/guix.de.texi:7501: @ref reference to nonexistent node `Invoking guix copy'
./doc/guix.de.texi:7512: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:7569: @ref reference to nonexistent node `The
Store Monad'
./doc/guix.de.texi:7615: @ref reference to nonexistent node `The
Store'
./doc/guix.de.texi:7633: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:7681: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:7686: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:7718: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:7843: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:8106: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:8117: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:8120: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:8326: @ref reference to nonexistent node `Packages with Multiple
Outputs'
./doc/guix.de.texi:8406: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:8469: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:8515: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:8554: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:8799: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:8849: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:8878: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:8911: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:8922: @ref reference to nonexistent node `Debugging Build Failures'
./doc/guix.de.texi:8928: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:8947: @ref reference to nonexistent node `Substitution Failure'
./doc/guix.de.texi:8957: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:8965: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:8970: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:8981: @ref reference to nonexistent node `Invoking guix challenge'
./doc/guix.de.texi:8986: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:8991: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:9000: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:9008: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:9030: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:9077: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9087: @ref reference to nonexistent node `Invoking guix download'
./doc/guix.de.texi:9142: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9150: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:9203: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:9243: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:9247: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9269: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:9272: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:9286: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9366: @ref reference to nonexistent node `Virtualization Services'
./doc/guix.de.texi:9372: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:9391: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:9392: @ref reference to nonexistent node `Invoking
guix challenge'
./doc/guix.de.texi:9425: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:9465: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9475: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:9501: @ref reference to nonexistent node `Build Environment Setup'
./doc/guix.de.texi:9516: @ref reference to nonexistent node `Invoking guix environment'
./doc/guix.de.texi:9521: @ref reference to nonexistent node `Security Updates'
./doc/guix.de.texi:9564: @ref reference to nonexistent node `Building from Git'
./doc/guix.de.texi:9566: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:9584: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9594: @ref reference to nonexistent node `Invoking
guix gc'
./doc/guix.de.texi:9608: @ref reference to nonexistent node `X.509 Certificates'
./doc/guix.de.texi:9618: @ref reference to nonexistent node `Invoking guix hash'
./doc/guix.de.texi:9641: @ref reference to nonexistent node `Defining
Packages'
./doc/guix.de.texi:9679: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:9690: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:9711: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:9754: @ref reference to nonexistent node `Invoking guix refresh'
./doc/guix.de.texi:9925: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:10145: @ref reference to nonexistent node `Contributing'
./doc/guix.de.texi:10216: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:10252: @ref reference to nonexistent node `Running Guix Before It Is
Installed'
./doc/guix.de.texi:10259: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:10375: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:10479: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10532: @ref reference to nonexistent node `origin
Reference'
./doc/guix.de.texi:10654: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10672: @ref reference to nonexistent node `Packages with
Multiple Outputs'
./doc/guix.de.texi:10721: @ref reference to nonexistent node `Security
Updates'
./doc/guix.de.texi:10730: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:10793: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10864: @ref reference to nonexistent node `Invoking guix refresh'
./doc/guix.de.texi:10882: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:10914: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:10926: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:10942: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:10958: @ref reference to nonexistent node `Invoking guix
gc'
./doc/guix.de.texi:11013: @ref reference to nonexistent node `Package Modules'
./doc/guix.de.texi:11020: @ref reference to nonexistent node `Package Transformation
Options'
./doc/guix.de.texi:11039: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11050: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11058: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11073: @ref reference to nonexistent node `Invoking
guix archive'
./doc/guix.de.texi:11088: @ref reference to nonexistent node `Invoking guix weather'
./doc/guix.de.texi:11092: @ref reference to nonexistent node `origin Reference'
./doc/guix.de.texi:11096: @ref reference to nonexistent node `Invoking guix hash'
./doc/guix.de.texi:11115: @ref reference to nonexistent node `Invoking
guix-daemon'
./doc/guix.de.texi:11229: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11245: @ref reference to nonexistent node `Invoking
guix archive'
./doc/guix.de.texi:11302: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11313: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:11371: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:11389: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11488: @ref reference to nonexistent node `Requirements'
./doc/guix.de.texi:11516: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:11542: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:11557: @ref reference to nonexistent node `Invoking guix environment'
./doc/guix.de.texi:11558: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:11607: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:11612: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:11695: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:11782: @ref reference to nonexistent node `Daemon Offload Setup'
./doc/guix.de.texi:11813: @ref reference to nonexistent node `Features'
./doc/guix.de.texi:11853: @ref reference to nonexistent node `Invoking guix
system'
./doc/guix.de.texi:11869: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:11892: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:11901: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:11907: @ref reference to nonexistent node `Package
Modules'
./doc/guix.de.texi:11946: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:11949: @ref reference to nonexistent node `Networking
Services'
./doc/guix.de.texi:11954: @ref reference to nonexistent node `Defining Services'
./doc/guix.de.texi:11960: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:11965: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:12020: @ref reference to nonexistent node `Desktop Services'
./doc/guix.de.texi:12021: @ref reference to nonexistent node `X.509
Certificates'
./doc/guix.de.texi:12043: @ref reference to nonexistent node `Invoking
guix system'
./doc/guix.de.texi:12070: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:12076: @ref reference to nonexistent node `The Store Monad'
./doc/guix.de.texi:12080: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:12088: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:12096: @ref reference to nonexistent node `Using
the Configuration System'
./doc/guix.de.texi:12102: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:12121: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:12137: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12143: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:12153: @ref reference to nonexistent node `Initial RAM Disk'
./doc/guix.de.texi:12159: @ref reference to nonexistent node `Initial RAM Disk'
./doc/guix.de.texi:12168: @ref reference to nonexistent node `Hardware
Considerations'
./doc/guix.de.texi:12176: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12182: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12186: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12196: @ref reference to nonexistent node `Mapped Devices'
./doc/guix.de.texi:12196: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12200: @ref reference to nonexistent node `User Accounts'
./doc/guix.de.texi:12208: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12233: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:12265: @ref reference to nonexistent node `Services'
./doc/guix.de.texi:12271: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:12283: @ref reference to nonexistent node `Setuid Programs'
./doc/guix.de.texi:12288: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12326: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:12396: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12453: @ref reference to nonexistent node `Mapped
Devices'
./doc/guix.de.texi:12581: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12613: @ref reference to nonexistent node `Preparing for Installation'
./doc/guix.de.texi:12626: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:12699: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:12815: @ref reference to nonexistent node `Bootloader Configuration'
./doc/guix.de.texi:12822: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:12954: @ref reference to nonexistent node `operating-system
Reference'
./doc/guix.de.texi:13037: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:13090: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:13097: @ref reference to nonexistent node `Service Composition'
./doc/guix.de.texi:13098: @ref reference to nonexistent node `Shepherd Services'
./doc/guix.de.texi:13181: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:13224: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:13713: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:13721: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:13737: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:13742: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:13744: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:13957: @ref reference to nonexistent node `Invoking guix
publish'
./doc/guix.de.texi:13963: @ref reference to nonexistent node `Invoking guix archive'
./doc/guix.de.texi:14002: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14009: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14015: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14021: @ref reference to nonexistent node `Invoking guix publish'
./doc/guix.de.texi:14083: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:14088: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14131: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14187: @ref reference to nonexistent node `Service
Composition'
./doc/guix.de.texi:14200: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14254: @ref reference to nonexistent node `Scheduled Job
Execution'
./doc/guix.de.texi:14275: @ref reference to nonexistent node `Scheduled Job Execution'
./doc/guix.de.texi:14365: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14442: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:14472: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:14506: @ref reference to nonexistent node `Desktop
Services'
./doc/guix.de.texi:14540: @ref reference to nonexistent node `Installing Guix in a VM'
./doc/guix.de.texi:14544: @ref reference to nonexistent node `Web Services'
./doc/guix.de.texi:14545: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:14558: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:14680: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14684: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14713: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:14971: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:15377: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:15554: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:15887: @ref reference to nonexistent node `Keyboard Layout'
./doc/guix.de.texi:16868: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:16870: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:16875: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:16882: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:19565: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:20322: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:22490: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:22512: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:22550: @ref reference to nonexistent node `X.509 Certificates'
./doc/guix.de.texi:22665: @ref reference to nonexistent node `Web Services'
./doc/guix.de.texi:24040: @ref reference to nonexistent node `Kerberos Services'
./doc/guix.de.texi:24100: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:24196: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:25700: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:25833: @ref reference to nonexistent node `Web Services'
./doc/guix.de.texi:25862: @ref reference to nonexistent node `Web
Services'
./doc/guix.de.texi:25897: @ref reference to nonexistent node `Certificate Services'
./doc/guix.de.texi:25900: @ref reference to nonexistent node `Web
Services'
./doc/guix.de.texi:25920: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:26936: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:26940: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:27611: @ref reference to nonexistent node `Setuid Programs'
./doc/guix.de.texi:27678: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:27685: @ref reference to nonexistent node `Using the Configuration
System'
./doc/guix.de.texi:27688: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:27734: @ref reference to nonexistent node `operating-system Reference'
./doc/guix.de.texi:27794: @ref reference to nonexistent node `operating-system
Reference'
./doc/guix.de.texi:27839: @ref reference to nonexistent node `Networking Services'
./doc/guix.de.texi:27841: @ref reference to nonexistent node `Desktop Services'
./doc/guix.de.texi:27842: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:27908: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:28049: @ref reference to nonexistent node `Mapped Devices'
./doc/guix.de.texi:28198: @ref reference to nonexistent node `Keyboard Layout'
./doc/guix.de.texi:28291: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:28298: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:28423: @ref reference to nonexistent node `Invoking guix pull'
./doc/guix.de.texi:28440: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:28452: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:28470: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:28534: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:28538: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:28599: @ref reference to nonexistent node `Build Environment Setup'
./doc/guix.de.texi:28661: @ref reference to nonexistent node `Running Guix in a VM'
./doc/guix.de.texi:28734: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:28743: @ref reference to nonexistent node `Building the
Installation Image'
./doc/guix.de.texi:28750: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:28761: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:28821: @ref reference to nonexistent node `File Systems'
./doc/guix.de.texi:28823: @ref reference to nonexistent node `Initial RAM
Disk'
./doc/guix.de.texi:28870: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:28893: @ref reference to nonexistent node `Service Composition'
./doc/guix.de.texi:28909: @ref reference to nonexistent node `Shepherd Services'
./doc/guix.de.texi:28999: @ref reference to nonexistent node `Invoking guix
archive'
./doc/guix.de.texi:29139: @ref reference to nonexistent node `Invoking
guix package'
./doc/guix.de.texi:29142: @ref reference to nonexistent node `Using the Configuration
System'
./doc/guix.de.texi:29147: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:29153: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:29227: @ref reference to nonexistent node `Networking
Services'
./doc/guix.de.texi:29273: @ref reference to nonexistent node `Miscellaneous Services'
./doc/guix.de.texi:29314: @ref reference to nonexistent node `Networking
Services'
./doc/guix.de.texi:29318: @ref reference to nonexistent node `Desktop Services'
./doc/guix.de.texi:29322: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:29334: @ref reference to nonexistent node `Service Reference'
./doc/guix.de.texi:29355: @ref reference to nonexistent node `Invoking
guix-daemon'
./doc/guix.de.texi:29399: @ref reference to nonexistent node `Shepherd Services'
./doc/guix.de.texi:29405: @ref reference to nonexistent node `Invoking guix-daemon'
./doc/guix.de.texi:29484: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:29498: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:29564: @ref reference to nonexistent node `Base Services'
./doc/guix.de.texi:29596: @ref reference to nonexistent node `Using the Configuration System'
./doc/guix.de.texi:29608: @ref reference to nonexistent node `Service Types and
Services'
./doc/guix.de.texi:29642: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:29668: @ref reference to nonexistent node `Scheduled Job Execution'
./doc/guix.de.texi:29682: @ref reference to nonexistent node `Invoking guix system'
./doc/guix.de.texi:29726: @ref reference to nonexistent node `Setuid Programs'
./doc/guix.de.texi:29747: @ref reference to nonexistent node `Channels'
./doc/guix.de.texi:29804: @ref reference to nonexistent node `Using the
Configuration System'
./doc/guix.de.texi:29851: @ref reference to nonexistent node `G-Expressions'
./doc/guix.de.texi:29942: @ref reference to nonexistent node `Service Types and Services'
./doc/guix.de.texi:30039: @ref reference to nonexistent node `GNU Distribution'
./doc/guix.de.texi:30075: @ref reference to nonexistent node `Invoking guix build'
./doc/guix.de.texi:30082: @ref reference to nonexistent node `Build Systems'
./doc/guix.de.texi:30087: @ref reference to nonexistent node `Invoking guix package'
./doc/guix.de.texi:30111: @ref reference to nonexistent node `Invoking guix lint'
./doc/guix.de.texi:30114: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:30120: @ref reference to nonexistent node `Substitutes'
./doc/guix.de.texi:30138: @ref reference to nonexistent node `Defining Packages'
./doc/guix.de.texi:30152: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:30171: @ref reference to nonexistent node `Common Build Options'
./doc/guix.de.texi:30190: @ref reference to nonexistent node `Invoking guix gc'
./doc/guix.de.texi:30223: @ref reference to nonexistent node `Introduction'
./doc/guix.de.texi:30235: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:30245: @ref reference to nonexistent node `Reduced Binary Seed Bootstrap'
./doc/guix.de.texi:30319: @ref reference to nonexistent node `Invoking guix graph'
./doc/guix.de.texi:30340: @ref reference to nonexistent node `The Store'
./doc/guix.de.texi:30362: @ref reference to nonexistent node `Derivations'
./doc/guix.de.texi:30426: @ref reference to nonexistent node `Build Systems'
doc/contributing.de.texi:9: @ref reference to nonexistent node `Packaging Guidelines'
doc/contributing.de.texi:104: @ref reference to nonexistent node `Invoking guix environment'
doc/contributing.de.texi:109: @ref reference to nonexistent node `Requirements'
doc/contributing.de.texi:154: @ref reference to nonexistent node `The
Store'
doc/contributing.de.texi:159: @ref reference to nonexistent node `Running the Test Suite'
doc/contributing.de.texi:175: @ref reference to nonexistent node `Building from Git'
doc/contributing.de.texi:227: @ref reference to nonexistent node `Invoking guix
pull'
doc/contributing.de.texi:347: @ref reference to nonexistent node `Package
Modules'
doc/contributing.de.texi:350: @ref reference to nonexistent node `Defining Packages'
doc/contributing.de.texi:354: @ref reference to nonexistent node `Invoking guix build'
doc/contributing.de.texi:357: @ref reference to nonexistent node `Running Guix Before It Is Installed'
doc/contributing.de.texi:380: @ref reference to nonexistent node `Submitting Patches'
doc/contributing.de.texi:388: @ref reference to nonexistent node `Invoking guix
pull'
doc/contributing.de.texi:391: @ref reference to nonexistent node `Substitutes'
doc/contributing.de.texi:432: @ref reference to nonexistent node `Defining
Packages'
doc/contributing.de.texi:456: @ref reference to nonexistent node `Python Modules'
doc/contributing.de.texi:456: @ref reference to nonexistent node `Perl Modules'
doc/contributing.de.texi:460: @ref reference to nonexistent node `Fonts'
doc/contributing.de.texi:473: @ref reference to nonexistent node `Package Naming'
doc/contributing.de.texi:566: @ref reference to nonexistent node `Defining
Packages'
doc/contributing.de.texi:653: @ref reference to nonexistent node `Version
Numbers'
doc/contributing.de.texi:680: @ref reference to nonexistent node `package Reference'
doc/contributing.de.texi:681: @ref reference to nonexistent node `Invoking guix import'
doc/contributing.de.texi:723: @ref reference to nonexistent node `Submitting Patches'
doc/contributing.de.texi:786: @pxref reference to nonexistent node `Build Systems'
doc/contributing.de.texi:954: @ref reference to nonexistent node `Commit Access'
doc/contributing.de.texi:957: @ref reference to nonexistent node `Tracking Bugs and
Patches'
doc/contributing.de.texi:961: @ref reference to nonexistent node `Sending a Patch Series'
doc/contributing.de.texi:980: @ref reference to nonexistent node `Synopses and Descriptions'
doc/contributing.de.texi:986: @ref reference to nonexistent node `Invoking guix lint'
doc/contributing.de.texi:1037: @ref reference to nonexistent node `Invoking guix size'
doc/contributing.de.texi:1039: @ref reference to nonexistent node `Packages
with Multiple Outputs'
doc/contributing.de.texi:1048: @ref reference to nonexistent node `Invoking guix
refresh'
doc/contributing.de.texi:1096: @ref reference to nonexistent node `Invoking guix
build'
doc/contributing.de.texi:1107: @ref reference to nonexistent node `Invoking
guix challenge'
doc/contributing.de.texi:1137: @ref reference to nonexistent node `Formatting Code'
doc/contributing.de.texi:1141: @ref reference to nonexistent node `Invoking guix download'
doc/contributing.de.texi:1149: @ref reference to nonexistent node `Building from Git'
doc/contributing.de.texi:1164: @ref reference to nonexistent node `Sending a Patch Series'
doc/contributing.de.texi:1203: @ref reference to nonexistent node `Submitting Patches'
doc/contributing.de.texi:1313: @ref reference to nonexistent node `Tracking Bugs and Patches'
doc/contributing.de.texi:1353: @ref reference to nonexistent node `Submitting Patches'
make[2]: *** [Makefile:4043: doc/guix.de.info] Error 1
make[2]: Leaving directory '/home/x/devel/guix'
make[1]: *** [Makefile:4926: all-recursive] Error 1
make[1]: Leaving directory '/home/x/devel/guix'
make: *** [Makefile:3347: all] Error 2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

end of thread, other threads:[~2020-04-13  9:53 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-23 20:07 [PATCH 1/3] gnu: libxft: Propagate input John Darrington
2014-01-23 20:07 ` [PATCH 2/3] gnu: fltk: New module John Darrington
2014-01-24 16:07   ` Thompson, David
2014-01-25  7:00     ` [PATCH 2/2] " John Darrington
2014-01-25  8:27       ` (unknown), John Darrington
2014-01-25  8:27         ` [PATCH] gnu: fltk: New module John Darrington
2014-01-25 15:39           ` Ludovic Courtès
2014-01-23 20:07 ` [PATCH 3/3] gnu: Add octave and dependencies John Darrington
2014-01-25 15:30   ` Ludovic Courtès
2014-01-25 16:14     ` John Darrington
2014-01-25 16:42       ` Andreas Enge
2014-01-25 17:04         ` John Darrington
2014-01-25 20:41           ` Ludovic Courtès
2014-01-26  7:38             ` John Darrington
2014-01-26  9:09               ` (unknown), John Darrington
2014-01-26  9:09                 ` [PATCH] gnu: Add gnuplot John Darrington
2014-01-26 20:17                   ` Ludovic Courtès
2014-01-26 18:54               ` [PATCH 3/3] gnu: Add octave and dependencies Andreas Enge
2014-01-26 19:30                 ` Ludovic Courtès
2014-01-27  8:30                   ` John Darrington
2014-01-27  9:11                     ` Ludovic Courtès
2014-01-29  8:20                       ` John Darrington
2014-01-29 21:26                         ` Ludovic Courtès
2014-01-27  9:04                   ` Sree Harsha Totakura
2014-01-27  9:53                     ` Installing a C tool chain Ludovic Courtès
2014-01-27 10:32                       ` Sree Harsha Totakura
2014-02-04  6:31                       ` Mark H Weaver
2014-04-05 20:44                         ` Ludovic Courtès
2014-04-14 17:54                           ` Andreas Enge
2014-04-14 19:16                             ` Ludovic Courtès
2014-04-14 19:43                               ` Andreas Enge
2014-04-14 21:32                                 ` Ludovic Courtès
2014-04-14 21:57                                   ` Sergio Durigan Junior
2014-01-24 13:11 ` [PATCH 1/3] gnu: libxft: Propagate input Ludovic Courtès
2014-01-25  7:01   ` [PATCH 1/2] " John Darrington
2014-01-25 15:19     ` Ludovic Courtès
2014-01-25 15:38       ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2020-04-13  9:53 (unknown) elaexuotee
2019-05-02 16:19 (unknown) znavko
2018-04-27 15:05 (unknown), Catonano
2017-01-02 19:22 (unknown), manolis837
2016-12-19 17:50 (unknown), John Darrington
2016-12-05 18:20 (unknown), ng0
2016-10-06  6:16 (unknown), Leo Famulari
2016-07-21  1:39 (unknown) Unknown, Pjotr Prins
2016-07-20  3:46 (unknown) Pjotr Prins
2016-06-30  0:27 (unknown), ng0
2016-06-08 12:55 (unknown), Ben Woodcroft
2016-05-30 19:24 [PATCH] gnu: Add py3status Tomáš Čech
2016-05-30 20:01 ` (unknown), Tomáš Čech
2015-09-15 14:35 (unknown) Pjotr Prins
2015-07-13 13:01 (unknown) Pjotr Prins
2015-07-08 14:30 [PATCH 2/2] gnu: Update pumpa to 0.9.1 Mathieu Lirzin
2015-07-08 14:39 ` (unknown), Claes Wallin (韋嘉誠)
2015-03-25 22:49 (unknown), Tomáš Čech
2014-12-03 18:02 (unknown) Tomas Cech
2014-02-11 22:17 Gnunet-0.10.0 recipe Sree Harsha Totakura
2014-02-12 15:15 ` (unknown), Sree Harsha Totakura
2014-02-04 15:12 (unknown), John Darrington
2014-01-23 13:30 [PATCH] Doc: Introduction: rewrite for style and clarity Ludovic Courtès
2014-01-23 18:00 ` (unknown), Alex Sassmannshausen

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).