Re: [ART] Background image for GRUB

2014-11-06 Thread Alex Sassmannshausen
Hello,

Some really wonderful mockups!

Felipe López writes:

> http://sirgazil.bitbucket.org/static/temp/img/guix/2014-11-05-grub-dark-gnu-blue.png

I like the ones with only the GNU logo, but this one is probably my
favourite! As Andreas said: the watermark is very elegant :-)

Alex




Re: 1000

2014-11-09 Thread Alex Sassmannshausen
W00t! I'll drink to Guix tonight :-)

Alex

Andreas Enge writes:

> Hello,
>
> if my count is correct, I just pushed package number 1000:
> $ guix package -A|wc -l
> 1000
>
> The package itself is not so exciting, but the number is something
> to celebrate!
>
> Andreas




Re: Request for testing

2014-11-14 Thread Alex Sassmannshausen
Hi Ludo and all other Guix hackers,

I figure, with your recent call for reports, it's finally time to
summarize my experience of the system image.

It's been a long-ish journey to get it to work — but a lot of that is
non-guix related :-)

The system seems to run nicely on my gluglug x60 (though it overheats
when building locally — again, a hardware limitation rather than guix).

A couple of notes made whilst using it so far (in no particular order of
importance):
- when writing the system configuration, the password field seems to
  expect the hashed value of the password.  This makes good sense, but
  it might be worth pointing out in the manual somewhere?
  (perhaps in 'User Accounts' -> 'user-account' 'password'?)
- it also took me a while to generate the hashed password (in the end I
  created the password with 'passwd', and then copied from shadow -> the
  system configuration file). This is probably not related to Guix.
- after enabling the x-server, the default shortcut to shell points to
  the wrong location (and it seems like the window manager does not
  respect the user's $PATH?).
- I have some issues with https security certificates not being used by
  curl/wget/git etc. This is not just in the guix system, but also in
  guix on Debian — solution may be simple, but I haven't found it yet
  (this caused some frustration when trying to guix pull :-) )
- adding users in the system configuration, and then removing them from
  the definition does not remove the users from the system. I have no
  idea whether this is intended or not — just something that struck me.

All in all it's very cool to actually be running GNU / Guix as a full
distro, and I'm amazed that most things "just work"!

Sorry for the lack of patches — I hope the feedback is helpful anyway.

Looking forward to 0.8,

Alex

Ludovic Courtès writes:

> Hello,
>
> GNU Guix 0.8 (alpha) is tentatively scheduled for release on Nov. 18th
> (soon!).  Further testing of the OS installation image would be welcome.
> A bootable USB image for x86_64 can be found at:
>
>   http://www.fdn.fr/~lcourtes/software/guix/gnu-usb-install-20141114.x86_64.xz
>   
> http://www.fdn.fr/~lcourtes/software/guix/gnu-usb-install-20141114.x86_64.xz.asc
>
> SHA1:
>
>   4c255fd9a2bb98b072722e879200eeb6f6096aab  gnu-usb-install-20141114.x86_64.xz
>   3a2139a253bc4866bd79f7c8f33cca53bbce4605  
> gnu-usb-install-20141114.x86_64.xz.asc
>
> The installation instructions are at
> 
> and on tty2 once the installation system has booted.
>
> Please report any issues on #guix (Freenode), guix-devel@gnu.org, or
> bug-g...@gnu.org.
>
> Thanks,
> Ludo’.



Re: Request to help test 'guix environment'

2014-11-16 Thread Alex Sassmannshausen
Hello,

David Thompson writes:

> Running something like 'guix environment emacs' and verifying that a new
> shell spawns should be a good enough test.

This did indeed spawn a new shell for me with a different `env'.

I ran `./pre-inst-env scripts/guix environment emacs' after git pull,
autoreconf etc.

HTH,

Alex




Gluglug X60 Guix howto

2014-11-23 Thread Alex Sassmannshausen
Hello,

I received a request for instructions on how to get Guix running as
standalone on the Gluglug X60 — my work is ongoing (I haven't
reconfigured the Grub BIOS, nor have I got wireless working yet), but
a first draft may help other owners.

You can read my experience at http://glean.eu/guix-gluglug.html.

HTH,

Alex



Re: VM image creation

2015-02-02 Thread Alex Sassmannshausen
Hello,

Andreas Enge writes:

> Could not access KVM kernel module: Permission denied
> failed to initialize KVM: Permission denied
>
> As suggested by the fine manual, I added the user running guix as well
> as the builders guix-builder1 etc. to the group kvm.
> $ ll /dev/kvm
> crw-rw---T+ 1 root kvm 10, 232 Feb  2 13:34 /dev/kvm
> so that /dev/kvm can be read and written by them.
> Nothing changed, and running the command as root fails with the same
> message.

Indeed, I can confirm this issue and also currently do not have a work
around.

Cheers,
Alex



[PATCH] Add tree.

2015-03-04 Thread Alex Sassmannshausen
Hello,

You should find attached a patch which adds "tree" to guix — thus
meaning I finally contribute my first package! \o/

I wasn't sure whether I should put it in another file (it's a tiny
package).

Let me know if you find anything amiss.

Cheers,
Alex



signature.asc
Description: PGP signature
>From 133b1a62311a8a66d25375ab2e797fb5f682bc4d Mon Sep 17 00:00:00 2001
From: Alex Sassmannshausen 
Date: Wed, 4 Mar 2015 20:34:44 +0100
Subject: [PATCH] gnu: Add tree.

* gnu/packages/tree.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am |  1 +
 gnu/packages/tree.scm | 58 +++
 2 files changed, 59 insertions(+)
 create mode 100644 gnu/packages/tree.scm

diff --git a/gnu-system.am b/gnu-system.am
index ec3feb0..c3b3a29 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -278,6 +278,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/tmux.scm\
   gnu/packages/tor.scm\
   gnu/packages/tre.scm\
+  gnu/packages/tree.scm\
   gnu/packages/unrtf.scm			\
   gnu/packages/upnp.scm\
   gnu/packages/uucp.scm\
diff --git a/gnu/packages/tree.scm b/gnu/packages/tree.scm
new file mode 100644
index 000..77c4f00
--- /dev/null
+++ b/gnu/packages/tree.scm
@@ -0,0 +1,58 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Alex Sassmannshausen 
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages tree)
+  #:use-module ((guix licenses) #:select (gpl2+))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build gnu-build-system)
+  #:use-module (guix build-system gnu)
+  #:use-module (srfi srfi-1))
+
+;;; Commentary:
+;;;
+;;; A simple utility called tree.
+;;;
+;;; Code:
+
+(define-public tree
+  (package
+(name "tree")
+(version "1.7.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://mama.indstate.edu/users/ice/tree/src/tree-";
+version ".tgz"))
+  (sha256
+   (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"
+(build-system gnu-build-system)
+(arguments
+ '(#:phases (alist-delete 'configure %standard-phases)
+   #:tests? #f
+   #:make-flags (let ((out (assoc-ref %outputs "out")))
+  (list (string-append "prefix=" out)
+(synopsis "Recursively list the contents of a directory")
+(description
+ "Tree is a recursive directory listing command that produces a depth
+indented listing of files, which is colorized ala dircolors if the LS_COLORS
+environment variable is set and output is to tty.")
+(home-page "http://mama.indstate.edu/users/ice/tree/";)
+(license gpl2+)))
+
+;;; tree.scm ends here
-- 
2.1.4



Re: [PATCH] Add tree.

2015-03-04 Thread Alex Sassmannshausen
Hello,

Ludovic Courtès writes:

>> I wasn't sure whether I should put it in another file (it's a tiny
>> package).
>
> Similar tools (like ‘dfc’) ended up into admin.scm, though it’s not
> perfectly right.  I think we need a module for “this kind of tool,” but
> I’m not sure what to call it.  Ideas?

I see. Hmm, perhaps utilities.scm? though that sounds pretty generic -
it might end up being a "misc bucket". WDYT?

I've attached an updated patch, with tree added to admin.scm for now
(and made some minor stylistic changes, added comment).

Thanks for the quick review!

Alex

>From 4d7c8f1c1f92ad798cb156dfb8ad141a169abe4d Mon Sep 17 00:00:00 2001
From: Alex Sassmannshausen 
Date: Wed, 4 Mar 2015 20:34:44 +0100
Subject: [PATCH] gnu: Add tree.

* gnu/packages/admin.scm (tree): New variable.
---
 gnu/packages/admin.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 72d8022..c85204f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver 
 ;;; Copyright © 2014 Eric Bavier 
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer 
+;;; Copyright © 2015 Alex Sassmannshausen 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -968,6 +969,31 @@ characters can be replaced as well, as can UTF-8 characters.")
 recover lost partitions and/or make non-booting disks bootable again.")
 (license license:gpl2+)))
 
+(define-public tree
+  (package
+(name "tree")
+(version "1.7.0")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://mama.indstate.edu/users/ice/tree/src/tree-";
+version ".tgz"))
+  (sha256
+   (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"
+(build-system gnu-build-system)
+(arguments
+ '(#:phases (alist-delete 'configure %standard-phases)
+   #:tests? #f  ; no check target
+   #:make-flags (let ((out (assoc-ref %outputs "out")))
+   (list (string-append "prefix=" out)
+(synopsis "Recursively list the contents of a directory")
+(description
+ "Tree is a recursive directory listing command that produces a depth
+indented listing of files, which is colorized ala dircolors if the LS_COLORS
+environment variable is set and output is to tty.")
+(home-page "http://mama.indstate.edu/users/ice/tree/";)
+(license license:gpl2+)))
+
 (define-public direvent
   (package
 (name "direvent")
-- 
2.1.4



Re: [PATCH] Add tree.

2015-03-08 Thread Alex Sassmannshausen
Hello,

Ludovic Courtès writes:

> Similar tools (like ‘dfc’) ended up into admin.scm, though it’s not
> perfectly right.  I think we need a module for “this kind of tool,” but
> I’m not sure what to call it.  Ideas?

I've thought about this a little more, and have come up with the
following ideas (more specific):

- cli-extras
- cli-extra-utils
- cli-comfort
- cli-utils
- cli-candy (dfc, htop, tree, all kind-a more visual versions of the
  standard tools)

That's all I got :-)

Thank any of these might an improvement?

Alex



Re: FOSDEM 2016 was awesome! Let's do FOSDEM 2017

2016-08-29 Thread Alex Sassmannshausen
Hi,

Wow, how time flies!  Last year was definitely amazing, and I'd love to
be involved to make that happen again.

I'd be very happy to help out organizing stuff on the day if we still
need volunteers for that.  Alternatively, I could also help with the
proposal for the event.  I'm afraid I've been a little slow on my
response this year.  What's the status with that?  Do you need someone
to make a first draft or are we past that already?

Thanks for taking the initiative here!

Alex

Pjotr Prins writes:

> FOSDEM 2017 call for proposals has started:
>
>   https://fosdem.org/2017/news/2016-07-20-call-for-participation/
>
> We need help with writing the proposal (we can build on last years
> this time), we need help on selecting talks and we need help creating
> the schedule. Finally, if we get a slot, we need help to organise the
> day.
>
> Who wants to be part of this exciting day? 
>
> Pj.
>
> On Tue, Feb 02, 2016 at 11:35:45AM -0800, Christopher Allan Webber wrote:
>> Alex Sassmannshausen writes:
>> 
>> > Hello,
>> >
>> > Ludovic Courtès writes:
>> >
>> >> Hi there!
>> >>
>> >> I just came back from FOSDEM where we had an awesome Guile devroom with
>> >> nice people and great talks!
>> >
>> > I really want to echo Ludo's sentiments.  I had a great time in our dev
>> > room and it was really nice to put faces to the names I see popping up
>> > in IRC and on the mailing list. I really hope we'll be able to do this
>> > again next year!
>> 
>> An extra echo from me.
>> 
>> >> The room of 80 seats was full pretty much all the time, and I think we
>> >> were all excited to see so many people stop by the devroom.  Many shared
>> >> the impression that we were at an important moment of Guile’s history.
>> >> The transition with the Lua track that followed was also insightful and
>> >> a pleasant experience.
>> 
>> I was optimistic about this being a big moment in Guile's history, but
>> after this FOSDEM, my enthusiasm and excitement has doubled, maybe
>> tripled!  I can't wait to see what's happening in the year ahead!
>> 
>> >> I would like to send a big Thank You to Pjotr Prins who took the
>> >> initiative and organized all this masterfully, from applying for the
>> >> devroom, to contacting potential speakers (dozens and dozens of
>> >> messages!), to getting up early on Saturday to make sure everything
>> >> would be fine in the devroom…  Pjotr, you did an awesome job!
>> >>
>> >> Thanks to Paul van der Walt who also woke up early to help out with
>> >> video in the devroom, and obviously, thanks to all the speakers and
>> >> attendees!
>> >
>> > +1 for sure.  Thank you very much for the commitment in time and energy!
>> >
>> > Alex
>> 
>> Yes, thank you! :)




Re: FOSDEM 2016 was awesome! Let's do FOSDEM 2017

2016-08-30 Thread Alex Sassmannshausen

Sounds great — glad to hear it :-)

Alex

Pjotr Prins writes:

> Hi Alex,
>
> The proposal has been submitted to FOSDEM and you are on it :)
>
> Pj.
>
> On Mon, Aug 29, 2016 at 09:37:35AM +0200, Alex Sassmannshausen wrote:
>> Hi,
>> 
>> Wow, how time flies!  Last year was definitely amazing, and I'd love to
>> be involved to make that happen again.
>> 
>> I'd be very happy to help out organizing stuff on the day if we still
>> need volunteers for that.  Alternatively, I could also help with the
>> proposal for the event.  I'm afraid I've been a little slow on my
>> response this year.  What's the status with that?  Do you need someone
>> to make a first draft or are we past that already?
>> 
>> Thanks for taking the initiative here!
>> 
>> Alex
>> 
>> Pjotr Prins writes:
>> 
>> > FOSDEM 2017 call for proposals has started:
>> >
>> >   https://fosdem.org/2017/news/2016-07-20-call-for-participation/
>> >
>> > We need help with writing the proposal (we can build on last years
>> > this time), we need help on selecting talks and we need help creating
>> > the schedule. Finally, if we get a slot, we need help to organise the
>> > day.
>> >
>> > Who wants to be part of this exciting day? 
>> >
>> > Pj.
>> >
>> > On Tue, Feb 02, 2016 at 11:35:45AM -0800, Christopher Allan Webber wrote:
>> >> Alex Sassmannshausen writes:
>> >> 
>> >> > Hello,
>> >> >
>> >> > Ludovic Courtès writes:
>> >> >
>> >> >> Hi there!
>> >> >>
>> >> >> I just came back from FOSDEM where we had an awesome Guile devroom with
>> >> >> nice people and great talks!
>> >> >
>> >> > I really want to echo Ludo's sentiments.  I had a great time in our dev
>> >> > room and it was really nice to put faces to the names I see popping up
>> >> > in IRC and on the mailing list. I really hope we'll be able to do this
>> >> > again next year!
>> >> 
>> >> An extra echo from me.
>> >> 
>> >> >> The room of 80 seats was full pretty much all the time, and I think we
>> >> >> were all excited to see so many people stop by the devroom.  Many 
>> >> >> shared
>> >> >> the impression that we were at an important moment of Guile’s history.
>> >> >> The transition with the Lua track that followed was also insightful and
>> >> >> a pleasant experience.
>> >> 
>> >> I was optimistic about this being a big moment in Guile's history, but
>> >> after this FOSDEM, my enthusiasm and excitement has doubled, maybe
>> >> tripled!  I can't wait to see what's happening in the year ahead!
>> >> 
>> >> >> I would like to send a big Thank You to Pjotr Prins who took the
>> >> >> initiative and organized all this masterfully, from applying for the
>> >> >> devroom, to contacting potential speakers (dozens and dozens of
>> >> >> messages!), to getting up early on Saturday to make sure everything
>> >> >> would be fine in the devroom…  Pjotr, you did an awesome job!
>> >> >>
>> >> >> Thanks to Paul van der Walt who also woke up early to help out with
>> >> >> video in the devroom, and obviously, thanks to all the speakers and
>> >> >> attendees!
>> >> >
>> >> > +1 for sure.  Thank you very much for the commitment in time and energy!
>> >> >
>> >> > Alex
>> >> 
>> >> Yes, thank you! :)
>> 




Re: Guix world tour

2016-08-30 Thread Alex Sassmannshausen

Ludovic Courtès writes:

> Hello!
>
> I had the pleasant surprise to be invited to give a talk about Guix at
> the Scheme Workshop in September in Japan:
>
>   http://scheme2016.snow-fort.org/
>
> While I was at it, I submitted another talk to the Commercial(!) Users
> of Functional Programming conference, which was accepted:
>
>   http://cufp.org/2016/
>
> Both conferences are co-located with the International Conference on
> Functional Programming (ICFP):
>
>   http://conf.researchr.org/home/icfp-2016
>
> This is both exciting and intimidating!

Wow, that sounds amazing! Congratulations :-)

Alex



Re: 02/02: gnu: gsl: Update to 2.2.

2016-09-02 Thread Alex Sassmannshausen

Mark H Weaver writes:

> efr...@flashner.co.il (Efraim Flashner) writes:
>
>> efraim pushed a commit to branch master
>> in repository guix.
>>
>> commit b16b16e6c2ba9780ebdf936c325e06ebcc0a950b
>> Author: Efraim Flashner 
>> Date:   Tue Aug 30 00:33:17 2016 +0300
>>
>> gnu: gsl: Update to 2.2.
>> 
>> * gnu/packages/maths.scm (gsl): Update to 2.2.
>
> FYI, I reverted this, because its test suite consistently fails on i686
> with errors that appear to indicate a genuine problem.  Gsl is an
> important package that many other packages depend on, e.g. inkscape,
> which is needed to convert our grub background, and therefore we have
> been unable to build i686 systems since this update.

Fwiw, GSL have released a new version 2.2.1, which aimed to revert
changes to cholesky_decomp for backward compatibility (if I understand
correctly).  I tested the updated version locally on i686, unfortunately
the problem for i686 persists.

Alex



Re: [PATCH 1/2] doc: "Various Services" -> "Miscellaneous Services"

2016-09-13 Thread Alex Sassmannshausen
John Darrington writes:

> On Tue, Sep 13, 2016 at 01:28:01PM +0200, Ludovic Court??s wrote:
>  John Darrington  skribis:
>  
>  > * doc/guix.texi (Services): "Various" -> "Miscellaneous"
>  
>  How does the meaning of these two words differ?  (I???m not a native
>  speaker, so I???m curious.)
>
> It is a subtle nuance.
>
> What I understand from "Various Services" is "A group of services which I 
> chose arbitrarily".
> Wheras "Miscellaneous Services" means to me: "Services which don't fit into 
> any of the
> hitherto mentioned categories".

+1



Re: FOSDEM 2016 was awesome! Let's do FOSDEM 2017 (we are IN!)

2016-10-05 Thread Alex Sassmannshausen
W00t! Fantastic, well done :-)

Alex

Pjotr Prins writes:

> Good news! 
>
> We have just been informed that GNU Guile/Guix has a half day devroom
> for FOSDEM 2017 again.  
>
>   https://fosdem.org/2017/
>
> Book your resp. flights/trains/boats!
>
> Pj.
>
> On Tue, Aug 30, 2016 at 10:28:56AM +0200, Alex Sassmannshausen wrote:
>> 
>> Sounds great ??? glad to hear it :-)
>> 
>> Alex
>> 
>> Pjotr Prins writes:
>> 
>> > Hi Alex,
>> >
>> > The proposal has been submitted to FOSDEM and you are on it :)
>> >
>> > Pj.
>> >
>> > On Mon, Aug 29, 2016 at 09:37:35AM +0200, Alex Sassmannshausen wrote:
>> >> Hi,
>> >> 
>> >> Wow, how time flies!  Last year was definitely amazing, and I'd love to
>> >> be involved to make that happen again.
>> >> 
>> >> I'd be very happy to help out organizing stuff on the day if we still
>> >> need volunteers for that.  Alternatively, I could also help with the
>> >> proposal for the event.  I'm afraid I've been a little slow on my
>> >> response this year.  What's the status with that?  Do you need someone
>> >> to make a first draft or are we past that already?
>> >> 
>> >> Thanks for taking the initiative here!
>> >> 
>> >> Alex
>> >> 
>> >> Pjotr Prins writes:
>> >> 
>> >> > FOSDEM 2017 call for proposals has started:
>> >> >
>> >> >   https://fosdem.org/2017/news/2016-07-20-call-for-participation/
>> >> >
>> >> > We need help with writing the proposal (we can build on last years
>> >> > this time), we need help on selecting talks and we need help creating
>> >> > the schedule. Finally, if we get a slot, we need help to organise the
>> >> > day.
>> >> >
>> >> > Who wants to be part of this exciting day? 
>> >> >
>> >> > Pj.
>> >> >
>> >> > On Tue, Feb 02, 2016 at 11:35:45AM -0800, Christopher Allan Webber 
>> >> > wrote:
>> >> >> Alex Sassmannshausen writes:
>> >> >> 
>> >> >> > Hello,
>> >> >> >
>> >> >> > Ludovic Court??s writes:
>> >> >> >
>> >> >> >> Hi there!
>> >> >> >>
>> >> >> >> I just came back from FOSDEM where we had an awesome Guile devroom 
>> >> >> >> with
>> >> >> >> nice people and great talks!
>> >> >> >
>> >> >> > I really want to echo Ludo's sentiments.  I had a great time in our 
>> >> >> > dev
>> >> >> > room and it was really nice to put faces to the names I see popping 
>> >> >> > up
>> >> >> > in IRC and on the mailing list. I really hope we'll be able to do 
>> >> >> > this
>> >> >> > again next year!
>> >> >> 
>> >> >> An extra echo from me.
>> >> >> 
>> >> >> >> The room of 80 seats was full pretty much all the time, and I think 
>> >> >> >> we
>> >> >> >> were all excited to see so many people stop by the devroom.  Many 
>> >> >> >> shared
>> >> >> >> the impression that we were at an important moment of Guile???s 
>> >> >> >> history.
>> >> >> >> The transition with the Lua track that followed was also insightful 
>> >> >> >> and
>> >> >> >> a pleasant experience.
>> >> >> 
>> >> >> I was optimistic about this being a big moment in Guile's history, but
>> >> >> after this FOSDEM, my enthusiasm and excitement has doubled, maybe
>> >> >> tripled!  I can't wait to see what's happening in the year ahead!
>> >> >> 
>> >> >> >> I would like to send a big Thank You to Pjotr Prins who took the
>> >> >> >> initiative and organized all this masterfully, from applying for the
>> >> >> >> devroom, to contacting potential speakers (dozens and dozens of
>> >> >> >> messages!), to getting up early on Saturday to make sure everything
>> >> >> >> would be fine in the devroom???  Pjotr, you did an awesome job!
>> >> >> >>
>> >> >> >> Thanks to Paul van der Walt who also woke up early to help out with
>> >> >> >> video in the devroom, and obviously, thanks to all the speakers and
>> >> >> >> attendees!
>> >> >> >
>> >> >> > +1 for sure.  Thank you very much for the commitment in time and 
>> >> >> > energy!
>> >> >> >
>> >> >> > Alex
>> >> >> 
>> >> >> Yes, thank you! :)
>> >> 
>> 




[PATCH] gnu: perl-test-mockobject: Update to 1.20150527.

2016-10-21 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-test-mockobject): Update to 1.20150527.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index ba6f71a..5305a0d 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -5822,7 +5822,7 @@ It constructs the right value for the build system to do 
the right thing.")
 (define-public perl-test-mockobject
   (package
 (name "perl-test-mockobject")
-(version "1.20140408")
+(version "1.20150527")
 (source
  (origin
(method url-fetch)
@@ -5830,7 +5830,7 @@ It constructs the right value for the build system to do 
the right thing.")
"Test-MockObject-" version ".tar.gz"))
(sha256
 (base32
- "1anpf9l2wdriwaxw6pf76ghxkh4zm25n3wnhfqy1b439xqnhvzg5"
+ "160xvhbpwqjaff4fgckvldknldzcbn1z3jvyzybs7cqlj1x3bwdd"
 (build-system perl-build-system)
 (native-inputs
  `(("perl-test-exception" ,perl-test-exception)
-- 
2.10.1




Re: d3js chord diagrams

2016-10-22 Thread Alex Sassmannshausen

Ricardo Wurmus writes:

> Hi Guix,
>
> I’ve built something:
>
> http://elephly.net/graph.html
>
> ~~ Ricardo

I'm not sure about the harder questions further below, but this looks
awesome! And I love that this kind of thing is possible with Guix :-D

Alex




[PATCH] gnu: Add perl-getopt-long.

2016-11-02 Thread Alex Sassmannshausen
A single patch adding perl-getopt-long.

Alex

Alex Sassmannshausen (1):
  gnu: Add perl-getopt-long.

 gnu/packages/perl.scm | 29 +
 1 file changed, 29 insertions(+)

-- 
2.10.1




[PATCH] gnu: Add perl-getopt-long.

2016-11-02 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-getopt-long): New variable.
---
 gnu/packages/perl.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 6b12b34..c5e8fe3 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -2685,6 +2685,35 @@ functionality; it returns a list of file names that 
match the given pattern.
 For instance, it supports the @code{**/*.pm} form.")
 (license (package-license perl
 
+(define-public perl-getopt-long
+  (package
+(name "perl-getopt-long")
+(version "v2.49.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://cpan/authors/id/J/JV/JV/"
+   "Getopt-Long-" (substring version 1) ".tar.gz"))
+   (sha256
+(base32
+ "0bw8gbhj8s5gmkqvs3m7pk9arqhgqssrby4yimh29ah9alix9ylq"
+(build-system perl-build-system)
+(home-page
+ "http://search.cpan.org/dist/Getopt-Long";)
+(synopsis
+ "Module to handle parsing command line options")
+(description "The @code{Getopt::Long} module implements an extended getopt
+function called @code{GetOptions()}.  It parses the command line from
+@code{ARGV}, recognizing and removing specified options and their possible
+values.
+
+This function adheres to the POSIX syntax for command line options, with GNU
+extensions.  In general, this means that options have long names instead of
+single letters, and are introduced with a double dash \"--\".  Support for
+bundling of command line options, as was the case with the more traditional
+single-letter approach, is provided but not enabled by default.")
+(license (package-license perl
+
 (define-public perl-getopt-long-descriptive
   (package
 (name "perl-getopt-long-descriptive")
-- 
2.10.1




[PATCH] Generate multiple paginated packages pages.

2016-11-11 Thread Alex Sassmannshausen
* website/www.scm (%web-pages): Add prototype code for generating our
  packages pages.
* website/www/packages.scm (all-packages): Re-factor to
  `packages-by-grouping`.
  (paginated-packages-page): New procedure.
  (packages-page): Tweak for use by `paginated-packages-page` as well as
  standalone.
  (issues-page): Use `packages-by-grouping`.
---
 website/www.scm  | 12 +++-
 website/www/packages.scm | 74 +---
 2 files changed, 69 insertions(+), 17 deletions(-)

diff --git a/website/www.scm b/website/www.scm
index 459629f..489260e 100644
--- a/website/www.scm
+++ b/website/www.scm
@@ -293,7 +293,17 @@ Distribution.")
 ("download/index.html" ,download-page)
 ("help/index.html" ,help-page)
 ("security/index.html" ,security-page)
-;; ("packages/index.html" ,packages-page) ; Need Guix
+;; Paged packages pages! Need Guix
+;; Not 100% if this how the website is supposed to work.  Would
+;; appreciate comment on this.
+;; ,@(map (lambda (grouping)
+;;  `(,(string-append "packages/" grouping ".html")
+;;(paginated-packages-page ,grouping)))
+;;(cons "0-9" (map string '(#\a #\b #\c #\d #\e #\f #\g #\h
+;;  #\i #\j #\k #\l #\m #\n #\o #\p
+;;  #\q #\r #\s #\t #\u #\v #\w #\x
+;;  #\y #\z
+;; ("packages/index.html" ,packages-page)
 ;; ("packages/issues.html" ,issues-page)
 ))
 
diff --git a/website/www/packages.scm b/website/www/packages.scm
index ccafa28..9d39bc6 100644
--- a/website/www/packages.scm
+++ b/website/www/packages.scm
@@ -438,18 +438,39 @@ PACKAGES."
 ;;; Pages.
 ;;;
 
-(define (all-packages)
-  "Return the list of all package objects, sorted by name."
-  (sort (fold-packages (lambda (package lst)
- (cons (or (package-replacement package)
-   package)
-   lst))
-   '())
-(lambda (p1 p2)
-  (string)
+first string->list package-name)
+   packages))
+(letter (filter (lambda (package)
+  (string=? (string-take (package-name package) 1)
+letter))
+packages))
+
+(define (paginated-packages-page grouping)
+  "Return a packages page that contains only content for the packages
+that match GROUPING (either the string '0-9' or a string of one
+letter)."
+  (packages-page (string-upcase grouping) (packages-by-grouping grouping)))
+
+(define* (packages-page #:optional (grouping "All")
+(packages (packages-by-grouping)))
   `(html (@ (lang "en"))
 ,(html-page-header "Packages" #:css "packages.css" #:js "packages.js")
 (body
@@ -458,17 +479,38 @@ PACKAGES."
 
  (div (@ (id "content-box"))
   (article
-   (h1 "Packages")
+   (h1 ,(string-append "Packages [" grouping "]"))
(p "GNU Guix provides "
,(number* (fold-packages (lambda (p n) (+ 1 n)) 0))
" packages transparently "
   (a (@ (href 
"http://hydra.gnu.org/jobset/gnu/master#tabs-status";))
  "available as pre-built binaries")
-  ". This is a complete list of the packages.  Our "
+  ". These pages provide a complete list of the packages.
+  Our "
   (a (@ (href "http://hydra.gnu.org/jobset/gnu/master";))
  "continuous integration system")
   " shows their current build status.")
-   ,(packages->sxml (all-packages))
+;; fixme: Ensure these pages work.
+(p "You can browse packages indexed by their first letter, or 
+you can view "
+   (a (@ (href "/software/guix/packages/all"))
+  "all packages on a single page."))
+(ul
+ ,@(map (lambda (grouping)
+  `(li (@ (id ,(string-append grouping "-link"))
+  (class "package-index-link"))
+   (a (@ (href ,(string-append 
"/software/guix/packages/"
+   grouping ".html")))
+
+  ,(string-upcase grouping
+(cons "0-9"
+  (map string
+   '(#\a #\b #\c #\d #\e #\f #\g #\h
+ #\i #\j #\k #\l #\m #\n #\o #\p
+ #\q #\r #\s #\t #\u #\v #\w #\x
+ #\y #\z)
+
+,(packages->sxml packages)
 
 (p "Updated " ,(date->string (current-date) "~B ~e, ~Y")
  

[PATCH] A patch to generate paginated packages page

2016-11-11 Thread Alex Sassmannshausen
Hello,

Following from repeated discussions on the mailing list about the
packages page, here a rough attempt at fixing the issue.

The patch below adds/modifies procedures so we can generate a packages
page for each "starting character" of package names.

The idea would be that we have a page for all packages starting with
"A", with "B", etc.

There will also still be a page with all packages on it.

The logic is basically there I think — but the CSS will need some
tweaking, and I'm also not 100% sure on testing it.

I wanted to get it out here for comments first of all.

What do you think?

Cheers,

Alex

Alex Sassmannshausen (1):
  Generate multiple paginated packages pages.

 website/www.scm  | 12 +++-
 website/www/packages.scm | 74 +---
 2 files changed, 69 insertions(+), 17 deletions(-)

-- 
2.10.1




Re: Package page

2016-11-12 Thread Alex Sassmannshausen
Hello,

pelzflorian (Florian Pelz) writes:

> On 11/11/2016 06:41 PM, Ludovic Courtès wrote:
>> Hello!
>> 
>> Adam Pribyl  skribis:
>> 
>>> The GuixSD package page
>>>
>>> https://www.gnu.org/software/guix/packages/
>>>
>>> is getting somewhat large to load. It is also bit short sighted to
>>> list all packages on one html page. Any plans what to with this?
>> 
>> It’s a shame indeed and we should definitely add JS code to browse it.
>> There’s already code for that in Guix-Web¹ that could be used as a
>> starting point (the web site’s code is in guix-artwork.git²).
>
> Just my 2¢ as a user who does not yet have the time to contribute: I
> typically browse the Web with JavaScript disabled and don’t think
> JavaScript should be required without a good reason.

I tend to come at this from a similar perspective — though I consider a
nice UI to be a "good reason".  I tend to err on the side of "graceful
degradation", which is why the patch I provided tries to implement a
JS-less version first, upon which we could build JS functionality.

> Currently the packages page loads somewhat slowly in Netsurf and GNU
> Icecat for me (with and without JS) but I can search the packages with
> Ctrl+F. Please at least retain some sort of search functionality for
> non-JS users (server-side search through a form?).

Agreed. I think for now we can retain the one page load for all
packages.

The downside of having server-side search is that we lose the nice
simplicity of having a static web page as we do now.

I think the paginated pages approach I propose in my patch would provide
a compromise: you select the letter by which your package starts and
then you can do C-f.  Alternatively, take the risk and load the full
page…

Alex



[PATCH] gnu: Add perl-modern-perl.

2016-11-12 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-modern-perl): New variable.
---
 gnu/packages/perl.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 6b3d0a7..edd51be 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -3506,6 +3506,31 @@ just write a method to handle handles, and methods for 
handling strings and
 file names are added for you.")
 (license (package-license perl
 
+(define-public perl-modern-perl
+  (package
+(name "perl-modern-perl")
+(version "1.20150127")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0iv2crfxl3xh6mq36g1gv9fr8iqq3kpbj8afxy5qi60hh7v3xhcl"
+(build-system perl-build-system)
+(native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+(home-page
+ "http://search.cpan.org/dist/Modern-Perl";)
+(synopsis
+ "Enable all of the features of Modern Perl with one import")
+(description "@code{Modern::Perl} provides a simple way to enable
+multiple, by now, standard libraries in a Perl program.")
+(license (package-license perl
+
 (define-public perl-module-build-tiny
   (package
 (name "perl-module-build-tiny")
-- 
2.10.1




[PATCH] Add Modern::Perl

2016-11-12 Thread Alex Sassmannshausen
Simple patch to add Modern::Perl.

Alex

Alex Sassmannshausen (1):
  gnu: Add perl-modern-perl.

 gnu/packages/perl.scm | 25 +
 1 file changed, 25 insertions(+)

-- 
2.10.1




[PATCH] import/cpan: Maybe coerce version to string

2016-11-12 Thread Alex Sassmannshausen
Hello,

Sometimes json-fetch returns a number for version in the CPAN importer, when a
string is expected.

This simple patch performs a match on the value returned by json-fetch, to
coerce the number to string if necessary.

WDYT?

Alex

Alex Sassmannshausen (1):
  import/cpan: Maybe coerce version to string.

 guix/import/cpan.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
2.10.1




[PATCH] import/cpan: Maybe coerce version to string.

2016-11-12 Thread Alex Sassmannshausen
* guix/import/cpan.scm (cpan-module->sexp) : Test if version in
  meta is string or number.  If it is number, coerce to string.
---
 guix/import/cpan.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm
index 5b7c475..d244969 100644
--- a/guix/import/cpan.scm
+++ b/guix/import/cpan.scm
@@ -128,7 +128,9 @@ META."
 (string-append "perl-" (string-downcase name
 
   (define version
-(assoc-ref meta "version"))
+(match (assoc-ref meta "version")
+  ((? number? vrs) (number->string vrs))
+  ((? string? vrs) vrs)))
 
   (define core-module?
 (let ((perl-version (package-version perl))
-- 
2.10.1




[PATCH] Wrap binaries in perl build system.

2016-11-12 Thread Alex Sassmannshausen
Hello,

Perl, like Python and Guile, uses an environmental variable to make libraries
accessible to binaries.  For this purpose, binaries need to be wrapped with an
executable which sets the env variable appropriately.

This patch implements the same functionality that the Python build side code
already has (I pretty much lifted it from there).

This works nicely in my tests (a package I will submit once this has been
merged).

Comments welcome,

Alex

Alex Sassmannshausen (1):
  build-system/perl: Add wrap phase.

 guix/build/perl-build-system.scm | 37 -
 1 file changed, 36 insertions(+), 1 deletion(-)

-- 
2.10.1




[PATCH] build-system/perl: Add wrap phase.

2016-11-12 Thread Alex Sassmannshausen
* guix/build/perl-build-system.scm (wrap): New procedure.
  (%standard-phases): Declare new phase, `wrap`, and use `wrap`
  procedure.
---
 guix/build/perl-build-system.scm | 37 -
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm
index 8f480ea..194d76b 100644
--- a/guix/build/perl-build-system.scm
+++ b/guix/build/perl-build-system.scm
@@ -19,7 +19,10 @@
 (define-module (guix build perl-build-system)
   #:use-module ((guix build gnu-build-system) #:prefix gnu:)
   #:use-module (guix build utils)
+  #:use-module (ice-9 ftw)
   #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
+  #:use-module (srfi srfi-26)
   #:export (%standard-phases
 perl-build))
 
@@ -47,6 +50,36 @@
 (format #t "running `perl' with arguments ~s~%" args)
 (zero? (apply system* "perl" args
 
+(define* (wrap #:key inputs outputs #:allow-other-keys)
+  (define (list-of-files dir)
+(map (cut string-append dir "/" <>)
+ (or (scandir dir (lambda (f)
+(let ((s (stat (string-append dir "/" f
+  (eq? 'regular (stat:type s)
+ '(
+
+  (define bindirs
+(append-map (match-lambda
+ ((_ . dir)
+  (list (string-append dir "/bin")
+(string-append dir "/sbin"
+outputs))
+
+  (let* ((out  (assoc-ref outputs "out"))
+ (perl (assoc-ref inputs "perl"))
+ (var `("PERL5LIB" prefix
+,(cons (string-append out "/lib/perl5/site_perl/"
+  ;; Like in python’s, we assume version
+  ;; at end of `perl' string.
+  (last (string-split perl #\-)))
+   (search-path-as-string->list
+(or (getenv "PERL5LIB") ""))
+(for-each (lambda (dir)
+(let ((files (list-of-files dir)))
+  (for-each (cut wrap-program <> var)
+files)))
+  bindirs)))
+
 (define-syntax-rule (define-w/gnu-fallback* (name args ...) body ...)
   (define* (name args ... #:rest rest)
 (if (access? "Build" X_OK)
@@ -70,9 +103,11 @@
 
 (define %standard-phases
   ;; Everything is as with the GNU Build System except for the `configure',
-  ;; `build', `check', and `install' phases.
+  ;; `build', `check', and `install' phases.  We also add a `wrap' phase to
+  ;; wrap perl binaries with a complete PERL5LIB path.
   (modify-phases gnu:%standard-phases
 (replace 'install install)
+(add-after 'install 'wrap wrap)
 (replace 'check check)
 (replace 'build build)
 (replace 'configure configure)))
-- 
2.10.1




Re: Time to merge core-updates!

2016-11-12 Thread alex sassmannshausen
Champagne all around! :D

On 13 Nov 2016 12:45 a.m., "Ludovic Courtès"  wrote:

> Hi!
>
> Leo Famulari  skribis:
>
> > I think it's ready to merge, too.
>
> OK, merged!  :-)
>
> A recap of the news:
>
>   • glibc upgraded to 2.24; make sure to reread
>  html#Locale-Data-Compatibility-Considerations>
> and possibly add ‘glibc-2.23’ to ‘locale-libcs’.
>
>   • binutils 2.27, gcc 4.9.4.
>
>   • GUILE_LOAD_COMPILED_PATH for Guile 2.0 looks at
> “lib/guile/2.0/site-ccache” directories instead of
> “lib/guile/2.0/ccache” (the latter is for system .go files and
> should not have been there.)
>
>   • ‘wrap-program’ produces only one wrapper script, even when called
> multiple times.
>
>   • ‘gnu-build-system’ has a new ‘patch-dot-desktop-files’ that makes
> sure .desktop file use absolute executable file names.
>
>   • ‘strip’ phase now processes files in a deterministic order.
>
> … and probably many other things we all forgot about.
>
> Enjoy!
>
> Ludo’.
>
>


[PATCH 0/3] Add a generalized `wrap-language-programs`

2016-11-16 Thread Alex Sassmannshausen
Hello,

Following on from discussion earlier in the week, please find attached 3
patches that implement a generalized `wrap-language-programs` procedure that
can be used to add a `wrap` phase to build-systems.

The first patch adds the procedure, and the following 2 patches add `wrap`
phase implementations using that procedure.

I have tested Perl’s wrap phase, and that seems to work fine.  I was
unfortunately not able to test Python’s wrap phase, as I did not know of an
appropriate test candidate (I tried to build offlineimap, but this failed
because Guile@2.013 failed at least one of it’s tests).

Feedback welcome!

Ludovic: you mentioned pushing this patch series to a separate branch so we
can test the builds on the build farm.  What branch would you propose?

Best wishes,

Alex

Alex Sassmannshausen (3):
  build/utils: Add `wrap-language-programs`.
  build/perl-build-system: Add `wrap` phase.
  build/python-build-system: Refactor `wrap`.

 guix/build/perl-build-system.scm   | 15 +--
 guix/build/python-build-system.scm | 36 
 guix/build/utils.scm   | 36 
 3 files changed, 57 insertions(+), 30 deletions(-)

-- 
2.10.2




[PATCH 2/3] build/perl-build-system: Add `wrap` phase.

2016-11-16 Thread Alex Sassmannshausen
* guix/build/perl-build-system.scm (wrap): New procedure.
  (%standard-phases): Add `wrap` phase.
---
 guix/build/perl-build-system.scm | 15 +--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm
index 8f480ea..861d75c 100644
--- a/guix/build/perl-build-system.scm
+++ b/guix/build/perl-build-system.scm
@@ -19,7 +19,7 @@
 (define-module (guix build perl-build-system)
   #:use-module ((guix build gnu-build-system) #:prefix gnu:)
   #:use-module (guix build utils)
-  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-1)
   #:export (%standard-phases
 perl-build))
 
@@ -47,6 +47,15 @@
 (format #t "running `perl' with arguments ~s~%" args)
 (zero? (apply system* "perl" args
 
+;; Use `wrap-language-program' to return an executable wrapper for perl.
+(define wrap
+  (wrap-language-programs
+   (lambda (inputs outputs)
+ (string-append (assoc-ref outputs "out") "/lib/perl5/site_perl/"
+;; As in python, assume version at end of `perl' string.
+(last (string-split (assoc-ref inputs "perl") #\-
+   "PERL5LIB"))
+
 (define-syntax-rule (define-w/gnu-fallback* (name args ...) body ...)
   (define* (name args ... #:rest rest)
 (if (access? "Build" X_OK)
@@ -70,9 +79,11 @@
 
 (define %standard-phases
   ;; Everything is as with the GNU Build System except for the `configure',
-  ;; `build', `check', and `install' phases.
+  ;; `build', `check', and `install' phases.  We also add a `wrap' phase to
+  ;; wrap perl binaries with a complete PERL5LIB path.
   (modify-phases gnu:%standard-phases
 (replace 'install install)
+(add-after 'install 'wrap wrap)
 (replace 'check check)
 (replace 'build build)
 (replace 'configure configure)))
-- 
2.10.2




[PATCH 3/3] build/python-build-system: Refactor `wrap`.

2016-11-16 Thread Alex Sassmannshausen
* guix/build/python-build-system.scm (wrap): Use
  `wrap-language-program`.
---
 guix/build/python-build-system.scm | 36 
 1 file changed, 8 insertions(+), 28 deletions(-)

diff --git a/guix/build/python-build-system.scm 
b/guix/build/python-build-system.scm
index 9109fb4..8e3ea41 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -80,34 +80,14 @@
add-path))
 (call-setuppy "install" params)))
 
-(define* (wrap #:key inputs outputs #:allow-other-keys)
-  (define (list-of-files dir)
-(map (cut string-append dir "/" <>)
- (or (scandir dir (lambda (f)
-(let ((s (stat (string-append dir "/" f
-  (eq? 'regular (stat:type s)
- '(
-
-  (define bindirs
-(append-map (match-lambda
- ((_ . dir)
-  (list (string-append dir "/bin")
-(string-append dir "/sbin"
-outputs))
-
-  (let* ((out  (assoc-ref outputs "out"))
- (python (assoc-ref inputs "python"))
- (var `("PYTHONPATH" prefix
-,(cons (string-append out "/lib/python"
-  (get-python-version python)
-  "/site-packages")
-   (search-path-as-string->list
-(or (getenv "PYTHONPATH") ""))
-(for-each (lambda (dir)
-(let ((files (list-of-files dir)))
-  (for-each (cut wrap-program <> var)
-files)))
-  bindirs)))
+;; Use `wrap-language-program' to return an executable wrapper for python.
+(define wrap
+  (wrap-language-programs
+   (lambda (inputs outputs)
+ (string-append (assoc-ref outputs "out") "/lib/python"
+(get-python-version (assoc-ref inputs "python"))
+"/site-packages"))
+   "PYTHONPATH"))
 
 (define* (rename-pth-file #:key name inputs outputs #:allow-other-keys)
   "Rename easy-install.pth to NAME.pth to avoid conflicts between packages
-- 
2.10.2




[PATCH 1/3] build/utils: Add `wrap-language-programs`.

2016-11-16 Thread Alex Sassmannshausen
* guix/build/utils.scm (wrap-language-programs): New procedure.
---
 guix/build/utils.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index bc6f114..b14f96b 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -75,6 +75,7 @@
 patch-/usr/bin/file
 fold-port-matches
 remove-store-references
+wrap-language-programs
 wrap-program
 
 locale-category->string))
@@ -918,6 +919,41 @@ known as `nuke-refs' in Nixpkgs."
  (put-u8 out (char->integer char))
  result))
 
+(define (wrap-language-programs path-proc env-var)
+  "Return a procedure, which, invoked as part of a `wrap' phase, is capable of
+wrapping executables inside an environment in which ENV-VAR is correctly set.
+
+The string ENV-VAR is the name of the environmental variable we are setting
+for the executable we are wrapping.  PATH-PROC is a procedure of 2 arguments,
+`inputs' and `outputs', returning the value that we should send ENV-VAR to.
+
+This is a specialized version of `wrap-program' below, intended specifically
+to grant all executables that are part of our output access to all libraries
+that were declared in our inputs.  This is of use for languages such as Perl,
+Python and Guile."
+  (define (list-of-files dir)
+(map (cut string-append dir "/" <>)
+ (or (scandir dir (lambda (f)
+(let ((s (stat (string-append dir "/" f
+  (eq? 'regular (stat:type s)
+ '(
+  (lambda* (#:key inputs outputs #:allow-other-keys)
+(define bindirs
+  (append-map (match-lambda
+((_ . dir)
+ (list (string-append dir "/bin")
+   (string-append dir "/sbin"
+  outputs))
+(define vars
+  `(,env-var prefix ,(cons (path-proc inputs outputs)
+   (search-path-as-string->list
+(or (getenv env-var) "")
+(for-each (lambda (dir)
+(let ((files (list-of-files dir)))
+  (for-each (cut wrap-program <> vars)
+files)))
+  bindirs)))
+
 (define* (wrap-program prog #:rest vars)
   "Make a wrapper for PROG.  VARS should look like this:
 
-- 
2.10.2




Re: [PATCH 0/3] Add a generalized `wrap-language-programs`

2016-11-17 Thread Alex Sassmannshausen

Hello

> You may try e.g. scons, pip, sphinx, or youtube-dl.

Hartmut was kind enough to suggest the above python applications to test
this `wrap-language-programs` patch set against, however I have been
stuck in "Rebuild the world"-hell for the last day and a half setting up
testcases.

I end up feeling a bit desesperated and incompetent, as I'm sure it's
not supposed to be this hard to create an appropriate test scenario here
— so I was wondering whether anyone has any pointers in avoiding
constantly rebuilding the world?

For details:
- I run on i686
- using GuixSD
- I rebased my patch set on master 2 days ago and tried to test from
there
- this resulted in a bunch of "401 - Not Found" for a number of the
binary substitute dependencies.
- and from then I have been rebuilding those dependencies

I guess part of the problem is that the substitute servers won't
necessarily have substitutes for a particular program from master yet?

I guess an additional problem is that some of the packages fail tests on
my setup intermittently (they fail using
`guix package -i youtube-dl --fallback`, for instance, but would then
succeed if I build using `guix build $dependency`).

But would people have recommendations to ensure some level of substitute
stability or some such?

Best wishes,

Alex

Hartmut Goebel writes:

> Am 16.11.2016 um 14:27 schrieb Alex Sassmannshausen:
>> as I did not know of an
>> appropriate test candidate (I tried to build offlineimap, but this failed
>> because Guile@2.013 failed at least one of it’s tests).
>
> You may try e.g. scons, pip, sphinx, or youtube-dl.




Re: [PATCH 0/3] Add a generalized `wrap-language-programs`

2016-11-17 Thread Alex Sassmannshausen
Fwiw, I have now succeeded at building offlineimap, and as a result, it
seems youtube-dl also was able to be built easily (presumably because
they share a great number of dependencies).

In both cases, the programs work fine with the generalized patch.

Alex

Alex Sassmannshausen writes:

> Hello
>
>> You may try e.g. scons, pip, sphinx, or youtube-dl.
>
> Hartmut was kind enough to suggest the above python applications to test
> this `wrap-language-programs` patch set against, however I have been
> stuck in "Rebuild the world"-hell for the last day and a half setting up
> testcases.
>
> I end up feeling a bit desesperated and incompetent, as I'm sure it's
> not supposed to be this hard to create an appropriate test scenario here
> — so I was wondering whether anyone has any pointers in avoiding
> constantly rebuilding the world?
>
> For details:
> - I run on i686
> - using GuixSD
> - I rebased my patch set on master 2 days ago and tried to test from
> there
> - this resulted in a bunch of "401 - Not Found" for a number of the
> binary substitute dependencies.
> - and from then I have been rebuilding those dependencies
>
> I guess part of the problem is that the substitute servers won't
> necessarily have substitutes for a particular program from master yet?
>
> I guess an additional problem is that some of the packages fail tests on
> my setup intermittently (they fail using
> `guix package -i youtube-dl --fallback`, for instance, but would then
> succeed if I build using `guix build $dependency`).
>
> But would people have recommendations to ensure some level of substitute
> stability or some such?
>
> Best wishes,
>
> Alex
>
> Hartmut Goebel writes:
>
>> Am 16.11.2016 um 14:27 schrieb Alex Sassmannshausen:
>>> as I did not know of an
>>> appropriate test candidate (I tried to build offlineimap, but this failed
>>> because Guile@2.013 failed at least one of it’s tests).
>>
>> You may try e.g. scons, pip, sphinx, or youtube-dl.




Re: [PATCH 0/3] Add a generalized `wrap-language-programs`

2016-11-18 Thread Alex Sassmannshausen
Hi Leo,

Leo Famulari writes:

> On Thu, Nov 17, 2016 at 04:58:45PM +0100, Alex Sassmannshausen wrote:
>> 
>> Hello
>> 
>> > You may try e.g. scons, pip, sphinx, or youtube-dl.
>> 
>> Hartmut was kind enough to suggest the above python applications to test
>> this `wrap-language-programs` patch set against, however I have been
>> stuck in "Rebuild the world"-hell for the last day and a half setting up
>> testcases.
>> 
>> I end up feeling a bit desesperated and incompetent, as I'm sure it's
>> not supposed to be this hard to create an appropriate test scenario here
>> — so I was wondering whether anyone has any pointers in avoiding
>> constantly rebuilding the world?
>
> Most of the Guix distribution depends on Perl, and most of the rest
> depends on Python ;)
>
> Try `guix refresh -l perl`.
>
> So, changing the build systems for these languages will require you to
> rebuild almost everything.

Thank you for pointing this out.  As I took a walk yesterday evening it
slowly started to dawn on me that something like this might be going on!
It's super useful to have this confirmed as the cause though: it gave me
that satisfying feeling of pieces of a larger puzzle falling into place
in my head :-)

> Changes like this will need to go on the core-updates branch, where we
> make changes to the core of the system.

Makes sense, I will push it to core-updates tonight.

> You could create a separate perl-test-build-system and use it for your
> test packages.

I guess this would mean that 'the world' would still depend on the
unchanged build system, thus being substitutable, and only my test
packages needing to be rebuilt with the changed build system.  That
makes a lot of sense.  Cheers!

With a new sense of clarity,

Alex



Re: [PATCH 0/3] Add a generalized `wrap-language-programs`

2016-11-18 Thread Alex Sassmannshausen

Leo Famulari writes:

> On Fri, Nov 18, 2016 at 09:02:10AM +0100, Alex Sassmannshausen wrote:
>> Leo Famulari writes:
>> > Changes like this will need to go on the core-updates branch, where we
>> > make changes to the core of the system.
>> 
>> Makes sense, I will push it to core-updates tonight.
>
> To clarify, I didn't read all the patches yet, and I'm not the best
> person to review them. I was just trying to explain why it might take a
> long time to test this kind of change.

OK, sorry, I misunderstood.  Also in light of Hartmut's latest email, I
will hold off so we can reach a plan of action.

Alex



Re: [PATCH 0/3] Add a generalized `wrap-language-programs`

2016-11-18 Thread Alex Sassmannshausen
Hi Ludo,

Ludovic Courtès writes:

> Hi Alex,
>
> Alex Sassmannshausen  skribis:
>
>>> You may try e.g. scons, pip, sphinx, or youtube-dl.
>>
>> Hartmut was kind enough to suggest the above python applications to test
>> this `wrap-language-programs` patch set against, however I have been
>> stuck in "Rebuild the world"-hell for the last day and a half setting up
>> testcases.
>>
>> I end up feeling a bit desesperated and incompetent, as I'm sure it's
>> not supposed to be this hard to create an appropriate test scenario here
>> — so I was wondering whether anyone has any pointers in avoiding
>> constantly rebuilding the world?
>
> The patch set you posted modifies (guix build utils), which is a module
> every single derivation uses.  That’s why modifying it leads to a full
> rebuild.

That too, makes a whole load of sense.  Thank you for explaining this to
me!

> To test ‘wrap-language-programs’ while avoiding a full rebuild, you
> could for instance add that procedure to (guix build
> python-build-system), in which case you’d have to rebuild “only” Python
> packages (but not Python itself), or you could introduce a new module
> and use that selectively.

Right, that seems absolutely clear now with your explanation above :-)

> I hope this clarifies and helps a bit!

Indeed it does, thank you!

Alex




Re: [herd] Have status display services as a bulleted list.

2016-11-24 Thread Alex Sassmannshausen

Hartmut Goebel writes:

> Am 23.11.2016 um 22:03 schrieb Christopher Allan Webber:
>> Whew!  I can read that finally.  And grep it too!
> +1

Indeed, neat patch :-)



Fwd: Greens/EFA internship

2023-05-12 Thread Alex Sassmannshausen
Hello,

Sorry for cross-posting, and I hope this is an appropriate use of the mailing
lists.

As part of my work I have the exciting opportunity to organise a paid
internship. The details are in the email below.

Please feel free to advertise this far and wide, and on socials. The deadline 
is fairly short
unfortunately.

Best wishes,

Alex


SASSMANNSHAUSEN Alexander-Carlos 
writes:

> The Greens/EFA in the European Parliament are looking for a paid intern to 
> work with the IT Project Manager of the group.
>
> The intern will work in the office of the project manager and data analyst of
> the group. The project manager’s office places a strong emphasis on practical 
> IT
> skills as well as project management. In addition the office is committed to
> using Free Software in its toolchain where possible.
>
> Potential tasks for the intern might be:
>
> *   Free Software community participation in the form of triage, patching, 
> documentation writing or other forms of engagement;
> *   Internal toolchain development, debugging or maintenance, using Guile 
> Scheme, Guix, PHP (Drupal / CiviCRM), bash, postgres, sqlite and similar 
> technologies
> *   VPS server administration, including software deployment, CI, system 
> upgrades, network management, using Hetzner Cloud provided VPSs
> *   Project management activities such as liaising with end-users, organising 
> user testing and QA sessions, working with contractors to resolve issues.
> *   Some data entry work, though where possible these tasks should be 
> automated using APIs
>
> The particular tasks the intern will be performing will depend strongly on 
> the intern’s particular interests.
>
> We welcome applications from anyone excited about Free Software & green 
> values such as inclusion or diversity. We particularly welcome applications 
> from underrepresented people in politics or tech.
>
> ## What we can offer you
>
> The aim of this internship is to provide a space for a person who is excited
> about working in a progressive political environment at the European level to
> further the use of Free Software for the green group. You will have the
> opportunity to:
>
> *   work in a large multilingual organisation
> *   participate in Free Software communities in a self-directed way
> *   flex your tech muscles, or to develop them in a new direction, in a 
> supportive environment
> *   work with a project manager to develop project management skills
> *   develop personal IT practices that minimise service disruption and 
> maximise reproducability of systems
>
> The precise nature of the work you will carry out will be very much tailored 
> to the interests and skill level of the successful applicant.
>
> ## Practical matters
>
> *   The internship will take place in Brussels, in the European parliament 
> buildings
> *   The compensation for the position is 1500 EUR per month
> *   The duration of the internship is 5 months
> *   The application process will be through the standard internship program 
> of the group; this is the first time we are recruiting an intern in this 
> office, so the recruitment process is not adapted to this position
> *   Please follow the instructions detailed at 
> [<https://www.greens-efa.eu/en/get-involved/work-with-us>](<https://www.greens-efa.eu/en/get-involved/work-with-us>)
> *   In the webform used for applications, please select "Central 
> Secretariat" as your first choice for the department in which you would 
> like to work
> *   Do feel free to mention any particular experience you have of working 
> with or as part of Free Software communities
>
> Alex Sassmannshausen
>
>
> www.greens-efa.eu
>
>
>
>
> Alex Sassmannshausen (he/him)
> IT Project Manager
> alexander.sassmannshau...@europarl.europa.eu
> Phone: + 32 228 32860
>
> PHS02C027
> Rue Wiertz 60
> B-1047 Bruxelles


Re: 1.1.0rc1 available for test!

2020-04-10 Thread Alex Sassmannshausen
Hello,

Running the graphical installer from the installation image hosted
through IPFS, I can report the following experience:

The guidance, keyboard configuration & partitioning works well.  In fact
all goes charmingly until the stage where the sysconf is shown.  That
looks correct too.

Hitting continue at that point switches to a terminal wher I briefly see
cow-store being started.

Then the screen flashes back to the beginning of the installer.  Running
through the process again results in the disk drive not being available
for partitioning.

I cannot see any error messages in the brief time I see the terminal and
am not sure how to get an error log.

Happy to run some more commands to get additional information.

Best wishes,

Alex

Ludovic Courtès  writes:

> Hello Guix!
>
> I’ve run “make release” from the new ‘version-1.1.0’ branch and uploaded
> the result:
>
>   https://web.fdn.fr/~lcourtes/software/guix/1.1.0rc1
>
> Alternately (and preferably), you can get it over IPFS:
>
>   guix install ipfs
>   ipfs daemon &
>   ipfs ls QmXpSUnppJgf23LpaKJzRWJbQxwEfybJy9VxF79iTLSXqa
>   ipfs get …
>
> All the files are signed with my key, also used to sign this message.
>
> Please test things as much as you can, be it the binary installation
> tarball on a “foreign” distro or the ISO image.  Once you’ve downloaded,
> just follow the same instructions as before (if you want to use
> ‘guix-install.sh’, you’ll have to adjust it to use the right tarball):
>
>   https://guix.gnu.org/download/
>
> If you encounter an issue, please report it to bug-g...@gnu.org,
> explaining what you did and what you observed.
>
> Notice that there’s no i686-linux installation image and no VM image,
> because of  but i can provide
> those later.
>
> If everything goes well, we can publish the release on Monday, 13th,
> with few or no changes beyond translation updates on the ‘version-1.1.0’
> branch.
>
> Thanks in advance!  :-)
>
> Ludo’.




Re: 1.1.0rc1 available for test!

2020-04-10 Thread Alex Sassmannshausen
I have been able to avoid this error by selecting:
- English
- United Kingdom

As the system language & locale rather than 
- Esperanto

which I had previously selected.

I tried a great number of combinations of configurations, and this seems
to have been the one thing that reliably crashed (when choosing
Esperanto) or fixed (when Choosing English/UK).

After this the installation seems to be going swimmingly.

Hth,

Alex


Alex Sassmannshausen  writes:

> Hello,
>
> Running the graphical installer from the installation image hosted
> through IPFS, I can report the following experience:
>
> The guidance, keyboard configuration & partitioning works well.  In fact
> all goes charmingly until the stage where the sysconf is shown.  That
> looks correct too.
>
> Hitting continue at that point switches to a terminal wher I briefly see
> cow-store being started.
>
> Then the screen flashes back to the beginning of the installer.  Running
> through the process again results in the disk drive not being available
> for partitioning.
>
> I cannot see any error messages in the brief time I see the terminal and
> am not sure how to get an error log.
>
> Happy to run some more commands to get additional information.
>
> Best wishes,
>
> Alex
>
> Ludovic Courtès  writes:
>
>> Hello Guix!
>>
>> I’ve run “make release” from the new ‘version-1.1.0’ branch and uploaded
>> the result:
>>
>>   https://web.fdn.fr/~lcourtes/software/guix/1.1.0rc1
>>
>> Alternately (and preferably), you can get it over IPFS:
>>
>>   guix install ipfs
>>   ipfs daemon &
>>   ipfs ls QmXpSUnppJgf23LpaKJzRWJbQxwEfybJy9VxF79iTLSXqa
>>   ipfs get …
>>
>> All the files are signed with my key, also used to sign this message.
>>
>> Please test things as much as you can, be it the binary installation
>> tarball on a “foreign” distro or the ISO image.  Once you’ve downloaded,
>> just follow the same instructions as before (if you want to use
>> ‘guix-install.sh’, you’ll have to adjust it to use the right tarball):
>>
>>   https://guix.gnu.org/download/
>>
>> If you encounter an issue, please report it to bug-g...@gnu.org,
>> explaining what you did and what you observed.
>>
>> Notice that there’s no i686-linux installation image and no VM image,
>> because of <https://issues.guix.gnu.org/issue/40527> but i can provide
>> those later.
>>
>> If everything goes well, we can publish the release on Monday, 13th,
>> with few or no changes beyond translation updates on the ‘version-1.1.0’
>> branch.
>>
>> Thanks in advance!  :-)
>>
>> Ludo’.




Re: 1.1.0rc1 available for test!

2020-04-10 Thread Alex Sassmannshausen
Hi Mathieu,

Thanks for getting back to me!

Mathieu Othacehe  writes:

> Hello Alex,
>
> Thanks for your feedback!
>
>> Then the screen flashes back to the beginning of the installer.  Running
>> through the process again results in the disk drive not being available
>> for partitioning.
>
> Are you running the installer on a VM or on real hardware?

Real hardware.

> Could you try the following steps:
>
> * Run the installation until it fails and restart.
> * Press Ctrl-Alt-2.
> * Type "sendkey ctrl-alt-f3".
> * Then press Ctrl-Alt-1 and Enter.
> * Check if there is a /tmp/last-installer-error file and, if yes, report
> its content.

This I could not do: Ctrl-Alt-2 doesn't do anything, but I imagine you
meant Ctrl-Alt-f2?  That takes me to the manual.

However, once the installer reloads, I can hit Ctrl-Alt-f3 and Enter to
get to a prompt.

There is no /tmp/last-installer-error file :-(

I did check /var/log/debug.  There I can trace the configuration
process.

After "running form # ("Configuration file") with 0
clients" I get:
…Service cow-store has been started.
…Service cow-store has been stopped.
…Service guix-daemon has been stopped.
…Service guix-daemon has been started.
…Umounted /remove successfully.
…unmounting "/mnt"
…closing LUKS entry "cryptroot"
…running step 'locale'

The last presumably is the installer restarting.

Hth,

Alex

>
> Thanks,
>
> Mathieu




Re: 1.1.0rc1 available for test!

2020-04-10 Thread Alex Sassmannshausen
Great, thank you for that summary, I think that is right.

I've noticed a further (small?) error:

On installation completion an error flashes up.  When I checked
/var/log/debug, the message is:
…localhost shepherd[1]: system-error("rmdir" "~A" ("Directory not empty") (39))

Best wishes,

Alex


Mathieu Othacehe  writes:

>> As the system language & locale rather than 
>> - Esperanto
>
> I can reproduce it in QEMU. So there are two issues here:
>
> * Esperanto language/layout crashes the installer.
>
> * When the installer crashes, `umount-cow-store' is not called and the next
> installation is bound to fail because some mounted partitions are still 
> around.
>
> Maybe we need to call this procedure at installer start, in case the
> previous installation has crashed.
>
> Thanks for reporting!
>
> Mathieu




Re: 1.1.0rc1 available for test!

2020-04-10 Thread Alex Sassmannshausen
Hello!

I have spotted a further issue — though I'm not sure whether this thread
is the right place to report it:

One is able to select ratpoison as the only option in the desktop
environment options in the installer.

After successfully completing system setup from the ISO using that
selection, rebooting the system launches GDM OK.  Signing in to GDM
however causes the system to loop back to GDM, instead of starting a
ratpoison session.  It is not clear to me what causes the issue, but I'm
happy to help debug if someone can provide me with pointers on doing so.

Intuitively, I would hazard a guess that the initialisation of ratpoison
fails and the session is aborted, at which point GDM is restarted.

Best wishes,

Alex

Ludovic Courtès  writes:

> Hello Guix!
>
> I’ve run “make release” from the new ‘version-1.1.0’ branch and uploaded
> the result:
>
>   https://web.fdn.fr/~lcourtes/software/guix/1.1.0rc1
>
> Alternately (and preferably), you can get it over IPFS:
>
>   guix install ipfs
>   ipfs daemon &
>   ipfs ls QmXpSUnppJgf23LpaKJzRWJbQxwEfybJy9VxF79iTLSXqa
>   ipfs get …
>
> All the files are signed with my key, also used to sign this message.
>
> Please test things as much as you can, be it the binary installation
> tarball on a “foreign” distro or the ISO image.  Once you’ve downloaded,
> just follow the same instructions as before (if you want to use
> ‘guix-install.sh’, you’ll have to adjust it to use the right tarball):
>
>   https://guix.gnu.org/download/
>
> If you encounter an issue, please report it to bug-g...@gnu.org,
> explaining what you did and what you observed.
>
> Notice that there’s no i686-linux installation image and no VM image,
> because of  but i can provide
> those later.
>
> If everything goes well, we can publish the release on Monday, 13th,
> with few or no changes beyond translation updates on the ‘version-1.1.0’
> branch.
>
> Thanks in advance!  :-)
>
> Ludo’.



Re: 1.1.0rc1 available for test!

2020-04-10 Thread Alex Sassmannshausen
Hello,

A minor useability issue:

At the end of installation, a prompt suggests installation is complete
and that the system is ready for reboot.

However, it suggests one can remove the installation medium before
hitting return to restart.

For me at least, removing the pendrive prior to reboot caused the system
to hang.  Only a hard power off got me out of that hang.  The system
seems to work fine aftarwards.

Perhaps the message could be improved by reversing the order of
restarting and removing boot media?

Best wishes,

Alex

Ludovic Courtès  writes:

> Hello Guix!
>
> I’ve run “make release” from the new ‘version-1.1.0’ branch and uploaded
> the result:
>
>   https://web.fdn.fr/~lcourtes/software/guix/1.1.0rc1
>
> Alternately (and preferably), you can get it over IPFS:
>
>   guix install ipfs
>   ipfs daemon &
>   ipfs ls QmXpSUnppJgf23LpaKJzRWJbQxwEfybJy9VxF79iTLSXqa
>   ipfs get …
>
> All the files are signed with my key, also used to sign this message.
>
> Please test things as much as you can, be it the binary installation
> tarball on a “foreign” distro or the ISO image.  Once you’ve downloaded,
> just follow the same instructions as before (if you want to use
> ‘guix-install.sh’, you’ll have to adjust it to use the right tarball):
>
>   https://guix.gnu.org/download/
>
> If you encounter an issue, please report it to bug-g...@gnu.org,
> explaining what you did and what you observed.
>
> Notice that there’s no i686-linux installation image and no VM image,
> because of  but i can provide
> those later.
>
> If everything goes well, we can publish the release on Monday, 13th,
> with few or no changes beyond translation updates on the ‘version-1.1.0’
> branch.
>
> Thanks in advance!  :-)
>
> Ludo’.



Re: 1.1.0rc1 available for test!

2020-04-10 Thread Alex Sassmannshausen
Heya

Ludovic Courtès  writes:

> Hi!
>
> Mathieu Othacehe  skribis:
>
>>> * Esperanto language/layout crashes the installer.
>>
>> Fixed by 1a24df44347629cd67821d672edad7636404f293 on master.
>>
>> Ludo, you may want to cherry-pick it to 1.1.0 branch :)
>
> Done!
>
> Thanks for testing & fixing, comrades!
>
> Ludo’.

This is amazing — really cool to see how quickly this was resolved!  Now
to learning Esperanto by using it on my spare computer… ;-)

Alex




Re: 1.1.0rc1 available for test!

2020-04-11 Thread alex sassmannshausen
Heya

On Sat, 11 Apr 2020, 00:38 Ludovic Courtès,  wrote:

> Hi Alex,
>
> Alex Sassmannshausen  skribis:
>
> > After successfully completing system setup from the ISO using that
> > selection, rebooting the system launches GDM OK.  Signing in to GDM
> > however causes the system to loop back to GDM, instead of starting a
> > ratpoison session.  It is not clear to me what causes the issue, but I'm
> > happy to help debug if someone can provide me with pointers on doing so.
> >
> > Intuitively, I would hazard a guess that the initialisation of ratpoison
> > fails and the session is aborted, at which point GDM is restarted.
>
> Isn’t it just that GDM defaults to GNOME (not ratpoison), but since
> GNOME isn’t available, it loops back?
>
> What if you click on the small gear and select ratpoison?
>

You are 100% correct! Thanks for that pointer - I hadn't considered it
would still default to gnome! :)

Cheers,

Alex



> Thanks for your feedback!
>
> Ludo’.
>


Re: generate commit messages for package updates

2020-06-20 Thread Alex Sassmannshausen
Hi Ricardo,

Just used your committer tool for the first time and it's bloody lovely.

Thank you for sharing it :-)

Alex

Ricardo Wurmus  writes:

> Hi Guix,
>
> I’m currently working on upgrading all Bioconductor packages to the 3.11
> release.  The hardest work here is to write commit messages for the 200+
> packages that have changed.  Even with the “update” yasnippet and magit
> this takes a very long time.
>
> I wrote a little tool to reduce the amount of time needed to create
> commits.  It is not fully automatic yet as it requires my input to stage
> hunks, but the commit messages it produces take all input changes into
> account, which is something the “update” yasnippet does not do.
>
> After “guix refresh -t bioconductor -u”, manually verifying and
> implementing the suggested changes, and building all packages, I run
> “git add -p” to stage hunks that belong to the same package definition.
> Then I run the attached tool to make a commit:
>
> ./committer.scm | git commit -F -
>
> The tool works by looking at the unified diff in the staging area and
> generating two S-expressions corresponding to the original package
> definition and the changed package definition, respectively.  It then
> looks at the inputs, propagated-inputs, and native-inputs fields and
> generates a GNU ChangeLog-style commit message describing the changes.
>
> Here’s an example diff:
>
> --8<---cut here---start->8---
> modified   gnu/packages/bioconductor.scm
> @@ -2701,29 +2701,32 @@ gene and isoform level using RNA-seq data")
>  (define-public r-karyoploter
>(package
>  (name "r-karyoploter")
> -(version "1.12.4")
> +(version "1.14.0")
>  (source (origin
>(method url-fetch)
>(uri (bioconductor-uri "karyoploteR" version))
>(sha256
> (base32
> -"03jmfgmw35hrgn3pc5lq6pblzhfx9fp4l6dx50rp303lr7kjxp9v"
> +"0h0gk4xd95k5phy6qcsv7j931d7gk3p24i2fg4mz5dsk110lpifs"
>  (build-system r-build-system)
>  (propagated-inputs
> - `(("r-regioner" ,r-regioner)
> + `(("r-annotationdbi" ,r-annotationdbi)
> +   ("r-bamsignals" ,r-bamsignals)
> +   ("r-bezier" ,r-bezier)
> +   ("r-biovizbase" ,r-biovizbase)
> +   ("r-digest" ,r-digest)
> +   ("r-genomeinfodb" ,r-genomeinfodb)
> +   ("r-genomicfeatures" ,r-genomicfeatures)
> ("r-genomicranges" ,r-genomicranges)
> ("r-iranges" ,r-iranges)
> -   ("r-rsamtools" ,r-rsamtools)
> ("r-memoise" ,r-memoise)
> +   ("r-regioner" ,r-regioner)
> +   ("r-rsamtools" ,r-rsamtools)
> ("r-rtracklayer" ,r-rtracklayer)
> -   ("r-genomeinfodb" ,r-genomeinfodb)
> ("r-s4vectors" ,r-s4vectors)
> -   ("r-biovizbase" ,r-biovizbase)
> -   ("r-digest" ,r-digest)
> -   ("r-bezier" ,r-bezier)
> -   ("r-bamsignals" ,r-bamsignals)
> -   ("r-annotationdbi" ,r-annotationdbi)
> ("r-variantannotation" ,r-variantannotation)))
> +(native-inputs
> + `(("r-knitr" ,r-knitr)))
>  (home-page "https://bioconductor.org/packages/karyoploteR/";)
>  (synopsis "Plot customizable linear genomes displaying arbitrary data")
>  (description "This package creates karyotype plots of arbitrary genomes 
> and
> --8<---cut here---end--->8---
>
> …and this is the generated commit message:
>
> --8<---cut here---start->8---
> gnu: r-karyoploter: Update to 1.14.0.
>
> * gnu/packages/bioconductor.scm (r-karyoploter): Update to 1.14.0.
> [propagated-inputs]: Add r-genomicfeatures.
> [native-inputs]: Add r-knitr.
> --8<---cut here---end--->8---
>
> Obviously, this can be improved by avoiding the staging area and
> operating on all hunks in all selected files, so that more than one
> commit can be made at a time.  But I thought I’d share this hack anyway,
> crude as it is.




Re: Running service migrations during upgrades

2020-09-21 Thread Alex Sassmannshausen
Hi Marius,

Your work and thoughts on the SQL upgrades are very interesting.

After the last FOSDEM I wrote up some thoughts about service states and
their backups that you may find interesting.

https://lists.nongnu.org/archive/html/guix-devel/2020-02/msg2.html

Unfortunately I have not found the time to work on any of this
since. But feel free to steal freely any content that proves useful!

Best wishes,

Alex

Marius Bakke  writes:

> Hello Guix,
>
> Some services require administrator interaction when they are updated.
> The most prominent examples here are MySQL/MariaDB and PostgresQL.
>
> For the former, running 'mysql_upgrade' in-place is generally sufficient
> and fairly safe.
>
> For the latter, the procedure is more involved, and requires making a
> full backup, as well as access to the old _and_ new PostgreSQL
> packages.
>
> There is a patch to update MariaDB here:
>
>   https://issues.guix.gnu.org/43355
>
> Users of mysql-service-type will need to run 'mysql_upgrade' afterwards.
>
> I have been considering adding an AUTO-UPGRADE? parameter of
> mysql-service-type that runs 'mysql_upgrade' as part of the activation
> script.
>
> Another approach is adding a 'herd upgrade' Shepherd action along with a
> news entry describing what to do.  Of course it is possible to do both,
> having 'auto-upgrade?' _and_ a Shepherd action for manual upgrades.
>
> Thoughts?
>
> While that works for MariaDB, I'm not sure what to do about Postgres.
> For those unfamiliar, the procedure for upgrading from PostgreSQL 10
> (current default) to 11 (available in Guix) is roughly:
>
>   sudo cp -a /var/lib/postgresql/data /var/lib/postgresql/data10
>   sudo -u postgres $(guix build postgresql)/bin/pg_upgrade \
> --old-bindir=$(guix build postgresql@10)/bin \
> --new-bindir=$(guix build postgresql)/bin \
> --old-datadir=/var/lib/postgresql/data10 \
> --new-datadir=/var/lib/postgresql/data
>
> In order to automate it, we need to somehow preserve the "previous"
> version of PostgreSQL so that we can reach it when the major version
> changes.  Or add an 'upgrade-from' parameter to
> postgresql-service-type.
>
> How do other distros deal with this?
>
> On a related note, a 'herd backup' action might be a prerequisite for
> doing such potentially dangerous operations...
>
> I will try to add a 'mysql_upgrade' pass to 'mysql-service-type' in time
> for the MariaDB upgrade, but tips regarding backups, potential pitfalls,
> and especially Postgres welcome.
>
> PS: I'm mostly busy for some time still, but can be reached on #guix or
> by private email if you want my feedback on something.  :-)



signature.asc
Description: PGP signature


Re: Call for 1.2 installer testing.

2020-10-13 Thread Alex Sassmannshausen
Hello,

Here a positive installation experience:

I did my usual bare metal installation of the image linked below on a
ThinkPenguin laptop that has always worked pretty well with Guix.

Ran through the graphical installation, going through configuration
options that have caused problems in the past (Esperanto locale, based
in Brussels, with Neo2 keyboard layout, fully encrypted disk).

The installation proceeded like a charm. Perhaps partly to do with me
now being used to the installer, and having hardware that "just works"
with libre software, but this was super user friendly. And actually also
super fast!

Congratulations and a massive thanks to everyone who's put time and
energy into this!

I can honestly say, with the current state, I would absolutely try a
guix system deployment in the first instance on any laptop I might
consider a GNU\Linux install, and only falling back to Debian if there
are hardware issues.

Very impressed.

Best wishes,

Alex

Mathieu Othacehe  writes:

> Hello,
>
> The 1.2 release is on its way. So here's the traditional call for
> installer testing. This time, the CI is building latest installer
> images, which should ease testing.
>
> I propose that we first concentrate our efforts on this image:
> https://ci.guix.gnu.org/download/654 which corresponds to commit
> 29a2eb3.
>
> Testing different partitioning schemes on different hardware is really
> important to spot issues that our virtualized automated installer tests
> would be missing.
>
> Thanks for your help,
>
> Mathieu



signature.asc
Description: PGP signature


New backward incompatible version of Guile Config

2021-02-17 Thread Alex Sassmannshausen
Hello,

I'm in the process of releasing guile-config 0.5, which unfortunately is
backward incompatible in some ways.

As a result I want to give developers who are using it a chance to
upgrade gradually.

To this end, in the attached patch, I add a new variable for 0.5. My
intention is to have 0.4.2 and 0.5 coexist for a while and then to
switch fully to 0.5 in due course.


Is this an acceptable way of doing a gradual transition to a backwards
incompatible version of the library?

Best wishes,

Alex

From fadba5c1c27d96b8e49dcf987eb3c09a2bbb0776 Mon Sep 17 00:00:00 2001
From: Alex Sassmannshausen 
Date: Wed, 17 Feb 2021 16:48:39 +0100
Subject: [PATCH] gnu: Add guile-config-0.5.

* gnu/packages/guile-xyz.scm (guile-config-0.5): New variable.
---
 gnu/packages/guile-xyz.scm | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 984c2b1109..b62dbe20d5 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1582,6 +1582,21 @@ above command-line parameters.")
 (define-public guile3.0-config
   (deprecated-package "guile3.0-config" guile-config))
 
+(define-public guile-config-0.5
+  (package
+(inherit guile-config)
+(name "guile-config-0.5")
+(version "0.5.0")
+(source
+ (origin
+   (method git-fetch)
+   (uri (git-reference
+ (url "https://gitlab.com/a-sassmannshausen/guile-config";)
+ (commit version)))
+   (file-name (git-file-name name version))
+   (sha256 (base32
+"1xrl8bdcvvvbsrms0s3pp3d698541fv5b5kyy1z2kwli7akvdiph"))
+
 (define-public guile-hall
   (package
 (name "guile-hall")
-- 
2.28.0



signature.asc
Description: PGP signature


Re: New backward incompatible version of Guile Config

2021-02-18 Thread Alex Sassmannshausen
Hi Ludo,

Hope you're good :-)

Ludovic Courtès  writes:

> Hi Alex!
>
> Alex Sassmannshausen  skribis:
>
>> To this end, in the attached patch, I add a new variable for 0.5. My
>> intention is to have 0.4.2 and 0.5 coexist for a while and then to
>> switch fully to 0.5 in due course.
>>
>>
>> Is this an acceptable way of doing a gradual transition to a backwards
>> incompatible version of the library?
>
> Definitely!  We’ve done that in the past for Guile-JSON, among others.
>
> Should we commit it on your behalf?

Yes indeed, please go ahead! Cheers :)

Alex

>
> Thanks,
> Ludo’.



signature.asc
Description: PGP signature


Re: Web interface pushed

2018-07-30 Thread Alex Sassmannshausen
Wow, that looks beautiful! Congratulations to all involved, and
especially Tatiana :D

Alex


Clément Lassieur writes:

> Hi,
>
> amirou...@hypermove.net  writes:
>
>> Hi
>>
>> How can I test?
>
> On https://cuirass.lassieur.org:8081/ for now, and on
> https://berlin.guixsd.org/ when Ricardo guix pulls and guix reconfigures
> it :-)
>
> Clément




Re: FOSDEM 2019 (ACTION: please register or mail)

2018-08-24 Thread alex sassmannshausen
I'm in.

On Fri, 24 Aug 2018, 11:23 Pjotr Prins,  wrote:

> Who wants to come to a separate 2 day GNU Guix event?
>
> That is the Thursday Jan 31st and/or Friday Feb 1st right before
> FOSDEM. I.e., 4 days of hacker nirvana.
>
> FOSDEM is really great. Look at last year's schedule for Saturday
>
>   https://archive.fosdem.org/2018/schedule/day/saturday/
>
> Last year we had a 1 day event with about 25 people before FOSDEM.
> See
>
>   https://libreplanet.org/wiki/Group:Guix/FOSDEM2018
>
> If you intend to come and/or want to speak please add your name and
> proposed title to the new page at
>
>   https://libreplanet.org/wiki/Group:Guix/FOSDEM2018
>
> Alternatively, reply here or mail me privately so we can keep a tally.
>
> Please do so because we need to find a venue again on a first come
> first go basis if we run out of seats.
>
> Pj.
>
> On Tue, Aug 21, 2018 at 04:33:53PM +0300, Manolis Ragkousis wrote:
> > Hello everyone,
> >
> > It's that time of the year again we need to start organizing about
> > FOSDEM. We have a deadline for the 20th of September[1] to apply for a
> > devroom. We also need to start looking for a place for this year's
> > fringe event!
>


My compliments to the chef…

2018-09-19 Thread Alex Sassmannshausen
Heya,

I just wanted to, as an end user, say that the new colourful & more
silent output of Guix is amazing.

It looks so much less stressful! :D

Well done to all involved for getting this in!

Cheers,

Alex



Re: Regards from Outreachy applicant

2018-10-08 Thread alex sassmannshausen
On Sun, 7 Oct 2018, 21:50 Laura Lazzati,  wrote:

> Hi everyone,
>
> My name is Laura and I am applying for the outreachy program.
>
> I have already introduced myself in the IRC channel, but I am also
> doing so here.
>
> I'm an Information Systems Engineer from Argentina, who graduated with
> honors. I liked really much your project. I worked in two HPC
> supercomputer centers last year, but unluckily I had a bad experience,
> so that's why I am applying to outreachy. I even took two Latin
> American courses, one of them even abroad.
> In spite of everything, I don't deserve to give up and I do not want to.
>
> Thanks for being a supporting community.
>
> Regards!
>
> Laura
>

Welcome to the community and good luck with the project!

Always a joy to see new people :)

Alex


Re: Promoting the GNU Kind Communication Guidelines?

2018-10-29 Thread Alex Sassmannshausen
Hello,

I strongly support the CC and a specific CoC. Just to put my cards on
the table.

HiPhish writes:

> I have had two packages merged, which I guess that makes me technically a
> contributor, so here is my takes on the issue.
>
> In my opinion Codes of Conduct (or CoCs in short) are one of the worst things
> that have happened in recent years to Free and Open Source projects (hold that
> though, I will address it soon enough), and the Contributor Covenant (CC in
> short) is the worst offender. I will explain shortly why this is, but please
> allow me to elaborate first.
>
> There is no problem of harassment in FLOSS, there is a problem of socially
> awkward nerds in FLOSS.

I think you a have burden of proof here, given that our culture at large
has serious issues with harassment.  Why would you think FLOSS community
is somehow different from the wider community?

> Harassment presupposes malice, i.e. that the offending person is
> intentionally being abusive.

You can harass someone whilst believing your acting positively.  E.g. an
ex-partner that "just wants to show how much they love the person that
spurned them".  And ends up stalking them.

> If you have never said anything that made you want to vanish into the
> ground the moment it came out of your mouth you are not human. Some
> people will slip up more often than others, and let's face it: the
> people who are more likely to slip up are also more often the ones who
> are good at programming. Why is it this way? I don't know, I'm not a
> psychologist or anthropologist, I just need to know that this is the
> way things are.
>
> Now here is the important part: for an offensive act to be committed it takes
> two sides, the offender and the offended. Part of social competence is knowing
> not to slip up, but part of it is also knowing to just let it slide when
> someone else slips up.

You're conflating harassment and offense here.  It is one thing to be
offended by individuals using the wrong cutlery for the entrée; it is
another entirely for someone to, e.g. use crass racist caricatures.

> Again, I'm not talking just about online discourse, but social
> interaction in general. When someone says something stupid just ignore
> that person, and if it keeps happening try to correct them in a
> friendly manner. This is how we grow as humans.
>
> This leads me into why the CC is a harmful CoC. The CC presupposes malice by
> default, more than half of its content is focused on punitive measures, not on
> helping each other. In contrast, the GNU Kind Communications Guidelines (GKCG
> in short) explicitly promotes a cooperative two-sided perspective:
>
>> Please assume other participants are posting in good faith, even if you
>> disagree with what they say. When people present code or text as their own
>> work, please accept it as their work. Please do not criticize people for
>> wrongs that you only speculate they may have done; stick to what they
>> actually say and actually do.
>>
>> Please do not take a harsh tone towards other participants, and especially
>> don't make personal attacks against them. Go out of your way to show that
> you
>> are criticizing a statement, not a person.
>>
>> Please recognize that criticism of your statements is not a personal attack
>> on you. If you feel that someone has attacked you, or offended your personal
>> dignity, please don't “hit back” with another personal attack. That tends to
>> start a vicious circle of escalating verbal aggression. A private response,
>> politely stating your feelings as feelings, and asking for peace, may calm
>> things down. Write it, set it aside for hours or a day, revise it to remove
>> the anger, and only then send it.
>
> There is nothing like this in the CC, but there is this:
>
>> Instances of abusive, harassing, or otherwise unacceptable behavior may be
>> reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
>> complaints will be reviewed and investigated and will result in a response
>> that is deemed necessary and appropriate to the circumstances. The project
>> team is obligated to maintain confidentiality with regard to the reporter of
>> an incident. Further details of specific enforcement policies may be posted
>> separately.
>>
>> Project maintainers who do not follow or enforce the Code of Conduct in good
>> faith may face temporary or permanent repercussions as determined by other
>> members of the project’s leadership.
>
> The CC is claiming to foster "an open and welcoming environment" while at the
> same time holding a gun to every maintainer's head. The accused is not even
> allowed to know what the accusation is about (confidentiality clause), so how
> are they supposed to know what they did was wrong? There is no clause that
> allows the accused to defend their position, only punishment is defined. This
> applies even to the maintainer, so if they maintainer wants to protect an
> unjustly accused person, the maintainer will be on the chopping 

Re: Promoting the GNU Kind Communication Guidelines?

2018-10-29 Thread Alex Sassmannshausen
Hi Thorsten,

Thorsten Wilms writes:

> On 29/10/2018 09.23, Björn Höfling wrote:
>> Example: Sage Sharp left the kernel development:
>>
>> https://sage.thesharps.us/2015/10/05/closing-a-door/
>>
>> How good would have been the USB 3.0 driver now, or the
>> community documentation, when he would have continued his work with
>> passion in a respectful community?
>
> Sage may feel you mis-gendered them, as they prefer they/them. Please
> be respectful ;)

Thank you for letting us know; I certainly would aim want to respect
their preference.

> Sage advocates the CoC and called an opponent a "rape apologist",
> based on not just a mean spirited interpretation, but rather factually
> wrong. I think this qualifies as slander.
>
> https://twitter.com/_sagesharp_/status/1042769399596437504
> using as reference:
> http://geekfeminism.wikia.com/wiki/Rape_apology_on_LCA_mailing_list

I'm sorry, I'm not clear on where the factual incorrectness was in the
things you linked to above.  I did not follow the original debate in
detail so am going on the links you provide.

> This is a prime example of what may make one suspicious of CoCs and
> the Covenant in particular, when people who want them do things like
> that. It looks like war, with the usual effects on truth and fairness.

I'm not seeing this from what you linked to.

Best wishes,

Alex



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-29 Thread Alex Sassmannshausen


Thorsten Wilms writes:

> On 28/10/2018 13.33, Gábor Boskovits wrote:
>> 1. There is general consensus that having both CoC and GKCG is pointless.
>
> ACK
>
>> 2. CoC is not welcome by all, mainly because they feel that it
>> discourages contributions.
>
> That's a somewhat limited and tame take on it ;)
> You may count me as having contributed (little as it was) despite of
> the CC, definitively not because of it.

I for one am very glad you decided to contribute!

> The association with the primary author makes some people think of the
> ... fighting stance of her, the anti-meritocracy thing and her use of
> 2nd-hand "quotes" to get people into trouble (trying to keep it short
> here, thus far from exact).

I think if you make these assertions you might want to bring context.
As it stands it reads a little like "poisoning the well": you seem to
imply the CC is bad because allegedly the author has done bad things in
the past.

> While one may say that the CC can and should be seen on its own, this
> background does turn it into ... unwelcoming language to some.
>
> I take it for some it reads like an invitation to those with little to
> nothing better to do, to report perceived or even made-up misbehavior.

And that assumption by those people would be, to the best of my
knowledge of the actual facts, incorrect.

> It has run-on sentences and ridiculous lists. Compare, and I can't
> even bring myself to quote from the start of the sentence in the far
> distance:
>
> "... regardless of age, body size, disability, ethnicity, gender
> identity and expression, level of experience, education,
> socio-economic status, nationality, personal appearance, race,
> religion, or sexual identity and orientation."
>
> With Debian's:
>
> "No matter how you identify yourself or how others perceive you: we
> welcome you. We welcome contributions from everyone as long as they
> interact constructively with our community."
>
>
> How does one manage to separate gender identity and expression from
> sexual identity and orientation? Maybe one must take gender studies
> ...

Just to clarify, gender identity and expression refers to who you (feel
like you) are.  Sexual identity & orientation is about who you are
attracted to.

> and biology? Disability is listed, not (level of) ability. Body size
> couldn't be be subsumed by (personal (what other kind could it be?))
> appearance?  Trying so hard to be political correct, but than using
> the loaded term "race".
>
>
> This one is too "funny":
> "The project team is obligated to maintain confidentiality with regard
> to the reporter of an incident."

This is not uncommon in the context of harassment cases.

> So if Jim reports that Jane threatened him to foobar his baz, then the
> project team has to contact Jane, but must keep it secret that Jim
> reported the issue? While being fair to Jane? Maybe such threats are
> illegal in the countries of both, maybe it's actually one country and
> police and the judicature might get involved?
>
> If the reporter is a 3rd party, sure, but even then an accused person
> may express anger towards the potential victim, via assuming that the
> potential victim reported personally.
>
> Now there may be cases where protecting a reporter is important and
> just, but this "protecting any accuser, always" stance seems
> problematic.

This reads like hyperbole.  If somenoe makes a complaint about me, I
will be contacted by the maintainers.  They will discuss the nature of
the allegation with me, and hopefully I will be able to say "Shit, I had
no idea what I did had this impact on someone else in the community.
Thanks for bringing this to me.  Any idea how I can avoid this in
future?".

I don't see where the problem is there?

>> 3. GKCG seems to be inadequate in the opinion of the maintainers, as:
>> a. it does not define acceptable behaviour, and
>> b. it does not define processes.
>>
>> My conclusion is that neither document really cuts the bill.
>>
>> I proposed to try to roll our own, essentially based on GKCG,
>> but have the acceptable behaviour and the processes defined.
>>
>> Do you think this can/should be done?
>> Do you think that this could result in a better situation overall?
>
> Yes and yes, though I'm not sure how much of a GKCG-alike it should
> become, as I think it's important to have something short that people
> can read and agree with (or not).

Alex



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-29 Thread Alex Sassmannshausen
Hello,

Gábor Boskovits writes:

> I have a feeling that I might confuse some things, as this thread is
> getting rather long, so let me summarize what I have on my mind so
> far:
>
> 1. There is general consensus that having both CoC and GKCG is pointless.
> 2. CoC is not welcome by all, mainly because they feel that it
> discourages contributions.
> 3. GKCG seems to be inadequate in the opinion of the maintainers, as:
> a. it does not define acceptable behaviour, and
> b. it does not define processes.
>
> My conclusion is that neither document really cuts the bill.
>
> I proposed to try to roll our own, essentially based on GKCG,
> but have the acceptable behaviour and the processes defined.
>
> Do you think this can/should be done?
> Do you think that this could result in a better situation overall?

I appreciate the motivation behind this effort.  Personally I think it
is better to stick with a widely used, and fairly robust policy.  In
addition, rolling our own will be a very long, exhausting process, and
we'll likely end up with a document that still doesn't please everyone.

Just my 2¢.

Alex

>
> Best regards,
> g_bor




Re: Promoting the GNU Kind Communication Guidelines? (-> convivenza)

2018-10-29 Thread Alex Sassmannshausen
Hello,

Nils Gillmann writes:

> I have followed most of the breaking threads, and I will keep
> my contribution to simply stating what a friend wrote:
>
> https://mobile.twitter.com/lynXintl/status/1055146900100390913
>
> In essence this refers to convivenza, which in my opinion
> is a much better suited framework for this than what
> has been brought up so far:
> https://structure.pages.de/convivenza
>
> Interested groups can contract the structure work group
> (https://structure.pages.de/) and work out implementations.
>
> I don't want any follow-ups directed at myself, I don't
> have the time to deal with circular discussions wrt this.
> Take it as a statement of recommendation.

I found this a very interesting text, thanks for sharing.

Personally I will be thinking about it for a while :-)

Alex



Re: Patch submission should not imply agreement to policy (was Re: Promoting the GNU Kind Communication Guidelines?)

2018-10-31 Thread Alex Sassmannshausen
Hi Thorsten,

Thorsten Wilms writes:
> [...]
>
> Likewise, contributing to Guix is apparently meant to imply that one
> makes the pledge as outlined in that CoC.
>
> In both cases, you are meant to not get one without the other. It
> happened that one could not read the EULA in advance and it happened
> that I contributed before reading the CoC carefully. I distrust it's
> origin and I'm not happy about a few details, though they most likely
> will never matter. So I could almost, but not quite make such a
> promise, but I cannot be made to make such a promise. Especially
> retroactively. Even less can I be made to make a promise that might
> change:
>
> I assume that Ricardo and Ludovic want to have the option of editing
> the CoC without asking every single contributor. Well, people should
> better know what the current state of their pledge is.
>
> Not that I think the two would introduce a nasty surprise, it's just
> that the "covenant" and "we as contributors ... pledge" language is
> dishonest.

Out of curiosity, would you personally feel better about the CoC if it
used terms such as "This community commits to" or "This community
pledges to" insteead of "We as contributors commit to"?

I ask because one of the positives about the CC wording from my
perspective is that it specifically makes it a collective responsibility
to uphold certain norms, and not just the responsibility of the
"projec authorities".  It is understood that there are specific channels
for dealing with violations of those norms, but the community as a whole
stands behind that.

Alex



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-31 Thread Alex Sassmannshausen
Hello,

I agree with Ricardo's email that really we should be discussing the CoC
in relation to specific patches against it, to avoid circular debate.
So I will only respond to the specific bit directly asking me to provide
evidence.

HiPhish writes:

> On Monday, 29 October 2018 12:08:56 CET you wrote:
>> I think you a have burden of proof here, given that our culture at large
>> has serious issues with harassment.  Why would you think FLOSS community
>> is somehow different from the wider community?
> No, you have a burden of proof that "our" culture (whatever this "our" is
> supposed to mean, I have no idea where you live and you have no idea where I
> live) has a serious issue with harassment.

[I apologise for the narrow focus on sexual / gender / sex based focus
of the stats below; it's what I'm most familiar with.]

"According to a TUC/Everyday Sexism study on sexual harassment, 52% of
women have experienced sexual harassment in the workplace and 80% did
not report it to their employer."
[https://www.fawcettsociety.org.uk/Handlers/Download.ashx?IDMF=9127932a-455f-4d0c-909d-3563c17dc7c5,
available from
https://www.fawcettsociety.org.uk/sexual-harassment-in-the-workplace]

"In 2014, SSH commissioned a 2,000-person national survey in the USA with
surveying firm GfK. The survey found that 65% of all women had
experienced street harassment. Among all women, 23% had been sexually
touched, 20% had been followed, and 9% had been forced to do something
sexual. Among men, 25% had been street harassed (a higher percentage of
LGBT-identified men than heterosexual men reported this) and their most
common form of harassment was homophobic or transphobic slurs (9%)."
http://www.stopstreetharassment.org/resources/statistics/

"Almost fully one third of the approximately 90,000 charges received by
EEOC in fiscal year 2015 included an allegation of workplace
harassment. This includes, among other things, charges of unlawful
harassment on the basis of sex (including sexual orientation, gender
identity, and pregnancy), race, disability, age, ethnicity/national
origin, color, and religion." and "Roughly three out of four individuals
who experienced harassment never even talked to a supervisor, manager,
or union representative about the harassing conduct."
[from https://www.eeoc.gov/eeoc/task_force/harassment/report_summary.cfm]

In 2012, in Belgium, the film Femme de la Rue directly influenced the
passing of legislation to make street harassment
illegal. 
[https://www.theguardian.com/world/2012/aug/03/belgium-film-street-harassment-sofie-peeters]
It also helped kick-start movements in Belgium and France where street
harassment is fairly common.  In london, UK, 4 in 10 women between ages
of 18 and 34 experienced street harassment in 2011 alone
[https://www.theguardian.com/lifeandstyle/2012/may/25/four-10-women-sexually-harassed].

"54% (272) had experienced some form of workplace sexual harassment."
This is from a 2008 study in Singapore
[http://www.aware.org.sg/training/wsh-site/14-statistics/].

The stats bear out 2 things: a) harassment is very prevalent; b) if
anything, harassment is underreported, not overreported.

Of course the above are all related to a relatively narrow geographic
domain.  I would be very surprised indeed if there was a place that
conducted similar studies, where the picture would not be roughly the
same or worse.

You are correct that I don't know where you're from, but it kind of
doesn't matter, because harassment, especially that on the basis of
gender, sex or sexuality, is a global phenomenon.

Best wishes,

Alex



Re: Promoting the GNU Kind Communication Guidelines?

2018-10-31 Thread Alex Sassmannshausen
After this email I'm done with the conversation.  I have tried to
provide you with evidence.  You make it clear you have a bone to pick
with people concerned with gender equality.  This will go around in
circles.

HiPhish writes:

> There is a common pattern in all the links you provided: 1) only feminists are
> seeing this supposed issue, 2) it does not go into the exact nature of the
> supposed harassment.

The TUC is the trade union congress.  They are not a feminist
organisation.  The Belgian government is not a feminist organization.
The Guardian is a newspaper and the EEOC is a US government office.

> With regards to the first point: Feminist group have vested interests in
> furthering conflicts. Even if there is no conflict they will try to create one
> and then sell you the solution, so please excuse my scepticism. Feminists are
> proven to keep fabricating issues, like the supposed wage gap. So yes, I am
> really doubting the veracity of those claims.

Pff.  I won't even engage with this horse crap.

> You know what? When you go into a field filled with awkward nerds
> that's you occupational hazard.

My line of argument above was precisely that this does not only happen
in a field with "awkward nerds".  Also I find your assertion that
"nerds" are unable to behave decently to other people an insult to
myself and "nerds" as a whole.

> So please excuse me when I don't fall for the crocodile tears. We are
> talking about grown-up women here, not children.

I find it shocking you are basically telling people who are being
mis-treated by others to just suck it up.

It's because of these attitudes I'm glad we have a code of conduct.

>> According to a TUC/Everyday Sexism study on sexual harassment, 52% of
>> women have experienced sexual harassment in the workplace and 80% did
>> not report it to their employer.
> I am singling out this one as an example of data manipulation. Let's for the
> sake of simplicity assume that the data is 100% correct and has not been
> tampered with. Put yourself now in the shoes of an average woman: The question
> is "Have you experienced instances of sexual harassment in the workplace in
> the past?". You think a bit and remember Steve who made a dumb joke about your
> breasts during coffee break last month. So you answer with yes of course. Then
> the second question is "If so, did you report the incident to your employer?".
> Considering Steve is a shy guy, it was during coffee break, no one else joined
> in and after you gave him a stern look he got the message, you of course
> didn't consider it worth anyone's time to start office drama over pretty much
> nothing. So you answer with "no". And now your answer gets twisted into "Don't
> you see all these serious issues going unreported out of fear? You should hire
> our advocacy agency for sensibility training and diversity counseling. You
> have a nice business going here, it would be a shame is someone were to call
> it sexist".

Here's the problem with your argument.  These findings are reproduced
over and over: women are disproportionately affected by harassment,
especially of a gendered kind.  Even if you find an issue with a
specific study, the consensus of virtually all these studies find the
same thing.

You might have better results if you actually pointed to studies that
overturned the consensus.  Good luck with that.

>> In 2012, in Belgium, the film Femme de la Rue directly influenced the
>> passing of legislation to make street harassment
>> illegal.
>> [https://www.theguardian.com/world/2012/aug/03/belgium-film-street-harassme
>> nt-sofie-peeters] It also helped kick-start movements in Belgium and France
>> where street harassment is fairly common.  In london, UK, 4 in 10 women
>> between ages of 18 and 34 experienced street harassment in 2011 alone
>> [https://www.theguardian.com/lifeandstyle/2012/may/25/four-10-women-sexually
>> -harassed].
> Don't you consider it kind of... problematic that the video only shows people
> from a, let's call it "diverse" background? Why doesn't she show us all the
> serial catcallers in the less diverse parts of Belgium? It couldn't be that
> she intentionally picked the bad part of town, now could it? I feel deeply
> offended by the implication of this video that people of colour are the
> primary source of sexual harassment.

Come on.  Get out of here with your manufactured concern.  Whatever the
specific cases in this video were, the overall point, and the conclusion
of the overall debate is that street harassment is a widespread issue,
wherever you go.  It disproportinately affects women and is
disproportinately carried out by men.

I'm done here. Have a nice day.

Alex



Re: Patch submission should not imply agreement to policy (was Re: Promoting the GNU Kind Communication Guidelines?)

2018-10-31 Thread Alex Sassmannshausen


Thanks for your answers.  I'm glad to hear that there might be room for
some form of dialogue on wording.

Cheers!

Alex

Thorsten Wilms writes:

> On 31/10/2018 09.58, Alex Sassmannshausen wrote:
>> Out of curiosity, would you personally feel better about the CoC if it
>> used terms such as "This community commits to" or "This community
>> pledges to" insteead of "We as contributors commit to"?
>
> In as far as contributing doesn't make one part of the community
> ... it would be a slight improvement. On the other hand, it's just
> vaguer about whom it puts words into their mouths.
>
>
>> I ask because one of the positives about the CC wording from my
>> perspective is that it specifically makes it a collective responsibility
>> to uphold certain norms, and not just the responsibility of the
>> "projec authorities".  It is understood that there are specific channels
>> for dealing with violations of those norms, but the community as a whole
>> stands behind that.
>
> Yeah, that's the positive reading. A negative is that it is an attempt
> to push people to declare a mixed bag as their own, with no voice in
> the process (other than take it or leave it). One that contains
> hard-to-argue-with aspects, but also questionable and vague parts.




Re: New detailed troubleshooting section in the manual

2018-11-08 Thread alex sassmannshausen
Hello,

On Thu, 8 Nov 2018, 20:54 Laura Lazzati  Hi Ludo
>
> Following these instructions should make the warnings go away,
>> doesn’t it?
>>
> No they don't. I installed the package, exported the path, added it to my
> .profile file but the message still appears.
> And if I check `env | sort`, even after rebooting or shutting down, the
> GUIX_LOCPATH is set.
> I also tried installing glibc-locales but the same happens.
>

I may have missed this earlier, but have you tried installing glibc-locales
in the root profile too?

I've found in the past that I needed the full glibc-locales, in root and
user profile. I also needed the path configuration in both. You may need to
restart the deamon after... I don't remember.

If I only did the user install, then the locpath warning message disappears
for the user side, but not for the deamon side.

Hope this is helpful!

Alex


> Regards!
> Laura
>
>


Re: New detailed troubleshooting section in the manual

2018-11-10 Thread alex sassmannshausen
Good to hear it wasn't just use then... I guess maybe we should clarify the
documentation.

Alex

On Sat, 10 Nov 2018, 15:48 Laura Lazzati  It worked :)
> Thank you!
>
> Regards!
> Laura
>
>
>


Re: New library: guile-wikidata

2018-12-05 Thread Alex Sassmannshausen
Hi Swedebugia,

This looks pretty cool! Congrats on getting this far :-)

I would love to be able to have a nice high-level library to introduce
Wikipedia info in my programs, so please continue!

Alex

swedebu...@riseup.net writes:

> Hi
>
> I worked hard for a few hours playing with guile and came up with this.
>
> Next step is to implement looking up the entities for the result and
> filter on instance of (the properties). E.g. software.
>
> :D
>
> What do you think?
> I tried reuse code and abstract away in a a la Guile. This is my first
> program so feel free to give it a review and ideas for improvement.
>
> It depends on (guix import json) right now and I think we should
> upstream those two json-to-alist functions to guile-json.
>
> Example output:
>
> scheme@(guile-user) [25]> (show-first-result "gcc")
> 1.: Q178940: GNU Compiler Collection: compiler system with support for
> various programming languages
>
> scheme@(guile-user) [25]> (show-first-result "emacs")
> 1.: Q189722: Emacs: family of text editors
>
> scheme@(guile-user) [25]> (show-first-result "guile")
> 1.: Q601244: Guile: character from the Street Fighter fighting game
> series
>
> scheme@(guile-user) [25]> (show-first-result "openssh")
> 1.: Q847062: OpenSSH: set of computer programs providing encrypted
> communication sessions
>
> scheme@(guile-user) [25]> (show-first-result "automake")
> 1.: Q1324275: Automake: tool for generating GNU Standards-compliant
> Makefiles
>
>
> Not so reliable output for bioinformatics packages:
>
> scheme@(guile-user) [25]> (show-first-result "aragorn")
> 1.: Q180322: Aragorn: character from the Lord of the Rings
> $19 = #t
> scheme@(guile-user) [25]> (show-first-result "bamm")
> 1.: Q12819323: Bamm: Uzbek name of deep and dark sounds of stringed
> instruments
> $20 = #t
> scheme@(guile-user) [25]> (show-first-result "bamtools")
> 1.: Q30426432: BamTools: a C++ API and toolkit for analyzing and
> managing BAM files.: scientific article
> $21 = #t
> scheme@(guile-user) [25]> (show-first-result "bcftools")
> 1.: Q31041251: BCFtools/RoH: a hidden Markov model approach for
> detecting autozygosity from next-generation sequencing data.:\
>  scientific article
> $22 = #t
> scheme@(guile-user) [25]> (show-first-result "bedops")
> 1.: Q36076319: BEDOPS: high-performance genomic feature operations.:
> scientific article
> $23 = #t
> scheme@(guile-user) [25]> (show-first-result "blast+")
> 1.: Q179057: explosion: sudden release of energy through high
> temperatures and gas expansion
> $24 = #t




Re: Complaint about packages list on web site

2016-11-29 Thread Alex Sassmannshausen
Hi,

John Darrington writes:

> When I open the page http://www.gnu.org/software/guix/packages/ using icecat 
> (which has
> libreJS included) from GuixSD, I get a message telling me to "Complain".  
> Consider this
> a complaint:

Fair point, when I wrote the original package page JS I did not consider
and hence did not add libreJS license metadata.

I'll add it to my list.

Alex

> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('acpid135446', 'acpica135445', 'acpi135444', 
> 'acme-client135443', 'acl135442', 'acct135441', 'accountsservice135440', 
> 'abiword135439', 'abduco135438', 'abcde135436', 'abc135435', 'abbaye135429', 
> 'aalib135428', 'a2ps135427', '4ti2135426', '4store135249')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('amb-plugins135465', 'alsa-utils135464', 
> 'alsa-modular-synth135463', 'alsa-lib135462', 'alot135458', 'allegro135457', 
> 'allegro135456', 'allegro135455', 'alive135454', 'aisleriot135453', 
> 'aircrack-ng135452', 'aide135451', 'agg135450', 'aegis135449', 
> 'adwaita-icon-theme135448', 'adns135447')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('arb135482', 'arandr135481', 'aragorn135480', 
> 'arachne-pnr135479', 'aqbanking135478', 'apr-util135477', 'apr135476', 
> 'apl135475', 'ao-cad135473', 'ao135472', 'antiword135471', 'anthy135470', 
> 'ant135469', 'ansible135468', 'amsynth135467', 'american-fuzzy-lop135466')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('artanis135505', 'arpack-ng-openmpi135504', 
> 'arpack-ng135503', 'armadillo135502', 'armadillo135501', 
> 'arm-none-eabi-toolchain135500', 'arm-none-eabi-toolchain135499', 
> 'arm-none-eabi-nano-toolchain135498', 'arm-none-eabi-nano-toolchain135491', 
> 'aria2135490', 'aria-maestosa135489', 'argtable135488', 'argon2135487', 
> 'ardour135485', 'arc-theme135484', 'arc-icon-theme135483')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('assword135522', 'assimp135521', 'aspell-dict-ru135520', 
> 'aspell-dict-nl135519', 'aspell-dict-it135518', 'aspell-dict-he135517', 
> 'aspell-dict-fr135516', 'aspell-dict-es135515', 'aspell-dict-eo135514', 
> 'aspell-dict-en135513', 'aspell-dict-de135512', 'aspell135511', 
> 'asn1c135510', 'aseprite135509', 'asciinema135508', 'asciidoc135506')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('aumix135568', 'augeas135567', 'audit135566', 
> 'audacity135565', 'aubio135564', 'attr135563', 'attica135562', 'attic135561', 
> 'atlas135560', 'atkmm135559', 'atk135558', 'ath9k-htc-firmware135557', 
> 'at-spi2-core135556', 'at-spi2-atk13', 'asymptote135524', 'astyle135523')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('avr-toolchain135594', 'avr-toolchain135593', 
> 'avr-gcc135592', 'avr-gcc135591', 'avr-binutils135590', 'avidemux135589', 
> 'avahi135588', 'autossh135577', 'automake135576', 'autojump135575', 
> 'autogen135574', 'autoconf-archive135573', 'autoconf135572', 
> 'autoconf135571', 'autoconf135570', 'autobuild135569')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('bash-static135612', 'bash-minimal135611', 
> 'bash-completion135610', 'bash135609', 'barcode135608', 'baobab135607', 
> 'bamtools135606', 'bamm135604', 'bambam135603', 'baloo135602', 'babl135601', 
> 'b43-tools135600', 'azr3135599', 'awscli135598', 'awesome135596', 
> 'avrdude135595')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('bigreqsproto135630', 'bigloo135629', 'behave135628', 
> 'beets135627', 'bedtools135626', 'bedtools135625', 'bedops135624', 
> 'beast135623', 'bdftopcf135622', 'bdb135621', 'bdb135620', 'bcftools135618', 
> 'bc135617', 'bbdb135615', 'bazaar135614', 'bash-tap135613')
>
> Whitelist
>
> This script is detected as inline, nonfree, defining functions or 
> methods, and the rest of the page as loading external scripts
> prep_pkg_descs('blender135647', 'blast+135645', 'bits135644', 
> 'bitlbee135643', 'bitcoin-core135642', 'bison135641', 'bi

[PATCH] Revised generate multiple package pages.

2016-11-29 Thread Alex Sassmannshausen
Hello,

Here a revised patch generating multiple package pages.

Since the last version I've:
* added CSS styling
* rebased on master
* incorporated ludo's feedback
* tested it locally

Local testing seems to work a charm, except for the appearance of #f in
the software table, the emission of warnings during site compilation
and the failure of the Javascript folding scripts.

All of those problems seemed to happen on master too, so I concluded
they were artifacts from local testing.

Finally, please note that the paginated pages page is wrapped in an
additional lambda.  This is to make the commented section in (www)
work, but might be incorrect in how those pages are actually generated
using cron scripts…

Best wishes,

Alex

Alex Sassmannshausen (1):
  Generate multiple paginated packages pages.

 website/static/base/css/packages.css |  8 ++-
 website/www.scm  |  8 ++-
 website/www/packages.scm | 96 
 3 files changed, 89 insertions(+), 23 deletions(-)

-- 
2.10.2




[PATCH] Generate multiple paginated packages pages.

2016-11-29 Thread Alex Sassmannshausen
* website/www.scm (%web-pages): Add code for generating our packages
  pages.
* website/www/packages.scm (packages-by-grouping): New procedure.
  (paginated-packages-page): New procedure.
  (packages-page): Tweak for use by `paginated-packages-page` as well as
  standalone.
* website/static/base/css/packages.css (li.package-index-link): Add
  styling.
---
 website/static/base/css/packages.css |  8 ++-
 website/www.scm  |  8 ++-
 website/www/packages.scm | 96 
 3 files changed, 89 insertions(+), 23 deletions(-)

diff --git a/website/static/base/css/packages.css 
b/website/static/base/css/packages.css
index 177f416..d218c51 100644
--- a/website/static/base/css/packages.css
+++ b/website/static/base/css/packages.css
@@ -2,6 +2,12 @@
 
 @import url("article.css");
 
+li.package-index-link {
+list-style: none;
+display: inline;
+margin: 0 0.3em;
+}
+
 a {
 transition: all 0.3s;
 }
@@ -82,4 +88,4 @@ img.status-icon {
 position: absolute;
 top: 0px;
 left: 0px;
-}
\ No newline at end of file
+}
diff --git a/website/www.scm b/website/www.scm
index 59e917a..7ca6a78 100644
--- a/website/www.scm
+++ b/website/www.scm
@@ -27,6 +27,7 @@
   #:use-module (www about)
   #:use-module (www contribute)
   #:use-module (www help)
+  #:use-module (www packages)
   #:use-module (www security)
   #:use-module (www news)
   #:use-module (haunt post)
@@ -293,7 +294,12 @@ Distribution.")
 ("download/index.html" ,download-page)
 ("help/index.html" ,help-page)
 ("security/index.html" ,security-page)
-;; ("packages/index.html" ,packages-page) ; Need Guix
+;; ,@(map (lambda (group)
+;;  `(,(string-append "packages/" group ".html")
+;;,(paginated-packages-page group)))
+;;%groups)
+;; ("packages/index.html" ,(paginated-packages-page "0-9"))
+;; ("packages/all.html" ,packages-page)
 ;; ("packages/issues.html" ,issues-page)
 ))
 
diff --git a/website/www/packages.scm b/website/www/packages.scm
index 9f345ae..63cea3a 100644
--- a/website/www/packages.scm
+++ b/website/www/packages.scm
@@ -44,7 +44,9 @@
   #:use-module (srfi srfi-26)
   #:use-module (texinfo)
   #:use-module (texinfo html)
-  #:export (packages-page
+  #:export (%groups
+packages-page
+paginated-packages-page
 issues-page))
 
 (define lookup-gnu-package
@@ -441,6 +443,21 @@ PACKAGES."
 ;;; Pages.
 ;;;
 
+(define %groups
+  ;; List of package groups.
+  (cons "0-9"
+(map string
+ '(#\a #\b #\c #\d #\e #\f #\g #\h
+   #\i #\j #\k #\l #\m #\n #\o #\p
+   #\q #\r #\s #\t #\u #\v #\w #\x
+   #\y #\z
+
+(define (group-file-name group)
+  (string-append "/packages/" group ".html"))
+
+(define (group-name group)
+  (string-upcase group))
+
 (define (all-packages)
   "Return the list of all package objects, sorted by name."
   (sort (fold-packages (lambda (package lst)
@@ -452,29 +469,66 @@ PACKAGES."
   (string)
+  first string->list package-name)
+ (all-packages)))
+  (letter (filter (lambda (package)
+(string=? (string-take (package-name package) 1)
+  letter))
+  (all-packages))
+
+(define (paginated-packages-page grouping)
+  "Return a packages page that contains only content for the packages
+that match GROUPING (either the string '0-9' or a string of one
+letter)."
+  (lambda ()
+(packages-page (string-upcase grouping) (packages-by-grouping grouping
+
+(define* (packages-page #:optional (grouping "All")
+(packages (all-packages)))
   `(html (@ (lang "en"))
-,(html-page-header "Packages" #:css "packages.css" #:js "packages.js")
-(body
- ,(html-page-description)
- ,(html-page-links)
-
- (div (@ (id "content-box"))
-  (article
-   (h1 "Packages")
-   (p "GNU Guix provides "
+ ,(html-page-header "Packages" #:css "packages.css" #:js "packages.js")
+ (body
+  ,(html-page-description)
+  ,(html-page-links)
+
+  (div (@ (id "content-box"))
+   (article
+(h1 ,(string-append "Packages [" grouping "]"))
+(p "GNU Guix provides "
,(number* (fold-packages (lambda (p n) (+ 1 n)) 0))
" packages transparently "
-  (a (@ (href 
"http://hydra.gnu.org/jobset/gnu/master#tabs-status";))
- "available as pre-built binaries")
-  ". This is a complete list of the packages.  Our "
-  (a (@ (href "http://hydra.gnu.org/jobset/gnu/master";))
- "continuous integration system")
-  " shows their current build status "
-  "(Updated " ,(date->string (current-date) 

Re: [PATCH] Generate multiple paginated packages pages.

2016-12-05 Thread Alex Sassmannshausen

Ludovic Courtès writes:

> Alex Sassmannshausen  skribis:
>
>> * website/www.scm (%web-pages): Add code for generating our packages
>>   pages.
>> * website/www/packages.scm (packages-by-grouping): New procedure.
>>   (paginated-packages-page): New procedure.
>>   (packages-page): Tweak for use by `paginated-packages-page` as well as
>>   standalone.
>> * website/static/base/css/packages.css (li.package-index-link): Add
>>   styling.
>
> Sure, please push!

Done.

> I thought we had agreed on that one already, but now I see this message
> as unread in my inbox.  Go figure!

Ah, indeed, we had agreed on the previous version of the patch.  Anyway,
thanks for reconfirming.

Alex



Re: [PATCH] Generate multiple paginated packages pages.

2016-12-08 Thread Alex Sassmannshausen

Ludovic Courtès writes:

> Hello!
>
> It’s on-line now!
>
>   https://www.gnu.org/software/guix/packages/

Neat! Nice to see it there :-)

> Note that I removed the all-in-one package page because the poor CVS
> server at gnu.org simply can’t handle it.

Sure — I figure this way of browsing is more user friendly anyway…

> I’ve updated the cron job so if everything goes well it’ll be updated
> every night again.
>
> Thanks Alex!
>
> Ludo’.




Re: [PATCH] Generate multiple paginated packages pages.

2016-12-08 Thread Alex Sassmannshausen
Heya

John Darrington writes:

> On Thu, Dec 08, 2016 at 12:29:22PM +0100, Alex Sassmannshausen wrote:
>  
>  > Note that I removed the all-in-one package page because the poor CVS
>  > server at gnu.org simply can???t handle it.
>  
>  Sure ??? I figure this way of browsing is more user friendly anyway???
>  
> Well yes and no.
>
> It's more friendly in the respect that it no longer takes 2 minutes to load.
>
> But the down side is that I can no longer load the page and then use my 
> browser's "Find in Page" button to search for a package---Now I have to
> know what the package is called before I can search for it.

Fair point!  I think Luis Felipe is thinking of a more comprehensive
approach to the package pages — mine was more of a quick fix to solve an
urgent problem.

> Maybe sometime in the future a "browse by category" or "search for packages"
> feature will be available?
>
> J'




Re: FOSDEM 2017 Schedule is there!

2016-12-18 Thread Alex Sassmannshausen

Pjotr Prins writes:

> Check it out K.3.201 - looks awesome!
>
> https://fosdem.org/2017/schedule/day/saturday/

Indeed, most excellent!  Looking forward to this greatly :-)

Alex



Re: [PATCH] doc: Mention "guix pull" during installation.

2016-12-18 Thread Alex Sassmannshausen

Ludovic Courtès writes:

> Hello!
>
> Leo Famulari  skribis:
>
>> I've recently gave an explanation of why I think using `guix pull`
>> before installing GuixSD should not be recommended unconditionally:
>>
>> http://lists.gnu.org/archive/html/bug-guix/2016-11/msg00047.html
>>
>> In the specific case of installing GuixSD 0.11.0 today, `guix pull` is
>> necessary, because we lack the substitutes, and some packages can't be
>> built at all now [1]. But, adding these lines to the manual now won't
>> make it show up in the 0.11.0 installer manual.
>>
>> I think we should work on improving our infrastructure in the next
>> release cycle, and revisit this change to the manual if we are still
>> having problems before the 0.13.0 release.
>>
>> What does everyone think?
>
> I agree with everything you wrote here.
>
> Ludo’.

I think I too agree here.  Especially as my experience (running GuixSD
on i686 bare metal) suggests that `guix pull` can actually result in
packages that do not quite build reliably.  There currently seems to be
a `guix pull` sweet spot when the substitutes are not too old yet the
recipes not too new…

I think the best solution would definitely be guaranteed availability of
substitutes for releases until at least the next release — so I greatly
appreciate the work that is being done to on the infrastructure side.

My 2¢,

Alex



Re: Remove duplicates in AUTHORS file before the release

2016-12-20 Thread Alex Sassmannshausen

Alex Kost writes:

> Hello, if it's not too late for the release, I think it would be good to
> adjust ".mailmap" to avoid duplicates in the generated AUTHORS file (if
> it's too late, it would be good anyway).
>
> As you can check with "git --no-pager shortlog -nse", there are some
> duplicates in the output (double names or emails for the same person).
> This output is used to generate AUTHORS file in release tarballs.  So to
> disambiguate this, I would like to ask the people what are their
> preference:
>
> - Alex:  or ?

I'm using a...@pompo.co .

Thank you for doing this!

Alex



FOSDEM social dinner

2017-01-06 Thread Alex Sassmannshausen
Hello,

Guile has a dev room at FOSDEM this year — for a whole day!  The dev
room will be on Sunday.

Whilst organising it, we had the idea that it would be fun to have a
Guile/Guix user & dev dinner on the Saturday evening.  I'm hereby
officially opening registration for that :-D

I have not chosen a restaurant yet, but it will be something that
provides a varietary of dietary options (omnivore, veggie, vegan).  If
you are interested in coming along, just drop me a line to confirm.

So — who's in for Guile social dinner on Saturday 4 February 2017 in
Brussels?

Best wishes,

Alex



[PATCH 1/1] gnu: Add Guile-ICS.

2017-01-07 Thread Alex Sassmannshausen
* gnu/packages/guile.scm (guile-ics): New variable.
---
 gnu/packages/guile.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 9458ab714..c6d8fd8e8 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -525,6 +525,34 @@ format is also supported.")
(,modules)))
#t
 
+(define-public guile-ics
+  (package
+(name "guile-ics")
+(version "0.1.1-rc1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "ftp://memory-heap.org/software/"; name "/"
+  name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"01bl8c0wqkndnf2hnlvm2lj1rhh33szsblcmjbnyl6vyhnlm4lf5"
+(build-system gnu-build-system)
+(arguments
+ '(#:configure-flags
+   (list (string-append
+  "--with-guile-site-dir=" %output "/share/guile/site/2.0"
+(native-inputs `(("pkg-config" ,pkg-config)))
+(inputs `(("guile" ,guile-2.0)))
+(propagated-inputs `(("guile-lib" ,guile-lib)))
+(home-page "https://github.com/artyom-poptsov/guile-ics";)
+(synopsis "An iCalendar parser library for Guile")
+(description
+ "Guile-ICS is an iCalendar (RFC5545) format parser library written in
+pure Scheme.  The library can be used to read and write iCalendar data.
+
+The library is shipped with documentation in Info format and usage examples.")
+(license gpl3)))
+
 (define-public guile-lib
   (package
 (name "guile-lib")
-- 
2.11.0




[PATCH 0/1] Add Guile-ICS

2017-01-07 Thread Alex Sassmannshausen
Hello,

This patch adds Guile-ICS, a newly released Guile library to interact with ICS
calendar files.

As it stands the code works, tests pass and the bundled cli application works.

The only problem is that I'm getting some odd error messages here, which I'm
not sure whether they are due to my setup or the compilation procedure…

Alex

PS: Error examples:
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/common.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/common.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/fsm.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/fsm.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/ical-object.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/ical-object.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/parser.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/parser.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/streams.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
;;; WARNING: loading compiled file 
/home/alex/.guix-profile/lib/guile/2.0/site-ccache/ics/streams.go failed:
;;; ERROR: In procedure make_objcode_from_file: bad header on object file: 
"GOOFLE-8-2.0"
Subject: [PATCH 0/1] *** SUBJECT HERE ***

Alex Sassmannshausen (1):
  gnu: Add Guile-ICS.

 gnu/packages/guile.scm | 28 
 1 file changed, 28 insertions(+)

-- 
2.11.0




Re: [PATCH 1/1] gnu: Add Guile-ICS.

2017-01-09 Thread Alex Sassmannshausen
Hi Ludo,

Ludovic Courtès writes:

> Howdy!
>
> Alex Sassmannshausen  skribis:
>
> [...]
>
>> +(version "0.1.1-rc1")
>
> Apparently 0.1.1 is already out!
>
> However the tarball contains .go files, which should be removed.
>
> But it might be best to just download from github.com and add a
> bootstrap phase, like I did for Guile-SSH, because memory-heap.org is
> slow and sometimes disappeared in the past.

Indeed — I'm now building 0.1.1 from a git checkout from github.com.

>> +(arguments
>> + '(#:configure-flags
>> +   (list (string-append
>> +  "--with-guile-site-dir=" %output "/share/guile/site/2.0"
>
> This can be omitted (in fact, adding it would lead compilations with
> Guile 2.2 to install modules in the wrong place.)

Thanks, removed.

>> +(license gpl3)))
>
> gpl3+

Done.

> OK with these changes, thanks!

I've updated the package, tested in
`guix environment --pure --container` and `guix lint`, and then I pushed
it to master.

Thanks for the review!

Alex



Re: Hacker Public Radio (podcast) interview about Guix

2017-01-09 Thread Alex Sassmannshausen
Listening to it now — thanks for the link :-)

Alex

Christopher Allan Webber writes:

> Hello!  In late 2015 I was interviewed about Guix for Hacker Public
> Radio.  Obviously, a lot has happened since then, but the ideas are
> still relevant.  This is mainly aimed at people who are interested in
> what Guix is and have maybe never even heard of what functional package
> management is, and I think it covers that well enough.  But I think it
> will still also be fun for seasoned Guix hackers who like to hear people
> talk about Guix. ;)
>
>   http://hackerpublicradio.org/eps.php?id=2198
>
> It's not a perfect interview, but I do think it's a lot of fun.
> Hopefully you enjoy it!
>
>  - Chris




Re: It’s building!

2017-01-12 Thread Alex Sassmannshausen

Kei Kebreau writes:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Hello Guix!
>>
>> Good news: the new machine, bayfront.guixsd.org, is building Guix master
>> for x86_64/i686 with Cuirass⁰!
>>
>> You can get substitutes from https://bayfront.guixsd.org; just authorize
>> its key (with ‘guix archive --authorize’), which is:
>>
>>   (public-key 
>>(ecc 
>> (curve Ed25519)
>> (q #8D156F295D24B0D9A86FA5741A840FF2D24F60F7B6C4134814AD55625971B394#)))
>>
>> The machine was initially installed using substitutes from
>> hydra.gnu.org, but ever since it has been building stuff on its own (it
>> does not offload to any other machine at this point).  Thus it can be
>> used to check for reproducibility issues:
>>
>>   guix challenge gdk-pixbuf \
>> --substitute-urls="https://mirror.hydra.gnu.org 
>> https://bayfront.guixsd.org";
>>
>> The machine runs GuixSD and its config is under version control:
>>
>>   
>> http://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/bayfront.scm
>>
>> Currently Cuirass doesn’t expose much over HTTP¹ but hopefully we can
>> incrementally add the URLs that guix-hydra.el expects.
>>
>> There are a few glitches to address, such as the fact that it builds
>> with max-jobs = 1 due to , but we’ll get
>> there.
>>
>> Woohoo!  :-)
>>
>> Ludo’.
>>
>> ⁰ See  
>> and
>>    if
>>   you missed the previous episodes.
>>
>> ¹ https://notabug.org/mthl/cuirass/src/master/src/cuirass/http.scm
>
> Wow, this is cool! Thanks to everyone who was/is/will be working on this!

I can only concur with this!

Great work :-D

Alex



Re: FOSDEM social dinner

2017-01-20 Thread Alex Sassmannshausen
Hello,

To confirm, I've now placed a reservation for Saturday 4 February at
19:30 at a Lebanese restaurant called Al Jannah.  I haven't been there
before, but the menu looks diverse, the prices good and the location
relatively central.

https://www.tripadvisor.com/Restaurant_Review-g188644-d2039550-Reviews-Al_Jannah-Brussels.html

Address:
Rue Blaes 59, Brussels 1000, Belgium

There is a direct tram line from ULB to Louise, and then it's a 5-10 min
walk.  From there it's probably around 15 min walk to the central
station where there are trains to Antwerp.

List of attendees:
Leo, Catonano, Amirouche, Efraim, Tomáš, Thomas, Tobias, Christopher
Baines, Manolis, Ludo, Ricardo, Matias and myself.

Let me know if I missed you, or if you have questions!

For now, until then :-)

Alex


Alex Sassmannshausen writes:

> Hello,
>
> Guile has a dev room at FOSDEM this year — for a whole day!  The dev
> room will be on Sunday.
>
> Whilst organising it, we had the idea that it would be fun to have a
> Guile/Guix user & dev dinner on the Saturday evening.  I'm hereby
> officially opening registration for that :-D
>
> I have not chosen a restaurant yet, but it will be something that
> provides a varietary of dietary options (omnivore, veggie, vegan).  If
> you are interested in coming along, just drop me a line to confirm.
>
> So — who's in for Guile social dinner on Saturday 4 February 2017 in
> Brussels?
>
> Best wishes,
>
> Alex




Re: FOSDEM social dinner

2017-01-31 Thread Alex Sassmannshausen
Hi Benz,

Sure — welcome :-)

Alex
Benz Schenk writes:

> Hi
>
> I'm somewhat late to the party as I wasn't sure whether I could make it
> to FOSDEM this year, but aparently I will.
>
> If it's still ok, I'd love to join ^^
>
> Best regards
>
> Benz
>
> On Fri, 20 Jan 2017 14:27:11 +0100
> Alex Sassmannshausen  wrote:
>
>> Hello,
>> 
>> To confirm, I've now placed a reservation for Saturday 4 February at
>> 19:30 at a Lebanese restaurant called Al Jannah.  I haven't been there
>> before, but the menu looks diverse, the prices good and the location
>> relatively central.
>> 
>> https://www.tripadvisor.com/Restaurant_Review-g188644-d2039550-Reviews-Al_Jannah-Brussels.html
>> 
>> Address:
>> Rue Blaes 59, Brussels 1000, Belgium
>> 
>> There is a direct tram line from ULB to Louise, and then it's a 5-10 min
>> walk.  From there it's probably around 15 min walk to the central
>> station where there are trains to Antwerp.
>> 
>> List of attendees:
>> Leo, Catonano, Amirouche, Efraim, Tomáš, Thomas, Tobias, Christopher
>> Baines, Manolis, Ludo, Ricardo, Matias and myself.
>> 
>> Let me know if I missed you, or if you have questions!
>> 
>> For now, until then :-)
>> 
>> Alex
>> 
>> 
>> Alex Sassmannshausen writes:
>> 
>> > Hello,
>> >
>> > Guile has a dev room at FOSDEM this year — for a whole day!  The dev
>> > room will be on Sunday.
>> >
>> > Whilst organising it, we had the idea that it would be fun to have a
>> > Guile/Guix user & dev dinner on the Saturday evening.  I'm hereby
>> > officially opening registration for that :-D
>> >
>> > I have not chosen a restaurant yet, but it will be something that
>> > provides a varietary of dietary options (omnivore, veggie, vegan).  If
>> > you are interested in coming along, just drop me a line to confirm.
>> >
>> > So — who's in for Guile social dinner on Saturday 4 February 2017 in
>> > Brussels?
>> >
>> > Best wishes,
>> >
>> > Alex  
>> 
>> 




Re: Being excellent to one another

2017-03-20 Thread Alex Sassmannshausen

John Darrington writes:

> On Sun, Mar 19, 2017 at 07:57:07PM -0700, dian_ce...@zoho.com wrote:
>  On Sun, 19 Mar 2017 17:40:27 -0500
>  Christopher Allan Webber  wrote:
>  > The important thing is to not assume someone's preferred pronouns
>  > without knowing them.  Singular they isn't your only option; I also
>  > happen to like Spivak pronouns:
>  >
>  >   https://en.wikipedia.org/wiki/Spivak_pronoun
>
>  The problem here is that I'd be suprised if many people have even heard
>  about these. I used to play MUDs quite a bit and have /never/ heard any
>  of those. They are certainly not a part of common usage, and I'd say
>  should be avoided for something more standard (them et al). It's a nice
>  idea, but overall seems like it would cause confusion, and probably
>  more than a few "Hey, there is a typo in the manual"-type bugs than
>  anything.
>
>  At least, if I picked up a random bit of documentation and saw things
>  like "e" used constantly, I'd assume it was a typo and not some archaic
>  gender-neutral pronoun.
>
> [...]

> When writing texts, such as this email, and absolutely  *have* to use a 
> personal
> definite pronoun, I default to "she" because whereas vigilantes will pounce 
> upon
> you whenever they see "he" (ironically those people are invariably male), I've
> never had anyone complain when "she" occurs where the gender of the subject
> might well be masculine.
>
>
> ... and yes.  If an individual specifically requests to be referred to by
> a partcular set of pronouns I will attempt to do so, but may occasionally
> forget if that person wants feminine pronouns and is 6'4" and has an enormous
> black wiry beard.

[I really don't know what your intention is with that last paragraph — I
will just ignore it, as I wouldn't want to ascribe malice…]

John, really, it's super easy:
- if you're not sure (or have forgotten), use "singular they", or ask
- if you know someone has a preference for pronouns, use those
- don't use pronouns when *you know* the other person does not identify
  with them.

If you make a mistake, no-one will tear your head off — it may well feel
like an awkward social faux pas to you, but, c'est la vie! And an
apology will show your intention was not malicious.

In manuals we can just use "singular they", because it is a well
established convention and does not cause confusion.

Someone who's learning English as a second language would hopefully have
been exposed to "singular they" in their class.  If not, they should ask
for their money back.

Regardless, it would be great for our manual to introduce them to
this lovely convention that is so widely used.

Cheers,

Alex



Re: Being excellent to one another

2017-03-20 Thread Alex Sassmannshausen

John Darrington writes:

> On Mon, Mar 20, 2017 at 09:57:04AM +0100, Alex Sassmannshausen wrote:
>  >
>  > ... and yes.  If an individual specifically requests to be referred to 
> by
>  > a partcular set of pronouns I will attempt to do so, but may 
> occasionally
>  > forget if that person wants feminine pronouns and is 6'4" and has an 
> enormous
>  > black wiry beard.
>  
>  [I really don't know what your intention is with that last paragraph ??? 
> I
>  will just ignore it, as I wouldn't want to ascribe malice???]
>
> OMG! What is wrong here?  Why would you (or anyone) think this is malicious?  
> The 
> intention, which I thought was clear, is that if people make unusual requests
> we should try to accommodate those requests, but the requestor should not be
> suprised or offended if people don't always remember.  Surely that was 
> obvious?

Not obvious at all, thanks for the clarification.

> [...]
>
> Regarding your other comments,  as we have discussed before, we will have to
> agree to disagree about singular they.   I have not the benefit of ever 
> having learned English as a foreign language.  But I do remember in my 
> elementary
> school being taught NOT to use it *especially* not in written text.  And - 
> perhaps because of this early tuition - it still sounds clumsy and confusing 
> to 
> me.

Perhaps we have to agree to disagree on singular they, but I hope we can
still agree on the following statements from my earlier email:

-
[...] it's super easy:
- if you're not sure (or have forgotten), use "singular they", or ask
- if you know someone has a preference for pronouns, use those
- don't use pronouns when *you know* the other person does not identify
  with them.

If you make a mistake, no-one will tear your head off — it may well feel
like an awkward social faux pas to you, but, c'est la vie! And an
apology will show your intention was not malicious.

In manuals we can just use "singular they", because it is a well
established convention and does not cause confusion.
-

I think if you agree with the sentiment, but dislike singular they as
the "general fall-back" then the above approach provides an inherent
method for you not to have to use that ("just ask") in the informal
context.

Alternatively it would be incumbent on you to provide an
alternative that is not just "I will bloody-mindedly stick to
gendering people when I don't know anything about them".

In the formal context, well… I think there is broad consensus that
"singular they" is awesome.

> People having been talking about being "welcoming".  Well, I beleive the way
> to achieve that is threefold:
>
> 1. Try not to offend.
> 2. Try not to be offended.
> 3. Recognise that diversity is an asset.

Absolutely, wonderful sentiment.  To that I would add:

4. Respect the integrity and right to self-definition of all participants

Ta,

Alex



Re: Being excellent to one another

2017-03-20 Thread Alex Sassmannshausen

John Darrington writes:

> On Mon, Mar 20, 2017 at 11:17:28AM +0100, Alex Sassmannshausen wrote:
>
>  Perhaps we have to agree to disagree on singular they, but I hope we can
>  still agree on the following statements from my earlier email:
>
> I agree to a slightly edited version:
>
>  -
>  [...] sometimes there is not a simple solution, however :
>  - if you know someone has a preference for particular pronouns, use 
> those when
>refering to that person.
>  - don't use pronouns when *you know* the other person does not identify
>with them.
>  - if unsure, ask the person how he or she would like to be referenced.
>
>  If you make a mistake, an apology will show your intention was not 
> malicious.
>
>  In manuals we can just use "singular they",  or another non-gender 
> specific
>  form of reference.
>  -

In the end, when you communicate informally, there is no arbiter of what
you write, so, to be clear, the first part above is not some form of
official guideline — just thinking out loud of what it means to engage
respectfully in a public, anonymous space.  I believe you approach in a
similar vein, which I appreciate.

The problem with your above suggestion is that it leaves out the default
case:
How will you write emails to the list?  Will you assume a default "he"?
Or a default "she"?  And what about non-binary identifying people?   We
don't know who's sitting at the other end.

Also, in the context of a default "he" usage (which you may not do, you
mentioned in the past that you sometimes default to "she"), I'm
concerned that emails are archived: they become a written representation
of what our community is like — and I do not want our community to
reinforce in a written form, that "only boys hang out around Guix / are
geeks".

>  Alternatively it would be incumbent on you to provide an
>  alternative that is not just "I will bloody-mindedly stick to
>  gendering people when I don't know anything about them".
>
> It is this tendency to call any difference of opinion by terms such as
> "bloody-minded" which offends me  - I try not to take offence - but I find
> hard not to.  I'm sorry.

My intention was to call-back to my impression of other parts of this
conversation where it seemed you were point-blank refusing to
acknowledge ng0's request.

But I can accept that you may find that an unfair characterisation, and
I phrased my sentiment too sharply in this case. My apologies for this.

> To answer your question:  How about saying "he or she" or "the person".

As mentioned above, the first renders non-binary identifying people
invisible.  For the second, if you can write a section of a manual using
"the person" in such a way that it won't sound clumsy, then by all
means.

Personally I would still suggest that "they/them/their" is wonderfully
short, to the point and unambiguous.  Also, it's a wheel that was
already invented: it has widespread usage outside of our community.

>  In the formal context, well??? I think there is broad consensus that
>  "singular they" is awesome.
>
> There is a broad concensus that Donald Trump, Rodrigo Duterte and
> Recep Erdogan are awesome.However I do not agree.

Say whaat?  Way to blow our discussion out of proportion.  Are you
seriously suggesting the consensus established through conversation and
convention in a small community is in any way comparable to the pile of
dung that is the contemporary ridiculously complex and terrifyingly
non-egalitarian state of global authoritarian politics?

>  > People having been talking about being "welcoming".  Well, I beleive 
> the way
>  > to achieve that is threefold:
>  >
>  > 1. Try not to offend.
>  > 2. Try not to be offended.
>  > 3. Recognise that diversity is an asset.
>
>  Absolutely, wonderful sentiment.  To that I would add:
>
>  4. Respect the integrity and right to self-definition of all participants
>
> I agree.  Put that one in too.

Nice :-)

>From my perspective, I'm probably done with this conversation for now,
though will respond if specific queries are addressed at me.

Alex



Re: Introducing ‘guix pack’

2017-03-20 Thread Alex Sassmannshausen
Excellent article, thanks for writing and sharing!

Alex


Ludovic Courtès writes:

> Hi again!
>
> I’ve written about ‘guix pack’ here:
>
>   https://gnu.org/s/guix/news/creating-bundles-with-guix-pack.html
>
> Thanks to rekado & jonsger on IRC for the quick review!
>
> Ludo’.




Re: Being excellent to one another

2017-03-21 Thread Alex Sassmannshausen
Hello,

I'm trying to draw this thread to a close as I genuinely believe that
neither side intends malice:
- John genuinely does not see how his statements can very easily be
interpreted as highly disrespectful and even mocking
- myself and others genuinely do not want to bear down on individuals by
virtue of simple miscommunication.

John, I would suggest to you that when at least three independent
individuals read your paragraph in which you (as you confirmed to me) in
good faith tried to create an extreme example to confirm that you would
respect (though fallibly) other people's rights to define their own
identity, then that paragraph was perhaps unfortunately formulated.

An apology and clarification would resolve that matter.

By way of clarification from my side, the paragraph reads like you're
creating a ("humourous") hyperbolic example that is only tangentially
related to the real discussion at hand to begrudgingly admit that you
would be willing to respect other people's identities.

Perhaps in that light you can see how that statement might have
trivialised other people's experiences and have come across as
insulting?

It simply wasn't necessary to employ that rhetorical device — just
acknowledging that you might slip up at times, would have been
sufficient.  The rhetorical device turned your genuine sentiment into a
statement in which you seemed to accede and simultaniously implicitly
ridiculed those whom you were acceding to.

I also believe it is within this context that Ludo considered that you
were in breach of the code of conduct. Specifically the example related
to "Trolling or insulting/derogatory comments".

As I say, I do not believe you intended to troll.  I hope we can move on
from this thread now by way of agreeing concrete steps for the future.

I would request the following moving forward:
- That we respect people's self-identification (which includes
respecting their pronouns)
- That we accept the "Singular They" as a valid form of non-gendered
language in formal and informal communication (this does not mean *you*
have to use it if you don't want to, but at least don't derail other
people's advice that it is a valid form)

Could we leave it at this for now?

It would be cool if we could get explicit or at least silent agreement
(by no longer responding to the thread) on this thread from those
primarily involved.

Best wishes,

Alex

PS: As Ricardo points out in his email to this thread, the issues of
gender/sex, and more widely, identity are enormously complex & I agree
that we cannot resolve them here.  But we can come to a situation where
we treat each other in a way that is non-exclusionary.  Part of this
means that we will have conversations like these at irregular intervals
— precisely because these issues are not resolved in society at large,
they will bubble up here.

In the meantime I would encourage people who care about these subjects
to read up on feminist theory, trans politics & intersectional
politics.  These are big, complex topics — and no-one agrees with all
that is written, but I believe that we as a community would support most
of the issues raised in those contexts.

John Darrington writes:

> On Mon, Mar 20, 2017 at 04:49:13PM +0100, Ludovic Court??s wrote:
>
>  John, people have explained things at length already; you can re-read
>  the project???s code of conduct if in doubt.  This isn???t up for debate.
>  Please stop playing this game right now.
>
> Ludo,
>
> * I am not playing a game - I think this is very serious.
> * I have not breached the code of conduct (at your request I have just read
>   it again).
> * I am trying my *utmost* to act with restraint and consideration in the face
>   of persistent provocation.
> * I have said on several occasions that we should all agree to live with
>   our differences and let this thread stop.
>
> John



[PATCH 02/26] gnu: Add perl-test-needs.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-test-needs): New variable.
---
 gnu/packages/perl.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 4944ceb2a..ce2c59e4c 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6761,6 +6761,34 @@ functions, along with automatically turning on strict 
and warning and gives a
 bit more fine-grained control over test suites.")
 (license (package-license perl
 
+(define-public perl-test-needs
+  (package
+(name "perl-test-needs")
+(version "0.002005")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "16gkgpmr9hvkz382iaqd3500269lk2d44fqaw3dsrvc66nc36kss"
+(build-system perl-build-system)
+(home-page
+ "http://search.cpan.org/dist/Test-Needs";)
+(synopsis
+ "Skip tests when modules not available")
+(description "@code{Test::Needs} allows you to skip test scripts if
+modules are not available.  The requested modules will be loaded, and
+optionally have their versions checked.  If the module is missing, the test
+script will be skipped.  Modules that are found but fail to compile will exit
+with an error rather than skip.
+
+If used in a subtest, the remainder of the subtest will be skipped.")
+(license (package-license perl
+
 (define-public perl-test-nowarnings
   (package
 (name "perl-test-nowarnings")
-- 
2.11.1




[PATCH 03/26] gnu: perl-b-hooks-endofscope: Update to 0.21.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-b-hooks-endofscope): Update to 0.21.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index ce2c59e4c..97655a646 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -380,7 +380,7 @@ parent.")
 (define-public perl-b-hooks-endofscope
   (package
 (name "perl-b-hooks-endofscope")
-(version "0.13")
+(version "0.21")
 (source
  (origin
(method url-fetch)
@@ -388,7 +388,7 @@ parent.")
"B-Hooks-EndOfScope-" version ".tar.gz"))
(sha256
 (base32
- "1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi"
+ "0b70vbpabsy9ia366k330cz1zbdyb1pwhb0l7j28pmpih045iwwh"
 (build-system perl-build-system)
 (propagated-inputs
  `(("perl-module-runtime" ,perl-module-runtime)
-- 
2.11.1




[PATCH 04/26] gnu: perl-capture-tiny: Update to 0.46.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-capture-tiny): Update to 0.46.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 97655a646..fef17bbd0 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -603,7 +603,7 @@ algorithm to keep the most used entries in the cache.")
 (define-public perl-capture-tiny
   (package
 (name "perl-capture-tiny")
-(version "0.28")
+(version "0.46")
 (source
  (origin
(method url-fetch)
@@ -612,7 +612,7 @@ algorithm to keep the most used entries in the cache.")
  version ".tar.gz"))
(sha256
 (base32
- "117gmwipql1y5xnw9jil3lhdsrf2wsm9wjdzqj66x971n3fwm573"
+ "05bhlx6d4nzamhkkh0pkckg7wlvaq6mazf7q1fbb5wpp1j1nlyjx"
 (build-system perl-build-system)
 (home-page "http://search.cpan.org/dist/Capture-Tiny";)
 (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
-- 
2.11.1




[PATCH 01/26] gnu: Add perl-file-pushd.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-file-pushd): New variable
---
 gnu/packages/perl.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 086e1fae0..4944ceb2a 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -3002,6 +3002,34 @@ of arbitrary depth and to delete an entire directory 
subtree from the
 file system.")
 (license (package-license perl
 
+(define-public perl-file-pushd
+  (package
+(name "perl-file-pushd")
+(version "1.014")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-"
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "02rlqvyy7gly3dsqwaa81aisyy9c791b8xvwzczcbgmcwgzkgaxm"
+(build-system perl-build-system)
+(home-page
+ "http://search.cpan.org/dist/File-pushd";)
+(synopsis
+ "Change directory temporarily for a limited scope")
+(description "@code{File::pushd} does a temporary @code{chdir} that is
+easily and automatically reverted, similar to @code{pushd} in some Unix
+command shells.  It works by creating an object that caches the original
+working directory.  When the object is destroyed, the destructor calls
+@code{chdir} to revert to the original working directory.  By storing the
+object in a lexical variable with a limited scope, this happens automatically
+at the end of the scope.")
+(license asl2.0)))
+
 (define-public perl-file-list
   (package
 (name "perl-file-list")
-- 
2.11.1




[PATCH 15/26] gnu: perl-sub-name: Update to 0.21.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-sub-name): Update to 0.21.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f77d7a297..90f0d386c 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -6027,7 +6027,7 @@ can see them.")
 (define-public perl-sub-name
   (package
 (name "perl-sub-name")
-(version "0.12")
+(version "0.21")
 (source
  (origin
(method url-fetch)
@@ -6035,7 +6035,7 @@ can see them.")
"Sub-Name-" version ".tar.gz"))
(sha256
 (base32
- "1sdlc8pv7vyyc48gzh70hbwzn0hzwl3zbcy2dkmfw8vjzgya5i06"
+ "05viq8scqk29g964fsfvls2rhvlb8myz3jblwh5c2ivhw3gfjcmx"
 (build-system perl-build-system)
 (native-inputs
  `(("perl-devel-checkbin" ,perl-devel-checkbin)))
-- 
2.11.1




[PATCH 07/26] gnu: perl-common-sense: Update to 3.74.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-common-sense): Update to 3.74.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 16b53adef..d63614e2a 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1175,7 +1175,7 @@ objects.")
 (define-public perl-common-sense
   (package
 (name "perl-common-sense")
-(version "3.73")
+(version "3.74")
 (source
  (origin
(method url-fetch)
@@ -1183,7 +1183,7 @@ objects.")
"common-sense-" version ".tar.gz"))
(sha256
 (base32
- "047xwgpn5611zrhk4c8vk9pzcbk1q7n3q0lfiwhhq7k4fbjca441"
+ "1wxv2s0hbjkrnssvxvsds0k213awg5pgdlrpkr6xkpnimc17s7vp"
 (build-system perl-build-system)
 (home-page "http://search.cpan.org/dist/common-sense";)
 (synopsis "Sane defaults for Perl programs")
-- 
2.11.1




[PATCH 08/26] gnu: perl-cpan-meta-check: Update to 0.011.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-cpan-meta-check): Update to 0.011.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d63614e2a..7cdb610c0 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1307,7 +1307,7 @@ the caller.")
 (define-public perl-cpan-meta-check
   (package
 (name "perl-cpan-meta-check")
-(version "0.009")
+(version "0.011")
 (source
  (origin
(method url-fetch)
@@ -1315,7 +1315,7 @@ the caller.")
"CPAN-Meta-Check-" version ".tar.gz"))
(sha256
 (base32
- "0qbk5dwvhd78qgq5x6nim2n0l78pylvlklpbrm56w9yss6pl6bgb"
+ "0nxi0xhhd3dwhgri3l8z8gpz2ibvhm5k7jjls8xmnlh0v84p04kh"
 (build-system perl-build-system)
 (native-inputs `(("perl-test-deep" ,perl-test-deep)))
 (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta)))
-- 
2.11.1




[PATCH 06/26] gnu: perl-clone: Update to 0.38.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-clone): Update to 0.38.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 179e3d1f1..16b53adef 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1154,14 +1154,14 @@ arrays for their internal representation.")
 (define-public perl-clone
   (package
 (name "perl-clone")
-(version "0.37")
+(version "0.38")
 (source (origin
   (method url-fetch)
   (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/"
   "Clone-" version ".tar.gz"))
   (sha256
(base32
-"17fdhxpzrq2nwim3zkcrz4m9gjixp0i886yz54ysrshxy3k53wnr"
+"1s5xrv9zlckqqzyhxi0l9lwj9m6na2bz5hqxrkva2v7gnx5m7c4z"
 (build-system perl-build-system)
 (synopsis "Recursively copy Perl datatypes")
 (description
-- 
2.11.1




[PATCH 11/26] gnu: perl-module-runtime-conflicts: Update to 0.003.

2017-03-23 Thread Alex Sassmannshausen
* gnu/packages/perl.scm (perl-module-runtime-conflicts): Update to 0.003.
---
 gnu/packages/perl.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index d3f14a8a0..f702dff73 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -4346,7 +4346,7 @@ handling of Perl modules, which are normally handled at 
compile time.")
 (define-public perl-module-runtime-conflicts
   (package
 (name "perl-module-runtime-conflicts")
-(version "0.001")
+(version "0.003")
 (source
  (origin
(method url-fetch)
@@ -4354,7 +4354,7 @@ handling of Perl modules, which are normally handled at 
compile time.")
"Module-Runtime-Conflicts-" version ".tar.gz"))
(sha256
 (base32
- "0pz23ch78lbpn4kdbm04icgsmbr7jvmxwq1p5m4x2pap8qwd0wqg"
+ "0x9qfg4pq70v1rl9dfk775fmca7ia308m24vfy8zww4c0dsxqz3h"
 (build-system perl-build-system)
 (native-inputs
  `(("perl-module-build" ,perl-module-build)))
-- 
2.11.1




  1   2   3   >