Re: Equivalent to lib32readline6-dev

2017-05-09 Thread Hartmut Goebel
Am 08.05.2017 um 18:15 schrieb Kei Kebreau:
> Hartmut Goebel  writes:
>
>> Hi,
>>
>> for building LinageOS, the Debina/Ubuntu package lib32readline6-dev is
>> required – which is the 32-bit version. How can I get this in guix?
> My first guess would be using
>
> `guix build --system=i686-linux readline@6.2'
>
> to get a look at what you're working with.

Ah, seems my question was not precise enough:
How can I install the 32-bit  *and*  the 64-bit development files at
once. So I can tell gcc/clang "now build for 32-bit".

-- 
Regards
Hartmut Goebel

| Hartmut Goebel  | h.goe...@crazy-compilers.com   |
| www.crazy-compilers.com | compilers which you thought are impossible |




Re: Equivalent to lib32readline6-dev

2017-05-09 Thread Kei Kebreau
Hartmut Goebel  writes:

> Am 08.05.2017 um 18:15 schrieb Kei Kebreau:
>> Hartmut Goebel  writes:
>>
>>> Hi,
>>>
>>> for building LinageOS, the Debina/Ubuntu package lib32readline6-dev is
>>> required – which is the 32-bit version. How can I get this in guix?
>> My first guess would be using
>>
>> `guix build --system=i686-linux readline@6.2'
>>
>> to get a look at what you're working with.
>
> Ah, seems my question was not precise enough:
> How can I install the 32-bit  *and*  the 64-bit development files at
> once. So I can tell gcc/clang "now build for 32-bit".

I see now. I'm not sure that Guix has multilib support like you are
describing, though I suppose you could try building it in a pure 32-bit
environment by using

`guix environment --system=i686-linux --ad-hoc [required packages]'


signature.asc
Description: PGP signature


Heads-up: transition to Guile 2.2

2017-05-09 Thread Ludovic Courtès
Hello Guix!

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

> There’s a problem though, called “guix pull”.  ~/.config/guix/latest
> currently contains 2.0 .go files.  Thus after reconfiguring GuixSD to
> use Guix-for-2.2, running ‘guix’ typically gives loads of warnings like:
>
>   ;;; WARNING: loading compiled file 
> /home/ludo/.config/guix/latest/guix/derivations.go failed:
>   ;;; ERROR: In procedure load-thunk-from-memory: No such file or directory

With commit 838ba73d6e49bd2b1f2d4ed9329b65cc4e8c1f54, ‘guix pull’ builds
with the currently used Guile, be it 2.0 or 2.2.  To achieve that, it
tries hard to pick 2.0 or 2.2 packages for the dependencies of Guix.

If it cannot find a “guile-ssh” package for the Guile being used (for
instance, you’re using Guile 2.2 but lacking the “guile-ssh” package
built with 2.2), then it simply skips modules that depend on Guile-SSH;
they are optional anyway.  For Guile-JSON, it just assumes that there is
a matching Guile-JSON, which should be the case anyway.

As I wrote before, ‘guix pull’ in its current form is pretty fragile;
please report any problems you have.


In addition, with commit 7561881f2a5d2dc463c24713745eca03e67044bf, the
“guix” package is now built with Guile 2.2 instead of 2.0.  Thus, next
time you update GuixSD, /run/current-system/profile/bin/guix will be
using Guile 2.2.  At that point, if ~/.config/guix/latest contains .go
files for 2.0, you’ll get warnings as shown above, and you’ll have to
“guix pull” to get rid of them.


At this point, we’re still using Guile 2.0 (1) to build derivations, and
(2) in the Shepherd, mcron, and modules imported inside the Shepherd.
In ‘core-updates’ we have addressed #1 and we’ll address #2 as well.

Ludo’.



Re: Heads-up: transition to Guile 2.2

2017-05-09 Thread myglc2
On 05/09/2017 at 23:22 Ludovic Courtès writes:

> Hello Guix!
>
> l...@gnu.org (Ludovic Courtès) skribis:
>
>> There’s a problem though, called “guix pull”.  ~/.config/guix/latest
>> currently contains 2.0 .go files.  Thus after reconfiguring GuixSD to
>> use Guix-for-2.2, running ‘guix’ typically gives loads of warnings like:
>>
>>   ;;; WARNING: loading compiled file 
>> /home/ludo/.config/guix/latest/guix/derivations.go failed:
>>   ;;; ERROR: In procedure load-thunk-from-memory: No such file or directory
>
> With commit 838ba73d6e49bd2b1f2d4ed9329b65cc4e8c1f54, ‘guix pull’ builds
> with the currently used Guile, be it 2.0 or 2.2.  To achieve that, it
> tries hard to pick 2.0 or 2.2 packages for the dependencies of Guix.
>
> If it cannot find a “guile-ssh” package for the Guile being used (for
> instance, you’re using Guile 2.2 but lacking the “guile-ssh” package
> built with 2.2), then it simply skips modules that depend on Guile-SSH;
> they are optional anyway.  For Guile-JSON, it just assumes that there is
> a matching Guile-JSON, which should be the case anyway.
>
> As I wrote before, ‘guix pull’ in its current form is pretty fragile;
> please report any problems you have.
>
>
> In addition, with commit 7561881f2a5d2dc463c24713745eca03e67044bf, the
> “guix” package is now built with Guile 2.2 instead of 2.0.  Thus, next
> time you update GuixSD, /run/current-system/profile/bin/guix will be
> using Guile 2.2.  At that point, if ~/.config/guix/latest contains .go
> files for 2.0, you’ll get warnings as shown above, and you’ll have to
> “guix pull” to get rid of them.
>
>
> At this point, we’re still using Guile 2.0 (1) to build derivations, and
> (2) in the Shepherd, mcron, and modules imported inside the Shepherd.
> In ‘core-updates’ we have addressed #1 and we’ll address #2 as well.
>
> Ludo’.

Hi Ludo, this sounds great!

I run GuixSD from git checkout this way ...

cd ~/src/guix
guix environment -e "(@ (gnu packages package-management) guix)" -M 4 \
-c 4
git pull
make clean-go
./bootstrap
./configure --localstatedir=/var --sysconfdir=/etc
make -j 10 check
exit
sudo guix system build /root/con/55.scm -M 4 -c 4
sudo guix system reconfigure /root/con/55.scm -M 4 -c 4
sudo reboot

Should this just work? Or is there something that needs to be done
differently for the 2.0 >>> 2.2 change?

TIA - George




need help with debugging gopherd (geomyidae) service

2017-05-09 Thread ng0
When I start this via the arguments I pass (well, any arguments),
without the service it starts and I can access the server.

The service never starts (and due to its simplistic nature, no
"BOOM CRASH THIS IS WHY I REFUSE TO START" is seen.
In this version I added 'networking' to requirements, still no change.

Anyone got an idea what could be missing from making this simple service
functional?

Patches appended.
-- 
https://pragmatique.xyz
PGP: https://people.pragmatique.xyz/ng0/
From b63c5ffd8891c706cd674fcc539dc8280d92dbcb Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 9 May 2017 18:52:31 +
Subject: [PATCH 1/2] gnu: Add geomyidae.

* gnu/packages/web.scm (geomyidae): New variable.
---
 gnu/packages/web.scm | 43 ++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index efaa1b574..69529b5c3 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2016 Rene Saavedra 
 ;;; Copyright © 2016 Ben Woodcroft 
 ;;; Copyright © 2016 Clément Lassieur 
-;;; Copyright © 2016, 2017 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016, 2017 Arun Isaac 
 ;;; Copyright © 2016 Tobias Geerinckx-Rice 
 ;;; Copyright © 2016 Bake Timmons 
@@ -4552,3 +4552,44 @@ into your tests.  It automatically starts up a HTTP 
server in a separate thread
 
 (define-public python2-pytest-httpbin
   (package-with-python2 python-pytest-httpbin))
+
+(define-public geomyidae
+  (let* ((commit "9a2203506973a803e74ffa80a27f2bf1919b68cc")
+ (revision "1"))
+(package
+  (name "geomyidae")
+  (version (string-append "0.26.3" "-" revision
+  (string-take commit 7)))
+  (source
+   (origin
+ (method git-fetch)
+ (uri (git-reference
+   (url "git://git.r-36.net/geomyidae")
+   (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+  (base32
+   "1h79w5340wnqzwsxdlfcchmxrr953fwhbgss4mhjg62x7pdkkvab"
+  (build-system gnu-build-system)
+  (arguments
+   `(#:make-flags (list "CC=gcc"
+(string-append "PREFIX="
+   (assoc-ref %outputs "out")))
+ #:tests? #f ;No tests
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'configure
+  (home-page "http://git.r-36.net/geomyidae";)
+  (synopsis "gopherd server")
+  (description
+   "Geomyidae is a gopherd for GNU/Linux and BSD.
+Its features include:
+
+@enumerate
+@item gopher menus (see index.gph for an example)
+@item dir listings (if no index.gph was found)
+@item cgi support (.cgi files are executed)
+@item search support in CGI files
+@item logging (-l option) and loglevels (-v option)
+@end enumerate\n")
+  (license l:x11
-- 
2.12.2

From 9d4b74f028575c9acc1ffa486be2a31b5e5e0ae5 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 9 May 2017 18:52:32 +
Subject: [PATCH 2/2] services: Add geomyidae-service.

* gnu/services/web.scm (): New record type.
(geomyidae-shepherd-service, geomyidae-activation): New procedures.
(geomyidae-service-type, geomyidae-service, %geomyidae-accounts): New variables.
* doc/guix.texi (Web Services): Document it.
---
 doc/guix.texi|  60 +-
 gnu/services/web.scm | 117 ++-
 2 files changed, 174 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 22dc8b3f9..03e66d395 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -26,7 +26,7 @@ Copyright @copyright{} 2016 Ben Woodcroft@*
 Copyright @copyright{} 2016 Chris Marusich@*
 Copyright @copyright{} 2016, 2017 Efraim Flashner@*
 Copyright @copyright{} 2016 John Darrington@*
-Copyright @copyright{} 2016 ng0@*
+Copyright @copyright{} 2016, 2017 ng0@*
 Copyright @copyright{} 2016 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016 Julien Lepiller@*
 Copyright @copyright{} 2016 Alex ter Weele@*
@@ -13485,6 +13485,64 @@ Whether the server should add its configuration to 
response.
 @end table
 @end deftp
 
+@cindex gopherd
+@deffn {Scheme Procedure} geomyidae-service- [#:config 
(geomyidae-configuration)]
+
+Return a service that runs @command{geomyidae}, a simple gopherd server.
+
+The @var{config} argument should be a @code{} object,
+by default its root directory is at @file{/srv/gopher} and it listens on the
+default port for gopher, which is @var{70}.
+
+@end deffn
+
+@deftp {Data Type} geomyidae-configuration
+Data type representing the configuration for @code{geomyidae-service}.
+
+@table @asis
+
+@item @code{package} (default: @var{geomyidae})
+Package object of the geomyidae gopherd.
+
+@item @code{logfile} (default: @var{#f})
+Logfile to use, the default is to use no logfile.
+
+@item @code{loglevel} (default: @var{#f})
+If a logfile is used, this sets the loglevel to be used:
+
+0 -