guix import issue
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
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
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
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
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
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.
>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.
>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.
>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
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.
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
"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
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
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
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
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)
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.
>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
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
"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)
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’.