Re: [PATCH 1/2] gnu: Add gtksourceview.

2015-11-08 Thread 宋文武
David Hashe  writes:

> * gnu/packages/gnome.scm (gtksourceview): New variable.
> ---
>  gnu/packages/gnome.scm | 34 ++
>  1 file changed, 34 insertions(+)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 5440433..9bd1c31 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -3659,3 +3659,37 @@ environment that allows users to view, unpack, and 
> create compressed archives
>  such as gzip tarballs.")
>  (home-page "http://fileroller.sourceforge.net/";)
>  (license license:gpl2+)))
> +
> +(define-public gtksourceview
> + (package
> +   (name "gtksourceview")
> +   (version "3.16.1")
Why not use the latest stable 3.18.x?
> +   (source (origin
> +(method url-fetch)
> +(uri (string-append "mirror://gnome/sources/" name "/"
> +(version-major+minor version) "/"
> +name "-" version ".tar.xz"))
> +(sha256
> + (base32
> +  "030v7x1dmx5blqi9jcknsjd91jppbpl7f4z69k8c8kklr939i7k6"
> +   (build-system glib-or-gtk-build-system)
> +   (arguments
> +'(#:tests? #f)) ; Tries to open graphical display during testing and 
> fails
> +   (native-inputs
> +`(("intltool" ,intltool)
> +  ("itstool", itstool)
> +  ("gobject-introspection" ,gobject-introspection)
> +  ("pkg-config" ,pkg-config)))
> +   (inputs
> +`(("glib" ,glib)
> +  ("gtk+" ,gtk+)
> +  ("libxml2" ,libxml2)
> +  ("pango" ,pango)
> +  ("gdk-pixbuf" ,gdk-pixbuf)
> +  ("vala" ,vala)))
> +   (home-page "https://wiki.gnome.org/Projects/GtkSourceView ")
  extra space  ^
> +   (synopsis "GNOME source code widget")
> +   (description "GtkSourceView is a text widget that extends the standard
> +GTK+ text widget GtkTextView. It improves GtkTextView by implementing syntax
We use two spaces after period  ^
> +highlighting and other features typical of a source code editor.")
> +   (license license:lgpl2.1+)))




Re: [PATCH 2/2] gnu: Add gedit.

2015-11-08 Thread 宋文武
David Hashe  writes:

> * gnu/packages/gnome.scm (gedit): New variable.
> ---
>  gnu/packages/gnome.scm | 56 
> ++
>  1 file changed, 56 insertions(+)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 9bd1c31..b6ca7c7 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -3693,3 +3693,59 @@ such as gzip tarballs.")
>  GTK+ text widget GtkTextView. It improves GtkTextView by implementing syntax
>  highlighting and other features typical of a source code editor.")
> (license license:lgpl2.1+)))
> +
> +(define-public gedit
> + (package
> +   (name "gedit")
> +   (version "3.16.4")
Same here, I prefer 3.18.x.
> +   (source (origin
> +(method url-fetch)
> +(uri (string-append "mirror://gnome/sources/" name "/"
> +(version-major+minor version) "/"
> +name "-" version ".tar.xz"))
> +(sha256
> + (base32
> +  "1h2czf2v0krqr3kar4fm2vspim30rwdb2yhab34sdn23j7m3f291"
> +   (build-system glib-or-gtk-build-system)
> +   (arguments
> +`(#:configure-flags '("--disable-spell") ; requires enchant
> +  #:phases
> +  (modify-phases %standard-phases
> +(add-after
> + 'install 'wrap-eog
> + (lambda* (#:key outputs #:allow-other-keys)
> +   (let ((out   (assoc-ref outputs "out"))
> + (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
> + (wrap-program (string-append out "/bin/gedit")
> +   `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path
> +   #t)
> +   (propagated-inputs
> +`(("dconf" ,dconf)))
> +   (native-inputs
> +`(("intltool" ,intltool)
> +  ("itstool", itstool)
> +  ("gobject-introspection" ,gobject-introspection)
> +  ("pkg-config" ,pkg-config)))
> +   (inputs
> +`(("glib" ,glib)
> +  ("gtk+" ,gtk+)
> +  ("gtksourceview" ,gtksourceview)
> +  ("libpeas" ,libpeas)
> +  ("libxml2" ,libxml2)
> +  ;; TODO: enchant needed for spell plugin
> +  ;;("enchant" ,enchant)
enchant is avaliable from enchant.scm, we can add it.
> +  ("iso-codes" ,iso-codes)
> +  ("python-pygobject" ,python-pygobject)
> +  ("python" ,python)
> +  ("gvfs" ,gvfs)
> +  ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
> +  ("libx11" ,libx11)
> +  ("vala" ,vala)
> +  ("adwaita-icon-theme" ,adwaita-icon-theme)
> +  ("libsoup" ,libsoup)
> +  ("gnome-desktop" ,gnome-desktop)))
> +   (home-page "https://wiki.gnome.org/Apps/Gedit";)
> +   (synopsis "GNOME text editor")
> +   (description "While aiming at simplicity and ease of use, gedit is a
> +powerful general purpose text editor. ")
> +   (license license:gpl2+)))
Otherwise, look good to me, thanks!




Re: [PATCH 0/3] add c-ares and aria2

2015-11-08 Thread Efraim Flashner
On Thu, 5 Nov 2015 11:19:53 +0200
Efraim Flashner  wrote:

> On Tue, 03 Nov 2015 14:35:07 +0100
> l...@gnu.org (Ludovic Courtès) wrote:
> 
> > Efraim Flashner  skribis:
> >   
> > > This patch has driven me crazy a bit. C-ares is a library for 
> > > asynchronous DNS
> > > lookups, and aria2 is a cli program to download multiple files/torrents
> > > simultaneously, and also a git-annex dependency. C-ares builds without any
> > > problems, but aria2 was a different story. The first problem is that the 
> > > tests
> > > seem to need network connectivity, and it tries to access files outside 
> > > the
> > > build chroot. Disabling the tests was the easy part.
> > 
> > It’s cheating!  ;-)  Could you investigate and see whether/how tests
> > could run in the build environment?  A common problem wrt. networking in
> > host name lookups.  In the build environment, only “localhost” can be
> > found.
> >   
--
> > 
> > Ludo’.  
> 
> In the end rebuilding c-ares with the release tarball and not the github
> tarball fixed the issues with aria2 not recognizing c-ares. I wasn't able to
> get anything more out of aria2, more than it not finding the locations and
> leaving me with with variables pointing to /path/to/dir and the like.
> 

here's the end of the log file:

##Failure Location unknown## : Error
Test name: N5aria224LpdMessageDispatcherTestE::testSendMessage
uncaught exception of type N5aria29DlAbortExE
- Failed to set a socket option, cause: No such device

LpdMessageReceiverTest.cc:34:Assertion
Test name: N5aria222LpdMessageReceiverTestE::testReceiveMessage
assertion failed
- Expression: rcv.init("")

Failures !!!
Run: 979   Failure total: 2   Failures: 1   Errors: 1
FAIL aria2c (exit status: 1)

the way it's presented in the command line, however, is that there was 1 test, 
and 1 fail, making it harder to figure out what was going on.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


pgpUCiudaWew_.pgp
Description: OpenPGP digital signature


Re: [PATCH 1/2] gnu: Add gtksourceview.

2015-11-08 Thread David Hashe
On Sun, Nov 8, 2015 at 6:03 AM, 宋文武  wrote:

> David Hashe  writes:
>
> > * gnu/packages/gnome.scm (gtksourceview): New variable.
> > ---
> >  gnu/packages/gnome.scm | 34 ++
> >  1 file changed, 34 insertions(+)
> >
> > diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> > index 5440433..9bd1c31 100644
> > --- a/gnu/packages/gnome.scm
> > +++ b/gnu/packages/gnome.scm
> > @@ -3659,3 +3659,37 @@ environment that allows users to view, unpack,
> and create compressed archives
> >  such as gzip tarballs.")
> >  (home-page "http://fileroller.sourceforge.net/";)
> >  (license license:gpl2+)))
> > +
> > +(define-public gtksourceview
> > + (package
> > +   (name "gtksourceview")
> > +   (version "3.16.1")
> Why not use the latest stable 3.18.x?
>

Changed to 3.18.1.


> > +   (source (origin
> > +(method url-fetch)
> > +(uri (string-append "mirror://gnome/sources/" name "/"
> > +(version-major+minor version) "/"
> > +name "-" version ".tar.xz"))
> > +(sha256
> > + (base32
> > +  "030v7x1dmx5blqi9jcknsjd91jppbpl7f4z69k8c8kklr939i7k6"
> > +   (build-system glib-or-gtk-build-system)
> > +   (arguments
> > +'(#:tests? #f)) ; Tries to open graphical display during testing
> and fails
> > +   (native-inputs
> > +`(("intltool" ,intltool)
> > +  ("itstool", itstool)
> > +  ("gobject-introspection" ,gobject-introspection)
> > +  ("pkg-config" ,pkg-config)))
> > +   (inputs
> > +`(("glib" ,glib)
> > +  ("gtk+" ,gtk+)
> > +  ("libxml2" ,libxml2)
> > +  ("pango" ,pango)
> > +  ("gdk-pixbuf" ,gdk-pixbuf)
> > +  ("vala" ,vala)))
> > +   (home-page "https://wiki.gnome.org/Projects/GtkSourceView ")
>   extra space  ^
> > +   (synopsis "GNOME source code widget")
> > +   (description "GtkSourceView is a text widget that extends the
> standard
> > +GTK+ text widget GtkTextView. It improves GtkTextView by implementing
> syntax
> We use two spaces after period  ^
>

Fixed.


> > +highlighting and other features typical of a source code editor.")
> > +   (license license:lgpl2.1+)))
>
>
Thanks for the feedback! I've attached an updated patch.
From 06f8964dc426acd4edb70d31132982e0c1d5dca9 Mon Sep 17 00:00:00 2001
From: David Hashe 
Date: Sat, 7 Nov 2015 22:38:09 -0600
Subject: [PATCH 1/3] gnu: Add gtksourceview.

* gnu/packages/gnome.scm (gtksourceview): New variable.
---
 gnu/packages/gnome.scm | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 5440433..9c4b182 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3659,3 +3659,37 @@ environment that allows users to view, unpack, and create compressed archives
 such as gzip tarballs.")
 (home-page "http://fileroller.sourceforge.net/";)
 (license license:gpl2+)))
+
+(define-public gtksourceview
+ (package
+   (name "gtksourceview")
+   (version "3.18.1")
+   (source (origin
+(method url-fetch)
+(uri (string-append "mirror://gnome/sources/" name "/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "1rpdg8rcjlqv8yk13vsh5148mads0zbfih8cak3hm7wb0spmzsbv"
+   (build-system glib-or-gtk-build-system)
+   (arguments
+'(#:tests? #f)) ; Tries to open graphical display during testing and fails
+   (native-inputs
+`(("intltool" ,intltool)
+  ("itstool", itstool)
+  ("gobject-introspection" ,gobject-introspection)
+  ("pkg-config" ,pkg-config)))
+   (inputs
+`(("glib" ,glib)
+  ("gtk+" ,gtk+)
+  ("libxml2" ,libxml2)
+  ("pango" ,pango)
+  ("gdk-pixbuf" ,gdk-pixbuf)
+  ("vala" ,vala)))
+   (home-page "https://wiki.gnome.org/Projects/GtkSourceView ")
+   (synopsis "GNOME source code widget")
+   (description "GtkSourceView is a text widget that extends the standard
+GTK+ text widget GtkTextView.  It improves GtkTextView by implementing syntax
+highlighting and other features typical of a source code editor.")
+   (license license:lgpl2.1+)))
-- 
1.9.1



Re: [PATCH 2/2] gnu: Add gedit.

2015-11-08 Thread David Hashe
On Sun, Nov 8, 2015 at 6:06 AM, 宋文武  wrote:

> David Hashe  writes:
>
> > * gnu/packages/gnome.scm (gedit): New variable.
> > ---
> >  gnu/packages/gnome.scm | 56
> ++
> >  1 file changed, 56 insertions(+)
> >
> > diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> > index 9bd1c31..b6ca7c7 100644
> > --- a/gnu/packages/gnome.scm
> > +++ b/gnu/packages/gnome.scm
> > @@ -3693,3 +3693,59 @@ such as gzip tarballs.")
> >  GTK+ text widget GtkTextView. It improves GtkTextView by implementing
> syntax
> >  highlighting and other features typical of a source code editor.")
> > (license license:lgpl2.1+)))
> > +
> > +(define-public gedit
> > + (package
> > +   (name "gedit")
> > +   (version "3.16.4")
> Same here, I prefer 3.18.x.
>

Changed to 3.18.1.


> > +   (source (origin
> > +(method url-fetch)
> > +(uri (string-append "mirror://gnome/sources/" name "/"
> > +(version-major+minor version) "/"
> > +name "-" version ".tar.xz"))
> > +(sha256
> > + (base32
> > +  "1h2czf2v0krqr3kar4fm2vspim30rwdb2yhab34sdn23j7m3f291"
> > +   (build-system glib-or-gtk-build-system)
> > +   (arguments
> > +`(#:configure-flags '("--disable-spell") ; requires enchant
> > +  #:phases
> > +  (modify-phases %standard-phases
> > +(add-after
> > + 'install 'wrap-eog
> > + (lambda* (#:key outputs #:allow-other-keys)
> > +   (let ((out   (assoc-ref outputs "out"))
> > + (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
> > + (wrap-program (string-append out "/bin/gedit")
> > +   `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path
> > +   #t)
> > +   (propagated-inputs
> > +`(("dconf" ,dconf)))
> > +   (native-inputs
> > +`(("intltool" ,intltool)
> > +  ("itstool", itstool)
> > +  ("gobject-introspection" ,gobject-introspection)
> > +  ("pkg-config" ,pkg-config)))
> > +   (inputs
> > +`(("glib" ,glib)
> > +  ("gtk+" ,gtk+)
> > +  ("gtksourceview" ,gtksourceview)
> > +  ("libpeas" ,libpeas)
> > +  ("libxml2" ,libxml2)
> > +  ;; TODO: enchant needed for spell plugin
> > +  ;;("enchant" ,enchant)
> enchant is avaliable from enchant.scm, we can add it.
>

Done.


> > +  ("iso-codes" ,iso-codes)
> > +  ("python-pygobject" ,python-pygobject)
> > +  ("python" ,python)
> > +  ("gvfs" ,gvfs)
> > +  ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
> > +  ("libx11" ,libx11)
> > +  ("vala" ,vala)
> > +  ("adwaita-icon-theme" ,adwaita-icon-theme)
> > +  ("libsoup" ,libsoup)
> > +  ("gnome-desktop" ,gnome-desktop)))
> > +   (home-page "https://wiki.gnome.org/Apps/Gedit";)
> > +   (synopsis "GNOME text editor")
> > +   (description "While aiming at simplicity and ease of use, gedit is a
> > +powerful general purpose text editor. ")
> > +   (license license:gpl2+)))
> Otherwise, look good to me, thanks!
>
>
Updating to 3.18.1 required updating libpeas, so I've attached a patch to
do that in addition to the gedit patch. Thanks!
From ec10a2f76363b2ba7c72a217d3ad00d4a9f16919 Mon Sep 17 00:00:00 2001
From: David Hashe 
Date: Sun, 8 Nov 2015 10:57:19 -0600
Subject: [PATCH 2/3] gnu: Update libpeas.

* gnu/packages/gnome.scm (libpeas): Update to 1.16.0.
---
 gnu/packages/gnome.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 9c4b182..6be2183 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -669,7 +669,7 @@ some form of information without getting in the user's way.")
 (define-public libpeas
   (package
 (name "libpeas")
-(version "1.12.1")
+(version "1.16.0")
 (source
  (origin
   (method url-fetch)
@@ -678,7 +678,7 @@ some form of information without getting in the user's way.")
   name "-" version ".tar.xz"))
   (sha256
(base32
-"1mwphc83bjznmbsm7x0jg7ql261nys6qnl7mi0nkr4qvw476"
+"0kj5n5hz93xq7qdb2r7n86nibzwqjr88jxaih1fdbxv5rn7014xh"
 (build-system gnu-build-system)
 (inputs
  `(("atk" ,atk)
-- 
1.9.1

From bea717d176cb434c7ee9d5f94fd75db76718af05 Mon Sep 17 00:00:00 2001
From: David Hashe 
Date: Sun, 8 Nov 2015 11:10:52 -0600
Subject: [PATCH 3/3] gnu: Add gedit.

* gnu/packages/gnome.scm (gedit): New variable.
---
 gnu/packages/gnome.scm | 55 ++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 6be2183..3e4a512 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -43,6 +43,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages djvu)
+  #:use-module (gnu packages enchant)
   #:use-module (gnu packages flex)
   

Re: [PATCH 1/2] gnu: Add gtksourceview.

2015-11-08 Thread John Darrington
Doesn't this already exist ?  In gnu/packages/gtk+

The version there seems to be better too, because it doesn't disable the tests.


J'
On Sat, Nov 07, 2015 at 11:18:36PM -0600, David Hashe wrote:

 * gnu/packages/gnome.scm (gtksourceview): New variable.
 ---
  gnu/packages/gnome.scm | 34 ++
  1 file changed, 34 insertions(+)
 
 diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
 index 5440433..9bd1c31 100644
 --- a/gnu/packages/gnome.scm
 +++ b/gnu/packages/gnome.scm
 @@ -3659,3 +3659,37 @@ environment that allows users to view, unpack, and 
create compressed archives
  such as gzip tarballs.")
  (home-page "http://fileroller.sourceforge.net/";)
  (license license:gpl2+)))
 +
 +(define-public gtksourceview
 + (package
 +   (name "gtksourceview")
 +   (version "3.16.1")
 +   (source (origin
 +(method url-fetch)
 +(uri (string-append "mirror://gnome/sources/" name "/"
 +(version-major+minor version) "/"
 +name "-" version ".tar.xz"))
 +(sha256
 + (base32
 +  "030v7x1dmx5blqi9jcknsjd91jppbpl7f4z69k8c8kklr939i7k6"
 +   (build-system glib-or-gtk-build-system)
 +   (arguments
 +'(#:tests? #f)) ; Tries to open graphical display during testing and 
fails
 +   (native-inputs
 +`(("intltool" ,intltool)
 +  ("itstool", itstool)
 +  ("gobject-introspection" ,gobject-introspection)
 +  ("pkg-config" ,pkg-config)))
 +   (inputs
 +`(("glib" ,glib)
 +  ("gtk+" ,gtk+)
 +  ("libxml2" ,libxml2)
 +  ("pango" ,pango)
 +  ("gdk-pixbuf" ,gdk-pixbuf)
 +  ("vala" ,vala)))
 +   (home-page "https://wiki.gnome.org/Projects/GtkSourceView ")
 +   (synopsis "GNOME source code widget")
 +   (description "GtkSourceView is a text widget that extends the standard
 +GTK+ text widget GtkTextView. It improves GtkTextView by implementing 
syntax
 +highlighting and other features typical of a source code editor.")
 +   (license license:lgpl2.1+)))
 -- 
 1.9.1
 

-- 
Avoid eavesdropping.  Send strong encryted email.
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.



signature.asc
Description: Digital signature


Re: [PATCH 1/2] gnu: Add gtksourceview.

2015-11-08 Thread Efraim Flashner
On Sun, 8 Nov 2015 18:47:26 +0100
John Darrington  wrote:

> Doesn't this already exist ?  In gnu/packages/gtk+
> 
> The version there seems to be better too, because it doesn't disable the 
> tests.
> 
That one is 2.10.5, and this one is 3.16.1. Although it would make sense to
put them both in the same file.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


pgpwYnogedzvN.pgp
Description: OpenPGP digital signature


[PATCH] gnu: Add artanis.

2015-11-08 Thread Mathieu Lirzin
Hi,

Here is the package definition for the web application framework GNU
Artanis.  ‘guix lint’ is still proposing a description because I have
fix a missing space in it.  Can someone with commit access in the
“gnumaint” repo fix it there?

Thanks,

--
Mathieu Lirzin

>From 96034d7b61f2ddc97eb1af792a9cf4921ba2d9ac Mon Sep 17 00:00:00 2001
From: Mathieu Lirzin 
Date: Sun, 8 Nov 2015 19:06:10 +0100
Subject: [PATCH] gnu: Add artanis.

* gnu/packages/guile.scm (artanis): New variable.
---
 gnu/packages/guile.scm | 51 ++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index eb37874..b29c479 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages libunistring)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pkg-config)
@@ -242,6 +243,56 @@ without requiring the source code to be rewritten.")
 ;;; Extensions.
 ;;;
 
+(define-public artanis
+  (package
+(name "artanis")
+(version "0.1.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-";
+  version ".tar.gz"))
+  (sha256
+   (base32
+"1mc2zy6n9wnn4hzi3zp3jd6b5rlr0lv7fvh800xf4fyrxg0zia4g"
+(build-system gnu-build-system)
+;; TODO: Add guile-dbi and guile-dbd optional dependencies.
+(inputs `(("guile" ,guile-2.0)))
+(native-inputs `(("bash"   ,bash) ;for the `source' builtin
+ ("pkgconfig"  ,pkg-config)
+ ("util-linux" ,util-linux))) ;for the `script' command
+(arguments
+ '(#:make-flags
+   ;; TODO: The documentation must be built with the `docs' target.
+   (let* ((out (assoc-ref %outputs "out"))
+  (dir (string-append out "/share/guile/site/2.0")))
+ ;; Don't use (%site-dir) for site paths.
+ (list (string-append "MOD_PATH=" dir)
+   (string-append "MOD_COMPILED_PATH=" dir)))
+   #:test-target "test"
+   #:phases
+   (modify-phases %standard-phases
+ (add-before
+  'install 'substitute-root-dir
+  (lambda* (#:key outputs #:allow-other-keys)
+(let ((out  (assoc-ref outputs "out")))
+  (substitute* "Makefile"   ;ignore the execution of bash.bashrc
+((" /etc/bash.bashrc") " /dev/null"))
+  (substitute* "Makefile"   ;set the root of config files to OUT
+((" /etc") (string-append " " out "/etc")))
+  (mkdir-p (string-append out "/bin")) ;for the `art' executable
+  #t))
+(synopsis "Web application framework written in Guile")
+(description "GNU Artanis is a web application framework written in Guile
+Scheme.  A web application framework (WAF) is a software framework that is
+designed to support the development of dynamic websites, web applications, web
+services and web resources.  The framework aims to alleviate the overhead
+associated with common activities performed in web development.  Artanis
+provides several tools for web development: database access, templating
+frameworks, session management, URL-remapping for RESTful, page caching, and
+more.")
+(home-page "https://www.gnu.org/software/artanis/";)
+(license (list gpl3+ lgpl3+ ;dual license
+
 (define-public guile-reader
   (package
 (name "guile-reader")
-- 
2.6.2



Re: [PATCH 1/2] gnu: Add gtksourceview.

2015-11-08 Thread David Hashe
On Sun, Nov 8, 2015 at 11:53 AM, Efraim Flashner 
wrote:

> On Sun, 8 Nov 2015 18:47:26 +0100
> John Darrington  wrote:
>
> > Doesn't this already exist ?  In gnu/packages/gtk+
> >
> > The version there seems to be better too, because it doesn't disable the
> tests.
> >
> That one is 2.10.5, and this one is 3.16.1. Although it would make sense to
> put them both in the same file.
>

I've moved it to gtk.scm and renamed 2.10.5 to gtksourceview-2.

I got the code to enable an X server working, but it later failed with
"D-Bus library appears to be incorrectly set up". I don't think we've found
a solution to that problem yet, since there are other packages that have
tests disabled for the same reason.


>
> --
> Efraim Flashner  אפרים פלשנר
> GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
> Confidentiality cannot be guaranteed on emails sent or received unencrypted
>
From 3f71e4c87f0d621dcf019c7c330b182ecc290f71 Mon Sep 17 00:00:00 2001
From: David Hashe 
Date: Sun, 8 Nov 2015 13:51:46 -0600
Subject: [PATCH 1/3] gnu: Add gtksourceview.

* gnu/packages/gtk.scm (gtksourceview): Rename to...
  (gtksourceview-2): ... this.
  (gtksourceview): Update to 3.18.1.
* gnu/packages/ocaml.scm (lablgtk)[inputs]: Replace "gtksourceview" with "gtksourceview-2".
---
 gnu/packages/gtk.scm   | 44 +++-
 gnu/packages/ocaml.scm |  3 ++-
 2 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index a01e6d0..171e905 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2015 Paul van der Walt 
 ;;; Copyright © 2015 Sou Bunnbu 
 ;;; Copyright © 2015 Andy Wingo 
+;;; Copyright © 2015 David Hashe 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
@@ -275,7 +277,7 @@ graph-like environments, e.g. modular synths or finite state machine
 diagrams.")
 (license license:gpl3+)))
 
-(define-public gtksourceview
+(define-public gtksourceview-2
   (package
 (name "gtksourceview")
 (version "2.10.5") ; This is the last version which builds against gtk+2
@@ -329,6 +331,46 @@ printing and other features typical of a source code editor.")
 (license license:lgpl2.0+)
 (home-page "https://developer.gnome.org/gtksourceview/";)))
 
+(define-public gtksourceview
+ (package
+   (name "gtksourceview")
+   (version "3.18.1")
+   (source (origin
+(method url-fetch)
+(uri (string-append "mirror://gnome/sources/" name "/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "1rpdg8rcjlqv8yk13vsh5148mads0zbfih8cak3hm7wb0spmzsbv"
+   (build-system glib-or-gtk-build-system)
+   (arguments
+ ;; Tries to open graphical display during testing and fails.
+ ;; When using the X server trickery from gtksourceview-2, fails with:
+ ;; D-Bus library appears to be incorrectly set up; failed to read
+ ;; machine uuid: Failed to open "/etc/machine-id": No such file or
+ ;; directory.
+ ;; See the manual page for dbus-uuidgen to correct this issue.
+'(#:tests? #f))
+   (native-inputs
+`(("intltool" ,intltool)
+  ("itstool", itstool)
+  ("gobject-introspection" ,gobject-introspection)
+  ("pkg-config" ,pkg-config)))
+   (inputs
+`(("glib" ,glib)
+  ("gtk+" ,gtk+)
+  ("libxml2" ,libxml2)
+  ("pango" ,pango)
+  ("gdk-pixbuf" ,gdk-pixbuf)
+  ("vala" ,vala)))
+   (home-page "https://wiki.gnome.org/Projects/GtkSourceView ")
+   (synopsis "GNOME source code widget")
+   (description "GtkSourceView is a text widget that extends the standard
+GTK+ text widget GtkTextView.  It improves GtkTextView by implementing syntax
+highlighting and other features typical of a source code editor.")
+   (license license:lgpl2.1+)))
+
 (define-public gdk-pixbuf
   (package
(name "gdk-pixbuf")
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index fc45805..b0cc145 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013 Cyril Roelandt 
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2015 Andreas Enge 
+;;; Copyright © 2015 David Hashe 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -453,7 +454,7 @@ provers.")
 ;; and gtk+-quartz-2.0 once available.
 (inputs
  `(("gtk+" ,gtk+-2)
-   ("gtksourceview" ,gtksourceview)
+   ("gtksourceview" ,gtksourceview-2)
("libgnomecanvas" ,libgnomecanvas)
("libgnomeui" ,libgnomeui)
("libglade" ,libglade)
-- 
1.9.1



Re: [PATCH 2/2] gnu: Add gedit.

2015-11-08 Thread David Hashe
New gedit patch, since it won't apply cleanly now that gtksourceview is
being added to a different file. The libpeas patch should still work.

On Sun, Nov 8, 2015 at 11:20 AM, David Hashe  wrote:

>
>
> On Sun, Nov 8, 2015 at 6:06 AM, 宋文武  wrote:
>
>> David Hashe  writes:
>>
>> > * gnu/packages/gnome.scm (gedit): New variable.
>> > ---
>> >  gnu/packages/gnome.scm | 56
>> ++
>> >  1 file changed, 56 insertions(+)
>> >
>> > diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
>> > index 9bd1c31..b6ca7c7 100644
>> > --- a/gnu/packages/gnome.scm
>> > +++ b/gnu/packages/gnome.scm
>> > @@ -3693,3 +3693,59 @@ such as gzip tarballs.")
>> >  GTK+ text widget GtkTextView. It improves GtkTextView by implementing
>> syntax
>> >  highlighting and other features typical of a source code editor.")
>> > (license license:lgpl2.1+)))
>> > +
>> > +(define-public gedit
>> > + (package
>> > +   (name "gedit")
>> > +   (version "3.16.4")
>> Same here, I prefer 3.18.x.
>>
>
> Changed to 3.18.1.
>
>
>> > +   (source (origin
>> > +(method url-fetch)
>> > +(uri (string-append "mirror://gnome/sources/" name "/"
>> > +(version-major+minor version) "/"
>> > +name "-" version ".tar.xz"))
>> > +(sha256
>> > + (base32
>> > +
>> "1h2czf2v0krqr3kar4fm2vspim30rwdb2yhab34sdn23j7m3f291"
>> > +   (build-system glib-or-gtk-build-system)
>> > +   (arguments
>> > +`(#:configure-flags '("--disable-spell") ; requires enchant
>> > +  #:phases
>> > +  (modify-phases %standard-phases
>> > +(add-after
>> > + 'install 'wrap-eog
>> > + (lambda* (#:key outputs #:allow-other-keys)
>> > +   (let ((out   (assoc-ref outputs "out"))
>> > + (gi-typelib-path   (getenv "GI_TYPELIB_PATH")))
>> > + (wrap-program (string-append out "/bin/gedit")
>> > +   `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path
>> > +   #t)
>> > +   (propagated-inputs
>> > +`(("dconf" ,dconf)))
>> > +   (native-inputs
>> > +`(("intltool" ,intltool)
>> > +  ("itstool", itstool)
>> > +  ("gobject-introspection" ,gobject-introspection)
>> > +  ("pkg-config" ,pkg-config)))
>> > +   (inputs
>> > +`(("glib" ,glib)
>> > +  ("gtk+" ,gtk+)
>> > +  ("gtksourceview" ,gtksourceview)
>> > +  ("libpeas" ,libpeas)
>> > +  ("libxml2" ,libxml2)
>> > +  ;; TODO: enchant needed for spell plugin
>> > +  ;;("enchant" ,enchant)
>> enchant is avaliable from enchant.scm, we can add it.
>>
>
> Done.
>
>
>> > +  ("iso-codes" ,iso-codes)
>> > +  ("python-pygobject" ,python-pygobject)
>> > +  ("python" ,python)
>> > +  ("gvfs" ,gvfs)
>> > +  ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
>> > +  ("libx11" ,libx11)
>> > +  ("vala" ,vala)
>> > +  ("adwaita-icon-theme" ,adwaita-icon-theme)
>> > +  ("libsoup" ,libsoup)
>> > +  ("gnome-desktop" ,gnome-desktop)))
>> > +   (home-page "https://wiki.gnome.org/Apps/Gedit";)
>> > +   (synopsis "GNOME text editor")
>> > +   (description "While aiming at simplicity and ease of use, gedit is a
>> > +powerful general purpose text editor. ")
>> > +   (license license:gpl2+)))
>> Otherwise, look good to me, thanks!
>>
>>
> Updating to 3.18.1 required updating libpeas, so I've attached a patch to
> do that in addition to the gedit patch. Thanks!
>
From 4b27203b7ea94d01c598e4f0b6da10ff74915146 Mon Sep 17 00:00:00 2001
From: David Hashe 
Date: Sun, 8 Nov 2015 13:57:44 -0600
Subject: [PATCH 3/3] gnu: Add gedit.

* gnu/packages/gnome.scm (gedit): New variable.
---
 gnu/packages/gnome.scm | 55 ++
 1 file changed, 55 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 29b6549..0c60969 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -43,6 +43,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages djvu)
+  #:use-module (gnu packages enchant)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages gettext)
@@ -3659,3 +3660,57 @@ environment that allows users to view, unpack, and create compressed archives
 such as gzip tarballs.")
 (home-page "http://fileroller.sourceforge.net/";)
 (license license:gpl2+)))
+
+(define-public gedit
+ (package
+   (name "gedit")
+   (version "3.18.1")
+   (source (origin
+(method url-fetch)
+(uri (string-append "mirror://gnome/sources/" name "/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+(sha256
+ (base32
+  "1kb3hglcppap7fdy7i7w2wk746kfz77jzs2lq6vrna8a3fqaxmas"
+   (build-system glib-or-gtk-build-system)
+   (arguments
+`(#

Re: [PATCH] gnu: Add artanis.

2015-11-08 Thread Ludovic Courtès
Mathieu Lirzin  skribis:

> Here is the package definition for the web application framework GNU
> Artanis.  ‘guix lint’ is still proposing a description because I have
> fix a missing space in it.  Can someone with commit access in the
> “gnumaint” repo fix it there?

I think I just did, although I’m not sure what CVS is telling me.

> From 96034d7b61f2ddc97eb1af792a9cf4921ba2d9ac Mon Sep 17 00:00:00 2001
> From: Mathieu Lirzin 
> Date: Sun, 8 Nov 2015 19:06:10 +0100
> Subject: [PATCH] gnu: Add artanis.
>
> * gnu/packages/guile.scm (artanis): New variable.

LGTM, thanks!

Ludo’.



Texinfo markup in package blurbs

2015-11-08 Thread Ludovic Courtès
Hello!

Guix has gained the possibility to have Texinfo markup in package
descriptions¹, which is properly rendered by user interfaces and at
.  Often we just limit
ourselves to ornaments such as @dfn, @code, or @uref.

Perhaps we could consider using it in pkgblurbs.txt if the needed for
enriched text arises?

Thanks,
Ludo’.

¹ 
http://www.gnu.org/software/guix/manual/html_node/Synopses-and-Descriptions.html



Re: [PATCH] import: pypi: add updater

2015-11-08 Thread Ludovic Courtès
Mathieu Lirzin  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Mathieu Lirzin  skribis:
>>> IIUC the commit bab020d7ca50e4153cf24832d119389a37fa8f63 has made
>>> Guile-JSON non optional.
>>
>> Yes, a mistake.
>>
>>> What should we do about this?
>>
>> Something like this should work:
>>
>> diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
>> index 3984a0b..4e9d1c8 100644
>> --- a/guix/scripts/refresh.scm
>> +++ b/guix/scripts/refresh.scm
> [...]
>> Could you test in a JSON-less environment and report back?
>
> It compiles and ‘guix refresh’ seems to work fine. Thank you very much Ludo!

Committed, thanks!

Ludo’.



Re: wcalc

2015-11-08 Thread Ludovic Courtès
Efraim Flashner  skribis:

> From 054409b739008ce68b9c46362917fb4cea8c46c9 Mon Sep 17 00:00:00 2001
> From: Efraim Flashner 
> Date: Fri, 6 Nov 2015 14:43:15 +0200
> Subject: [PATCH] gnu: Add wcalc.
>
> * gnu/packages/maths.scm (wcalc): New variable.

LGTM, thanks!

Ludo'.



Re: [PATCH 2/5] gnu: Build lua-5.2 with dynamic library support.

2015-11-08 Thread Ludovic Courtès
Leo Famulari  skribis:

> * gnu/packages/lua.scm (lua-5.2)[arguments]: Rewrite make-flags so that
>   Lua is built with platform-specific instructions for shared library
>   loading (dlopen).

Please move the explanations as a comment in the code.

> #:phases (alist-replace
>   'build
> - (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" "linux")))
> + (lambda _ (zero? (system* "make"
> +   "PLAT=linux"
> +   "MYCFLAGS=-fPIC"
> +   "MYLDFLAGS=-fPIC")))

How can I test whether this works as expected?  I tried this, but I’m
unsure whether it’s supposed to load OpenSSL’s libssl.so directly or
not:

--8<---cut here---start->8---
$ ./pre-inst-env guix environment --ad-hoc lua-5.2 openssl 
[env]$ echo $PATH
/gnu/store/zmqhwsl9vvxr4ihdnhwwpc3dpgmpsgsy-openssl-1.0.2d/bin:/gnu/store/9wmsrx7s9ydln5vgddms3cfavaiigwq2-lua-5.2.3/bin:/home/ludo/src/guix/scripts:/home/ludo/src/guix:/home/ludo/soft/bin:/home/ludo/.opam/system/bin:/home/ludo/.guix-profile/bin:/home/ludo/.guix-profile/sbin:/run/setuid-programs:/run/current-system/profile/bin:/run/current-system/profile/sbin
[env]$ export 
LD_LIBRARY_PATH=/gnu/store/zmqhwsl9vvxr4ihdnhwwpc3dpgmpsgsy-openssl-1.0.2d/lib
[env]$ lua -lssl
lua: module 'ssl' not found:
no field package.preload['ssl']
no file '/usr/local/share/lua/5.2/ssl.lua'
no file '/usr/local/share/lua/5.2/ssl/init.lua'
no file '/usr/local/lib/lua/5.2/ssl.lua'
no file '/usr/local/lib/lua/5.2/ssl/init.lua'
no file './ssl.lua'
no file '/usr/local/lib/lua/5.2/ssl.so'
no file '/usr/local/lib/lua/5.2/loadall.so'
no file './ssl.so'
stack traceback:
[C]: in function 'require'
[C]: in ?
--8<---cut here---end--->8---

Apologies in advance if I’m just asking stupid questions!

Besides, it would be nice to get rid of these hard-coded /usr/local in a
subsequent patch.

Ludo’.



Re: [PATCH 3/5] gnu: Build lua-5.2 with a dynamic library

2015-11-08 Thread Ludovic Courtès
Leo Famulari  skribis:

> * gnu/packages/patches/lua52-liblua-so.patch: New file.
> * gnu/packages/lua.scm (lua-5.2): Use lua52-liblua-so.patch.

Applied, thanks.

This is not optimal though because:

  1. We’re still providing liblua.a, but that archives actually contains
 PIC code.

  2. The ‘lua’ and ‘luac’ executables are not linked against liblua.so.

If you have time, it would be nice to discuss this with upstream; it’s
not something we should fix ourselves IMO.

Ludo’.



Re: [PATCH 0/3] emacs: Improve post processing of popup arguments.

2015-11-08 Thread Ludovic Courtès
Alex Kost  skribis:

> Hello, this patchset is for adjusting "M-x guix" for the recent
> environment/container changes.  'magit-popup' returns a simple list of
> arguments, and this list needs to be "post-processed".  Previously a
> very simple post-processing (moving the rest "-- ..." arguments to the
> end of the arg list) was enough, but now (for a rather complicated 'guix
> environment' command: positional "--ad-hoc", shell command after '--')
> it should be improved.  So this is the improvement.

Good catch.

> [PATCH 1/3] emacs: Improve post processing of popup arguments.
> [PATCH 2/3] emacs: Adjust 'guix container' popup.
> [PATCH 3/3] emacs: Adjust 'guix environment' popup.

On a cursory look it LGTM.  I don’t grasp the details of #1 but I
trust you.

Thank you!

Ludo’.



Re: [PATCH] Add microscheme.

2015-11-08 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> From 6fd419709fe93511fc519701d4e496f95aba84e4 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Fri, 6 Nov 2015 22:35:33 +0100
> Subject: [PATCH 1/2] gnu: Add prefix to license imports in (gnu packages avr).
>
> * gnu/packages/avr.scm: Import (guix licenses) with prefix "license:".

OK.

> From 1900f3015162cc777ee79883a0cae2a21216d99c Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Fri, 6 Nov 2015 22:37:40 +0100
> Subject: [PATCH 2/2] gnu: Add microscheme.
>
> * gnu/packages/avr.scm (microscheme): New variable.

[...]

> +(home-page "http://microscheme.org/";)
> +(synopsis "Scheme subset for Atmel microcontrollers")

“Small Scheme implementation targeting microcontrollers”?  (“Scheme
subset” is vague; “Scheme” alone is already quite vague.  ;-))

I would tend to put it in scheme.scm.  Also, it apparently builds on all
the CPUs that we use, so I’m not sure if it’s worth mentioning Atmel
here?

Otherwise LGTM, thank you!

Ludo’.



libbluray’s dependency on TeX Live

2015-11-08 Thread Ludovic Courtès
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") skribis:

> From b576d1acf2b60a415cfedcc3ecff7e2f0a2969fe Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  
> Date: Thu, 5 Mar 2015 21:40:36 +0100
> Subject: [PATCH 09/25] gnu: Add libbluray.
>
> * gnu/packages/video.scm (libbluray): New variable.
> (ffmpeg): Add input libbluray.

[...]

> +(inputs
> + `(("doxygen" ,doxygen)
> +   ("fontconfig" ,fontconfig)
> +   ("freetype" ,freetype)
> +   ("libxml2" ,libxml2)
> +   ("perl" ,perl)   ;for doxygen
> +   ("texlive" ,texlive)))

It’s been a while, but I just realized that libbluray depends on
TeX Live.

Fortunately, it’s a build-time-only dependency, not retained at run time.
Still, it sounds like a rather bad idea because of the enormous
dependency and the problems it entails.

Could we get rid of it?  What would we lose?

TIA!

Ludo’.



Re: [PATCH 1/2] gnu: Add gtksourceview.

2015-11-08 Thread 宋文武

On 2015-11-09 04:05, David Hashe wrote:
On Sun, Nov 8, 2015 at 11:53 AM, Efraim Flashner 


wrote:


On Sun, 8 Nov 2015 18:47:26 +0100
John Darrington  wrote:

> Doesn't this already exist ?  In gnu/packages/gtk+
>
> The version there seems to be better too, because it doesn't disable the
tests.
>
That one is 2.10.5, and this one is 3.16.1. Although it would make 
sense to

put them both in the same file.



I've moved it to gtk.scm and renamed 2.10.5 to gtksourceview-2.

I got the code to enable an X server working, but it later failed with
"D-Bus library appears to be incorrectly set up". I don't think we've 
found
a solution to that problem yet, since there are other packages that 
have

tests disabled for the same reason.

Set 'DBUS_FATAL_WARNINGS' to '0' can trick D-Bus.
I push the patch with modifications to pass tests and use 
propagated-inputs

for that in the .pc file.

Thanks!





Re: [PATCH 2/2] gnu: Add gedit.

2015-11-08 Thread 宋文武

On 2015-11-09 04:07, David Hashe wrote:

New gedit patch, since it won't apply cleanly now that gtksourceview is
being added to a different file. The libpeas patch should still work.

Pushed with follow modifications, thanks!

I remove gvfs from inputs, it still report:
  Gvfs metadata enabled:  yes
so I guess there is not function lost.
(the master haven't build gvfs, waiting texlive, etc.)

I also wrap it with XDG_DATA_DIRS set to gtksourceview,
without this, gedit will core dump due to missing language-specs.




Re: 01/02: gnu: Update libpeas.

2015-11-08 Thread Mark H Weaver
> iyzsong pushed a commit to branch master
> in repository guix.
>
> commit 835ed74b3a4bcec041632b658ebf6863e0e7b597
> Author: David Hashe 
> Date:   Sun Nov 8 10:57:19 2015 -0600
>
> gnu: Update libpeas.
> 
> * gnu/packages/gnome.scm (libpeas): Update to 1.16.0.

When updating a package, please always put the new version number in the
summary line of the commit log.  In this case, the summary line should
be:

  gnu: Update libpeas to 1.16.0.

Anyway, thanks for the update! :)

 Mark



Re: [PATCH] build: pull: Compile .scm files in one process.

2015-11-08 Thread Andy Wingo
On Fri 06 Nov 2015 16:41, taylanbayi...@gmail.com (Taylan Ulrich 
"Bayırlı/Kammer") writes:

> Andy Wingo  writes:
>
>> On Thu 05 Nov 2015 17:10, taylanbayi...@gmail.com (Taylan Ulrich 
>> "Bayırlı/Kammer") writes:
>>
>>> It used to max out every CPU core, now just one. :-)
>>> It used to take ~18 minutes on my machine, now less than 3.
>>
>> If you compile within a par-for-each you should be able to peg your CPU
>> core again, but actually reduce the time :)
>
> From what I understand, that would probably ignite the bug again.
>
> We need to ensure that as soon as a module file is compiled, it's also
> explicitly loaded before anything else is compiled (which might import
> it), otherwise that compilation will import the "degenerate" version of
> the module that results from compiling but not loading it.
>
> But that's really just my shallow high-level understanding of the bug,
> and could be way off.  If you have any insights on what's really going
> on, that would be greatly appreciated. :-)

AFAIU the problem that makes compilation slow is that *expansion* is
slow.  When all your Scheme files are fresh, compiling 1 module has to
expand all N modules.  Using one process to compile avoids this N^2
penalty, just paying the O(N) cost up-front and then the marginal
compilation cost is O(1).

There is benefit to compiling support modules before compiling (gnu
packages) so that Guix's macros run compiled and not interpreted, but if
you already have all of the modules expanded and loaded I don't think
there is any advantage to loading the freshly compiled .go files.

I do not understand what you mean by "degenerate" modules :)  An
interpreted module should act the same as a compiled module.  I am
interested to hear what difference you can perceive between the two.

Andy