guix import issue

2015-06-13 Thread Ben Woodcroft

Hi,

I'm having a little trouble using guix import, after successfully 
running guix pull. It seems to occur regardless of the specific package 
I use, and a similar problem occurs when trying to import from cpan (and 
perhaps others). I have not previously run guix import.


Any ideas?

$ guix import pypi GroopM
warning: failed to install locale: Invalid argument
Backtrace:
In ice-9/boot-9.scm:
2864: 19 [resolve-interface (guix scripts import ...) #:select ...]
2789: 18 [#autoload version #:key ensure)> # ...]

3065: 17 [try-module-autoload (guix scripts import pypi) #f]
2401: 16 [save-module-excursion #ice-9/boot-9.scm:3066:17 ()>]

3085: 15 [#]
In unknown file:
   ?: 14 [primitive-load-path "guix/scripts/import/pypi" ...]
In guix/scripts/import/pypi.scm:
  19: 13 [#]
In ice-9/boot-9.scm:
2951: 12 [define-module* (guix scripts import ...) #:filename ...]
2926: 11 [resolve-imports (((guix ui)) ((guix utils)) ((guix import 
pypi)) ...)]

2864: 10 [resolve-interface (guix import pypi) #:select ...]
2789: 9 [#autoload version #:key ensure)> # ...]

3065: 8 [try-module-autoload (guix import pypi) #f]
2401: 7 [save-module-excursion #ice-9/boot-9.scm:3066:17 ()>]

3085: 6 [#]
In unknown file:
   ?: 5 [primitive-load-path "guix/import/pypi" ...]
In guix/import/pypi.scm:
  19: 4 [#]
In ice-9/boot-9.scm:
2951: 3 [define-module* (guix import pypi) #:filename ...]
2926: 2 [resolve-imports ((#) (#) (#) (#) ...)]
2867: 1 [resolve-interface (json) #:select ...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (json)) #f]

ERROR: In procedure scm-error:
ERROR: no code for module (json)

Thanks in advance,
ben.



Re: guix import issue

2015-06-13 Thread Ricardo Wurmus
Hi Ben,

> $ guix import pypi GroopM

[...]

> ERROR: In procedure scm-error:
> ERROR: no code for module (json)

This means that guile-json cannot be found.  It is needed to parse the
JSON metadata for a given Python module.

You initially installed guix with the binary tarball method, did you
not?  Did it work before "guix pull" or is this the very first time you
are trying it?

(I do not know why guile-json would not be present when guix was
installed via tarball, nor why it would be missing after "guix pull", so
I'm hoping for someone else to comment on this.)

~~ Ricardo




Re: guix import issue

2015-06-13 Thread Ben Woodcroft

Hi, thanks for the reply.

On 13/06/15 20:59, Ricardo Wurmus wrote:

ERROR: In procedure scm-error:
ERROR: no code for module (json)

This means that guile-json cannot be found.  It is needed to parse the
JSON metadata for a given Python module.
Hmm, installing didn't fix it though. The pythonpath thing was because I 
just installed python2 and is unrelated I think. Unclear to me from the 
output though, did it attempt to install it at that point?


ben@u:~/guix/ben/packages$ guix package -i guile-json
warning: failed to install locale: Invalid argument
The following package will be installed:
   guile-json   0.4.0 
/gnu/store/x1id8rf765mmjqiyr32chrma4ykx8qn5-guile-json-0.4.0


The following derivations will be built:
   /gnu/store/3qpy8fk7r68yd65ck2a80557qymay0sk-profile.drv
/gnu/store/ahgxnsx70jpiz1xdhf5khs3kv155kpa3-ca-certificate-bundle.drv
   /gnu/store/qahkhjwf7chmik70k70rzr0kzzx0i03m-info-dir.drv
5 packages in profile
The following environment variable definitions may be needed:
   export PYTHONPATH="/home/ben/.guix-profile/lib/python2.7/site-packages"
ben@u:~/guix/ben/packages$ export 
PYTHONPATH="/home/ben/.guix-profile/lib/python2.7/site-packages"

ben@u:~/guix/ben/packages$ guix package -i guile-json
warning: failed to install locale: Invalid argument
The following package will be upgraded:
   guile-json   0.4.0 -> 0.4.0 
/gnu/store/x1id8rf765mmjqiyr32chrma4ykx8qn5-guile-json-0.4.0


nothing to be done
ben@u:~/guix/ben/packages$ guix import pypi GroopM
warning: failed to install locale: Invalid argument
Backtrace:
In ice-9/boot-9.scm:
2864: 19 [resolve-interface (guix scripts import ...) #:select ...]
2789: 18 [##:optional autoload version #:key ensure)> # ...]

3065: 17 [try-module-autoload (guix scripts import pypi) #f]
2401: 16 [save-module-excursion #ice-9/boot-9.scm:3066:17 ()>]

3085: 15 [#]
In unknown file:
   ?: 14 [primitive-load-path "guix/scripts/import/pypi" ...]
In guix/scripts/import/pypi.scm:
  19: 13 [#]
In ice-9/boot-9.scm:
2951: 12 [define-module* (guix scripts import ...) #:filename ...]
2926: 11 [resolve-imports (((guix ui)) ((guix utils)) ((guix import 
pypi)) ...)]

2864: 10 [resolve-interface (guix import pypi) #:select ...]
2789: 9 [#autoload version #:key ensure)> # ...]

3065: 8 [try-module-autoload (guix import pypi) #f]
2401: 7 [save-module-excursion #ice-9/boot-9.scm:3066:17 ()>]

3085: 6 [#]
In unknown file:
   ?: 5 [primitive-load-path "guix/import/pypi" ...]
In guix/import/pypi.scm:
  19: 4 [#]
In ice-9/boot-9.scm:
2951: 3 [define-module* (guix import pypi) #:filename ...]
2926: 2 [resolve-imports ((#) (#) (#) (#) ...)]
2867: 1 [resolve-interface (json) #:select ...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (json)) #f]

ERROR: In procedure scm-error:
ERROR: no code for module (json)



Also, I have this problem on 2 boxes. The other box I did not have 
guile-json installed (I think):


ben@ben:~/git/guix_ben/ben/packages$ guix package -I guile-json
warning: failed to install locale: Invalid argument
ben@ben:~/git/guix_ben/ben/packages$



You initially installed guix with the binary tarball method, did you
not?  Did it work before "guix pull" or is this the very first time you
are trying it?
Correct. My install procedure was I think quite by the book, as you know 
at http://lists.open-bio.org/pipermail/bio-packaging/2015-June/12.html


import never worked but then I cannot remember if I tried it or not.

I am running the daemon like so
root@u:~# /root/.guix-profile/bin/guix-daemon 
--build-users-group=guix-builder --no-substitutes

(I do not know why guile-json would not be present when guix was
installed via tarball, nor why it would be missing after "guix pull", so
I'm hoping for someone else to comment on this.)

ok.



More INSTALL and HACKING docs

2015-06-13 Thread Pjotr Prins
Because I don't trust my memory I tend to write up what I find out

  https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org
  https://github.com/pjotrp/guix-notes/blob/master/HACKING.org

Malcolm also started one

  https://github.com/malcook/sce/blob/master/README.org

since it is written in Org-mode, we hope some of it might find its way
into the main docs eventually. 

Corrections appreciated!!

Pj.



Re: guix import issue

2015-06-13 Thread Pjotr Prins
I get the same error on my recent build:

./pre-inst-env guix import gnu grep

does something, but 

./pre-inst-env guix import pypi readlike

Backtrace:
In ice-9/psyntax.scm:
 989: 19 [scan ((define-module (guix scripts import ...) #:use-module ...)) () 
...]
 279: 18 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
In ice-9/eval.scm:
 411: 17 [eval # ()]
In ice-9/boot-9.scm:
2951: 16 [define-module* (guix scripts import ...) #:filename ...]
2926: 15 [resolve-imports (((guix ui)) ((guix utils)) ((guix import pypi)) ...)]
2864: 14 [resolve-interface (guix import pypi) #:select ...]
2789: 13 [# # ...]
3065: 12 [try-module-autoload (guix import pypi) #f]
2401: 11 [save-module-excursion #]
3085: 10 [#]
In unknown file:
   ?: 9 [primitive-load-path "guix/import/pypi" ...]
In ice-9/eval.scm:
 505: 8 [# (define-module # # 
...)]
In ice-9/psyntax.scm:
1106: 7 [expand-top-sequence ((define-module # # # ...)) () ((top)) ...]
 989: 6 [scan ((define-module (guix import pypi) #:use-module ...)) () ...]
 279: 5 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
In ice-9/eval.scm:
 411: 4 [eval # ()]
In ice-9/boot-9.scm:
2951: 3 [define-module* (guix import pypi) #:filename ...]
2926: 2 [resolve-imports ((#) (#) (#) (#) ...)]
2867: 1 [resolve-interface (json) #:select ...]
In unknown file:
   ?: 0 [scm-error misc-error #f "~A ~S" ("no code for module" (json)) #f]

ERROR: In procedure scm-error:
ERROR: no code for module (json)




Re: guix import issue

2015-06-13 Thread Ben Woodcroft

On 13/06/15 21:52, Pjotr Prins wrote:

I get the same error on my recent build:

./pre-inst-env guix import gnu grep

does something,

ditto



[PATCH 1/3] gnu: Add ruby-git.

2015-06-13 Thread David Thompson
>From d5062fe608d840aca5034c9374dc0a99c926554b Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 13 Jun 2015 07:46:02 -0400
Subject: [PATCH 1/3] gnu: Add ruby-git.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index f7759ec..bd7ab79 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages gdbm)
+  #:use-module (gnu packages version-control)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -570,3 +571,35 @@ functionality, making it easier to migrate test suites from bacon to minitest.")
 run as a daemon and to be controlled by simple start/stop/restart commands.")
 (home-page "https://github.com/thuehlinger/daemons";)
 (license license:expat)))
+
+(define-public ruby-git
+  (package
+(name "ruby-git")
+(version "1.2.9.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/schacon/ruby-git/archive/v";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"08zg20zc7f7yy34ix2qdd8jbiz7xhjc8alk370869sq3h75hs9jc"
+(build-system ruby-build-system)
+(arguments
+ '(#:phases (modify-phases %standard-phases
+  (add-before 'check 'create-fake-home
+(lambda _
+  ;; The test suite runs 'git config --global' commands,
+  ;; so a fake home directory is needed for them to
+  ;; succeed.
+  (let ((fake-home (string-append (getcwd) "/fake-home")))
+(mkdir fake-home)
+(setenv "HOME" fake-home)))
+(native-inputs
+ `(("git" ,git)))
+(synopsis "Ruby wrappers for Git")
+(description "Ruby/Git is a Ruby library that can be used to create, read
+and manipulate Git repositories by wrapping system calls to the git binary.")
+(home-page "https://github.com/schacon/ruby-git";)
+(license license:expat)))
-- 
2.2.1


-- 
David Thompson
GPG Key: 0FF1D807


[PATCH 3/3] gnu: Add ruby-multipart-post.

2015-06-13 Thread David Thompson
>From 9f7faeee96919ce78991e2c8321a329eab5bda75 Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 13 Jun 2015 08:06:12 -0400
Subject: [PATCH 3/3] gnu: Add ruby-multipart-post.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b248eab..09637c3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -625,3 +625,25 @@ and manipulate Git repositories by wrapping system calls to the git binary.")
 options and parsing command line flags.")
 (home-page "https://github.com/leejarvis/slop";)
 (license license:expat)))
+
+(define-public ruby-multipart-post
+  (package
+(name "ruby-multipart-post")
+(version "2.0.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/nicksieger/multipart-post/archive/v";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"03n271i3knfx4j9aingxzz2bajd379dw9nswsllviqc177lq1anm"
+(build-system ruby-build-system)
+(native-inputs
+ `(("bundler" ,bundler)))
+(synopsis "Multipart POST library for Ruby")
+(description "Multipart-Post Adds multipart POST capability to Ruby's
+net/http library.")
+(home-page "https://github.com/nicksieger/multipart-post";)
+(license license:expat)))
-- 
2.2.1


-- 
David Thompson
GPG Key: 0FF1D807


[PATCH 2/3] gnu: Add ruby-slop.

2015-06-13 Thread David Thompson
>From b92e076fbd1fdeb396044bf66df20e471710f39a Mon Sep 17 00:00:00 2001
From: David Thompson 
Date: Sat, 13 Jun 2015 07:53:23 -0400
Subject: [PATCH 2/3] gnu: Add ruby-slop.

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

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index bd7ab79..b248eab 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -603,3 +603,25 @@ run as a daemon and to be controlled by simple start/stop/restart commands.")
 and manipulate Git repositories by wrapping system calls to the git binary.")
 (home-page "https://github.com/schacon/ruby-git";)
 (license license:expat)))
+
+(define-public ruby-slop
+  (package
+(name "ruby-slop")
+(version "4.1.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/leejarvis/slop/archive/v";
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0cqs50a0b99kjd19xpln8jpnki07cjyp3l7wxbfr44ycasr6nznh"
+(build-system ruby-build-system)
+(native-inputs
+ `(("ruby-minitest" ,ruby-minitest)))
+(synopsis "Ruby command line option parser")
+(description "Slop provides a Ruby domain specific language for gathering
+options and parsing command line flags.")
+(home-page "https://github.com/leejarvis/slop";)
+(license license:expat)))
-- 
2.2.1


-- 
David Thompson
GPG Key: 0FF1D807


Re: More INSTALL and HACKING docs

2015-06-13 Thread Thompson, David
On Sat, Jun 13, 2015 at 7:43 AM, Pjotr Prins  wrote:
> Because I don't trust my memory I tend to write up what I find out
>
>   https://github.com/pjotrp/guix-notes/blob/master/INSTALL.org
>   https://github.com/pjotrp/guix-notes/blob/master/HACKING.org
>
> Malcolm also started one
>
>   https://github.com/malcook/sce/blob/master/README.org
>
> since it is written in Org-mode, we hope some of it might find its way
> into the main docs eventually.
>
> Corrections appreciated!!

Hey, this is good stuff!  I like how some explanations are framed from
a Rubyists perspective.  I hope it may help some Ruby programmers join
in on all the packaging fun.

I would like to correct something in the HACKING.org document:

Note that Docker is a propriety technology and frowned upon by
members of the GNU Guix community.

Docker is free software[0].  Some of us may not be very enthusiastic
about Docker (me), but we do not frown upon it because it gives its
users the 4 freedoms.  I also feel that this is a good time to mention
that someone should package the Go compiler. ;)

Thanks,

- Dave

[0] https://github.com/docker/docker



Re: [PATCH] gnu: Add haskell-mode.

2015-06-13 Thread Federico Beffa
I started with the 'trivial-build-system' and the switched to the GNU
one and forgot to delete the module imports...
Updated.

Regards,
Fede

On Fri, Jun 12, 2015 at 10:10 PM, Federico Beffa  wrote:
> An emacs mode for Haskell.
>
> Regards,
> Fede
From d08df1568688701e20582c74acc85b3d9b5da01a Mon Sep 17 00:00:00 2001
From: Federico Beffa 
Date: Fri, 12 Jun 2015 18:58:35 +0200
Subject: [PATCH] gnu: Add haskell-mode.

* gnu/packages/emacs.scm (haskell-mode): New variable.
---
 gnu/packages/emacs.scm | 62 ++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index fbddff1..2312711 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -430,6 +430,68 @@ operations.")
 support for Git-SVN.")
 (license license:gpl3+)))
 
+(define-public haskell-mode
+  (package
+(name "haskell-mode")
+(version "13.14.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/haskell/haskell-mode/archive/v";
+version ".tar.gz"))
+ (sha256
+  (base32 "1kxc2yj8vb122dv91r68h7c5ladcryx963fr16plfhg71fv7f9av"
+(inputs `(("emacs" ,emacs-no-x)))
+(native-inputs
+ `(("texinfo" ,texinfo)))
+(build-system gnu-build-system)
+(arguments
+ `(#:make-flags (list (string-append "EMACS="
+ (assoc-ref %build-inputs "emacs")
+ "/bin/emacs"))
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before
+  'build 'pre-build
+  (lambda _
+(setenv "SHELL" "sh")
+(substitute* (find-files "." ".*\\.el") (("/bin/sh") "sh"))
+#t))
+ (replace
+  'install
+  (lambda* (#:key outputs #:allow-other-keys)
+(let* ((out (assoc-ref outputs "out"))
+   (el-dir (string-append out "/share/emacs/site-lisp"))
+   (doc (string-append
+ out "/share/doc/haskell-mode-" ,version))
+   (info (string-append out "/share/info")))
+  (with-directory-excursion "doc"
+(system* "makeinfo" "haskell-mode.texi")
+(mkdir-p info)
+(copy-file "haskell-mode.info"
+   (string-append info "/haskell-mode.info")))
+  (for-each
+   (lambda (dir files)
+ (mkdir-p dir)
+ (for-each
+  (lambda (f)
+(copy-file f (string-append dir "/" (basename f
+  files))
+   (list doc el-dir)
+   (list '("CONTRIBUTING.md" "NEWS" "README.md")
+ (find-files "." ".*\\.elc?")))
+   ;; these are now distributed with emacs
+   (with-directory-excursion el-dir
+ (for-each delete-file '("cl-lib.el" "ert.el")))
+  #t))
+(home-page "https://github.com/haskell/haskell-mode";)
+(synopsis "Haskell mode for Emacs")
+(description
+ "This is an Emacs mode for editing, debugging and developing Haskell
+programs.")
+(license license:gpl3+)))
+
 
 ;;;
 ;;; Web browsing.
-- 
2.2.1



Re: Update on GuixSD containers

2015-06-13 Thread Ludovic Courtès
"Thompson, David"  skribis:

> On Fri, Jun 12, 2015 at 11:12 AM, Ludovic Courtès  wrote:
>> "Thompson, David"  skribis:
>>
>>> Yeah, our daemon would do the same thing.  We could maybe even have a
>>> little Guile library that allows one to evaluate arbitrary scheme code
>>> from within the container. :)
>>
>> Actually, something quite easily feasible would be this:
>>
>>   (eval-in-container #~(system* #$evil-program
>> #$(local-file "important-data.txt"))
>>  #:networking? #f)
>>
>> ... where the container’s store would be populated with just
>> EVIL-PROGRAM and the local file.
>>
>> Food for thought...
>
> Ooooh yeah!  That would be cool.  Though I think we should still spawn
> a dmd process as PID 1 to deal with reaping zombie processes.  We
> could generate a single service that runs the gexp script.  How does
> that sound?

Wouldn’t it be enough to have the Guile process that evaluates the
expression be PID 1 in the container, as is the case in guix-daemon
containers?

Ludo’.



Re: guix import issue

2015-06-13 Thread Ludovic Courtès
Ben Woodcroft  skribis:

> ben@u:~/guix/ben/packages$ guix package -i guile-json
> warning: failed to install locale: Invalid argument
> The following package will be installed:
>guile-json   0.4.0
> /gnu/store/x1id8rf765mmjqiyr32chrma4ykx8qn5-guile-json-0.4.0
>
> The following derivations will be built:
>/gnu/store/3qpy8fk7r68yd65ck2a80557qymay0sk-profile.drv
> /gnu/store/ahgxnsx70jpiz1xdhf5khs3kv155kpa3-ca-certificate-bundle.drv
>/gnu/store/qahkhjwf7chmik70k70rzr0kzzx0i03m-info-dir.drv
> 5 packages in profile
> The following environment variable definitions may be needed:
>export PYTHONPATH="/home/ben/.guix-profile/lib/python2.7/site-packages"

Actually ‘guix package’ has failed to tell you about the GUILE_LOAD_PATH
and GUILE_LOAD_COMPILED_PATH variables (that’s because Guile is not
explicitly installed, only used indirectly by Guix.)

I guess the following definitions will allow Guile-JSON to be found,
thereby allowing ‘guix import pypi’ to work:

  export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/2.0
  export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/share/guile/site/2.0

Can you confirm?

I think we should improve this by changing the ‘guix’ package to have
the ‘guix’ command wrapped such that GUILE_LOAD_PATH is always correctly
set.  I’ll work on that.

Thank you,
Ludo’.



Re: Update on GuixSD containers

2015-06-13 Thread Thompson, David
On Sat, Jun 13, 2015 at 9:06 AM, Ludovic Courtès  wrote:
> "Thompson, David"  skribis:
>
>> On Fri, Jun 12, 2015 at 11:12 AM, Ludovic Courtès  wrote:
>>> "Thompson, David"  skribis:
>>>
 Yeah, our daemon would do the same thing.  We could maybe even have a
 little Guile library that allows one to evaluate arbitrary scheme code
 from within the container. :)
>>>
>>> Actually, something quite easily feasible would be this:
>>>
>>>   (eval-in-container #~(system* #$evil-program
>>> #$(local-file "important-data.txt"))
>>>  #:networking? #f)
>>>
>>> ... where the container’s store would be populated with just
>>> EVIL-PROGRAM and the local file.
>>>
>>> Food for thought...
>>
>> Ooooh yeah!  That would be cool.  Though I think we should still spawn
>> a dmd process as PID 1 to deal with reaping zombie processes.  We
>> could generate a single service that runs the gexp script.  How does
>> that sound?
>
> Wouldn’t it be enough to have the Guile process that evaluates the
> expression be PID 1 in the container, as is the case in guix-daemon
> containers?

Sure, it would work, but my concern is that a long-running process on
a user's machine could create and orphan tons of child processes and
nothing would be able to clean them up until the PID namespace is
garbage collected.

- Dave



Re: guix import issue

2015-06-13 Thread Ben Woodcroft



On 13/06/15 23:14, Ludovic Courtès wrote:

I guess the following definitions will allow Guile-JSON to be found,
thereby allowing ‘guix import pypi’ to work:

   export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/2.0
   export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/share/guile/site/2.0

Can you confirm?
That changes the error. I have the suspicion that I have somehow mangled 
guix on my system and this new error is unrelated (ctrl-C during guix 
pull, perhaps?). So I'm guessing this is a confirmation?


ben@u:~/guix/ben/packages$ guix import pypi readlike
warning: failed to install locale: Invalid argument
starting download of `/tmp/guix-file.LIglRF' from 
`https://pypi.python.org/pypi/readlike/json'...

;;; Failed to autoload make-session in (gnutls):
;;; ERROR: missing interface for module (gnutls)
ERROR: In procedure module-lookup: Unbound variable: make-session
failed to download "/tmp/guix-file.LIglRF" from 
"https://pypi.python.org/pypi/readlike/json";

guix import: error: failed to download meta-data for package 'readlike'

Thanks.



Re: guix import issue

2015-06-13 Thread Alex Kost
Ben Woodcroft (2015-06-13 16:22 +0300) wrote:

> On 13/06/15 23:14, Ludovic Courtès wrote:
>> I guess the following definitions will allow Guile-JSON to be found,
>> thereby allowing ‘guix import pypi’ to work:
>>
>>export GUILE_LOAD_PATH=$HOME/.guix-profile/share/guile/site/2.0
>>export GUILE_LOAD_COMPILED_PATH=$HOME/.guix-profile/share/guile/site/2.0
>>
>> Can you confirm?
> That changes the error. I have the suspicion that I have somehow mangled
> guix on my system and this new error is unrelated (ctrl-C during guix
> pull, perhaps?). So I'm guessing this is a confirmation?

One of the benefits of Guix is that you can press Ctrl-C any time
without consequences (I do it regularly).

> ben@u:~/guix/ben/packages$ guix import pypi readlike
> warning: failed to install locale: Invalid argument
> starting download of `/tmp/guix-file.LIglRF' from
> `https://pypi.python.org/pypi/readlike/json'...
> ;;; Failed to autoload make-session in (gnutls):
> ;;; ERROR: missing interface for module (gnutls)

This tells that your gnutls misses guile bindings (it may be that your
distro compiles gnutls with "--disable-guile" option).  I think it
should be fixed if you install gnutls with guix: "guix package -i
gnutls".

-- 
Alex



Re: [GNUnet-developers] GSoC: Binary package distribution through GnuNet (report 1)

2015-06-13 Thread asgeir
Hello,

I've just done an inclusion request to Guix, with the name "remibd"!

By the way, I'm will have very few moments of internet access until
monday evening, therefore I'll probably be able to send my second
report and upload code only on thursday.

I'm a bit late, as the bindings are not functional yet (and were
supposed to be according to my schedule), I'll detail this on the
report.
-- 
Rémi



[PATCH] Add Qsynth.

2015-06-13 Thread Ricardo Wurmus
>From 612b8503d5b473f8a7416b0b9c9287102fa72bb8 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Sat, 13 Jun 2015 19:53:48 +0200
Subject: [PATCH] gnu: Add Qsynth.

* gnu/packages/audio.scm (qsynth): New variable.
---
 gnu/packages/audio.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 3b2d4e1..bb844bb 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1488,6 +1488,29 @@ to record and/or play sound using a callback function or a blocking read/write
 interface.")
 (license license:expat)))
 
+(define-public qsynth
+  (package
+(name "qsynth")
+(version "0.3.9")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://sourceforge/qsynth/qsynth-" version ".tar.gz"))
+   (sha256
+(base32 "08kyn6cl755l9i1grzjx8yi3f8mgiz4gx0hgqad1n0d8yz85087b"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f)) ; no "check" phase
+(inputs
+ `(("qt" ,qt)
+   ("fluidsynth" ,fluidsynth)))
+(home-page "http://qsynth.sourceforge.net";)
+(synopsis "Graphical user interface for FluidSynth")
+(description
+ "Qsynth is a GUI front-end application for FluidSynth written in C++.")
+(license license:gpl2+)))
+
 (define-public rsound
   (package
 (name "rsound")
-- 
2.2.1





Re: [PATCH] Add st

2015-06-13 Thread amirouche

I attached two patches. The second patch is to rename dwm.scm

On 2015-06-12 00:15, Mark H Weaver wrote:

amirou...@hypermove.net writes:


On 2015-06-09 16:22, Andreas Enge wrote:

+(description
+ "Xterm is bloated and unmaintainable.  It has over 65K lines
of code and


Please write a more neutral description. Something like
"St implements a simple and light-weight terminal emulator.  It
implements
256 colors, most VT10X escape sequences, utf8, X11 copy/paste,
antialiased fonts (using fontconfig), fallback fonts, resizing,
and line drawing."
It is nicer to write what a programme does well than to complain 
about

what others do poorly.


Agreed. I created a new patch with the changes you requested and I've
run: ./pre-inst-env guix lint st.


Did you change the description at all?  At first glance, it looks the
same as before.  It should be more neutral, as Andreas said.


Sorry. I did not commit before generating the patch.




From 24e374cd99adb8efc1d6a9c5ba0d7cfb1f71828f Mon Sep 17 00:00:00 2001
From: amz3 
Date: Sun, 7 Jun 2015 19:04:28 +0200
Subject: [PATCH] gnu: add st.

* gnu/packages/dwm.scm (st): New variable.
* gnu/packages/patches/st-0.5-do-not-install-terminfo.patch: New file.


You would need to add this patch to 'dist_patch_DATA' in gnu-system.am
as well, but in this case I think it's better to make this change in a
custom phase using 'substitute*'.  The reason is that if the user
requests the source code using 'guix build -S st', it should probably
not include that change, which is guix-specific.

It could be something like this: (untested)

--8<---cut here---start->8---
   #:phases
   (modify-phases %standard-phases
 (delete 'configure)
 (add-after 'unpack 'inhibit-terminfo-install
(lambda _
  (substitute* "Makefile"
(("\t@tic -s st.info") ""))
  #t)
--8<---cut here---end--->8---

Also, we should probably rename dwm.scm to suckless.scm.
GNU_SYSTEM_MODULES in gnu-system.am should be updated accordingly,
keeping it sorted.


diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm
index 98fa122..8ce078b 100644
--- a/gnu/packages/dwm.scm
+++ b/gnu/packages/dwm.scm


Please add a copyright line for yourself to the top of the file.


@@ -22,7 +22,11 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages fonts)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages pkg-config)
+  #:use-module ((gnu packages fontutils) #:prefix font-utils:))


Instead of adding a prefix for (gnu package fontutils), better to add a
'license:' prefix for (guix licenses) and update the 'license' fields 
of

the existing packages accordingly.



 (define-public dwm
   (package
@@ -139,3 +143,47 @@ numbers of user-defined menu items efficiently.")
 (description
  "Simple X session lock with trivial feedback on password 
entry.")

 (license x11)))
+
+
+(define-public st


Just one blank line between packages please.


+  (package
+(name "st")
+(version "0.5")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://dl.suckless.org/st/st-";
+   version ".tar.gz"))
+   (patches (list (search-patch 
"st-0.5-do-not-install-terminfo.patch")))

+   (sha256
+(base32
+ "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f"
+(build-system gnu-build-system)
+(arguments
+ '(#:tests? #f ; no tests
+   #:make-flags (list "CC=gcc"
+  (string-append "PREFIX=" %output))
+   #:phases
+   (alist-delete 'configure %standard-phases)))
+(inputs
+ `(("libx11" ,libx11)
+   ("libxft" ,libxft)
+   ("libxcomposite" ,libxcomposite)
+   ("compositeproto" ,compositeproto)
+   ("libxext" ,libxext)
+   ("xextproto" ,xextproto)
+   ("libxrender" ,libxrender)
+   ("fontconfig" ,font-utils:fontconfig)
+   ("freetype" ,font-utils:freetype)
+   ("font-liberation" ,font-liberation)))
+(native-inputs `(("pkg-config" ,pkg-config)
+ ("ncurses" ,ncurses)))


Is ncurses really needed here as a native-input?  If 'st' needs to be
linked to it for use at run time, then it should be a normal input.  It
should only be a native-input if it's needed at build time.  That would
be surprising to me, since the build process within guix-daemon is
obviously non-interactive.


No it is not needed, since it's only useful to install the terminfo 
file. I removed it.





+(home-page "http://st.suckless.org/";)
+(synopsis "Simple terminal emulator")
+(description
+ "Xterm is bloated and unmaintainable.  It has over 65K lines of 
code and
+  emulates obscure and obsolete terminals you wi

Re: Update on GuixSD containers

2015-06-13 Thread Ludovic Courtès
"Thompson, David"  skribis:

> On Sat, Jun 13, 2015 at 9:06 AM, Ludovic Courtès  wrote:
>> "Thompson, David"  skribis:
>>
>>> On Fri, Jun 12, 2015 at 11:12 AM, Ludovic Courtès  wrote:
 "Thompson, David"  skribis:

> Yeah, our daemon would do the same thing.  We could maybe even have a
> little Guile library that allows one to evaluate arbitrary scheme code
> from within the container. :)

 Actually, something quite easily feasible would be this:

   (eval-in-container #~(system* #$evil-program
 #$(local-file "important-data.txt"))
  #:networking? #f)

 ... where the container’s store would be populated with just
 EVIL-PROGRAM and the local file.

 Food for thought...
>>>
>>> Ooooh yeah!  That would be cool.  Though I think we should still spawn
>>> a dmd process as PID 1 to deal with reaping zombie processes.  We
>>> could generate a single service that runs the gexp script.  How does
>>> that sound?
>>
>> Wouldn’t it be enough to have the Guile process that evaluates the
>> expression be PID 1 in the container, as is the case in guix-daemon
>> containers?
>
> Sure, it would work, but my concern is that a long-running process on
> a user's machine could create and orphan tons of child processes and
> nothing would be able to clean them up until the PID namespace is
> garbage collected.

My understanding was that killing a container’s PID 1 (from the outside)
effectively killed all the processes of that PID name space.  Isn’t it
the case?

(The daemon works around that by running processes under a separate UID
and doing kill(-1, SIGKILL) under that UID.)

Ludo’.



Re: [GNUnet-developers] GSoC: Binary package distribution through GnuNet (report 1)

2015-06-13 Thread Ludovic Courtès
Hi Rémi,

asg...@free.fr skribis:

> I've just done an inclusion request to Guix, with the name "remibd"!

Actually you had only created the account, but I’ve added you to the
group.

Please restrict yourself to the guix/gnunet.git repository:

  rem...@git.sv.gnu.org:/srv/git/guix/gnunet.git

> I'm a bit late, as the bindings are not functional yet (and were
> supposed to be according to my schedule), I'll detail this on the
> report.

Please do discuss any problems that you have on IRC, on the mailing
lists, etc.  I’m sure there are many fine people who’d be happy to
answer your questions about Guile, the FFI, GNUnet, and whatnot!

Ludo’.