gnu: guile-minikanren: Fix README location.

2015-07-21 Thread Christopher Allan Webber
When I originally wrote this package I had it install the README to the
output directory's /share/doc/README.org instead of
/share/doc/guile-minikanren/README.org.  Fixed!

>From b38d1abd1cfd57d2c22d8c076a5ddfe7e9ab7256 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber 
Date: Tue, 21 Jul 2015 16:27:31 -0700
Subject: [PATCH] gnu: guile-minikanren: Fix README location.

* gnu/packages/guile.scm (minikanren): Fix output location for README.org
---
 gnu/packages/guile.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index e85c84a..d7b196a 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -419,7 +419,7 @@ http:://json.org specification.  These are the main features:
  (let* ((out (assoc-ref %outputs "out"))
 (module-dir (string-append out "/share/guile/site/2.0"))
 (source (assoc-ref %build-inputs "source"))
-(doc (string-append out "/share/doc"))
+(doc (string-append out "/share/doc/guile-minikanren"))
 (scm-files '("minikanren.scm"
  "minikanren/mkextraforms.scm"
  "minikanren/mkprelude.scm"
-- 
2.1.4



Re: [PATCH 3/3] gnu: Add python-pelican

2015-07-21 Thread Christopher Allan Webber
Ludovic Courtès writes:

>> +(inputs
>> + `(("python-setuptools" ,python-setuptools)
>
> Move this one to ‘native-inputs’.

Done!  Though... I think we should be careful with the assumption that
this is true or should be done without looking careful.  For example,
MediaGoblin actually *uses* setuptools in the package itself, or more
specifically pkg_resources which allows you to find the paths of static
files bundled directly with python modules.

So unless we know we don't need the input, we should maybe include this
in the normal inputs?  But I'm unsure.  Anyway, it seems fine in this
case.

>> +   ("python-feedgenerator" ,python-feedgenerator)
>> +   ("python-jinja2" ,python-jinja2)
>> +   ("python-pygments" ,python-pygments)
>> +   ("python-docutils" ,python-docutils)
>> +   ("python-pytz" ,python-pytz)
>> +   ("python-blinker" ,python-blinker)
>> +   ("python-unidecode" ,python-unidecode)
>> +   ("python-six" ,python-six)
>> +   ("python-dateutil-2" ,python-dateutil-2)))
>
> If Pelican is simply meant to be used as a command-line tool, this is
> fine.  Otherwise, if it’s meant as a Python library (or both), these
> probably need to be moved to ‘propagated-inputs’.

It's a command line tool.

>> +(arguments
>> + `(;; Requires a lot more packages to do unit tests :P
>> +   #:tests? #f
>
> Add “XXX” to make it more prominent.  :-)

Done

>> +(synopsis
>> + "Python-based static site publishing system")
>
> Keep it on a single line.

Done

>> +(description
>> + "A tool to generate a static blog from reStructuredText, Markdown 
>> input files,
>
> “Pelican is a tool...”

Done

>> +;; No indication that this is "or later" in the source,
>> +;; must assume AGPLv3 only
>> +(license agpl3)))
>
> Unless the license version is explicitly specified somewhere, the
> recipient can use any version of the license (per Section 14 of GPLv3),
> which we’d translate it as ‘agpl3+’ here.

That's good news!  And I didn't know about that!

> Could you send an updated patch?
>
> TIA,
> Ludo’.

Done!  And thank you!

>From c63307bdab42e5f9bed16a7d8263578063158902 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber 
Date: Fri, 10 Jul 2015 16:28:01 -0500
Subject: [PATCH 2/2] gnu: Add python-pelican

* gnu/packages/python.scm (python-pelican): New variables.
---
 gnu/packages/python.scm | 52 -
 1 file changed, 51 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 12d8c35..b8d684b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -28,7 +28,7 @@
 (define-module (gnu packages python)
   #:use-module ((guix licenses)
 #:select (asl2.0 bsd-4 bsd-3 bsd-2 non-copyleft cc0 x11 x11-style
-  gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ agpl3
+  gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ agpl3+
   psfl public-domain x11-style))
   #:use-module ((guix licenses) #:select (expat zlib) #:prefix license:)
   #:use-module (gnu packages)
@@ -2185,6 +2185,56 @@ interested parties to subscribe to events, or \"signals\".")
 (define-public python2-blinker
   (package-with-python2 python-blinker))
 
+(define-public python-pelican
+  (package
+(name "python-pelican")
+(version "3.6.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ "https://pypi.python.org/packages/source/p/pelican/pelican-";
+ version
+ ".tar.gz"))
+   (sha256
+(base32
+ "0lbkk902mqxpp452pp76n6qcjv6f99lq2zl204xmqyzcan9zr3ps"
+(build-system python-build-system)
+(native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+(inputs
+ `(("python-feedgenerator" ,python-feedgenerator)
+   ("python-jinja2" ,python-jinja2)
+   ("python-pygments" ,python-pygments)
+   ("python-docutils" ,python-docutils)
+   ("python-pytz" ,python-pytz)
+   ("python-blinker" ,python-blinker)
+   ("python-unidecode" ,python-unidecode)
+   ("python-six" ,python-six)
+   ("python-dateutil-2" ,python-dateutil-2)))
+(home-page "http://getpelican.com/";)
+(arguments
+ `(;; XXX Requires a lot more packages to do unit tests :P
+   #:tests? #f
+   #:phases (modify-phases %standard-phases
+  (add-before
+   'install 'adjust-requires
+   ;; Since feedgenerator is installed from git,
+   ;; it doesn't conform to the version requirements.
+   ;;
+   ;; We *do have* "feedgenerator >= 1.6", but strip off the
+   ;; version requirement so setuptools doesn't get confused.
+   (lambda _
+ (substitute* "setup.py"
+   (("['\"]feedgenerator.*?['\"]")
+"'feedgenerator'")

Re: Texinfo in descriptions?

2015-07-21 Thread Mathieu Lirzin
l...@gnu.org (Ludovic Courtès) writes:
> However, as I wrote, this would be an important change, and I wouldn’t
> know how to handle translations (basically ‘xgettext’ would not work
> here.)  That also entails quite some work on the UI side: rendering,
> --search handling, etc.

Yeah, I don't know how to make that work too.

> That said, it just occurred to me that we have one solution that could
> work without too much work: Texinfo.  The (texinfo) modules in Guile are
> good enough for our purposes (parsing, plain-text rendering, etc.), so
> we could use simple markup like @code, @itemize, etc.  Descriptions
> would remain plain strings, amenable to extraction by ‘xgettext’ (though
> we’d need to check with the TP whether adding Texinfo markup is OK.)
>
> What do people think?  Anyone willing to give it a try?

As much as I would appreciate texinfo markup in that context, I think it
will still confuse our translator friends.  In 
(info "(gettext)Preparing Strings") we can found this:

--8<---cut here---start->8---
   Unusual markup or control characters should not be used in
translatable strings.  Translators will likely not understand the
particular meaning of the markup or control characters.

   For example, if you have a convention that ‘|’ delimits the left-hand
and right-hand part of some GUI elements, translators will often not
understand it without specific comments.  It might be better to have the
translator translate the left-hand and right-hand part separately.

[...]

   HTML markup, however, is common enough that it’s probably ok to use
in translatable strings.  But please bear in mind that the GNU gettext
tools don’t verify that the translations are well-formed HTML.
--8<---cut here---end--->8---

Sure HTML markup will not be pretty, but at least it will not encourage
people to put lists everywhere (for example for listing features instead
of describing what the package is doing).

On the same info node we can find this ...

--8<---cut here---start->8---
   Many GNU programs have a ‘--help’ output that extends over several
screen pages.  It is a courtesy towards the translators to split such a
message into several ones of five to ten lines each.  While doing that,
you can also attempt to split the documented options into groups, such
as the input options, the output options, and the informative output
options.  This will help every user to find the option he is looking
for.
--8<---cut here---end--->8---

... which can give the idea that formatting in a translatable string is
acceptable.  So eventually I don't know what to think of all of
this. (except that I'm not in favour of using '•')

My secret dream is that descriptions (and their translation) would be
managed directly in the FSD (Free Software Directory) so that we can
import those directly and care only about the building and deployment
process ;).

--
Mathieu Lirzin



Re: Using a shared Guix store (was RE: [Bio-packaging] testing out guix)

2015-07-21 Thread Ricardo Wurmus
> I have resolved a main issue by having /gnu mounted without root
> squashing and running gnu-daemon as root, as strongly suggested after
> building with `./configure --localstatedir=/gnu/var
> --exec-prefix=/gnu`
>
> And  I am proceeding largely happily.
>
> So WOOHOO and WHOOWHEE and general applause, cheers, and well-wishing 
> from all quarters.

Woo!  That’s great!
Glad it’s working for you.

~~ Ricardo




RE: Using a shared Guix store (was RE: [Bio-packaging] testing out guix)

2015-07-21 Thread Cook, Malcolm
Hi,

I have resolved a main issue by having /gnu mounted without root squashing and 
running gnu-daemon as root, as strongly suggested after building with 
`./configure --localstatedir=/gnu/var --exec-prefix=/gnu`

And  I am proceeding largely happily.

So WOOHOO and WHOOWHEE and general applause, cheers, and well-wishing from 
all quarters.

Thanks for everyone's advice and help.

I will start new threads with other issues.

Ludo, did I tell you, as you asked, I did build guix from master also without 
any FAILS and only SKIPPED one test, containers.scm.

~Malcolm



> -Original Message-
> From: Cook, Malcolm
> Sent: Monday, July 20, 2015 5:38 PM
> To: 'Ludovic Courtès'
> Cc: 'Ricardo Wurmus'; 'Guix-devel'; 'Pjotr Prins'; 'bio-
> packag...@mailman.open-bio.org'
> Subject: RE: Using a shared Guix store (was RE: [Bio-packaging] testing out
> guix)
> 
> > > However
> > >
> > >   ./pre-inst-env guix package -i hello
> > >
> > > Gives me
> > >
> > >   guix package: error: build failed: the build users group
> > > `guix-builder' has no members
> > >
> > > But, but, I do have a group `guix-builder`
> > >
> > > I think the problem may be that my guix-builder group was defined in
> > > NIS
> > whereas its members are not in NIS.
> >
> > What does ‘getenv group guix-builder’ return?  It should show
> > something
> > like:
> > guixbuild:x:3:guixbuilder01,guixbuilder02,guixbuilder03,guixbuilde
> > r04,gu
> > ixbuilder05,guixbuilder06,guixbuilder07,guixbuilder08,guixbuilder09,gu
> > ixbuild
> > er10
> 
> Answered below
> 
> > Each build account must have ‘guix-builder’ in its supplementary group list.
> >
> > > The daemon is running as user `guix` on host  ${GUIXHOST}
> >
> > The daemon really needs to run as root, if possible:
> >
> >   http://www.gnu.org/software/guix/manual/html_node/Build-
> > Environment-Setup.html
> 
> I guess my issues are arising from challenging this (soft?) requirement.
> 
> My SA has provided me /gnu as NFS network share owned by network user
> `guix` and group owned by `guix-builder`.
> 
> However it is 'root squashed' on all servers, including my GUIX_HOST.  In
> other works, the root account cannot write to it.
> 
> For this reason, I have tried
> 
>   ./configure --prefix=/gnu
> 
> rather than the suggested
> 
>   ./configure --localstatedir=/gnu/var --exec-prefix=/gnu
> 
> Since this suggestion results in `make install` needed to write to both the
> root-squashed network share and /usr/local which can only be done by root,
> an impossibility.
> 
> Or am I thinking about this wrong?
> 
> --prefix=/gnu has some additional advantage of getting the /share directory
> network wide, as presumably should be /etc/bashy_completion.d
> 
> I am making guix from fresh `git pull` master passing all tests (except for
> SKIPPING the container test thanks to recent commit - last week it was failing
> this one)
> 
> However, with this configuration, after install, and running the daemon as
> user 'guix', I now get:
> 
>   bash-4.2$ guix build hello
>   guix build: error: build failed: acquiring/releasing lock: No locks
> available
> 
> Oh, right, and, I am still doing by hand:
>   su -c 'mkdir /gnu/var/guix/profiles/per-user; chmod a+rwx
> /gnu/var/guix/profiles/per-user' - guix
> 
> So, I think if I knew a little more about guix internals, I would expect that 
> I
> could figure out a ./configuration that allows /gnu to reside on root-squashed
> network share.
> 
> Ricardo, you seem to have something _like_ this working.  I'm guessing that
> your /gnu was local to your GUIXHOST, and so you did not need to solve this
> root squash issue.
> 
> Ricard & Ludo, do you mind thinking this through a little further with me?
> 
> Here is current my account setup
> 
>   getent group guix-builder
>   guix-builder:!:20302:guix-builder1,guix-builder2,guix-builder3,guix-
> builder4,guix-builder5,guix-builder6,guix-builder7,guix-builder8,guix-
> builder9,guix-builder10
> 
>   getent passwd guix
>   guix:$1$E5Ru3NpE$wZZY.cM8TwbRMHBI1UP110:3036:20302:Guix
> build user:/var/empty:/bin/bash
> 
>   getent passwd guix-builder1 ## and all the other guix-builder
>   guix-builder1:!!:3048:20302:Guix build user
> 1:/var/empty:/sbin/nologin
> 
> 
> ~Malcolm
> 
> 
> >
> > > However trying to --install is not successful
> > >
> > >   /gnu/bin/guix package --install hello
> > >   accepted connection from pid 26597, uid 1232
> > >   error: while creating directory `/gnu/var/guix/profiles/per-
> > user/mec': Permission denied
> > >   Please create the `/gnu/var/guix/profiles/per-user/mec' directory,
> > with you as the owner.
> > >   Try "info '(guix) Invoking guix package'" for more information.
> > >
> > > Which leads me to think the documentation is in error where it says
> > > "The
> > per-user directory is created when guix-daemon is started".
> >
> > Well, /var/guix/profiles/per-user is created by the daemon, but
> > .../mec is created by ‘guix package’.
> >
>

Re: [PATCH] gnu: teckit: Update to 2.5.4.

2015-07-21 Thread Andreas Enge
On Sun, Jul 19, 2015 at 12:46:50PM -0400, Mark H Weaver wrote:
> If that's because of the shebang in autogen.sh itself, then the easy
> solution to that problem is to do (system* "sh" "autogen.sh").  It has
> to be done after 'unpack', not before 'configure', because otherwise
> 'patch-usr-bin-file' won't be able to do its job on the generated
> ./configure script, which tends to cause problems on non-Intel
> platforms.

Thanks, Mark, for explaining it again! I followed your advice, and will
push the patch after the release.

Andreas




Re: Last-minute testing

2015-07-21 Thread Ludovic Courtès
ajpat...@uwaterloo.ca skribis:

> Quoting Ludovic Courtès :

[...]

>> Also, the user?s home directory should definitely be created
>> automatically.
>
> My partition layout has separate /, /home, /boot. I specified these in
> config.scm, but should I have also mounted them (or at least /home)
> before system init?

No no.

I think you found a genuine bug: ‘useradd’ (which creates the home dirs)
is invoked typically during boot, at a time where /home is not mounted
yet.  Thus, it probably created the home directory on the root file
system.

There’s no trivial fix, though.  Could you email that to
bug-g...@gnu.org so we keep track of it?

Thanks,
Ludo’.



Re: Last-minute testing

2015-07-21 Thread Ludovic Courtès
Adam Pribyl  skribis:

> On Tue, 21 Jul 2015, ajpat...@uwaterloo.ca wrote:
>
>> Quoting Ludovic Courtès :
>>
>>>
>>> As it turns out, ?root? is initialized with an empty password, and for
>>> other users, you shouldn?t use the ?password? field of up
>>> ?user-account?.
>>>
>>> 
>>> tries to make that clear, but perhaps there?s misleading info somewhere?
>>
>>
>> Ah, ok. The only reason I thought it might be wrong was because it
>> didn't work right away. I actually figured out the problem (the lack
>> of a home directory) as I was writing the email.
>>
>>> Also, the user?s home directory should definitely be created
>>> automatically.
>>
>> My partition layout has separate /, /home, /boot. I specified these
>> in config.scm, but should I have also mounted them (or at least
>> /home) before system init?
>>
>> Thanks,
>>
>> Andy
>
>
> I have a password "" and (home-directory "/home/user")
> in users list for some time. This works OK.

Right, the empty string is OK.

> Home dirs are not created by default and this sets password to empty.

Home directories *are* created by default, but they are created at
“activation time”, which means on the first boot or upon ‘guix system
reconfigure’.

Ludo’.



Re: Last-minute testing

2015-07-21 Thread Adam Pribyl

On Tue, 21 Jul 2015, ajpat...@uwaterloo.ca wrote:


Quoting Ludovic Courtès :



As it turns out, ?root? is initialized with an empty password, and for
other users, you shouldn?t use the ?password? field of up
?user-account?.


tries to make that clear, but perhaps there?s misleading info somewhere?



Ah, ok. The only reason I thought it might be wrong was because it didn't 
work right away. I actually figured out the problem (the lack of a home 
directory) as I was writing the email.



Also, the user?s home directory should definitely be created
automatically.


My partition layout has separate /, /home, /boot. I specified these in 
config.scm, but should I have also mounted them (or at least /home) before 
system init?


Thanks,

Andy



I have a password "" and (home-directory "/home/user")
in users list for some time. This works OK. Home dirs are not created by 
default and this sets password to empty.


Adam Pribyl

Re: [PATCH] gnu: Add hoedown.

2015-07-21 Thread Thompson, David
On Tue, Jul 21, 2015 at 2:53 PM, Mark H Weaver  wrote:
> David Thompson  writes:
>
>> From 567748faa4e3e03fe9b106a8ea61843a2d31409d Mon Sep 17 00:00:00 2001
>> From: David Thompson 
>> Date: Sun, 19 Jul 2015 10:41:34 -0400
>> Subject: [PATCH] gnu: Add hoedown.
>
> Sorry for not reviewing this earlier, but...
>
>> + '(#:phases (modify-phases %standard-phases
>> +  (add-before 'build 'fix-makefile
>> +  (lambda* (#:key outputs #:allow-other-keys)
>> +(setenv "CC" "gcc")
>> +(substitute* '("Makefile")
>> +  (("/usr/local")
>> +   (assoc-ref outputs "out")))
>> +#t))
>
> Instead of the 'fix-makefile' phase, you can simply do this:
>
>   #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
>
> I tested the following patch, and it works.

Thank you, feel free to apply it or I can do it later.

- Dave



Re: [PATCH] gnu: Add hoedown.

2015-07-21 Thread Mark H Weaver
David Thompson  writes:

> From 567748faa4e3e03fe9b106a8ea61843a2d31409d Mon Sep 17 00:00:00 2001
> From: David Thompson 
> Date: Sun, 19 Jul 2015 10:41:34 -0400
> Subject: [PATCH] gnu: Add hoedown.

Sorry for not reviewing this earlier, but...

> + '(#:phases (modify-phases %standard-phases
> +  (add-before 'build 'fix-makefile
> +  (lambda* (#:key outputs #:allow-other-keys)
> +(setenv "CC" "gcc")
> +(substitute* '("Makefile")
> +  (("/usr/local")
> +   (assoc-ref outputs "out")))
> +#t))

Instead of the 'fix-makefile' phase, you can simply do this:

  #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))

I tested the following patch, and it works.

  Mark


diff --git a/gnu/packages/markdown.scm b/gnu/packages/markdown.scm
index 58ca102..ee0edfc 100644
--- a/gnu/packages/markdown.scm
+++ b/gnu/packages/markdown.scm
@@ -38,14 +38,8 @@
"0mmmkfayqgh6k39kbi3pq68mg03x35aiygy3zypxzvwx9y8b53ky"
 (build-system gnu-build-system)
 (arguments
- '(#:phases (modify-phases %standard-phases
-  (add-before 'build 'fix-makefile
-  (lambda* (#:key outputs #:allow-other-keys)
-(setenv "CC" "gcc")
-(substitute* '("Makefile")
-  (("/usr/local")
-   (assoc-ref outputs "out")))
-#t))
+ '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
+   #:phases (modify-phases %standard-phases
   (delete 'configure)) ; no configure script
#:test-target "test"))
 (native-inputs



Re: [PATCH] Attempt to fix OpenBLAS on MIPS.

2015-07-21 Thread Mark H Weaver
Mark H Weaver  writes:

> Ricardo Wurmus  writes:
>
>> Attached is a patch that *might* fix the build of OpenBLAS on MIPS.
>>
>> The LOONGSON3A and LOONGSON3B targets both enable the use of special
>> extended instructions which may not be available on other MIPS CPUs.
>> This patch forces the SICORTEX target to be used, which should limit the
>> code to only standard MIPS instructions.
>>
>> I don’t know if this would actually work and I note that SICORTEX is
>> listed as a “mips” target, rather than “mips64”, so maybe this is doomed
>> to fail.  I would appreciate it if someone with a MIPS machine could
>> test this patch.
>
> With this patch, openblas builds successfully on mips64el, although I
> cannot say whether it works, since there are no tests.

I've since learned that normally tests are run during the 'build' phase,
but that doesn't seem to be happening anymore on MIPS with this new
patch applied.  Here's the transcript of the end of the build phase:

--8<---cut here---start->8---
ar  -ru ../libopenblas_mipsp-r0.2.14.a samax_k.o samin_k.o smax_k.o smin_k.o 
isamax_k.o isamin_k.o ismax_k.o ismin_k.o sasum_k.o saxpy_k.o scopy_k.o 
sdot_k.o sdsdot_k.o dsdot_k.o snrm2_k.o srot_k.o sscal_k.o sswap_k.o saxpby_k.o 
sgemv_n.o sgemv_t.o ssymv_U.o ssymv_L.o sger_k.o sgemm_kernel.o sgemm_incopy.o 
sgemm_itcopy.o sgemm_oncopy.o sgemm_otcopy.o sgemm_beta.o strmm_kernel_LN.o 
strmm_kernel_LT.o strmm_kernel_RN.o strmm_kernel_RT.o strsm_kernel_LN.o 
strsm_kernel_LT.o strsm_kernel_RN.o strsm_kernel_RT.o strmm_iunucopy.o 
strmm_iunncopy.o strmm_ilnucopy.o strmm_ilnncopy.o strmm_iutucopy.o 
strmm_iutncopy.o strmm_iltucopy.o strmm_iltncopy.o strmm_ounucopy.o 
strmm_ounncopy.o strmm_olnucopy.o strmm_olnncopy.o strmm_outucopy.o 
strmm_outncopy.o strmm_oltucopy.o strmm_oltncopy.o strsm_iunucopy.o 
strsm_iunncopy.o strsm_ilnucopy.o strsm_ilnncopy.o strsm_iutucopy.o 
strsm_iutncopy.o strsm_iltucopy.o strsm_iltncopy.o strsm_ounucopy.o 
strsm_ounncopy.o strsm_olnucopy.o strsm_olnncopy.o strsm_outucopy.o 
strsm_outncopy.o strsm_oltucopy.o strsm_oltncopy.o ssymm_iutcopy.o 
ssymm_iltcopy.o ssymm_outcopy.o ssymm_oltcopy.o somatcopy_k_cn.o 
somatcopy_k_rn.o somatcopy_k_ct.o somatcopy_k_rt.o sgeadd_k.o damax_k.o 
damin_k.o dmax_k.o dmin_k.o idamax_k.o idamin_k.o idmax_k.o idmin_k.o dasum_k.o 
daxpy_k.o dcopy_k.o ddot_k.o dnrm2_k.o drot_k.o dscal_k.o dswap_k.o daxpby_k.o 
dgemv_n.o dgemv_t.o dsymv_U.o dsymv_L.o dger_k.o dgemm_kernel.o dgemm_incopy.o 
dgemm_itcopy.o dgemm_oncopy.o dgemm_otcopy.o dgemm_beta.o dtrmm_kernel_LN.o 
dtrmm_kernel_LT.o dtrmm_kernel_RN.o dtrmm_kernel_RT.o dtrsm_kernel_LN.o 
dtrsm_kernel_LT.o dtrsm_kernel_RN.o dtrsm_kernel_RT.o dtrmm_iunucopy.o 
dtrmm_iunncopy.o dtrmm_ilnucopy.o dtrmm_ilnncopy.o dtrmm_iutucopy.o 
dtrmm_iutncopy.o dtrmm_iltucopy.o dtrmm_iltncopy.o dtrmm_ounucopy.o 
dtrmm_ounncopy.o dtrmm_olnucopy.o dtrmm_olnncopy.o dtrmm_outucopy.o 
dtrmm_outncopy.o dtrmm_oltucopy.o dtrmm_oltncopy.o dtrsm_iunucopy.o 
dtrsm_iunncopy.o dtrsm_ilnucopy.o dtrsm_ilnncopy.o dtrsm_iutucopy.o 
dtrsm_iutncopy.o dtrsm_iltucopy.o dtrsm_iltncopy.o dtrsm_ounucopy.o 
dtrsm_ounncopy.o dtrsm_olnucopy.o dtrsm_olnncopy.o dtrsm_outucopy.o 
dtrsm_outncopy.o dtrsm_oltucopy.o dtrsm_oltncopy.o dsymm_iutcopy.o 
dsymm_iltcopy.o dsymm_outcopy.o dsymm_oltcopy.o domatcopy_k_cn.o 
domatcopy_k_rn.o domatcopy_k_ct.o domatcopy_k_rt.o dgeadd_k.o camax_k.o 
camin_k.o icamax_k.o icamin_k.o casum_k.o caxpy_k.o caxpyc_k.o ccopy_k.o 
cdotc_k.o cdotu_k.o cnrm2_k.o csrot_k.o cscal_k.o cswap_k.o caxpby_k.o 
cgemv_n.o cgemv_t.o cgemv_r.o cgemv_c.o cgemv_o.o cgemv_u.o cgemv_s.o cgemv_d.o 
csymv_U.o csymv_L.o chemv_U.o chemv_L.o chemv_V.o chemv_M.o cgeru_k.o cgerc_k.o 
cgerv_k.o cgerd_k.o cgemm_kernel_n.o cgemm_kernel_r.o cgemm_kernel_l.o 
cgemm_kernel_b.o cgemm_incopy.o cgemm_itcopy.o cgemm_oncopy.o cgemm_otcopy.o 
cgemm_beta.o ctrmm_kernel_LN.o ctrmm_kernel_LT.o ctrmm_kernel_LR.o 
ctrmm_kernel_LC.o ctrmm_kernel_RN.o ctrmm_kernel_RT.o ctrmm_kernel_RR.o 
ctrmm_kernel_RC.o ctrsm_kernel_LN.o ctrsm_kernel_LT.o ctrsm_kernel_LR.o 
ctrsm_kernel_LC.o ctrsm_kernel_RN.o ctrsm_kernel_RT.o ctrsm_kernel_RR.o 
ctrsm_kernel_RC.o ctrmm_iunucopy.o ctrmm_iunncopy.o ctrmm_ilnucopy.o 
ctrmm_ilnncopy.o ctrmm_iutucopy.o ctrmm_iutncopy.o ctrmm_iltucopy.o 
ctrmm_iltncopy.o ctrmm_ounucopy.o ctrmm_ounncopy.o ctrmm_olnucopy.o 
ctrmm_olnncopy.o ctrmm_outucopy.o ctrmm_outncopy.o ctrmm_oltucopy.o 
ctrmm_oltncopy.o ctrsm_iunucopy.o ctrsm_iunncopy.o ctrsm_ilnucopy.o 
ctrsm_ilnncopy.o ctrsm_iutucopy.o ctrsm_iutncopy.o ctrsm_iltucopy.o 
ctrsm_iltncopy.o ctrsm_ounucopy.o ctrsm_ounncopy.o ctrsm_olnucopy.o 
ctrsm_olnncopy.o ctrsm_outucopy.o ctrsm_outncopy.o ctrsm_oltucopy.o 
ctrsm_oltncopy.o csymm_iutcopy.o csymm_iltcopy.o csymm_outcopy.o 
csymm_oltcopy.o chemm_iutcopy.o chemm_iltcopy.o chemm_outcopy.o chemm_oltcopy.o 
comatcopy_k_cn.o comatcopy_k_rn.o comatcopy_k_ct.o comatcopy_k_rt.o 
comatcopy_k_cnc.o comatcopy_k_rnc.o comatcopy_k_ctc.o comatcopy_k_

Re: Last-minute testing

2015-07-21 Thread ajpatter

Quoting Ludovic Courtès :



As it turns out, ?root? is initialized with an empty password, and for
other users, you shouldn?t use the ?password? field of up
?user-account?.


tries to make that clear, but perhaps there?s misleading info somewhere?



Ah, ok. The only reason I thought it might be wrong was because it  
didn't work right away. I actually figured out the problem (the lack  
of a home directory) as I was writing the email.



Also, the user?s home directory should definitely be created
automatically.


My partition layout has separate /, /home, /boot. I specified these in  
config.scm, but should I have also mounted them (or at least /home)  
before system init?


Thanks,

Andy





Re: [PATCH 1/3] gnu: man-db: Pass --with-col to configure.

2015-07-21 Thread Ludovic Courtès
Alex Kost  skribis:

> BTW (a note for Ludovic), the current man behaviour "breaks" completions
> of many commands provided by "pcmpl-args" emacs package, because
> 'pcmpl-args-extract-argspecs-from-manpage' can't parse a man page to find
> completions.  For example, "sudo --" (in shell-mode) doesn't complete
> anything.  After this patch it should work.

Aah, great, thanks for nailing it down.

Ludo’.



Re: Last-minute testing

2015-07-21 Thread Ludovic Courtès
Andy Patterson  skribis:

> I tested it out last night. I got it to install; it boots fine; I can
> log in as root; things work. Unfortunately I left out a password in my
> config.scm for the user account I wanted to create. I tried changing
> this quickly with passwd, but this caused the session manager to fail
> when logging in as the user. This was because a home directory wasn't
> created for my user; once I added one manually I was able to log in. I
> also tried "guix system reconfigure" with a password added to
> config.scm, but this failed when installing new packages. Unfortunately
> I've lost the specific message I received; I can try it again tonight.
> It might be nice to document for users that a password should be
> supplied in the config file; I initially had hoped it would be empty.

As it turns out, ‘root’ is initialized with an empty password, and for
other users, you shouldn’t use the ‘password’ field of up
‘user-account’.


tries to make that clear, but perhaps there’s misleading info somewhere?

Also, the user’s home directory should definitely be created
automatically.

Thanks for your feedback!

Ludo’.



Re: [PATCH] Attempt to fix OpenBLAS on MIPS.

2015-07-21 Thread Mark H Weaver
Ricardo Wurmus  writes:

> Attached is a patch that *might* fix the build of OpenBLAS on MIPS.
>
> The LOONGSON3A and LOONGSON3B targets both enable the use of special
> extended instructions which may not be available on other MIPS CPUs.
> This patch forces the SICORTEX target to be used, which should limit the
> code to only standard MIPS instructions.
>
> I don’t know if this would actually work and I note that SICORTEX is
> listed as a “mips” target, rather than “mips64”, so maybe this is doomed
> to fail.  I would appreciate it if someone with a MIPS machine could
> test this patch.

With this patch, openblas builds successfully on mips64el, although I
cannot say whether it works, since there are no tests.

Is there a (preferably not huge) package that uses openblas and has a
test suite that I could try?

  Mark



Re: [PATCH 3/3] gnu: man-db: Update to 2.7.1.

2015-07-21 Thread Thompson, David
On Tue, Jul 21, 2015 at 10:58 AM, Alex Kost  wrote:
> The new version tries to create "/usr/lib/tmpfiles.d" during install
> phase, so I added "--with-systemdtmpfilesdir=" flag.  Unhappily there is
> no "--disable-systemd" or alike.
>

LGTM.

- Dave



Re: [PATCH 1/3] gnu: man-db: Pass --with-col to configure.

2015-07-21 Thread Thompson, David
On Tue, Jul 21, 2015 at 10:57 AM, Alex Kost  wrote:
> Quote from "man man":
>
> --8<---cut here---start->8---
> Normally, when output is not being directed to a terminal (such as to a
> file or a pipe), formatting characters are discarded to make it easier
> to read the result without special tools.
> --8<---cut here---end--->8---
>
> However it does not happen with the current "man", as may be checked for
> example by evaluating the following in Emacs:
>
> (let ((buf (get-buffer-create "*man true*")))
>   (with-current-buffer buf
> (call-process "man" nil t nil "true"))
>   (pop-to-buffer buf))
>
> As you can see there are escape sequences (such as "^[[1m") there, which
> shouldn't happen.  Configuring man-db "--with-col" fixes the issue (at
> least for me).
>
> BTW (a note for Ludovic), the current man behaviour "breaks" completions
> of many commands provided by "pcmpl-args" emacs package, because
> 'pcmpl-args-extract-argspecs-from-manpage' can't parse a man page to find
> completions.  For example, "sudo --" (in shell-mode) doesn't complete
> anything.  After this patch it should work.

Nice catch.  LGTM!

- Dave



Re: [PATCH 2/3] gnu: libpipeline: Update to 1.4.0.

2015-07-21 Thread Thompson, David
On Tue, Jul 21, 2015 at 10:57 AM, Alex Kost  wrote:
> There were no problems with this update.

LGTM.  Please push.

- Dave



[PATCH 3/3] gnu: man-db: Update to 2.7.1.

2015-07-21 Thread Alex Kost
The new version tries to create "/usr/lib/tmpfiles.d" during install
phase, so I added "--with-systemdtmpfilesdir=" flag.  Unhappily there is
no "--disable-systemd" or alike.

>From f1aaef17f561e77b0178ec260e400830ee963bf7 Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Tue, 21 Jul 2015 17:15:09 +0300
Subject: [PATCH 3/3] gnu: man-db: Update to 2.7.1.

* gnu/packages/man.scm (man-db): Update to 2.7.1.
  [arguments]: Add '--with-systemdtmpfilesdir' to configure flags.
---
 gnu/packages/man.scm | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index dce117e..2606006 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -56,14 +56,14 @@ a flexible and convenient way.")
 (define-public man-db
   (package
 (name "man-db")
-(version "2.6.6")
+(version "2.7.1")
 (source (origin
   (method url-fetch)
   (uri (string-append "mirror://savannah/man-db/man-db-"
   version ".tar.xz"))
   (sha256
(base32
-"1hv6byj6sg6cp3jyf08gbmdm4pwhvd5hzmb94xl0w7prin6hzabx"
+"03ly0hbpgjnag576rgccanaisn7f6422q5qxrj64vyzslc2651y4"
 (build-system gnu-build-system)
 (arguments
  '(#:phases
@@ -92,7 +92,11 @@ a flexible and convenient way.")
(string-append "--with-gzip=" gzip "/bin/gzip")
(string-append "--with-bzip2=" bzip2 "/bin/gzip")
(string-append "--with-xz=" xz "/bin/xz")
-   (string-append "--with-col=" util "/bin/col"))
+   (string-append "--with-col=" util "/bin/col")
+   ;; Default value is "/usr/lib/tmpfiles.d" (not
+   ;; prefix-sensitive).
+   (string-append "--with-systemdtmpfilesdir="
+  %output "/lib/tmpfiles.d"))
  (map (lambda (prog)
 (string-append "--with-" prog "=" groff "/bin/" prog))
   '("nroff" "eqn" "neqn" "tbl" "refer" "pic"
-- 
2.4.3



[PATCH 1/3] gnu: man-db: Pass --with-col to configure.

2015-07-21 Thread Alex Kost
Quote from "man man":

--8<---cut here---start->8---
Normally, when output is not being directed to a terminal (such as to a
file or a pipe), formatting characters are discarded to make it easier
to read the result without special tools.
--8<---cut here---end--->8---

However it does not happen with the current "man", as may be checked for
example by evaluating the following in Emacs:

(let ((buf (get-buffer-create "*man true*")))
  (with-current-buffer buf
(call-process "man" nil t nil "true"))
  (pop-to-buffer buf))

As you can see there are escape sequences (such as "^[[1m") there, which
shouldn't happen.  Configuring man-db "--with-col" fixes the issue (at
least for me).

BTW (a note for Ludovic), the current man behaviour "breaks" completions
of many commands provided by "pcmpl-args" emacs package, because
'pcmpl-args-extract-argspecs-from-manpage' can't parse a man page to find
completions.  For example, "sudo --" (in shell-mode) doesn't complete
anything.  After this patch it should work.

>From 2b2e4b79fa37f50587d195792df4e00b743acf1a Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Tue, 21 Jul 2015 17:04:10 +0300
Subject: [PATCH 1/3] gnu: man-db: Pass --with-col to configure.

* gnu/packages/man.scm (man-db)[inputs]: Add 'util-linux'.
  [arguments]: Add '--with-col' to configure flags.
---
 gnu/packages/man.scm | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 3173fac..16b891c 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -30,7 +30,8 @@
   #:use-module (gnu packages less)
   #:use-module (gnu packages lynx)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages linux))
 
 (define-public libpipeline
   (package
@@ -82,14 +83,16 @@ a flexible and convenient way.")
(let ((groff (assoc-ref %build-inputs "groff"))
  (less  (assoc-ref %build-inputs "less"))
  (gzip  (assoc-ref %build-inputs "gzip"))
- (bzip2  (assoc-ref %build-inputs "bzip2"))
- (xz  (assoc-ref %build-inputs "xz")))
+ (bzip2 (assoc-ref %build-inputs "bzip2"))
+ (xz(assoc-ref %build-inputs "xz"))
+ (util  (assoc-ref %build-inputs "util-linux")))
  ;; Invoke groff, less, gzip, bzip2, and xz directly from the store.
  (append (list "--disable-setuid" ;; Disable setuid man user.
(string-append "--with-pager=" less "/bin/less")
(string-append "--with-gzip=" gzip "/bin/gzip")
(string-append "--with-bzip2=" bzip2 "/bin/gzip")
-   (string-append "--with-xz=" xz "/bin/xz"))
+   (string-append "--with-xz=" xz "/bin/xz")
+   (string-append "--with-col=" util "/bin/col"))
  (map (lambda (prog)
 (string-append "--with-" prog "=" groff "/bin/" prog))
   '("nroff" "eqn" "neqn" "tbl" "refer" "pic"
@@ -103,7 +106,8 @@ a flexible and convenient way.")
("gdbm" ,gdbm)
("groff" ,groff)
("less" ,less)
-   ("libpipeline" ,libpipeline)))
+   ("libpipeline" ,libpipeline)
+   ("util-linux" ,util-linux)))
 (native-search-paths
  (list (search-path-specification
 (variable "MANPATH")
-- 
2.4.3



[PATCH 2/3] gnu: libpipeline: Update to 1.4.0.

2015-07-21 Thread Alex Kost
There were no problems with this update.

>From 8c2647c990c38405929fa08b10d659d397e1d055 Mon Sep 17 00:00:00 2001
From: Alex Kost 
Date: Tue, 21 Jul 2015 17:13:08 +0300
Subject: [PATCH 2/3] gnu: libpipeline: Update to 1.4.0.

* gnu/packages/man.scm (libpipeline): Update to 1.4.0.
---
 gnu/packages/man.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 16b891c..dce117e 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -36,7 +36,7 @@
 (define-public libpipeline
   (package
 (name "libpipeline")
-(version "1.3.0")
+(version "1.4.0")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -44,7 +44,7 @@
 version ".tar.gz"))
   (sha256
(base32
-"12d6ldcj7kv2nv832b23v97g7035d0ybq0ig7h0yr7xk9czd3z7i"
+"1dlvp2mxlhg5zbj509kc60h7g39hpgwkzkpdf855cyzizgkmkivr"
 (build-system gnu-build-system)
 (home-page "http://libpipeline.nongnu.org/";)
 (synopsis "C library for manipulating pipelines of subprocesses")
-- 
2.4.3



Re: [PATCH] Add aragorn.

2015-07-21 Thread Ricardo Wurmus

Thompson, David  writes:

> On Tue, Jul 21, 2015 at 9:57 AM, Ricardo Wurmus
>  wrote:
>> Something’s wrong with the alignment of the ‘(replace 'install ...)’.
>> If there are no objections I can fix the alignment and push without
>> requesting another version of the patch.
>>
>> But I think I better wait for other comments.
>
> Looks fine to me, sans the alignment.  One additional nitpick is the
> 'string-append' calls.  The newlines should happen *after* the first
> argument, not before.

I fixed the alignment and made a couple of small modifications to
prettify the ‘string-append’ calls.  Pushed as 8dc797f.

Thanks again!

~~ Ricardo



Re: [PATCH] Add (minimal) BioPerl.

2015-07-21 Thread Eric Bavier
On Tue, 21 Jul 2015 10:41:19 +0200
Ricardo Wurmus  wrote:

> +(define-public bioperl-minimal
> +  (let* ((inputs `(("perl-module-build" ,perl-module-build)
> +   ("perl-data-stag" ,perl-data-stag)
> +   ("perl-libwww" ,perl-libwww)
> +   ("perl-uri" ,perl-uri)))
> + (transitive-inputs
> +  (map (compose package-name cadr)
> +   (delete-duplicates
> +(concatenate
> + (map (compose package-transitive-target-inputs
> cadr) inputs))

I think what you're going for here is similar to the
package-propagated-input-refs procedure that was added to (gnu packages
version-control) recently.

A patch I sent to the list earlier would move that procedure to (guix
packages) so that it could be used elsewhere.  It seems to be something
that many other perl-using applications need (e.g. gnucash, clusterssh).

`~Eric



Re: [PATCH] Add aragorn.

2015-07-21 Thread Thompson, David
On Tue, Jul 21, 2015 at 9:57 AM, Ricardo Wurmus
 wrote:
> Something’s wrong with the alignment of the ‘(replace 'install ...)’.
> If there are no objections I can fix the alignment and push without
> requesting another version of the patch.
>
> But I think I better wait for other comments.

Looks fine to me, sans the alignment.  One additional nitpick is the
'string-append' calls.  The newlines should happen *after* the first
argument, not before.

- Dave



Re: [PATCH] Add aragorn.

2015-07-21 Thread Ricardo Wurmus
Something’s wrong with the alignment of the ‘(replace 'install ...)’.
If there are no objections I can fix the alignment and push without
requesting another version of the patch.

But I think I better wait for other comments.



Re: [PATCH] Add aragorn.

2015-07-21 Thread Ben Woodcroft

On 21/07/15 23:40, Ricardo Wurmus wrote:

Other than that it looks fine to me! Thanks!

Ta. Fixed those two things plus some grammar in the description.
>From 4ac97beef55a5321a9990244ebfcdde38051ff9a Mon Sep 17 00:00:00 2001
From: Ben Woodcroft 
Date: Tue, 21 Jul 2015 23:52:31 +1000
Subject: [PATCH] gnu: Add aragorn.

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

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 78cd3ce..8028b49 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -54,6 +54,57 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages zip))
 
+(define-public aragorn
+  (package
+(name "aragorn")
+(version "1.2.36")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/aragorn";
+version ".tgz"))
+  (sha256
+   (base32
+"1dg7jlz1qpqy88igjxd6ncs11ccsirb36qv1z01a0np4i4jh61mb"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; there are no tests
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+  (lambda _
+(zero? (system* "gcc"
+"-O3"
+"-ffast-math"
+"-finline-functions"
+"-o"
+"aragorn"
+(string-append
+ "aragorn" ,version ".c")
+(replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let ((bin (string-append
+   (assoc-ref outputs "out") "/bin"))
+ (man (string-append
+   (assoc-ref outputs "out") "/share/man/man1")))
+ (mkdir-p bin)
+ (copy-file "aragorn"
+(string-append bin "/aragorn"))
+ (mkdir-p man)
+ (copy-file "aragorn.1"
+(string-append man "/aragorn.1")))
+   #t)
+(home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN";)
+(synopsis
+ "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences")
+(description
+ "Aragorn identifies transfer RNA, mitochondrial RNA and
+transfer-messenger RNA from nucleotide sequences, based on homology to known
+tRNA consensus sequences and RNA structure.  It also outputs the secondary
+structure of the predicted RNA.")
+   (license license:gpl2)))
+
 (define-public bamtools
   (package
 (name "bamtools")
-- 
2.4.3



Re: [PATCH] Add aragorn.

2015-07-21 Thread Ricardo Wurmus

Ben Woodcroft  writes:

> +(define-public aragorn
> +  (package
> +(name "aragorn")
> +(version "1.2.36")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +
> "http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/aragorn";
> +version ".tgz"))
> +  (file-name (string-append name "-" version ".tgz"))

Is this really necessary?  The version is included in the tarball name,
it just doesn’t look like “name-version.tgz” but like
“nameversion.tgz”.  I think it could be left off.

> +  (sha256
> +   (base32
> +"1dg7jlz1qpqy88igjxd6ncs11ccsirb36qv1z01a0np4i4jh61mb"
> +(build-system gnu-build-system)
> +(arguments
> + `(#:tests? #f ; there are no tests
> +   #:phases
> +   (modify-phases %standard-phases
> + (delete 'configure)
> + (replace 'build
> +  (lambda _
> +(zero? (system* "gcc"
> +"-O3"
> +"-ffast-math"
> +"-finline-functions"
> +"-o"
> +"aragorn"
> +(string-append
> + "aragorn" ,version ".c")
> +(replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> +   (let ((bin (string-append
> +   (assoc-ref outputs "out") "/bin"))
> + (man (string-append
> +   (assoc-ref outputs "out") "/share/man/man1")))
> + (mkdir-p bin)
> + (copy-file "aragorn"
> +(string-append bin "/aragorn"))
> + (mkdir-p man)
> + (copy-file "aragorn.1"
> +(string-append man "/aragorn.1")))
> +   #t)
> +(home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN";)
> +(synopsis
> + "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences")
> +(description
> + "Aragorn identifies transfer RNA and transfer-messenger RNA sequences 
> from
> +nucleotide sequences, based on homology to known tRNA consensus sequences and
> +RNA structure. It output the secondary structure of the predicted RNA.")

There is a space missing at the end of the sentence.  Double-spacing
should be used.

> +   (license license:gpl2)))
> +

Other than that it looks fine to me!  Thanks!

~~ Ricardo



[PATCH] Add aragorn.

2015-07-21 Thread Ben Woodcroft


>From 12e455874cf563269efc872235738e0ab4848638 Mon Sep 17 00:00:00 2001
From: Ben Woodcroft 
Date: Tue, 21 Jul 2015 23:08:58 +1000
Subject: [PATCH] gnu: Add aragorn.

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

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 78cd3ce..1d226ca 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -54,6 +54,57 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages zip))
 
+(define-public aragorn
+  (package
+(name "aragorn")
+(version "1.2.36")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/aragorn";
+version ".tgz"))
+  (file-name (string-append name "-" version ".tgz"))
+  (sha256
+   (base32
+"1dg7jlz1qpqy88igjxd6ncs11ccsirb36qv1z01a0np4i4jh61mb"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f ; there are no tests
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+  (lambda _
+(zero? (system* "gcc"
+"-O3"
+"-ffast-math"
+"-finline-functions"
+"-o"
+"aragorn"
+(string-append
+ "aragorn" ,version ".c")
+(replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+   (let ((bin (string-append
+   (assoc-ref outputs "out") "/bin"))
+ (man (string-append
+   (assoc-ref outputs "out") "/share/man/man1")))
+ (mkdir-p bin)
+ (copy-file "aragorn"
+(string-append bin "/aragorn"))
+ (mkdir-p man)
+ (copy-file "aragorn.1"
+(string-append man "/aragorn.1")))
+   #t)
+(home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN";)
+(synopsis
+ "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences")
+(description
+ "Aragorn identifies transfer RNA and transfer-messenger RNA sequences from
+nucleotide sequences, based on homology to known tRNA consensus sequences and
+RNA structure. It output the secondary structure of the predicted RNA.")
+   (license license:gpl2)))
+
 (define-public bamtools
   (package
 (name "bamtools")
-- 
2.4.3



Re: Last-minute testing

2015-07-21 Thread Andy Patterson
Hi Ludovic,

I tested it out last night. I got it to install; it boots fine; I can
log in as root; things work. Unfortunately I left out a password in my
config.scm for the user account I wanted to create. I tried changing
this quickly with passwd, but this caused the session manager to fail
when logging in as the user. This was because a home directory wasn't
created for my user; once I added one manually I was able to log in. I
also tried "guix system reconfigure" with a password added to
config.scm, but this failed when installing new packages. Unfortunately
I've lost the specific message I received; I can try it again tonight.
It might be nice to document for users that a password should be
supplied in the config file; I initially had hoped it would be empty.

Thanks. I'm looking forward to the release!

Andy



Re: Last-minute testing

2015-07-21 Thread Daniel Pimentel

On 2015-07-20 19:48, l...@gnu.org wrote:

Hello,

I would be grateful if someone could test this installation image 
within

the next 18 hours (ouch! shame on me!):


http://www.fdn.fr/~lcourtes/software/guix/guixsd-usb-install-0.8.3pre.x86_64-linux.xz
  SHA1: 31f4eef6523509a567b250adafdaf086be5f47a6


http://www.fdn.fr/~lcourtes/software/guix/guixsd-usb-install-0.8.3pre.x86_64-linux.xz.sig

Apart from the URL, the instructions at

should still be valid.

TIA.  :-)

Ludo’.

Great work :)
--
Daniel Pimentel (d4n1 3:)



Re: [PATCH] gnu: cross-base: Disable libcilkrts in cross-gcc.

2015-07-21 Thread Manolis Ragkousis
Updated patch.
From 508b411414809e7185d9c9d7ed782bdddc07c1b5 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis 
Date: Sun, 19 Jul 2015 18:16:51 +0300
Subject: [PATCH] gnu: cross-base: Disable libcilkrts in cross-gcc.

* gnu/packages/cross-base.scm (cross-gcc-arguments): Add "--disable-libcilkrts".
---
 gnu/packages/cross-base.scm | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 4ab3cf0..2e4bd03 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -101,7 +101,9 @@ may be either a libc package or #f.)"
((#:configure-flags flags)
 `(append (list ,(string-append "--target=" target)
,@(if libc
- '()
+ `( ;; Disable libcilkrts because it is not
+;; ported to GNU/Hurd. 
+   "--disable-libcilkrts")
  `( ;; Disable features not needed at this stage.
"--disable-shared" "--enable-static"
 
@@ -117,6 +119,7 @@ may be either a libc package or #f.)"
"--disable-libssp"
"--disable-libquadmath"
"--disable-decimal-float" ;would need libc
+   "--disable-libcilkrts"
)))
 
  ,(if libc
-- 
2.4.6



Re: Last-minute testing

2015-07-21 Thread Ludovic Courtès
Adam Pribyl  skribis:

> I am not following the development thoroughly, here is my quick one:
> 1. downloaded, unpacked, put on USB
> 2. USB boots on a real hw
> 3. my older config.scm needs changes:
> a) dbus and dbus-service unknown, removed them (I should probably use
> desktop-services?),

Yes, they are in (gnu services desktop) now, and yes, you could use
‘%desktop-services’ I suppose.

> b) supplementary-groups separated by space instead comma

I don’t think this has changed.  This should still be:

  (user-account
;; ...
(supplementary-groups '("a" "b" "c")))

> 4. system installs and boots ok

Excellent.

Thank you for testing!

Ludo’.



[PATCH] gnu: cross-base: Add cross-kernel-headers package for cross-gcc.

2015-07-21 Thread Manolis Ragkousis
This patch adds a cross-kernel-headers package wrapper which returns
the headers for the current  target system. It's either the xlinux-headers
for linux, or a union of Mach + Hurd headers with the hurd-minimal libs.

Tested it for both Linux and Hurd.

Manolis
From ff3604b86fa555ec963cc138b1230bcd2edaa864 Mon Sep 17 00:00:00 2001
From: Manolis Ragkousis 
Date: Tue, 21 Jul 2015 12:08:18 +0300
Subject: [PATCH] gnu: cross-base: Add cross-kernel-headers package for
 cross-gcc.

* gnu/packages/cross-base.scm (cross-gcc): Add cross-kernel-headers package
  which return the headers needed for each kernel. Replace "xlinux-headers"
  input with "xkernel-headers" input.
---
 gnu/packages/cross-base.scm | 56 ++---
 1 file changed, 53 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 18b0661..67355d5 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -226,6 +226,57 @@ may be either a libc package or #f.)"
   "Return a cross-compiler for TARGET, where TARGET is a GNU triplet.  Use
 XBINUTILS as the associated cross-Binutils.  If LIBC is false, then build a
 GCC that does not target a libc; otherwise, target that libc."
+  
+  (define (cross-kernel-headers target libc)
+"Return headers depending on TARGET."
+(match target
+  ("i586-pc-gnu"
+   (package
+ ;; This package is a union of the Mach and Hurd headers and the
+ ;; Hurd-minimal package which are needed for the cross-gcc.
+ (name "cross-kernel-headers")
+ (version "0")
+ (source #f)
+ (build-system gnu-build-system)
+ (inputs
+  `(("cross-gnumach-headers" ,@(assoc-ref (package-propagated-inputs libc)
+ "cross-gnumach-headers"))
+("cross-hurd-headers" ,@(assoc-ref (package-propagated-inputs libc)
+  "cross-hurd-headers"))
+("cross-hurd-minimal" ,@(assoc-ref (package-propagated-inputs libc)
+  "cross-hurd-minimal"
+ (arguments
+  `(#:phases (alist-delete
+  'unpack
+  (alist-delete
+   'configure
+   (alist-delete
+'build
+(alist-replace
+ 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+   (let* ((out  (assoc-ref outputs "out"))
+  (incdir (string-append out "/include"))
+  (libdir (string-append out "/lib"))
+  (mach (assoc-ref inputs "cross-gnumach-headers"))
+  (hurd (assoc-ref inputs "cross-hurd-headers"))
+  (hurd-minimal (assoc-ref inputs "cross-hurd-minimal")))
+ (mkdir-p incdir)
+ (mkdir-p libdir)
+ (copy-recursively (string-append mach "/include") incdir)
+ (copy-recursively (string-append hurd "/include") incdir)
+ (copy-recursively (string-append hurd-minimal "/lib") libdir)
+ #t))
+ %standard-phases
+
+#:tests? #f))
+ (home-page #f)
+ (synopsis #f)
+ (description #f)
+ (license gpl2+)))
+  (_
+   (assoc-ref (package-propagated-inputs libc) "linux-headers"
+  
   (package (inherit %xgcc)
 (name (string-append "gcc-cross-"
  (if libc "" "sans-libc-")
@@ -267,9 +318,8 @@ GCC that does not target a libc; otherwise, target that libc."
(alist-delete "libc" %final-inputs
(if libc
`(("libc" ,libc)
- ("xlinux-headers";the target headers
-  ,@(assoc-ref (package-propagated-inputs libc)
-   "linux-headers"))
+ ("xkernel-headers";the target headers
+  ,(cross-kernel-headers target libc))
  ,@inputs)
inputs
 
-- 
2.4.6



Re: Last-minute testing

2015-07-21 Thread Adam Pribyl

On Tue, 21 Jul 2015, Ludovic Courtès wrote:


Hello,

I would be grateful if someone could test this installation image within
the next 18 hours (ouch! shame on me!):

 
http://www.fdn.fr/~lcourtes/software/guix/guixsd-usb-install-0.8.3pre.x86_64-linux.xz
 SHA1: 31f4eef6523509a567b250adafdaf086be5f47a6

 
http://www.fdn.fr/~lcourtes/software/guix/guixsd-usb-install-0.8.3pre.x86_64-linux.xz.sig

Apart from the URL, the instructions at

should still be valid.

TIA.  :-)


I am not following the development thoroughly, here is my quick one:
1. downloaded, unpacked, put on USB
2. USB boots on a real hw
3. my older config.scm needs changes:
a) dbus and dbus-service unknown, 
removed them (I should probably use desktop-services?),

b) supplementary-groups separated by space instead comma
4. system installs and boots ok

Thats it.


Ludo’.


Adam Pribyl

Re: [PATCH] Add (minimal) BioPerl.

2015-07-21 Thread Ricardo Wurmus

Ludovic Courtès  writes:

>> Is there a better way to make sure that all (direct and transient)
>> runtime dependencies can be found through the PERL5LIB variable?
>
> Good question.  The #:inputs parameter of build phases contains all the
> inputs (native, normal, and propagated) when not cross-compiling, so
> that doesn’t help.
>
> Currently you would have to enumerate the subset of the inputs that you
> want to use in ‘wrap-program’ as done in the ‘clusterssh’ recipe, for
> instance.  That’s tedious but still preferable, esp. if that reduces the
> size of the package’s closure.
>
>> From a7f69eb16e91ca94e5894b234a98a7f14e78fd64 Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus 
>> Date: Wed, 3 Jun 2015 17:44:20 +0200
>> Subject: [PATCH] gnu: Add BioPerl.
>>
>> * gnu/packages/bioinformatics.scm (bioperl-minimal): New variable.
>
> [...]
>
>> +;; Make sure all executables in "bin" find the required Perl
>> +;; modules at runtime.
>> +(let* ((out (assoc-ref outputs "out"))
>> +   (bin (string-append out "/bin/"))
>> +   (path (string-append out "/lib/perl5/site_perl:"
>> +(getenv "PERL5LIB"
>> +  (for-each (lambda (file)
>> +  (wrap-program file
>> +`("PERL5LIB" ":" prefix (,path
>> +(find-files bin "\\.pl$"))
>
> So either leave a “FIXME” saying that this is closing over a superset of
> what’s actually needed at run time, or enumerate the inputs.
>
> Otherwise LGTM.

Attached is a new patch in which only the paths of the transitive target
inputs (+ the output perl site_perl directory) are wrapped around the
executables.  The resulting path is a lot shorter than the PERL5LIB path
at build time and judging from my quick tests the executables do not
complain about missing Perl modules.

WDYT?

>From 7a772f530dba93cfd405e9800e0f043e747a15cc Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Wed, 3 Jun 2015 17:44:20 +0200
Subject: [PATCH] gnu: Add BioPerl.

* gnu/packages/bioinformatics.scm (bioperl-minimal): New variable.
---
 gnu/packages/bioinformatics.scm | 64 -
 1 file changed, 63 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 78cd3ce..ef5c8eb 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -52,7 +52,8 @@
   #:use-module (gnu packages vim)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
-  #:use-module (gnu packages zip))
+  #:use-module (gnu packages zip)
+  #:use-module (srfi srfi-1))
 
 (define-public bamtools
   (package
@@ -228,6 +229,67 @@ pybedtools extends BEDTools by offering feature-level manipulations from with
 Python.")
 (license license:gpl2+)))
 
+(define-public bioperl-minimal
+  (let* ((inputs `(("perl-module-build" ,perl-module-build)
+   ("perl-data-stag" ,perl-data-stag)
+   ("perl-libwww" ,perl-libwww)
+   ("perl-uri" ,perl-uri)))
+ (transitive-inputs
+  (map (compose package-name cadr)
+   (delete-duplicates
+(concatenate
+ (map (compose package-transitive-target-inputs cadr) inputs))
+(package
+  (name "bioperl-minimal")
+  (version "1.6.924")
+  (source
+   (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-"
+ version ".tar.gz"))
+ (sha256
+  (base32
+   "1l3npcvvvwjlhkna9dndpfv1hklhrgva013kw96m0n1wpd37ask1"
+  (build-system perl-build-system)
+  (arguments
+   `(#:phases
+ (modify-phases %standard-phases
+   (add-after
+'install 'wrap-programs
+(lambda* (#:key outputs #:allow-other-keys)
+  ;; Make sure all executables in "bin" find the required Perl
+  ;; modules at runtime.  As the PERL5LIB variable contains also
+  ;; the paths of native inputs, we pick the transitive target
+  ;; inputs from %build-inputs.
+  (let* ((out  (assoc-ref outputs "out"))
+ (bin  (string-append out "/bin/"))
+ (path (string-join
+(cons (string-append out "/lib/perl5/site_perl")
+  (map (lambda (name)
+ (assoc-ref %build-inputs name))
+   ',transitive-inputs))
+":")))
+(for-each (lambda (file)
+(wrap-program file
+  `("PERL5LIB" ":" prefix (,path
+  (find-files bin "\\.pl$"))
+#t))
+  (inputs inputs)
+  (native-inputs
+   `(("perl-test-most" ,