Re: [PATCH] Adding .xsession to guile-wm

2016-09-13 Thread Alex ter Weele
Ludovic Courtès  writes:

> I agree with David that it would be good to talk to the upstream
> developer so that the .desktop file is distributed by upstream
> eventually.  Could you try to reach them?

There are improvements I want to make to guile-wm itself, so I plan on
talking to upstream about this and other things.

> In the meantime, it’s fine to add such a file in Guix.
>
> I pushed the patch as 23de5cbd1487747a2d690ee3ac7630142a7eaeb8.  I added
> a copyright line for you, added a ChangeLog-style commit log, and
> reindented ‘arguments’ for clarity.

Thank you, I will note your changes and try to do likewise in my next
patch.

> Thanks to your patch, I discovered this:
>
> --8<---cut here---start->8---
> scheme@(guile-user)> ,use(ice-9 format)
> scheme@(guile-user)> (format #f "foo~@\nbar")
> $2 = "foo\nbar"
> scheme@(guile-user)> (format #f "foo~@\n  bar")
> $3 = "foo\nbar"
> --8<---cut here---end--->8---
>
> :-)

I discovered this from wm.scm, which is where I adapted the patch from ☺.

-Alex



Re: [PATCH] gnu: r-curl: Respect CURL_CA_BUNDLE variable.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 11:53:33PM +0200, Roel Janssen wrote:
> This patch was essential to me being able to interact with HTTPS urls in
> R.  As far as I understand, by default, R only looks for CURL_CA_BUNDLE
> on Windows, but with this patch it looks for CURL_CA_BUNDLE on GNU/Linux
> as well.  Is this correct?
> 
> I can confirm it works for me, so I'd like to see this patch pushed.

It's good to hear that it works, but I still think we should run it by
the upstream maintainers. We are activating C code that they
specifically decided not to use on GNU / Linux. Why did they do that?



Re: Expat upate and regression fix for core-updates

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 11:55:14PM +0200, Ludovic Courtès wrote:
> > From 69611d71dc4718040bc7bc55117bd2705bad4612 Mon Sep 17 00:00:00 2001
> > From: Leo Famulari 
> > Date: Mon, 12 Sep 2016 13:26:51 -0400
> > Subject: [PATCH] gnu: expat: Update to 2.2.0.
> >
> > * gnu/packages/xml.scm (expat): Update to 2.2.0.
> > [source]: Use 'expat-CVE-2016-0718-fix-regression.patch'. Remove obsolete
> > patches.
> > * gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch: New file.
> > * gnu/packages/patches/expat-CVE-2012-6702-and-CVE-2016-5300.patch,
> > gnu/packages/patches/expat-CVE-2015-1283-refix.patch,
> > gnu/packages/patches/expat-CVE-2016-0718.patch: Delete files.
> > * gnu/local.mk (dist_patch_DATA): Add and remove patches.
> 
> OK for core-updates, thank you!

Pushed as b1a782b11aae2fa2bf8450c228638a0fd5cc9c83



Re: [PATCH 2/2] gnu: Add guile2.2-redis.

2016-09-13 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> * gnu/packages/guile.scm (guile2.2-redis): New variable.

OK



Re: [PATCH 1/2] gnu: guile-redis: Remove hard-coded Guile effective version.

2016-09-13 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> * gnu/packages/guile.scm (guile-redis)[snippet]: Modify 'ac_subst_vars'
> in 'configure', and use "@GUILE_EFFECTIVE_VERSION@" instead of "2.0" in
> 'Makefile.in'.

OK!



Re: Binutils build failure on MIPS

2016-09-13 Thread Ludovic Courtès
Vincent Legoll  skribis:

> Hello,
>
> On Tue, Sep 13, 2016 at 4:05 PM, David Craven  wrote:
>>> Could that explain the failure ?
>>
>> It's matched here:
>>> mips64*el-*-linux-*)targ_emul=elf32ltsmipn32
>
> I'm not sure I understand what your saying:
>
> $ python
 import fnmatch
 fnmatch.fnmatch('mips64el-linux', 'mips64*el-*-linux-*')

Note that here we pass the triplet “mips64el-guix-linux-gnu” (this can
be seen at the beginning of the configure phase in the build log.)

Ludo’.




Re: [PATCH 2/2] gnu: encfs: Update to 1.9.

2016-09-13 Thread Ludovic Courtès
Tobias Geerinckx-Rice  skribis:

> Ludo',
>
> On 13/09/16 14:11, Ludovic Courtès wrote:
>> However, ‘find-files’ does not include directories in its result, 
>> unless you explicitly ask for it.  So probably it should be:
>> 
>> (for-each delete-file-recursively (find-files "internal" "^tinyxml2" 
>> #:directories? #t))
>
> Indeed, thanks. I'll push with the more specific
>
> (snippet '(for-each delete-file-recursively
> (find-files "internal" "^tinyxml2-[0-9]"
> #:directories? #t)
>
> unless anyone raises any objections. Otherwise, find-files returns some
> matching subdirectories as well (‘^tinyxml2-.*/.*/tinyxml2-.*’) which
> delete-file-recursively still tries to delete after the parent is gone.

Sounds good!

Thanks,
Ludo’.



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

2016-09-13 Thread Ludovic Courtès
John Darrington  skribis:

> 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".
>
> Perhaps there is no formal difference, but "various" sounds odd to me in that 
> context.
> I think that "miscellaneous" is more common in such use cases.

I see.  Go for it!

Thanks everyone!  :-)

Ludo’.



Re: Expat upate and regression fix for core-updates

2016-09-13 Thread Ludovic Courtès
Leo Famulari  skribis:

> This updates Expat to the latest release, 2.2.0, and applies the
> upstream patch for a regression caused by the fix for CVE-2016-0718.
>
> It's the same patch that I sent earlier in a patch for the master
> branch.
>
> From 69611d71dc4718040bc7bc55117bd2705bad4612 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Mon, 12 Sep 2016 13:26:51 -0400
> Subject: [PATCH] gnu: expat: Update to 2.2.0.
>
> * gnu/packages/xml.scm (expat): Update to 2.2.0.
> [source]: Use 'expat-CVE-2016-0718-fix-regression.patch'. Remove obsolete
> patches.
> * gnu/packages/patches/expat-CVE-2016-0718-fix-regression.patch: New file.
> * gnu/packages/patches/expat-CVE-2012-6702-and-CVE-2016-5300.patch,
> gnu/packages/patches/expat-CVE-2015-1283-refix.patch,
> gnu/packages/patches/expat-CVE-2016-0718.patch: Delete files.
> * gnu/local.mk (dist_patch_DATA): Add and remove patches.

OK for core-updates, thank you!

Ludo’.



Re: Expat regression fix for master branch

2016-09-13 Thread Ludovic Courtès
Hello,

Leo Famulari  skribis:

> This patch applies an upstream patch for a regression caused by the fix 
> for CVE-2016-0718.
>
> Apparently, the bug only manifests when building with -DXML_UNICODE,
> which I don't think our package does.

I rebuilt it with --check and can confirm that XML_UNICODE is not
defined.

‘README’ mentions it:

--8<---cut here---start->8---
If you are interested in building Expat to provide document
information in UTF-16 encoding rather than the default UTF-8, follow
these instructions (after having run "make distclean"):

1. For UTF-16 output as unsigned short (and version/error
   strings as char), run:

   ./configure CPPFLAGS=-DXML_UNICODE
--8<---cut here---end--->8---

It’s enough to have the patch in ‘core-updates’ only, but I could go
either way.  WDYT?

Ludo’.



Re: [PATCH] gnu: r-curl: Respect CURL_CA_BUNDLE variable.

2016-09-13 Thread Roel Janssen

Ricardo Wurmus writes:

> * gnu/packages/web.scm (r-curl)[arguments]: Add phase
> "allow-CURL_CA_BUNDLE".
> ---
>  gnu/packages/web.scm | 13 +
>  1 file changed, 13 insertions(+)
>
> diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
> index 87bc3e2..321a250 100644
> --- a/gnu/packages/web.scm
> +++ b/gnu/packages/web.scm
> @@ -3168,6 +3168,19 @@ applications.")
> (base32
>  "1p24bcaf1wbfdi1r9ibyyp0l0zp4kzs4g3srv8vikz93hycm1qa6"
>  (build-system r-build-system)
> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + ;; The environment variable CURL_CA_BUNDLE is only respected when
> + ;; running Windows, so we disable the platform checks.
> + (add-after 'unpack 'allow-CURL_CA_BUNDLE
> +   (lambda _
> + (substitute* "R/onload.R"
> +   (("if \\(!grepl\\(\"mingw\".*")
> +"if (FALSE)\n"))
> + (substitute* "src/handle.c"
> +   (("#ifdef _WIN32") "#if 1"))
> + #t)
>  (inputs
>   `(("libcurl" ,curl)))
>  (home-page "https://github.com/jeroenooms/curl;)

This patch was essential to me being able to interact with HTTPS urls in
R.  As far as I understand, by default, R only looks for CURL_CA_BUNDLE
on Windows, but with this patch it looks for CURL_CA_BUNDLE on GNU/Linux
as well.  Is this correct?

I can confirm it works for me, so I'd like to see this patch pushed.

Kind regards,
Roel Janssen



Re: [PATCH] gnu: rottlog: rotate messages daily.

2016-09-13 Thread Ludovic Courtès
Halo!

Jan Nieuwenhuizen  skribis:

> Ludovic Courtès writes:

[...]

>> The configuration probably contain something like an list of name/config
>> pairs as well as an ‘rc’ file, along these lines:
>>
>>   (rottlog-configuration
>> (periods `(("weekly" . ,(file-append rottlog "/etc/weekly))
>>("daily" . ,(plain-file "daily" "…"
>> (rc-file (file-append rottlog "/etc/rc")))
>
> I think I have this too now.
>
>> Of course we should provide default config values that take care of
>> common files such as /var/log/{messages,Xorg.0.log} in a reasonable way.
>
> Hmm, yes.  Input appreciated here!  Currently I just use the rottlog
> defaults except for using daily instead of weekly rotations, only
> rotating /var/log/messages.  On my box, that seems to be the only file
> that really needs rotation atm.  Is that sane?

I would add /var/log/{secure,shepherd.log}, but weekly is probably
enough.

> From 8b5e5245b066f13c4cef6e5371cdcb84f2d84085 Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen 
> Date: Thu, 8 Sep 2016 01:20:43 +0200
> Subject: [PATCH] gnu: services: add rottlog.
>
> * gnu/services/admin.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

I think we’re pretty much there!

> +(define-record-type* 
> +  rottlog-configuration make-rottlog-configuration
> +  rottlog-configuration?
> +  (rottlog rottlog-rottlog (default rottlog))
> +  (rc-file rottlog-rc-file)
 ^
With: (default (file-append rottlog "/etc/rc")).

> +  (periods rottlog-periods)

Maybe s/periods/periodic-rotations/ ?
Also with default rotation.

> +  (jobs rottlog-jobs))

We should have a sane default here, like running it twice a day (which
can’t hurt because “The logfiles cannot be modified multiple times per
period”, says the manual.)

It’s a good idea to mark the expected types of each field in the margin
(until we have a type system ;-)).

> +(define (files-alist->directory files)
> +  (define builder
> +#~(begin
> +(use-modules (ice-9 match))
> +(mkdir #$output)
> +
> +(for-each (lambda (name file)
> +(symlink file (string-append #$output "/" name)))
> +  '#$(map car files)
> +  '#$(map cdr files
> +  
> +(computed-file "rottlog" builder))

You can remove it and use ‘file-union’ from (gnu services), which is
roughly the same (it expects a list of tuples instead of a list of
pairs.)

> +(define* (rottlog-service

This can be omitted.  It’s enough to expose ‘rottlog-service-type’ and
‘rottlog-configuration’.

The last thing that’s missing is a “Log Rotation” section in guix.texi,
with cross-references to the rottlog manual, like “Scheduled Job
Execution” does.  Could you look into it?

Thank you!

Ludo’.



Re: [PATCH] $HOME/.guix-profile considered harmful.

2016-09-13 Thread Ludovic Courtès
Hello,

John Darrington  skribis:

> I have my /home NFS mounted (not uncommon in large networks, I think).
> Unfortunately this does not play nicely with guix's convention of setting
> $PATH  to $HOME/.guix-profile and then linking $HOME/.guix-profile to
> %state-directory/profiles/per-user/$USER/guix_profile - for the obvious reason
> that %state-directory could be different on each workstation - in which case
> $HOME/.guix-profile will be a dead link.

It’s true that %state-directory could differ on each machine.  I think
it’s uncommon though.

I understand your concern, but I agree with Ricardo that what you
suggest is not strictly required: commonly (my guess), people having
/home on NFS won’t have the problem you describe.

> I'm not sure exactly what benefit the ~/.guix-profile convention brings us, 
> except
> perhaps that it is easy to remember.

… and easy to type, and quite “natural”.  These are the main reasons I
guess, but they’re quite important.

Thoughts?

Ludo’.



Re: [PATCH 1/2] gnu: Add perl-net-psyc.

2016-09-13 Thread ng0
 (string-append doc "/sdj"))
+   (install-file "README.txt" doc)
+   (install-file "TODO.txt" doc)
+   (copy-recursively "share/man/man1" man1)
+   (copy-recursively "share/man/man3" man3)
+   #t)))
+ (add-after 'install 'wrap-programs
+   (lambda* (#:key outputs #:allow-other-keys)
+ ;; Make sure all executables in "bin" find the Perl modules
+ ;; provided by this package at runtime.
+ (let* ((out  (assoc-ref outputs "out"))
+(bin  (string-append out "/bin/"))
+(path (getenv "PERL5LIB")))
+   (for-each (lambda (file)
+   (wrap-program file
+ `("PERL5LIB" ":" prefix (,path
+ (find-files bin "\\.*$"))
+   #t))
+(description
+ "@code{Net::PSYC} with support for TCP, UDP, Event.pm, @code{IO::Select} and
+Gtk2 event loops.  This package includes 12 applications and additional scripts:
+psycion (a @uref{http://about.psyc.eu,PSYC} chat client), remotor (a control console
+for @uref{https://torproject.org,tor} router) and many more.")
+(synopsis "Perl implementation of PSYC protocol")
+(home-page "http://perlpsyc.pages.de;)
+(license (list license:gpl2 (package-license perl)
+   ;; contrib/irssi-psyc.pl
+   license:public-domain
+   ;; bin/psycplay states AGPL with no version
+   license:agpl3+
-- 
2.10.0

From 7749eee5788a3e46d95b687058762f9b186c0894 Mon Sep 17 00:00:00 2001
From: ng0 <n...@we.make.ritual.n0.is>
Date: Tue, 13 Sep 2016 10:57:12 +
Subject: [PATCH 2/2] gnu: Add libpsyc.

* gnu/packages/psyc.scm (libpsyc): New variable.
---
 gnu/packages/psyc.scm | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
index ea1b513..e688f33 100644
--- a/gnu/packages/psyc.scm
+++ b/gnu/packages/psyc.scm
@@ -20,8 +20,11 @@
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages web))
@@ -103,3 +106,39 @@ for @uref{https://torproject.org,tor} router) and many more.")
license:public-domain
;; bin/psycplay states AGPL with no version
license:agpl3+
+
+(define-public libpsyc
+  (package
+(name "libpsyc")
+(version "20160913")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://www.psyced.org/files/;
+  name "-" version ".tar.xz"))
+  (sha256
+   (base32
+"14q89fxap05ajkfn20rnhc6b1h4i3i2adyr7y6hs5zqwb2lcmc1p"
+(build-system gnu-build-system)
+(native-inputs
+ `(("perl" ,perl)
+   ("netcat" ,netcat)
+   ("procps" ,procps)))
+(arguments
+ `(#:make-flags
+   (list "CC=gcc"
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+   #:phases
+   (modify-phases %standard-phases
+ ;; The rust bindings are the only ones in use, the lpc bindings
+ ;; are in psyclpc.  The other bindings are not used by anything,
+ ;; the chances are high that the bindings do not even work,
+ ;; therefore we do not include them.
+ ;; TODO: Get a cargo build system.
+ (delete 'configure ; no configure script
+(home-page "http://about.psyc.eu/libpsyc;)
+(description "libpsyc is a PSYC library in C which implements core aspects of
+PSYC, useful for all kinds of clients and servers including psyced.")
+(synopsis "PSYC library in C useful for all kinds of clients and servers")
+(license (list license:agpl3+
+   ;; test/test.c is based on a public-domain test
+   license:public-domain
-- 
2.10.0



ng0 <n...@we.make.ritual.n0.is> writes:

> Leo Famulari <l...@famulari.name> writes:
>
>> On Tue, Sep 13, 2016 at 11:32:36AM +, ng0 wrote:
>>> * gnu/packages/psyc.scm: New file.
>>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>>
>> This package looks pretty good to me!
>>
>>> + (replace 'install
>>> +   (lambda* (#:key outputs #:allow-other-keys)
>>&

Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Efraim Flashner


On September 13, 2016 11:37:35 PM GMT+03:00, Kei Kebreau  
wrote:
>Efraim Flashner  writes:
>
>> On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>>> Leo Famulari  writes:
>>> 
>>> > On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
>>> >> Kei Kebreau  writes:
>>> >> > A component necessary for GNU Octave's GUI.
>>> >> > How does it look?
>>> >> Not sure how packaging Qt packages goes, but I've discovered that
>>> >> GNU Octave's GUI only builds with Qt4 support. I've changed the
>patch to
>>> >> adjust this. Should I leave the old patch as is and add a qt4
>package
>>> >> that inherits from it?
>>> >
>>> > Since Qt 4 is no longer supported upstream, we are trying to
>remove
>>> > users of the qt-4 package so that we can eventually remove the
>qt-4
>>> > package itself.
>>> >
>>> > With that in mind, how about a qscintilla-for-octave package? This
>>> > package can inherit from a qscintilla that uses qtbase, and I
>think it
>>> > should be declared privately [using (define) instead of
>(define-public].
>>> >
>>> >> + (replace 'configure
>>> >> +   (lambda _
>>> >> + (chdir "Qt4Qt5")
>>> >> + (zero? (system* "qmake" "qscintilla.pro"
>>> >
>>> > I would change directory in a separate 'chdir' phase.
>>> >
>>> >> +   (substitute* (find-files "." "Makefile")
>>> >> + (((string-append "INSTALL_ROOT)" qt))
>>> >> +  (string-append "INSTALL_ROOT)" out)
>>> >  ^
>>> > Inconsistent indentation. Also, this phase should return #t, since
>the
>>> > return value of substitute* is unspecified.
>>> >
>>> >> +(synopsis "Qt5 port of the Scintilla editing component")
>>> >
>>> > Make sure to adjust the Qt name as appropriate :)
>>> 
>>> Like below? And how could I then access qscintilla-for-octave from
>>> maths.scm if it isn't defined publicly?
>>> 
>>> (define-public qscintilla
>>>   (package
>>> (name "qscintilla")
>>> (version "2.9.3")
>>> (source (origin
>>>   (method url-fetch)
>>>   (uri (string-append
>"mirror://sourceforge/QScintilla2/QScintilla-"
>>>   version "/QScintilla_gpl-" version
>".tar.gz"))
>>>   (sha256
>>>(base32
>>>
>"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
>>> (build-system gnu-build-system)
>>> (arguments
>>>  `(#:phases
>>>(modify-phases %standard-phases
>>>  (add-before 'configure 'change-directory
>>>(lambda _ (chdir "Qt4Qt5") #t))
>>>  (replace 'configure
>>>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>>>  (add-before 'install 'fix-Makefiles
>>>(lambda* (#:key inputs outputs #:allow-other-keys)
>>>  (let ((out(assoc-ref outputs "out"))
>>>(qtbase (assoc-ref inputs "qtbase")))
>>>(substitute* (find-files "." "Makefile")
>>>  (((string-append "INSTALL_ROOT)" qtbase))
>>>(string-append "INSTALL_ROOT)" out
>>>  #t)
>>> (native-inputs
>>>  `(("python-pyqt" ,python-pyqt)
>>>("qtbase" ,qtbase))) ; for qmake
>>> (home-page
>"https://www.riverbankcomputing.com/software/qscintilla/intro;)
>>> (synopsis "Qt5 port of the Scintilla editing component")
>>> (description
>>>  "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++
>editor control.
>>> As well as features found in standard text editing components,
>QScintilla
>>> includes features especially useful when editing and debugging
>source code.
>>> These include support for syntax styling, error indicators, code
>completion and
>>> call tips.")
>>> (license (list license:bsd-2 ; Python/configure.py
>>>license:expat ; src/ and include/
>>>license:gpl3
>>> 
>>> (define qtscintilla-for-octave
>>
>> This should be qtscintilla-qt4, we might have a use for it outside of
>> octave
>>
>
>In this case, should I leave qtscintilla-qt4 as a public package in
>qt.scm
>instead of maths.scm as Leo suggested?

That's where I would leave it. You could also leave a note, saying that it was 
for octave, and if they switch to qt5 then we can get rid of it. We still have 
an old vte package I added for a terminal since all the bug reports around it 
haven't been cleared yet, and that's with the other versions of vte.
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Efraim Flashner  writes:

> On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>> Leo Famulari  writes:
>> 
>> > On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
>> >> Kei Kebreau  writes:
>> >> > A component necessary for GNU Octave's GUI.
>> >> > How does it look?
>> >> Not sure how packaging Qt packages goes, but I've discovered that
>> >> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
>> >> adjust this. Should I leave the old patch as is and add a qt4 package
>> >> that inherits from it?
>> >
>> > Since Qt 4 is no longer supported upstream, we are trying to remove
>> > users of the qt-4 package so that we can eventually remove the qt-4
>> > package itself.
>> >
>> > With that in mind, how about a qscintilla-for-octave package? This
>> > package can inherit from a qscintilla that uses qtbase, and I think it
>> > should be declared privately [using (define) instead of (define-public].
>> >
>> >> + (replace 'configure
>> >> +   (lambda _
>> >> + (chdir "Qt4Qt5")
>> >> + (zero? (system* "qmake" "qscintilla.pro"
>> >
>> > I would change directory in a separate 'chdir' phase.
>> >
>> >> +   (substitute* (find-files "." "Makefile")
>> >> + (((string-append "INSTALL_ROOT)" qt))
>> >> +  (string-append "INSTALL_ROOT)" out)
>> >  ^
>> > Inconsistent indentation. Also, this phase should return #t, since the
>> > return value of substitute* is unspecified.
>> >
>> >> +(synopsis "Qt5 port of the Scintilla editing component")
>> >
>> > Make sure to adjust the Qt name as appropriate :)
>> 
>> Like below? And how could I then access qscintilla-for-octave from
>> maths.scm if it isn't defined publicly?
>> 
>> (define-public qscintilla
>>   (package
>> (name "qscintilla")
>> (version "2.9.3")
>> (source (origin
>>   (method url-fetch)
>>   (uri (string-append 
>> "mirror://sourceforge/QScintilla2/QScintilla-"
>>   version "/QScintilla_gpl-" version 
>> ".tar.gz"))
>>   (sha256
>>(base32
>> "0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
>> (build-system gnu-build-system)
>> (arguments
>>  `(#:phases
>>(modify-phases %standard-phases
>>  (add-before 'configure 'change-directory
>>(lambda _ (chdir "Qt4Qt5") #t))
>>  (replace 'configure
>>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>>  (add-before 'install 'fix-Makefiles
>>(lambda* (#:key inputs outputs #:allow-other-keys)
>>  (let ((out(assoc-ref outputs "out"))
>>(qtbase (assoc-ref inputs "qtbase")))
>>(substitute* (find-files "." "Makefile")
>>  (((string-append "INSTALL_ROOT)" qtbase))
>>(string-append "INSTALL_ROOT)" out
>>  #t)
>> (native-inputs
>>  `(("python-pyqt" ,python-pyqt)
>>("qtbase" ,qtbase))) ; for qmake
>> (home-page 
>> "https://www.riverbankcomputing.com/software/qscintilla/intro;)
>> (synopsis "Qt5 port of the Scintilla editing component")
>> (description
>>  "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
>> control.
>> As well as features found in standard text editing components, QScintilla
>> includes features especially useful when editing and debugging source code.
>> These include support for syntax styling, error indicators, code completion 
>> and
>> call tips.")
>> (license (list license:bsd-2 ; Python/configure.py
>>license:expat ; src/ and include/
>>license:gpl3
>> 
>> (define qtscintilla-for-octave
>
> This should be qtscintilla-qt4, we might have a use for it outside of
> octave
>

In this case, should I leave qtscintilla-qt4 as a public package in qt.scm
instead of maths.scm as Leo suggested?


signature.asc
Description: PGP signature


Re: [PATCH 1/2] gnu: Add femtolisp.

2016-09-13 Thread ng0
I hope the appended patch still applies.

Ricardo Wurmus  writes:

> ng0  writes:
>
>> * gnu/packages/lisp.scm (femtolisp): New variable.
>> ---
>>  gnu/packages/lisp.scm | 53 
>> +++
>>  1 file changed, 53 insertions(+)
>>
>> diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
>> index 8ee249d..4e2ecdb 100644
>> --- a/gnu/packages/lisp.scm
>> +++ b/gnu/packages/lisp.scm
>> @@ -487,3 +487,56 @@ in the early 80's.  It was converted to C by Blake 
>> McBride and supports much of
>>  the InterLisp Standard.")
>>(home-page "https://github.com/blakemcbride/LISPF4.git;)
>>(license license:expat
>> +
>> +(define-public femtolisp
>> +  (let* ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
>> +(revision "1"))
>> +(package
>> +  (name "femtolisp")
>> +  (version (string-append "0.0.0-" revision "-" (string-take commit 7)))
>> +  (source (origin
>> +(method git-fetch)
>> +(uri (git-reference
>> +  (url "https://github.com/JeffBezanson/femtolisp.git;)
>> +  (commit commit)))
>> +(file-name (string-append name "-" version "-checkout"))
>> +(sha256
>> + (base32
>> +  "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja"
>> +  (build-system gnu-build-system)
>> +  (arguments
>> +   `(#:make-flags '("CC=gcc")
>> + #:tests? #f ; No make check
>
> But it does have a “test” target, no?  How about “#:test-target "test"”
> instead of disabling the tests?
>
>> + #:phases
>> + (modify-phases %standard-phases
>> +   (delete 'configure) ; No configure script
>> +   ;; We have to remove the 'test phase because it requires
>> +   ;; the flisp binary to be present. Instead we run
>> +   ;; bootstrap.sh after the 'install phase.
>
> I find this strange.  More about this below.
>
>> +   (add-before 'build 'patch-makefile
>> + (lambda _
>> +   (substitute* "Makefile"
>> + (("default: release test") "default: release"))
>> +   #t))
>
> This may not be necessary when you pass “release” as one of the
> “#:make-flags”.
>
>> +   (replace 'install ; Makefile has no 'install phase
>> +(lambda* (#:key outputs #:allow-other-keys)
>> +  (let* ((out (assoc-ref outputs "out"))
>> + (bin (string-append out "/bin")))
>> +(install-file "flisp" bin)
>> +#t)))
>> +   ;; The flisp binary is now available, run bootstrap to
>> +   ;; generate flisp.boot and afterwards runs make test.
>> +   (add-after 'install 'bootstrap-gen-and-test
>> + (lambda* (#:key outputs #:allow-other-keys)
>> +  (let* ((out (assoc-ref outputs "out"))
>> + (bin (string-append out "/bin")))
>> +(and
>> + (zero? (system* "./bootstrap.sh"))
>> + (install-file "flisp.boot" bin
>
> “install-file” has an unspecified return value.  I’m a little surprised
> to see “bootstrap.sh” to be used *after* installation.  That’s very odd.
> Could the tests not be fixed in another way, e.g. by overriding the
> location of the binary?
>
>> +  (synopsis "Scheme-like lisp implementation")
>> +  (description
>> +   "@code{femtolisp} is a scheme-like lisp implementation with a
>> +simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
>> +The core is 12 builtin special forms and 33 builtin functions.")
>
>
> “Scheme-like”.  I think the sentence on “lisp-1” can be removed, because
> if it’s Scheme-like it’s unlikely to be a lisp-2.
>
>> +  (home-page "https://github.com/JeffBezanson/femtolisp;)
>> +  (license license:bsd-3
>
> ~~ Ricardo
>
>

From d4190191c58c454a4bcd626bf8009bcea896f2ae Mon Sep 17 00:00:00 2001
From: ng0 
Date: Tue, 13 Sep 2016 20:19:57 +
Subject: [PATCH] gnu: femtolisp: Adjust description.

* gnu/packages/lisp.scm (femtolisp)[description]: Adjust to remove
unnecessary sentence.
[arguments](patch-makefile): Remove it and ...
(make-flags): Add "release" to make-flags.
(arguments)[tests]: Enable them as test-target "test".
---
 gnu/packages/lisp.scm | 21 ++---
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 3461de4..2816315 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -503,25 +503,16 @@ the InterLisp Standard.")
   "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja"
   (build-system gnu-build-system)
   (arguments
-   `(#:make-flags '("CC=gcc")
- #:tests? #f ; No make check
+   `(#:make-flags '("CC=gcc" "release")
+ #:test-target "test"
  

[PATCH v8] gnu: Update ldc to 0.17.1.

2016-09-13 Thread Danny Milosavljevic
gnu: Update ldc to 0.17.1.

* gnu/packages/ldc.scm (ldc): Changed.
* gnu/packages/patches/ldc-0.17.1-disable-tests.patch: New patch.
---
 gnu/packages/ldc.scm   | 25 ---
 .../patches/ldc-0.17.1-disable-tests.patch | 86 ++
 2 files changed, 101 insertions(+), 10 deletions(-)
 create mode 100644 gnu/packages/patches/ldc-0.17.1-disable-tests.patch

diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 560fa49..88f3443 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages zip))
 
@@ -76,7 +77,7 @@ and freshness without requiring additional information from the user.")
 (define-public ldc
   (package
 (name "ldc")
-(version "0.16.1")
+(version "0.17.1")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -85,10 +86,9 @@ and freshness without requiring additional information from the user.")
   (file-name (string-append name "-" version ".tar.gz"))
   (sha256
(base32
-"1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"
+"0rwggnbr60jbajfdw11kx058llmwljiss8rrv8df07vaygiv845i"
 (build-system cmake-build-system)
-;; LDC currently only supports the x86_64 and i686 architectures.
-(supported-systems '("x86_64-linux" "i686-linux"))
+(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 (arguments
  `(#:phases
(modify-phases %standard-phases
@@ -105,10 +105,13 @@ and freshness without requiring additional information from the user.")
  (add-after 'unpack-submodule-sources 'patch-dmd2
(lambda* (#:key inputs #:allow-other-keys)
  (substitute* "dmd2/root/port.c"
+   (("#include ") "#include ")
((" ::isnan") " isnan")
((" ::isinf") " isinf")
-   (("#undef isnan") "")
-   (("#undef isinf") ""))
+   (("#undef isnan") "#undef isnan
+using namespace std;")
+   (("#undef isinf") "#undef isinf
+using namespace std;"))
  #t))
  (add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
@@ -130,6 +133,8 @@ and freshness without requiring additional information from the user.")
  `(("llvm" ,llvm-3.7)
("clang" ,clang-3.7)
("unzip" ,unzip)
+   ("python-wrapper" ,python-wrapper) ; Needed for running tests
+   ("python-lit" ,python-lit) ; Needed for running tests
("phobos-src"
 ,(origin
(method url-fetch)
@@ -138,8 +143,8 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
-   (patches (search-patches "ldc-disable-tests.patch"
+ "17nb1yvqblqj3q42c8nlnwvy823fw6kna28n2b48j4m6kd2w0nan"))
+   (patches (search-patches "ldc-0.17.1-disable-tests.patch"
("druntime-src"
 ,(origin
(method url-fetch)
@@ -148,7 +153,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"
+ "129j7mfd0vnzaw7i6hr5waxm5cb0qcm8gyawy2xy5avlv8hrw5m4"
("dmd-testsuite-src"
 ,(origin
(method url-fetch)
@@ -157,7 +162,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))
+ "18h16lwwmr3k9dh7mcip17il72mz680wnygv9d0mdnivczn80zyv"))
 (home-page "http://wiki.dlang.org/LDC;)
 (synopsis "LLVM compiler for the D programming language")
 (description
diff --git a/gnu/packages/patches/ldc-0.17.1-disable-tests.patch b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
new file mode 100644
index 000..b213894
--- /dev/null
+++ b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
@@ -0,0 +1,86 @@
+Adapted from "ldc-disable-tests.patch" from Guix.
+diff -ru a/std/datetime.d b/std/datetime.d
+--- a/std/datetime.d	2016-08-02 23:56:13.969292202 +0200
 b/std/datetime.d	2016-08-02 23:57:39.078408313 +0200
+@@ -28080,9 +28080,6 @@
+ import std.algorithm : sort;
+ import std.range : retro;
+ import std.format : format;
+-
+-name = strip(name);
+-
+ enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir)));
+ 

New package: python-glances

2016-09-13 Thread Stefan Reichör
>From b3fe1a718f76a7d21e600476c2720b0530edd354 Mon Sep 17 00:00:00 2001
From: Stefan Reichoer 
Date: Tue, 13 Sep 2016 21:58:41 +0200
Subject: [PATCH] gnu: Add python-glances

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

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e2e1ec2..36d22c4 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2016 Dylan Jeffers 
 ;;; Copyright © 2016 David Craven 
 ;;; Copyright © 2016 Marius Bakke 
+;;; Copyright © 2016 Stefan Reichoer 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -420,6 +421,33 @@ pidof, tty, taskset, pmap.")
 (define-public python2-psutil
   (package-with-python2 python-psutil))
 
+(define-public python-glances
+  (package
+  (name "python-glances")
+  (version "2.7.1")
+  (source
+(origin
+  (method url-fetch)
+  (uri (pypi-uri "Glances" version))
+  (sha256
+(base32
+  "11jbq40g8alsbirnd4kiagznqg270247i0m8qhi48ldf2i5xppxg"
+  (build-system python-build-system)
+  (native-inputs
+   `(("python-setuptools" ,python-setuptools)))
+  (inputs
+   `(("python-psutil" ,python-psutil)))
+  (home-page
+"https://github.com/nicolargo/glances;)
+  (synopsis
+"A cross-platform curses-based monitoring tool")
+  (description
+"Glances is a curses-based monitoring tool for GNU/Linux or BSD
+OS. Glances uses the PsUtil library to get information from your
+system. It monitors CPU, load, memory, network bandwidth, disk I/O,
+disk use, process.")
+(license license:lgpl3+)))
+
 (define-public python-passlib
   (package
 (name "python-passlib")
-- 
2.7.4





Re: [PATCH v4 2/3] gnu: Make ldc work again

2016-09-13 Thread Roel Janssen

Leo Famulari writes:

> On Tue, Sep 13, 2016 at 09:20:05PM +0200, Ricardo Wurmus wrote:
>> 
>> Leo Famulari  writes:
>> 
>> > On Tue, Sep 13, 2016 at 12:53:39PM -0400, Leo Famulari wrote:
>> >> On Tue, Sep 13, 2016 at 12:30:41PM +0200, Danny Milosavljevic wrote:
>> >> > * gnu/packages/ldc.scm (ldc): Added substitution. Added zlib input. Fix 
>> >> > llvm and clang inputs to 3.7.
>> >> 
>> >> LDC built with this patch. I'm currently in the test suite. If it passes
>> >> on my computer, I'd like to push this patch unless there are objections.
>> >
>> > The test suite passed. If there are no more comments in the next day or
>> > two, I will push this patch with some edits to the commit message.
>> 
>> The patch looks good to me (aside from the commit message).
>
> Okay, considering the comments from you and Roel, I pushed with an
> altered commit message as 812b3c1f8a3717fd9fc540663912c5e9a144db5b.

It built fine here.  Thanks for pushing.

Kind regards,
Roel Janssen



[PATCH v7] gnu: Update ldc to 0.17.1.

2016-09-13 Thread Danny Milosavljevic
gnu: Update ldc to 0.17.1.

* gnu/packages/ldc.scm (ldc): Changed.
* gnu/packages/patches/ldc-0.17.1-disable-tests.patch: New patch.
---
 gnu/packages/ldc.scm   | 24 +++---
 .../patches/ldc-0.17.1-disable-tests.patch | 86 ++
 2 files changed, 100 insertions(+), 10 deletions(-)
 create mode 100644 gnu/packages/patches/ldc-0.17.1-disable-tests.patch

diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 560fa49..c498fbb 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages zip))
 
@@ -76,7 +77,7 @@ and freshness without requiring additional information from the user.")
 (define-public ldc
   (package
 (name "ldc")
-(version "0.16.1")
+(version "0.17.1")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -85,10 +86,9 @@ and freshness without requiring additional information from the user.")
   (file-name (string-append name "-" version ".tar.gz"))
   (sha256
(base32
-"1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"
+"0rwggnbr60jbajfdw11kx058llmwljiss8rrv8df07vaygiv845i"
 (build-system cmake-build-system)
-;; LDC currently only supports the x86_64 and i686 architectures.
-(supported-systems '("x86_64-linux" "i686-linux"))
+(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 (arguments
  `(#:phases
(modify-phases %standard-phases
@@ -107,8 +107,10 @@ and freshness without requiring additional information from the user.")
  (substitute* "dmd2/root/port.c"
((" ::isnan") " isnan")
((" ::isinf") " isinf")
-   (("#undef isnan") "")
-   (("#undef isinf") ""))
+   (("#undef isnan") "#undef isnan
+using namespace std;")
+   (("#undef isinf") "#undef isinf
+using namespace std;"))
  #t))
  (add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
@@ -130,6 +132,8 @@ and freshness without requiring additional information from the user.")
  `(("llvm" ,llvm-3.7)
("clang" ,clang-3.7)
("unzip" ,unzip)
+   ("python-wrapper" ,python-wrapper) ; Needed for running tests
+   ("python-lit" ,python-lit) ; Needed for running tests
("phobos-src"
 ,(origin
(method url-fetch)
@@ -138,8 +142,8 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
-   (patches (search-patches "ldc-disable-tests.patch"
+ "17nb1yvqblqj3q42c8nlnwvy823fw6kna28n2b48j4m6kd2w0nan"))
+   (patches (search-patches "ldc-0.17.1-disable-tests.patch"
("druntime-src"
 ,(origin
(method url-fetch)
@@ -148,7 +152,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"
+ "129j7mfd0vnzaw7i6hr5waxm5cb0qcm8gyawy2xy5avlv8hrw5m4"
("dmd-testsuite-src"
 ,(origin
(method url-fetch)
@@ -157,7 +161,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))
+ "18h16lwwmr3k9dh7mcip17il72mz680wnygv9d0mdnivczn80zyv"))
 (home-page "http://wiki.dlang.org/LDC;)
 (synopsis "LLVM compiler for the D programming language")
 (description
diff --git a/gnu/packages/patches/ldc-0.17.1-disable-tests.patch b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
new file mode 100644
index 000..b213894
--- /dev/null
+++ b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
@@ -0,0 +1,86 @@
+Adapted from "ldc-disable-tests.patch" from Guix.
+diff -ru a/std/datetime.d b/std/datetime.d
+--- a/std/datetime.d	2016-08-02 23:56:13.969292202 +0200
 b/std/datetime.d	2016-08-02 23:57:39.078408313 +0200
+@@ -28080,9 +28080,6 @@
+ import std.algorithm : sort;
+ import std.range : retro;
+ import std.format : format;
+-
+-name = strip(name);
+-
+ enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir)));
+ enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is not a directory.", tzDatabaseDir)));
+ 
+@@ -28094,7 +28091,10 @@
+ immutable file = 

[PATCH v6] gnu: Update ldc to 0.17.1.

2016-09-13 Thread Danny Milosavljevic

* gnu/packages/ldc.scm (ldc): Changed.
* gnu/packages/patches/ldc-0.17.1-disable-tests.patch: New patch.
---
 gnu/packages/ldc.scm   |  24 ++--
 .../patches/ldc-0.17.1-disable-tests.patch | 147 +
 2 files changed, 161 insertions(+), 10 deletions(-)
 create mode 100644 gnu/packages/patches/ldc-0.17.1-disable-tests.patch

diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 560fa49..c498fbb 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages zip))
 
@@ -76,7 +77,7 @@ and freshness without requiring additional information from the user.")
 (define-public ldc
   (package
 (name "ldc")
-(version "0.16.1")
+(version "0.17.1")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -85,10 +86,9 @@ and freshness without requiring additional information from the user.")
   (file-name (string-append name "-" version ".tar.gz"))
   (sha256
(base32
-"1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"
+"0rwggnbr60jbajfdw11kx058llmwljiss8rrv8df07vaygiv845i"
 (build-system cmake-build-system)
-;; LDC currently only supports the x86_64 and i686 architectures.
-(supported-systems '("x86_64-linux" "i686-linux"))
+(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 (arguments
  `(#:phases
(modify-phases %standard-phases
@@ -107,8 +107,10 @@ and freshness without requiring additional information from the user.")
  (substitute* "dmd2/root/port.c"
((" ::isnan") " isnan")
((" ::isinf") " isinf")
-   (("#undef isnan") "")
-   (("#undef isinf") ""))
+   (("#undef isnan") "#undef isnan
+using namespace std;")
+   (("#undef isinf") "#undef isinf
+using namespace std;"))
  #t))
  (add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
@@ -130,6 +132,8 @@ and freshness without requiring additional information from the user.")
  `(("llvm" ,llvm-3.7)
("clang" ,clang-3.7)
("unzip" ,unzip)
+   ("python-wrapper" ,python-wrapper) ; Needed for running tests
+   ("python-lit" ,python-lit) ; Needed for running tests
("phobos-src"
 ,(origin
(method url-fetch)
@@ -138,8 +142,8 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
-   (patches (search-patches "ldc-disable-tests.patch"
+ "17nb1yvqblqj3q42c8nlnwvy823fw6kna28n2b48j4m6kd2w0nan"))
+   (patches (search-patches "ldc-0.17.1-disable-tests.patch"
("druntime-src"
 ,(origin
(method url-fetch)
@@ -148,7 +152,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"
+ "129j7mfd0vnzaw7i6hr5waxm5cb0qcm8gyawy2xy5avlv8hrw5m4"
("dmd-testsuite-src"
 ,(origin
(method url-fetch)
@@ -157,7 +161,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))
+ "18h16lwwmr3k9dh7mcip17il72mz680wnygv9d0mdnivczn80zyv"))
 (home-page "http://wiki.dlang.org/LDC;)
 (synopsis "LLVM compiler for the D programming language")
 (description
diff --git a/gnu/packages/patches/ldc-0.17.1-disable-tests.patch b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
new file mode 100644
index 000..ee73077
--- /dev/null
+++ b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
@@ -0,0 +1,147 @@
+Only in b/std: algorithm
+Only in b/std: array.d
+Only in b/std: ascii.d
+Only in b/std: base64.d
+Only in b/std: bigint.d
+Only in b/std: bitmanip.d
+Only in b/std: c
+Only in b/std: compiler.d
+Only in b/std: complex.d
+Only in b/std: concurrency.d
+Only in b/std: container
+Only in b/std: conv.d
+Only in b/std: cstream.d
+Only in b/std: csv.d
+diff -ru a/std/datetime.d b/std/datetime.d
+--- a/std/datetime.d	2016-08-02 23:56:13.969292202 +0200
 b/std/datetime.d	2016-08-02 23:57:39.078408313 +0200
+@@ -28080,9 +28080,6 @@
+ import std.algorithm : sort;
+ import std.range : retro;
+ import std.format : format;
+-
+-name = strip(name);
+-
+ 

Re: [PATCH 1/2] gnu: Add femtolisp.

2016-09-13 Thread ng0
Hi,

thanks for reviewing

Ricardo Wurmus  writes:

> ng0  writes:
>
>> * gnu/packages/lisp.scm (femtolisp): New variable.
>> ---
>>  gnu/packages/lisp.scm | 53 
>> +++
>>  1 file changed, 53 insertions(+)
>>
>> diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
>> index 8ee249d..4e2ecdb 100644
>> --- a/gnu/packages/lisp.scm
>> +++ b/gnu/packages/lisp.scm
>> @@ -487,3 +487,56 @@ in the early 80's.  It was converted to C by Blake 
>> McBride and supports much of
>>  the InterLisp Standard.")
>>(home-page "https://github.com/blakemcbride/LISPF4.git;)
>>(license license:expat
>> +
>> +(define-public femtolisp
>> +  (let* ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
>> +(revision "1"))
>> +(package
>> +  (name "femtolisp")
>> +  (version (string-append "0.0.0-" revision "-" (string-take commit 7)))
>> +  (source (origin
>> +(method git-fetch)
>> +(uri (git-reference
>> +  (url "https://github.com/JeffBezanson/femtolisp.git;)
>> +  (commit commit)))
>> +(file-name (string-append name "-" version "-checkout"))
>> +(sha256
>> + (base32
>> +  "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja"
>> +  (build-system gnu-build-system)
>> +  (arguments
>> +   `(#:make-flags '("CC=gcc")
>> + #:tests? #f ; No make check
>
> But it does have a “test” target, no?  How about “#:test-target "test"”
> instead of disabling the tests?

Ah ... sorry, I'll fix it again. I've seen this, but I've also worked on
40 other packages meanwhile.

>> + #:phases
>> + (modify-phases %standard-phases
>> +   (delete 'configure) ; No configure script
>> +   ;; We have to remove the 'test phase because it requires
>> +   ;; the flisp binary to be present. Instead we run
>> +   ;; bootstrap.sh after the 'install phase.
>
> I find this strange.  More about this below.
>
>> +   (add-before 'build 'patch-makefile
>> + (lambda _
>> +   (substitute* "Makefile"
>> + (("default: release test") "default: release"))
>> +   #t))
>
> This may not be necessary when you pass “release” as one of the
> “#:make-flags”.

I try it, maybe it works.

>> +   (replace 'install ; Makefile has no 'install phase
>> +(lambda* (#:key outputs #:allow-other-keys)
>> +  (let* ((out (assoc-ref outputs "out"))
>> + (bin (string-append out "/bin")))
>> +(install-file "flisp" bin)
>> +#t)))
>> +   ;; The flisp binary is now available, run bootstrap to
>> +   ;; generate flisp.boot and afterwards runs make test.
>> +   (add-after 'install 'bootstrap-gen-and-test
>> + (lambda* (#:key outputs #:allow-other-keys)
>> +  (let* ((out (assoc-ref outputs "out"))
>> + (bin (string-append out "/bin")))
>> +(and
>> + (zero? (system* "./bootstrap.sh"))
>> + (install-file "flisp.boot" bin
>
> “install-file” has an unspecified return value.  I’m a little surprised
> to see “bootstrap.sh” to be used *after* installation.  That’s very odd.
> Could the tests not be fixed in another way, e.g. by overriding the
> location of the binary?

Okay, so I change it back to what this was before, without (and)?
On fixing it differently: No. If you can come up with a way to fix it
afterwards, you're welcome to fix it, I can't do this at the moment.

>> +  (synopsis "Scheme-like lisp implementation")
>> +  (description
>> +   "@code{femtolisp} is a scheme-like lisp implementation with a
>> +simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
>> +The core is 12 builtin special forms and 33 builtin functions.")
>
>
> “Scheme-like”.  I think the sentence on “lisp-1” can be removed, because
> if it’s Scheme-like it’s unlikely to be a lisp-2.

Okay, I don't know enough about scheme and lisp to comment that so I'll
just change it.

>> +  (home-page "https://github.com/JeffBezanson/femtolisp;)
>> +  (license license:bsd-3
>
> ~~ Ricardo
>
>

-- 
  ng0



Re: [PATCH v4 3/3] gnu: Update ldc to 0.17.1.

2016-09-13 Thread Danny Milosavljevic
Sigh. Yeah, I've researched a bit why that happens.

The story is this:

glibc wanted to have isinf work with double AND float etc without conversion. 
Therefore, there is a special gcc construct where you can find out what type a 
parameter is IN A MACRO. Therefore, in C, isnan is a macro and so is isinf. The 
include file defining it is 

However, in C++ there's a include file . This one provides normal 
functions in the namespace "std" (since overloads are possible in C++).

dmd2 undefs isinf which is why the C version doesn't work anymore (that's 
stupid, really. What were they thinking?). But then they dont use the namespace 
std so it won't use that one either. "::isinf" is DEFINITELY wrong - no idea 
how that ever worked. It won't find the macro that way AND it won't find the 
function in namespace std either (since :: definitely says you want 
the one without namespace).

Some LLVM versions include  somewhere in their header files - so dmd2 is 
forced to use cmath rather than math.h even though they *want* to use math.h 
and the source code says so.

Therefore, I now use the C++ std::isinf - I hope LLVM won't change their mind 
again because then it will break again.



[PATCH v5] gnu: Update ldc to 0.17.1.

2016-09-13 Thread Danny Milosavljevic
gnu: Update ldc to 0.17.1.

* gnu/packages/ldc.scm (ldc): Update to 0.17.1.
---
 gnu/packages/ldc.scm   |  22 +--
 .../patches/ldc-0.17.1-disable-tests.patch | 147 +
 2 files changed, 159 insertions(+), 10 deletions(-)
 create mode 100644 gnu/packages/patches/ldc-0.17.1-disable-tests.patch

diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 560fa49..ca4e16c 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -29,6 +29,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages zip))
 
@@ -76,7 +77,7 @@ and freshness without requiring additional information from the user.")
 (define-public ldc
   (package
 (name "ldc")
-(version "0.16.1")
+(version "0.17.1")
 (source (origin
   (method url-fetch)
   (uri (string-append
@@ -85,10 +86,9 @@ and freshness without requiring additional information from the user.")
   (file-name (string-append name "-" version ".tar.gz"))
   (sha256
(base32
-"1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"
+"0rwggnbr60jbajfdw11kx058llmwljiss8rrv8df07vaygiv845i"
 (build-system cmake-build-system)
-;; LDC currently only supports the x86_64 and i686 architectures.
-(supported-systems '("x86_64-linux" "i686-linux"))
+(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
 (arguments
  `(#:phases
(modify-phases %standard-phases
@@ -107,8 +107,8 @@ and freshness without requiring additional information from the user.")
  (substitute* "dmd2/root/port.c"
((" ::isnan") " isnan")
((" ::isinf") " isinf")
-   (("#undef isnan") "")
-   (("#undef isinf") ""))
+   (("#undef isnan") "using namespace std;")
+   (("#undef isinf") "using namespace std;"))
  #t))
  (add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
@@ -130,6 +130,8 @@ and freshness without requiring additional information from the user.")
  `(("llvm" ,llvm-3.7)
("clang" ,clang-3.7)
("unzip" ,unzip)
+   ("python-wrapper" ,python-wrapper) ; Needed for running tests
+   ("python-lit" ,python-lit) ; Needed for running tests
("phobos-src"
 ,(origin
(method url-fetch)
@@ -138,8 +140,8 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
-   (patches (search-patches "ldc-disable-tests.patch"
+ "17nb1yvqblqj3q42c8nlnwvy823fw6kna28n2b48j4m6kd2w0nan"))
+   (patches (search-patches "ldc-0.17.1-disable-tests.patch"
("druntime-src"
 ,(origin
(method url-fetch)
@@ -148,7 +150,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"
+ "129j7mfd0vnzaw7i6hr5waxm5cb0qcm8gyawy2xy5avlv8hrw5m4"
("dmd-testsuite-src"
 ,(origin
(method url-fetch)
@@ -157,7 +159,7 @@ and freshness without requiring additional information from the user.")
  version ".tar.gz"))
(sha256
 (base32
- "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))
+ "18h16lwwmr3k9dh7mcip17il72mz680wnygv9d0mdnivczn80zyv"))
 (home-page "http://wiki.dlang.org/LDC;)
 (synopsis "LLVM compiler for the D programming language")
 (description
diff --git a/gnu/packages/patches/ldc-0.17.1-disable-tests.patch b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
new file mode 100644
index 000..ee73077
--- /dev/null
+++ b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
@@ -0,0 +1,147 @@
+Only in b/std: algorithm
+Only in b/std: array.d
+Only in b/std: ascii.d
+Only in b/std: base64.d
+Only in b/std: bigint.d
+Only in b/std: bitmanip.d
+Only in b/std: c
+Only in b/std: compiler.d
+Only in b/std: complex.d
+Only in b/std: concurrency.d
+Only in b/std: container
+Only in b/std: conv.d
+Only in b/std: cstream.d
+Only in b/std: csv.d
+diff -ru a/std/datetime.d b/std/datetime.d
+--- a/std/datetime.d	2016-08-02 23:56:13.969292202 +0200
 b/std/datetime.d	2016-08-02 23:57:39.078408313 +0200
+@@ -28080,9 +28080,6 @@
+ import std.algorithm : sort;
+ import std.range : retro;
+ import std.format : format;
+-
+-name = strip(name);
+-
+ enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory 

Re: [PATCH 1/2] gnu: Add femtolisp.

2016-09-13 Thread Leo Famulari
On Mon, Sep 12, 2016 at 01:57:55PM +, ng0 wrote:
> * gnu/packages/lisp.scm (femtolisp): New variable.

Thanks! Pushed with the following minor changes:

> +  (let* ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
> +(revision "1"))

I made it use (let) instead of (let*). The difference is described here:
https://www.gnu.org/software/guile/manual/html_node/Local-Bindings.html#index-let

> +  (version (string-append "0.0.0-" revision "-" (string-take commit 7)))
^
I used a '.' instead of a '-', to conform with the guidelines:
https://www.gnu.org/software/guix/manual/html_node/Version-Numbers.html



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 02:59:31PM -0400, Kei Kebreau wrote:
>> Leo Famulari  writes:
>> 
>> > On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>> >> Like below? And how could I then access qscintilla-for-octave from
>> >> maths.scm if it isn't defined publicly?
>> >
>> > Yes, that looks right. But I would put qscintilla-for-octave in
>> > maths.scm to avoid the issue you describe.
>> 
>> So would you say that this is clean enough that I could push both of
>> these changes in their respecitive files before modifying the Octave 
>> definition?
>
> I would wait to push the Qt 4 variant until you have made sure it works
> with Octave.

I have Octave successfully running with a GUI on my machine using the Qt
4 version of the QScintilla patch, though I've yet to test with the
qscintilla-for-octave package.
>
> Also, I didn't notice a difference between the arguments for each
> package variant. If there is no difference, could the Qt 4 variant
> inherit the arguments, too?

There is a small difference in the two fix-Makefiles phases. They
replace different folder paths (the Qt 5 version changes the qtbase path to
the package output path, the Qt 4 version changes the qt-4 path to the
package output path).


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Efraim Flashner
On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
> Leo Famulari  writes:
> 
> > On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
> >> Kei Kebreau  writes:
> >> > A component necessary for GNU Octave's GUI.
> >> > How does it look?
> >> Not sure how packaging Qt packages goes, but I've discovered that
> >> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
> >> adjust this. Should I leave the old patch as is and add a qt4 package
> >> that inherits from it?
> >
> > Since Qt 4 is no longer supported upstream, we are trying to remove
> > users of the qt-4 package so that we can eventually remove the qt-4
> > package itself.
> >
> > With that in mind, how about a qscintilla-for-octave package? This
> > package can inherit from a qscintilla that uses qtbase, and I think it
> > should be declared privately [using (define) instead of (define-public].
> >
> >> + (replace 'configure
> >> +   (lambda _
> >> + (chdir "Qt4Qt5")
> >> + (zero? (system* "qmake" "qscintilla.pro"
> >
> > I would change directory in a separate 'chdir' phase.
> >
> >> +   (substitute* (find-files "." "Makefile")
> >> + (((string-append "INSTALL_ROOT)" qt))
> >> +  (string-append "INSTALL_ROOT)" out)
> >  ^
> > Inconsistent indentation. Also, this phase should return #t, since the
> > return value of substitute* is unspecified.
> >
> >> +(synopsis "Qt5 port of the Scintilla editing component")
> >
> > Make sure to adjust the Qt name as appropriate :)
> 
> Like below? And how could I then access qscintilla-for-octave from
> maths.scm if it isn't defined publicly?
> 
> (define-public qscintilla
>   (package
> (name "qscintilla")
> (version "2.9.3")
> (source (origin
>   (method url-fetch)
>   (uri (string-append 
> "mirror://sourceforge/QScintilla2/QScintilla-"
>   version "/QScintilla_gpl-" version 
> ".tar.gz"))
>   (sha256
>(base32
> "0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
> (build-system gnu-build-system)
> (arguments
>  `(#:phases
>(modify-phases %standard-phases
>  (add-before 'configure 'change-directory
>(lambda _ (chdir "Qt4Qt5") #t))
>  (replace 'configure
>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>  (add-before 'install 'fix-Makefiles
>(lambda* (#:key inputs outputs #:allow-other-keys)
>  (let ((out(assoc-ref outputs "out"))
>(qtbase (assoc-ref inputs "qtbase")))
>(substitute* (find-files "." "Makefile")
>  (((string-append "INSTALL_ROOT)" qtbase))
>(string-append "INSTALL_ROOT)" out
>  #t)
> (native-inputs
>  `(("python-pyqt" ,python-pyqt)
>("qtbase" ,qtbase))) ; for qmake
> (home-page "https://www.riverbankcomputing.com/software/qscintilla/intro;)
> (synopsis "Qt5 port of the Scintilla editing component")
> (description
>  "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
> control.
> As well as features found in standard text editing components, QScintilla
> includes features especially useful when editing and debugging source code.
> These include support for syntax styling, error indicators, code completion 
> and
> call tips.")
> (license (list license:bsd-2 ; Python/configure.py
>license:expat ; src/ and include/
>license:gpl3
> 
> (define qtscintilla-for-octave

This should be qtscintilla-qt4, we might have a use for it outside of
octave

>   (package
> (inherit qtscintilla)
> (name "qtscintilla-for-octave")
> (arguments
>  `(#:phases
>(modify-phases %standard-phases
>  (add-before 'configure 'change-directory
>(lambda _ (chdir "Qt4Qt5") #t))
>  (replace 'configure
>(lambda _ (zero? (system* "qmake" "qscintilla.pro"
>  (add-before 'install 'fix-Makefiles
>(lambda* (#:key inputs outputs #:allow-other-keys)
>  (let ((out(assoc-ref outputs "out"))
>(qt (assoc-ref inputs "qt")))
>(substitute* (find-files "." "Makefile")
>  (((string-append "INSTALL_ROOT)" qt))
>(string-append "INSTALL_ROOT)" out
>  #t)
> (native-inputs
>  `(("python-pyqt" ,python-pyqt)

python-pyqt is built against qt-5

>("qt" ,qt-4))) ; for qmake
> (synopsis "Qt4 port of the Scintilla editing component")))



-- 
Efraim Flashner      אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc

Re: [PATCH 1/2] gnu: Add perl-net-psyc.

2016-09-13 Thread ng0
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 11:32:36AM +, ng0 wrote:
>> * gnu/packages/psyc.scm: New file.
>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>
> This package looks pretty good to me!
>
>> + (replace 'install
>> +   (lambda* (#:key outputs #:allow-other-keys)
>> + (let* ((out (assoc-ref outputs "out"))
>> +(doc (string-append out "/share/doc/perl-net-psyc"))
>> +(man (string-append out "/share/man"))
>> +(bin (string-append out "/bin"))
>> +(libpsyc (string-append out "/lib/psyc/ion"))
>> +(libperl (string-append out "/lib/perl5/site_perl/"
>> +,(package-version perl
>> +
>> +   (copy-recursively "lib/perl5" libperl)
>> +   (copy-recursively "lib/psycion" libpsyc)
>> +   (copy-recursively "bin" bin)
>> +   (install-file "cgi/psycpager" (string-append doc "/cgi"))
>> +   (copy-recursively "contrib" (string-append doc "/contrib"))
>> +   (copy-recursively "hooks" (string-append doc "/hooks"))
>> +   (copy-recursively "sdj" (string-append doc "/sdj"))
>> +   (install-file "README.txt" doc)
>> +   (install-file "TODO.txt" doc)
>> +   (copy-recursively "share/man/man1" (string-append man 
>> "/man1"))
>> +   (copy-recursively "share/man/man3" (string-append man 
>> "/man3"))
>> +   #t)))
>
> But, there aren't any man pages in the built package.

Oh? Then the change I applied before submitting it broke it. There are
manpages, I just thought I could save a line by using
(let (man (string-append out "/share/man"))
  (copy-recursively "share/man/man1" (string-append man "/man1"))
  (copy-recursively "share/man/man3" (string-append man "/man3"))

and not 

(let (man1 (string-append out "/share/man/man1"))
 (man3 (string-append out "/share/man/man3"))
  (copy-recursively "share/man/man1" man1))
  (copy-recursively "share/man/man3" man3))

>> +(description
>> + "@code{Net::PSYC} with support for TCP, UDP, Event.pm, 
>> @code{IO::Select} and
>> +Gtk2 event loops.  This package includes 12 applications and additional 
>> scripts:
>> +psycion, a @uref{http://about.psyc.eu,PSYC} chat client, remotor, a control 
>> console
>> +for @uref{https://torproject.org,tor} router, and many more.")
>
> Also, I don't know this word "remotor". Is it related to PSYC?

Then I need to restructur my sentence. If you take a look at the website
you will see that it is one of the many applications perlpsyc has.

-- 
  ng0



Re: [PATCH 1/2] gnu: Add femtolisp.

2016-09-13 Thread Ricardo Wurmus

ng0  writes:

> * gnu/packages/lisp.scm (femtolisp): New variable.
> ---
>  gnu/packages/lisp.scm | 53 
> +++
>  1 file changed, 53 insertions(+)
>
> diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
> index 8ee249d..4e2ecdb 100644
> --- a/gnu/packages/lisp.scm
> +++ b/gnu/packages/lisp.scm
> @@ -487,3 +487,56 @@ in the early 80's.  It was converted to C by Blake 
> McBride and supports much of
>  the InterLisp Standard.")
>(home-page "https://github.com/blakemcbride/LISPF4.git;)
>(license license:expat
> +
> +(define-public femtolisp
> +  (let* ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
> +(revision "1"))
> +(package
> +  (name "femtolisp")
> +  (version (string-append "0.0.0-" revision "-" (string-take commit 7)))
> +  (source (origin
> +(method git-fetch)
> +(uri (git-reference
> +  (url "https://github.com/JeffBezanson/femtolisp.git;)
> +  (commit commit)))
> +(file-name (string-append name "-" version "-checkout"))
> +(sha256
> + (base32
> +  "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja"
> +  (build-system gnu-build-system)
> +  (arguments
> +   `(#:make-flags '("CC=gcc")
> + #:tests? #f ; No make check

But it does have a “test” target, no?  How about “#:test-target "test"”
instead of disabling the tests?

> + #:phases
> + (modify-phases %standard-phases
> +   (delete 'configure) ; No configure script
> +   ;; We have to remove the 'test phase because it requires
> +   ;; the flisp binary to be present. Instead we run
> +   ;; bootstrap.sh after the 'install phase.

I find this strange.  More about this below.

> +   (add-before 'build 'patch-makefile
> + (lambda _
> +   (substitute* "Makefile"
> + (("default: release test") "default: release"))
> +   #t))

This may not be necessary when you pass “release” as one of the
“#:make-flags”.

> +   (replace 'install ; Makefile has no 'install phase
> +(lambda* (#:key outputs #:allow-other-keys)
> +  (let* ((out (assoc-ref outputs "out"))
> + (bin (string-append out "/bin")))
> +(install-file "flisp" bin)
> +#t)))
> +   ;; The flisp binary is now available, run bootstrap to
> +   ;; generate flisp.boot and afterwards runs make test.
> +   (add-after 'install 'bootstrap-gen-and-test
> + (lambda* (#:key outputs #:allow-other-keys)
> +  (let* ((out (assoc-ref outputs "out"))
> + (bin (string-append out "/bin")))
> +(and
> + (zero? (system* "./bootstrap.sh"))
> + (install-file "flisp.boot" bin

“install-file” has an unspecified return value.  I’m a little surprised
to see “bootstrap.sh” to be used *after* installation.  That’s very odd.
Could the tests not be fixed in another way, e.g. by overriding the
location of the binary?

> +  (synopsis "Scheme-like lisp implementation")
> +  (description
> +   "@code{femtolisp} is a scheme-like lisp implementation with a
> +simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
> +The core is 12 builtin special forms and 33 builtin functions.")


“Scheme-like”.  I think the sentence on “lisp-1” can be removed, because
if it’s Scheme-like it’s unlikely to be a lisp-2.

> +  (home-page "https://github.com/JeffBezanson/femtolisp;)
> +  (license license:bsd-3

~~ Ricardo




Re: [PATCH v4 2/3] gnu: Make ldc work again

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 09:20:05PM +0200, Ricardo Wurmus wrote:
> 
> Leo Famulari  writes:
> 
> > On Tue, Sep 13, 2016 at 12:53:39PM -0400, Leo Famulari wrote:
> >> On Tue, Sep 13, 2016 at 12:30:41PM +0200, Danny Milosavljevic wrote:
> >> > * gnu/packages/ldc.scm (ldc): Added substitution. Added zlib input. Fix 
> >> > llvm and clang inputs to 3.7.
> >> 
> >> LDC built with this patch. I'm currently in the test suite. If it passes
> >> on my computer, I'd like to push this patch unless there are objections.
> >
> > The test suite passed. If there are no more comments in the next day or
> > two, I will push this patch with some edits to the commit message.
> 
> The patch looks good to me (aside from the commit message).

Okay, considering the comments from you and Roel, I pushed with an
altered commit message as 812b3c1f8a3717fd9fc540663912c5e9a144db5b.



Re: [PATCH v4 3/3] gnu: Update ldc to 0.17.1.

2016-09-13 Thread Efraim Flashner
https://wiki.dlang.org/LDC
https://github.com/ldc-developers/ldc/releases/tag/v0.17.1

After 0.17.1 is working on guix *someone* should change the supported
platforms to include arm.  Based on the wiki it sounds like maybe we
should try building it on mips also.


-- 
Efraim Flashner      אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add python-gunicorn and python2-gunicorn.

2016-09-13 Thread Hartmut Goebel
Am 13.09.2016 um 17:51 schrieb Leo Famulari:
> Thanks for this! Regarding the naming question, I think it's fine to
> call it 'gunicorn'. Prefixing with 'python-' is more appropriate for
> libraries and other "helper" packages, whereas user facing or
> standalone applications can use the plain upstream name, in my opinion.

Fine. I'll update (which may take until Thursday) the patch.

>> +   ;("python-pytest-cov" ,python-pytest-cov) ; optional
> I think we should either use pytest-cov or remove this commented line.
> What do you think?

I added this line for documentation reasons. But I agree, it's better to
remove this line and add a real comment.

>> +(define-public python2-gunicorn
>> +  (let ((base (package-with-python2
>> +   (strip-python2-variant python-gunicorn
>> +; Note: byte-compiling gunicorn/workers/_gaiohttp.py with Python 2
>> +; fails, but this module will be available for Python 3 only
>> +; anyway.
> Can you elaborate on this? Does python2-gunicorn still work? If so,
> okay.

Yes. I'll update this comment to make it more clear, too.

-- 
Regards
Hartmut Goebel

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




Re: [PATCH 2/2] gnu: lispf4: Remove unused inputs key.

2016-09-13 Thread ng0
Leo Famulari  writes:

> On Mon, Sep 12, 2016 at 01:57:56PM +, ng0 wrote:
>> * gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused
>> inputs from 'install phase.
>> [source](file-name): Append -checkout to the file-name.
>
> Pushed! Now to make it work :)

Thanks!

Well... I think I have to actually learn to write C and FORTRAN and not
only read and understand. The author seemed not very interested in
helping, they have either forgotten that they wanted to check the bug
out or it was just to satisfy me for the moment.

Or maybe we have someone here who can read and write FORTRAN and
C... FORTRAN is only needed to understand the original source, the
language itself is in C.

-- 
  ng0



Re: [PATCH v4 2/3] gnu: Make ldc work again

2016-09-13 Thread Ricardo Wurmus

Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 12:53:39PM -0400, Leo Famulari wrote:
>> On Tue, Sep 13, 2016 at 12:30:41PM +0200, Danny Milosavljevic wrote:
>> > * gnu/packages/ldc.scm (ldc): Added substitution. Added zlib input. Fix 
>> > llvm and clang inputs to 3.7.
>> 
>> LDC built with this patch. I'm currently in the test suite. If it passes
>> on my computer, I'd like to push this patch unless there are objections.
>
> The test suite passed. If there are no more comments in the next day or
> two, I will push this patch with some edits to the commit message.

The patch looks good to me (aside from the commit message).

~~ Ricardo



Re: [PATCH 1/2] gnu: Add perl-net-psyc.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 11:32:36AM +, ng0 wrote:
> * gnu/packages/psyc.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

This package looks pretty good to me!

> + (replace 'install
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> +(doc (string-append out "/share/doc/perl-net-psyc"))
> +(man (string-append out "/share/man"))
> +(bin (string-append out "/bin"))
> +(libpsyc (string-append out "/lib/psyc/ion"))
> +(libperl (string-append out "/lib/perl5/site_perl/"
> +,(package-version perl
> +
> +   (copy-recursively "lib/perl5" libperl)
> +   (copy-recursively "lib/psycion" libpsyc)
> +   (copy-recursively "bin" bin)
> +   (install-file "cgi/psycpager" (string-append doc "/cgi"))
> +   (copy-recursively "contrib" (string-append doc "/contrib"))
> +   (copy-recursively "hooks" (string-append doc "/hooks"))
> +   (copy-recursively "sdj" (string-append doc "/sdj"))
> +   (install-file "README.txt" doc)
> +   (install-file "TODO.txt" doc)
> +   (copy-recursively "share/man/man1" (string-append man 
> "/man1"))
> +   (copy-recursively "share/man/man3" (string-append man 
> "/man3"))
> +   #t)))

But, there aren't any man pages in the built package.

> +(description
> + "@code{Net::PSYC} with support for TCP, UDP, Event.pm, 
> @code{IO::Select} and
> +Gtk2 event loops.  This package includes 12 applications and additional 
> scripts:
> +psycion, a @uref{http://about.psyc.eu,PSYC} chat client, remotor, a control 
> console
> +for @uref{https://torproject.org,tor} router, and many more.")

Also, I don't know this word "remotor". Is it related to PSYC?



Re: [PATCH 2/2] gnu: Add libpsyc.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 11:32:37AM +, ng0 wrote:
> * gnu/packages/psyc.scm (libpsyc): New variable.

LGTM!



Re: [PATCH v2] gnu: Add rust

2016-09-13 Thread ng0
This now fails differently after a good while of compiling.

llvm[1]: * Completed Release Build
make[1]: Leaving directory 
'/tmp/guix-build-rust-1.10.0.drv-0/rustc-1.10.0/x86_64-unknown-linux-gnu/llvm'
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore
compile: x86_64-unknown-linux-gnu/rustllvm/ExecutionEngineWrapper.o
compile: x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o
compile: x86_64-unknown-linux-gnu/rustllvm/PassWrapper.o
compile: x86_64-unknown-linux-gnu/rustllvm/ArchiveWrapper.o
link: x86_64-unknown-linux-gnu/rt/librustllvm.a
ar: `u' modifier ignored since `D' is the default (see `U')
src/libcore/lib.rs:69:12: 69:33 warning: unused or unknown feature, 
#[warn(unused_features)] on by default
src/libcore/lib.rs:69 #![feature(cfg_target_has_atomic)]
 ^
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librand
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_unicode
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_bitflags
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc_system
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc_jemalloc
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcollections
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_abort
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libarena
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libflate
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgraphviz
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libterm
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblog
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libfmt_macros
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_platform_intrinsics
cp: x86_64-unknown-linux-gnu/stage1/lib/libstd
rustc: 
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libserialize
error: linking with `cc` failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" 
"/tmp/guix-build-rust-1.10.0.drv-0/rustc-1.10.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib"
 
"x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-2f39a9bd.0.o"
 "-o" 
"x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-2f39a9bd.so"
 
"x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-2f39a9bd.metadata.o"
 "-Wl,-O1" "-nodefaultlibs" "-L" "x86_64-unknown-linux-gnu/rt" "-L" 
"/tmp/guix-build-rust-1.10.0.drv-0/rustc-1.10.0/x86_64-unknown-linux-gnu/llvm/Release/lib"
 "-L" 
"/tmp/guix-build-rust-1.10.0.drv-0/rustc-1.10.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib"
 "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "rustllvm" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMInterpreter" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMMCJIT" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMExecutionEngine" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMRuntimeDyld" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMipo" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMVectorize" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMLinker" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMIRReader" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMAsmParser" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMPowerPCDisassembler" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMPowerPCCodeGen" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMPowerPCAsmParser" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMPowerPCDesc" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMPowerPCInfo" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" "LLVMPowerPCAsmPrinter" "-Wl,--no-whole-archive" 
"-Wl,--whole-archive" "-l" 

[PATCH 1/2] gnu: Add femtolisp.

2016-09-13 Thread ng0
* gnu/packages/lisp.scm (femtolisp): New variable.
---
 gnu/packages/lisp.scm | 53 +++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 8ee249d..4e2ecdb 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -487,3 +487,56 @@ in the early 80's.  It was converted to C by Blake McBride 
and supports much of
 the InterLisp Standard.")
   (home-page "https://github.com/blakemcbride/LISPF4.git;)
   (license license:expat
+
+(define-public femtolisp
+  (let* ((commit "68c5b1225572ecf2c52baf62f928063e5a30511b")
+(revision "1"))
+(package
+  (name "femtolisp")
+  (version (string-append "0.0.0-" revision "-" (string-take commit 7)))
+  (source (origin
+(method git-fetch)
+(uri (git-reference
+  (url "https://github.com/JeffBezanson/femtolisp.git;)
+  (commit commit)))
+(file-name (string-append name "-" version "-checkout"))
+(sha256
+ (base32
+  "04rnwllxnl86zw8c6pwxznn49bvkvh0f1lfliy085vjzvlq3rgja"
+  (build-system gnu-build-system)
+  (arguments
+   `(#:make-flags '("CC=gcc")
+ #:tests? #f ; No make check
+ #:phases
+ (modify-phases %standard-phases
+   (delete 'configure) ; No configure script
+   ;; We have to remove the 'test phase because it requires
+   ;; the flisp binary to be present. Instead we run
+   ;; bootstrap.sh after the 'install phase.
+   (add-before 'build 'patch-makefile
+ (lambda _
+   (substitute* "Makefile"
+ (("default: release test") "default: release"))
+   #t))
+   (replace 'install ; Makefile has no 'install phase
+(lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+(install-file "flisp" bin)
+#t)))
+   ;; The flisp binary is now available, run bootstrap to
+   ;; generate flisp.boot and afterwards runs make test.
+   (add-after 'install 'bootstrap-gen-and-test
+ (lambda* (#:key outputs #:allow-other-keys)
+  (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+(and
+ (zero? (system* "./bootstrap.sh"))
+ (install-file "flisp.boot" bin
+  (synopsis "Scheme-like lisp implementation")
+  (description
+   "@code{femtolisp} is a scheme-like lisp implementation with a
+simple, elegant Scheme dialect.  It is a lisp-1 with lexical scope.
+The core is 12 builtin special forms and 33 builtin functions.")
+  (home-page "https://github.com/JeffBezanson/femtolisp;)
+  (license license:bsd-3
-- 
2.10.0




Re: [PATCH v4 2/3] gnu: Make ldc work again

2016-09-13 Thread Roel Janssen

Leo Famulari writes:

> On Tue, Sep 13, 2016 at 12:30:41PM +0200, Danny Milosavljevic wrote:
>> * gnu/packages/ldc.scm (ldc): Added substitution. Added zlib input. Fix llvm 
>> and clang inputs to 3.7.
>
> LDC built with this patch. I'm currently in the test suite. If it passes
> on my computer, I'd like to push this patch unless there are objections.

+1.

I'm in the test phase as well.  Especially because the upgrade to 0.17.1
does not seem to work, I would like to push this patch.

Thanks Danny for your work.

Kind regards,
Roel Janssen



[PATCH 2/2] gnu: lispf4: Remove unused inputs key.

2016-09-13 Thread ng0
* gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused
inputs from 'install phase.
[source](file-name): Append -checkout to the file-name.
---
 gnu/packages/lisp.scm | 10 --
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 4e2ecdb..c5d8e5c 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -453,7 +453,7 @@ interface.")
 (uri (git-reference
   (url "https://github.com/blakemcbride/LISPF4.git;)
   (commit commit)))
-(file-name (string-append name "-" version))
+(file-name (string-append name "-" version "-checkout"))
 (sha256
  (base32
   "18k8kfn30za637y4bfbm9x3vv4psa3q8f7bi9h4h0qlb8rz8m92c"
@@ -463,14 +463,12 @@ interface.")
   (arguments
`(#:make-flags
  '("-f" "Makefile.unx" "CC=gcc")
- ;; no check phase
- #:tests? #f
+ #:tests? #f ; No 'check phase
  #:phases
  (modify-phases %standard-phases
(delete 'configure)
-   (replace
-'install
-(lambda* (#:key outputs inputs #:allow-other-keys)
+   (replace 'install
+(lambda* (#:key outputs #:allow-other-keys)
   (let* ((out (assoc-ref outputs "out"))
  (bin (string-append out "/bin"))
  (doc (string-append (assoc-ref outputs "doc")
-- 
2.10.0




Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 02:59:31PM -0400, Kei Kebreau wrote:
> Leo Famulari  writes:
> 
> > On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
> >> Like below? And how could I then access qscintilla-for-octave from
> >> maths.scm if it isn't defined publicly?
> >
> > Yes, that looks right. But I would put qscintilla-for-octave in
> > maths.scm to avoid the issue you describe.
> 
> So would you say that this is clean enough that I could push both of
> these changes in their respecitive files before modifying the Octave 
> definition?

I would wait to push the Qt 4 variant until you have made sure it works
with Octave.

Also, I didn't notice a difference between the arguments for each
package variant. If there is no difference, could the Qt 4 variant
inherit the arguments, too?



Re: [PATCH 2/2] gnu: lispf4: Remove unused inputs key.

2016-09-13 Thread Leo Famulari
On Mon, Sep 12, 2016 at 01:57:56PM +, ng0 wrote:
> * gnu/packages/lisp.scm (lispf4)[arguments]: Remove unused
> inputs from 'install phase.
> [source](file-name): Append -checkout to the file-name.

Pushed! Now to make it work :)



Re: [PATCH 2/2] gnu: encfs: Update to 1.9.

2016-09-13 Thread Tobias Geerinckx-Rice
Ludo',

On 13/09/16 14:11, Ludovic Courtès wrote:
> However, ‘find-files’ does not include directories in its result, 
> unless you explicitly ask for it.  So probably it should be:
> 
> (for-each delete-file-recursively (find-files "internal" "^tinyxml2" 
> #:directories? #t))

Indeed, thanks. I'll push with the more specific

(snippet '(for-each delete-file-recursively
(find-files "internal" "^tinyxml2-[0-9]"
#:directories? #t)

unless anyone raises any objections. Otherwise, find-files returns some
matching subdirectories as well (‘^tinyxml2-.*/.*/tinyxml2-.*’) which
delete-file-recursively still tries to delete after the parent is gone.

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
> Like below? And how could I then access qscintilla-for-octave from
> maths.scm if it isn't defined publicly?

Yes, that looks right. But I would put qscintilla-for-octave in
maths.scm to avoid the issue you describe.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 02:01:33PM -0400, Kei Kebreau wrote:
>> Like below? And how could I then access qscintilla-for-octave from
>> maths.scm if it isn't defined publicly?
>
> Yes, that looks right. But I would put qscintilla-for-octave in
> maths.scm to avoid the issue you describe.

So would you say that this is clean enough that I could push both of
these changes in their respecitive files before modifying the Octave definition?



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Leo Famulari  writes:

> On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
>> Kei Kebreau  writes:
>> > A component necessary for GNU Octave's GUI.
>> > How does it look?
>> Not sure how packaging Qt packages goes, but I've discovered that
>> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
>> adjust this. Should I leave the old patch as is and add a qt4 package
>> that inherits from it?
>
> Since Qt 4 is no longer supported upstream, we are trying to remove
> users of the qt-4 package so that we can eventually remove the qt-4
> package itself.
>
> With that in mind, how about a qscintilla-for-octave package? This
> package can inherit from a qscintilla that uses qtbase, and I think it
> should be declared privately [using (define) instead of (define-public].
>
>> + (replace 'configure
>> +   (lambda _
>> + (chdir "Qt4Qt5")
>> + (zero? (system* "qmake" "qscintilla.pro"
>
> I would change directory in a separate 'chdir' phase.
>
>> +   (substitute* (find-files "." "Makefile")
>> + (((string-append "INSTALL_ROOT)" qt))
>> +  (string-append "INSTALL_ROOT)" out)
>  ^
> Inconsistent indentation. Also, this phase should return #t, since the
> return value of substitute* is unspecified.
>
>> +(synopsis "Qt5 port of the Scintilla editing component")
>
> Make sure to adjust the Qt name as appropriate :)

Like below? And how could I then access qscintilla-for-octave from
maths.scm if it isn't defined publicly?

(define-public qscintilla
  (package
(name "qscintilla")
(version "2.9.3")
(source (origin
  (method url-fetch)
  (uri (string-append "mirror://sourceforge/QScintilla2/QScintilla-"
  version "/QScintilla_gpl-" version ".tar.gz"))
  (sha256
   (base32
"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
(build-system gnu-build-system)
(arguments
 `(#:phases
   (modify-phases %standard-phases
 (add-before 'configure 'change-directory
   (lambda _ (chdir "Qt4Qt5") #t))
 (replace 'configure
   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
 (add-before 'install 'fix-Makefiles
   (lambda* (#:key inputs outputs #:allow-other-keys)
 (let ((out(assoc-ref outputs "out"))
   (qtbase (assoc-ref inputs "qtbase")))
   (substitute* (find-files "." "Makefile")
 (((string-append "INSTALL_ROOT)" qtbase))
   (string-append "INSTALL_ROOT)" out
 #t)
(native-inputs
 `(("python-pyqt" ,python-pyqt)
   ("qtbase" ,qtbase))) ; for qmake
(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro;)
(synopsis "Qt5 port of the Scintilla editing component")
(description
 "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor control.
As well as features found in standard text editing components, QScintilla
includes features especially useful when editing and debugging source code.
These include support for syntax styling, error indicators, code completion and
call tips.")
(license (list license:bsd-2 ; Python/configure.py
   license:expat ; src/ and include/
   license:gpl3

(define qtscintilla-for-octave
  (package
(inherit qtscintilla)
(name "qtscintilla-for-octave")
(arguments
 `(#:phases
   (modify-phases %standard-phases
 (add-before 'configure 'change-directory
   (lambda _ (chdir "Qt4Qt5") #t))
 (replace 'configure
   (lambda _ (zero? (system* "qmake" "qscintilla.pro"
 (add-before 'install 'fix-Makefiles
   (lambda* (#:key inputs outputs #:allow-other-keys)
 (let ((out(assoc-ref outputs "out"))
   (qt (assoc-ref inputs "qt")))
   (substitute* (find-files "." "Makefile")
 (((string-append "INSTALL_ROOT)" qt))
   (string-append "INSTALL_ROOT)" out
 #t)
(native-inputs
 `(("python-pyqt" ,python-pyqt)
   ("qt" ,qt-4))) ; for qmake
(synopsis "Qt4 port of the Scintilla editing component")))


signature.asc
Description: PGP signature


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

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 07:42:33PM +0200, John Darrington wrote:
> On Tue, Sep 13, 2016 at 01:10:44PM -0400, Leo Famulari wrote:
>  On Tue, Sep 13, 2016 at 02:18:20PM +0200, John Darrington wrote:
>  > 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".
>  > 
>  > Perhaps there is no formal difference, but "various" sounds odd to me 
> in that context.
>  > I think that "miscellaneous" is more common in such use cases.
>  
>  I don't find this use of "various" to be confusing or strange, but
>  "miscellaneous" is more idiomatic in this context.
> 
> There is no idiom involved. 

I just meant that it sounds more "natural" to a native speaker of the
language.


signature.asc
Description: PGP signature


Re: [PATCH v4 2/3] gnu: Make ldc work again

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 12:53:39PM -0400, Leo Famulari wrote:
> On Tue, Sep 13, 2016 at 12:30:41PM +0200, Danny Milosavljevic wrote:
> > * gnu/packages/ldc.scm (ldc): Added substitution. Added zlib input. Fix 
> > llvm and clang inputs to 3.7.
> 
> LDC built with this patch. I'm currently in the test suite. If it passes
> on my computer, I'd like to push this patch unless there are objections.

The test suite passed. If there are no more comments in the next day or
two, I will push this patch with some edits to the commit message.



Re: [PATCH v2] gnu: Add rust

2016-09-13 Thread ng0
Disregard this, works now.

ng0  writes:

> Eric Le Bihan  writes:
>
>> Hi!
>>
>> Le Tue, 13 Sep 2016 12:09:42 +,
>> ng0  a écrit :
>>
>>> I can not apply this patch with git am. Can you resend the patch as an
>>> appended file created with git format-patch or something similar, and
>>> not inlined?
>>
>> That's surprising: the patch was generated by `git format-patch` and
>> sent via `git send-email`. My mail client is Claws Mail and it allows
>> me to save the email I previously sent to a file in mbox format, which
>> applies without problem with `git am`.
>>
>> Anyway, please find it re-attached to this mail.
>
> Thanks, worked this time.
>
>> Best regards,
>
>
> I get this output, same like I had with what jelle ended up with my
> base, produced an equal first error at some point.
>
> Okay, i just realized there was a mistake in the patch i applied, I need
> to check it again, but I've got this before.. I don't know what's wrong
> here.
>
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> process 16829 acquired build slot '/var/guix/offload/192.168.1.198/0'
> Cannot open display "default display"
> load on machine '192.168.1.198' is 0.0 (normalized: 0.0)
> @ build-started 
> /gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv
>  - x86_64-linux 
> /var/log/guix/drvs/qa//f7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv.bz2
> Cannot open display "default display"
> Cannot open display "default display"
> sending 2 store files to '192.168.1.198'...
> Cannot open display "default display"
> exporting path 
> `/gnu/store/hpj2m538l2anjb6bwksxgbivjxz5gnzj-rust-stage0-2016-02-17-4d3eebf-linux-x86_64-d29b7607d13d64078b6324aec82926fb493f59ba.tar.bz2.drv'
> exporting path 
> `/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
> offloading 
> '/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
>  to '192.168.1.198'...
> @ build-remote 
> /gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv
>  192.168.1.198
> Cannot open display "default display"
> substitute: updating list of substitutes from 
> 'https://mirror.hydra.gnu.org'... 100.0%
> The following derivation will be built:
>
> /gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv
> @ build-started 
> /gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv
>  - x86_64-linux 
> /var/log/guix/drvs/qa//f7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv.bz2
> Backtrace:
> In ice-9/boot-9.scm:
>  157: 11 [catch #t # ...]
> In unknown file:
>?: 10 [apply-smob/1 #]
> In ice-9/boot-9.scm:
>   63: 9 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
>  432: 8 [eval # #]
> In ice-9/boot-9.scm:
> 2401: 7 [save-module-excursion # ()>]
> 4050: 6 [#]
> 1724: 5 [%start-stack load-stack # ice-9/boot-9.scm:4041:10 ()>]
> 1729: 4 [#]
> In unknown file:
>?: 3 [primitive-load 
> "/gnu/store/x5fjjgvzbrcibsv2zwqvsay5zc4916xx-rust-stage0-2016-02-17-4d3eebf-guile-builder"]
> In ice-9/eval.scm:
>  387: 2 [eval # ()]
>  411: 1 [eval # ()]
> In unknown file:
>?: 0 [string-append #f "/lib/ld-linux-x86-64.so.2"]
>
> ERROR: In procedure string-append:
> ERROR: In procedure string-append: Wrong type (expecting string): #f
> builder for 
> `/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
>  failed with exit code 1
> @ build-failed 
> /gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv
>  - 1 builder for 
> `/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
>  failed with exit code 1
> guix build: error: build failed: build of 
> `/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
>  failed
> Cannot open display "default display"
> derivation 
> '/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
>  offloaded to '192.168.1.198' failed with exit code 1
> @ build-failed 
> /gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv
>  - 1 builder for 
> `/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
>  failed with exit code 100
> cannot build derivation 
> `/gnu/store/0jplgx6n7a8qc93h36cjwr0bxxcksrah-rust-1.8.0.drv': 1 dependencies 
> couldn't be built
> guix build: error: build failed: build of 
> `/gnu/store/0jplgx6n7a8qc93h36cjwr0bxxcksrah-rust-1.8.0.drv' failed
>
>
>
>> -- 
>> ELB
>> From 4f52b3f041e040d93a0a2f178d3b4a6e8f49df9f Mon Sep 17 00:00:00 2001
>> From: Eric Le Bihan 
>> Date: Thu, 28 Jul 2016 20:09:01 +0200
>> Subject: [PATCH v2] gnu: Add rust
>>
>> * gnu/packages/rust.scm(rust): New variable.
>>
>> Signed-off-by: Eric Le Bihan 

Re: [PATCH] $HOME/.guix-profile considered harmful.

2016-09-13 Thread Ricardo Wurmus

John Darrington  writes:

> I have my /home NFS mounted (not uncommon in large networks, I think).
> Unfortunately this does not play nicely with guix's convention of setting
> $PATH  to $HOME/.guix-profile and then linking $HOME/.guix-profile to
> %state-directory/profiles/per-user/$USER/guix_profile - for the obvious reason
> that %state-directory could be different on each workstation - in which case
> $HOME/.guix-profile will be a dead link.
>
> I'm not sure exactly what benefit the ~/.guix-profile convention brings us, 
> except
> perhaps that it is easy to remember.
>
> I'd like to see the ability to have GuixSD deployable in medium-large 
> intranets
> where home (and /var/mail) are remotely mounted filesystems.  Hence I suggest 
> that
> $HOME/.guix-profile is deprecated.

We use Guix on workstations and the cluster at the institute where I
work.  On the cluster /home is mounted via NFS.

Guix does not set PATH to $HOME/.guix-profile automatically.  Users have
to do this on their own.  (On GuixSD this is automatic.)

I find “$HOME/.guix-profile” very useful.  When set up it will always
point to the user’s current Guix profile on the machine.  If you want to
harmonize this across all machines then not only /home should be mounted
via NFS but also the store along with its localstatedir.  This is how
it’s done at the MDC, for example.

~~ Ricardo




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

2016-09-13 Thread John Darrington
On Tue, Sep 13, 2016 at 01:10:44PM -0400, Leo Famulari wrote:
 On Tue, Sep 13, 2016 at 02:18:20PM +0200, John Darrington wrote:
 > 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".
 > 
 > Perhaps there is no formal difference, but "various" sounds odd to me in 
that context.
 > I think that "miscellaneous" is more common in such use cases.
 
 I don't find this use of "various" to be confusing or strange, but
 "miscellaneous" is more idiomatic in this context.

There is no idiom involved.  Both words ("various" and "miscellaneous") are 
used with
their literal meanings - and both are correct.  It is just that, to me, 
"miscellaneous"
sounds more natural in the context it is meant.   When I see "Various Services" 
at
the end of this section, I thought perhaps at first it was a tutorial section 
giving
some examples of the services already discussed in previous subsections.

J'



-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH] gnu: Add microcom

2016-09-13 Thread John Darrington
On Tue, Sep 13, 2016 at 11:36:17AM -0400, Leo Famulari wrote:
 On Sun, Sep 11, 2016 at 06:56:58PM +0200, John Darrington wrote:
 > * gnu/packages/microcom.scm: New file.
 > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
 
 > +(version "2016.01.09")
 
 I think we should use the upstream tag, "v2016.01.0".
 
 > +(source (origin
 > +  (method git-fetch)
 > +  (uri (git-reference
 > +(url 
"git://git.pengutronix.de/git/tools/microcom.git")
 > +(commit 
"caf3687611ca855b4fa80c2a9a2fbb020834fc4e")))
 
 Then, you can use the tag name as the commit. The tag I mentioned is
 equivalent to this commit.

I will do that.  Thanks.
 
 > +(license gpl2+)))
 
 My interpretation of the first paragraph of COPYING [0] is that the
 package is licensed under the GPL version 2 only. What do you think?

All the .c files in the package explicitly say "either version 2 of the License,
 or (at your option) any later version".
 

J'

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH v2] gnu: Add rust

2016-09-13 Thread Eric Le Bihan
Hi!

Le Tue, 13 Sep 2016 12:09:42 +,
ng0  a écrit :

> I can not apply this patch with git am. Can you resend the patch as an
> appended file created with git format-patch or something similar, and
> not inlined?

That's surprising: the patch was generated by `git format-patch` and
sent via `git send-email`. My mail client is Claws Mail and it allows
me to save the email I previously sent to a file in mbox format, which
applies without problem with `git am`.

Anyway, please find it re-attached to this mail.

Best regards,

-- 
ELB
From 4f52b3f041e040d93a0a2f178d3b4a6e8f49df9f Mon Sep 17 00:00:00 2001
From: Eric Le Bihan 
Date: Thu, 28 Jul 2016 20:09:01 +0200
Subject: [PATCH v2] gnu: Add rust

* gnu/packages/rust.scm(rust): New variable.

Signed-off-by: Eric Le Bihan 
---
 gnu/packages/rust.scm | 143 ++
 1 file changed, 143 insertions(+)
 create mode 100644 gnu/packages/rust.scm

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
new file mode 100644
index 000..7f2edb8
--- /dev/null
+++ b/gnu/packages/rust.scm
@@ -0,0 +1,143 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Eric Le Bihan 
+;;;
+;;; 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 .
+
+(define-module (gnu packages rust)
+  #:use-module (ice-9 regex)
+  #:use-module ((guix licenses) #:select (asl2.0 x11-style))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bootstrap)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages elf)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages jemalloc)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages python))
+
+(define rust-bootstrap-x86_64-1.9.0
+  (origin
+   (method url-fetch)
+   (uri
+"https://static.rust-lang.org/dist/2016-05-24/rustc-1.9.0-x86_64-unknown-linux-gnu.tar.gz;)
+   (sha256
+(base32
+ "1i44rlvvn3pr81sli6bdbkzd78ar1ibybxx6mzpw6rkw4c84sw6h"
+
+(define rust-bootstrap-i686-1.9.0
+  (origin
+   (method url-fetch)
+   (uri
+"https://static.rust-lang.org/dist/2016-05-24/rustc-1.9.0-i686-unknown-linux-gnu.tar.gz;)
+   (sha256
+(base32
+ "0fdf5xvh3g4hdza0y80w1r9vnfczjqnbzbvs7k878yc26p4dwl99"
+
+(define-public rust
+  (package
+   (name "rust")
+   (version "1.10.0")
+   (source (origin
+(method url-fetch)
+(uri (string-append "https://static.rust-lang.org/dist/rustc-;
+version "-src.tar.gz"))
+(sha256
+ (base32
+  "0sb82xb8y2pzs8l1hk91z228bambwx3dmi2kj8isin7nyjn5l0d4"
+   (build-system gnu-build-system)
+   (native-inputs
+`(("curl" ,curl)
+  ("gcc" ,gcc)
+  ("gcc-lib" ,gcc "lib")
+  ("jemalloc" ,jemalloc)
+  ("patchelf" ,patchelf)
+  ("perl" ,perl)
+  ("python" ,python-2)
+  ("rust-bootstrap"
+   ,(if (string-match "x86_64"
+  (or (%current-target-system) (%current-system)))
+rust-bootstrap-x86_64-1.9.0
+rust-bootstrap-i686-1.9.0))
+  ("which" ,which)))
+   (arguments
+`(#:phases
+  (modify-phases %standard-phases
+(add-after 'unpack 'unpack-bootstrap
+   (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion (getcwd)
+   (zero? (system*
+   "tar"
+   "--strip-components=1"
+   "-xzf"
+   (assoc-ref inputs "rust-bootstrap"))
+(replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+   (let ((out (assoc-ref outputs "out"))
+ (binutils (assoc-ref inputs "binutils"))
+ (gcc (assoc-ref inputs "gcc"))
+ (gcc-lib (assoc-ref inputs "gcc-lib"))
+ (jemalloc (assoc-ref inputs "jemalloc"))
+ (ld-so (string-append
+ (assoc-ref inputs "libc")
+ 

Re: [PATCH v2] gnu: Add rust

2016-09-13 Thread ng0
Eric Le Bihan  writes:

> Hi!
>
> Le Tue, 13 Sep 2016 12:09:42 +,
> ng0  a écrit :
>
>> I can not apply this patch with git am. Can you resend the patch as an
>> appended file created with git format-patch or something similar, and
>> not inlined?
>
> That's surprising: the patch was generated by `git format-patch` and
> sent via `git send-email`. My mail client is Claws Mail and it allows
> me to save the email I previously sent to a file in mbox format, which
> applies without problem with `git am`.
>
> Anyway, please find it re-attached to this mail.

Thanks, worked this time.

> Best regards,


I get this output, same like I had with what jelle ended up with my
base, produced an equal first error at some point.

Okay, i just realized there was a mistake in the patch i applied, I need
to check it again, but I've got this before.. I don't know what's wrong
here.

substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 
100.0%
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 
100.0%
process 16829 acquired build slot '/var/guix/offload/192.168.1.198/0'
Cannot open display "default display"
load on machine '192.168.1.198' is 0.0 (normalized: 0.0)
@ build-started 
/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv 
- x86_64-linux 
/var/log/guix/drvs/qa//f7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv.bz2
Cannot open display "default display"
Cannot open display "default display"
sending 2 store files to '192.168.1.198'...
Cannot open display "default display"
exporting path 
`/gnu/store/hpj2m538l2anjb6bwksxgbivjxz5gnzj-rust-stage0-2016-02-17-4d3eebf-linux-x86_64-d29b7607d13d64078b6324aec82926fb493f59ba.tar.bz2.drv'
exporting path 
`/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
offloading 
'/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
 to '192.168.1.198'...
@ build-remote 
/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv 
192.168.1.198
Cannot open display "default display"
substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 
100.0%
The following derivation will be built:
   
/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv
@ build-started 
/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv 
- x86_64-linux 
/var/log/guix/drvs/qa//f7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv.bz2
Backtrace:
In ice-9/boot-9.scm:
 157: 11 [catch #t # ...]
In unknown file:
   ?: 10 [apply-smob/1 #]
In ice-9/boot-9.scm:
  63: 9 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 432: 8 [eval # #]
In ice-9/boot-9.scm:
2401: 7 [save-module-excursion #]
4050: 6 [#]
1724: 5 [%start-stack load-stack #]
1729: 4 [#]
In unknown file:
   ?: 3 [primitive-load 
"/gnu/store/x5fjjgvzbrcibsv2zwqvsay5zc4916xx-rust-stage0-2016-02-17-4d3eebf-guile-builder"]
In ice-9/eval.scm:
 387: 2 [eval # ()]
 411: 1 [eval # ()]
In unknown file:
   ?: 0 [string-append #f "/lib/ld-linux-x86-64.so.2"]

ERROR: In procedure string-append:
ERROR: In procedure string-append: Wrong type (expecting string): #f
builder for 
`/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
 failed with exit code 1
@ build-failed 
/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv 
- 1 builder for 
`/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
 failed with exit code 1
guix build: error: build failed: build of 
`/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
 failed
Cannot open display "default display"
derivation 
'/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
 offloaded to '192.168.1.198' failed with exit code 1
@ build-failed 
/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv 
- 1 builder for 
`/gnu/store/qaf7fvpw6z8h6ck5ia9ignik8r6bsm0d-rust-stage0-2016-02-17-4d3eebf.drv'
 failed with exit code 100
cannot build derivation 
`/gnu/store/0jplgx6n7a8qc93h36cjwr0bxxcksrah-rust-1.8.0.drv': 1 dependencies 
couldn't be built
guix build: error: build failed: build of 
`/gnu/store/0jplgx6n7a8qc93h36cjwr0bxxcksrah-rust-1.8.0.drv' failed



> -- 
> ELB
> From 4f52b3f041e040d93a0a2f178d3b4a6e8f49df9f Mon Sep 17 00:00:00 2001
> From: Eric Le Bihan 
> Date: Thu, 28 Jul 2016 20:09:01 +0200
> Subject: [PATCH v2] gnu: Add rust
>
> * gnu/packages/rust.scm(rust): New variable.
>
> Signed-off-by: Eric Le Bihan 
> ---
>  gnu/packages/rust.scm | 143 
> ++
>  1 file changed, 143 insertions(+)
>  create mode 100644 gnu/packages/rust.scm
>
> diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
> new file mode 100644
> index 000..7f2edb8
> --- /dev/null
> +++ 

Re: [PATCH] gnu: Add microcom

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 07:37:49PM +0200, John Darrington wrote:
> On Tue, Sep 13, 2016 at 11:36:17AM -0400, Leo Famulari wrote:
>  On Sun, Sep 11, 2016 at 06:56:58PM +0200, John Darrington wrote:
>  > +(license gpl2+)))
>  
>  My interpretation of the first paragraph of COPYING [0] is that the
>  package is licensed under the GPL version 2 only. What do you think?
> 
> All the .c files in the package explicitly say "either version 2 of the 
> License,
>  or (at your option) any later version".

Okay, I guess the statement in COPYING [0] can be interpreted to not
exclude distribution under later versions. It merely confirms that you
can distribute under version 2.

[0]
All files included in microcom are distributable under the "GNU GENERAL
PUBLIC LICENSE version 2". (Some might have the "or any later version"
phrase; this doesn't affect the previous statement though.) If the file
doesn't specify a license explicitly, assume "version 2 only". The "GNU
GENERAL PUBLIC LICENSE version 2" is appended below.


signature.asc
Description: PGP signature


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

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 02:18:20PM +0200, John Darrington wrote:
> 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".
> 
> Perhaps there is no formal difference, but "various" sounds odd to me in that 
> context.
> I think that "miscellaneous" is more common in such use cases.

I don't find this use of "various" to be confusing or strange, but
"miscellaneous" is more idiomatic in this context.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 10:37:56AM -0400, Kei Kebreau wrote:
> Kei Kebreau  writes:
> > A component necessary for GNU Octave's GUI.
> > How does it look?
> Not sure how packaging Qt packages goes, but I've discovered that
> GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
> adjust this. Should I leave the old patch as is and add a qt4 package
> that inherits from it?

Since Qt 4 is no longer supported upstream, we are trying to remove
users of the qt-4 package so that we can eventually remove the qt-4
package itself.

With that in mind, how about a qscintilla-for-octave package? This
package can inherit from a qscintilla that uses qtbase, and I think it
should be declared privately [using (define) instead of (define-public].

> + (replace 'configure
> +   (lambda _
> + (chdir "Qt4Qt5")
> + (zero? (system* "qmake" "qscintilla.pro"

I would change directory in a separate 'chdir' phase.

> +   (substitute* (find-files "." "Makefile")
> + (((string-append "INSTALL_ROOT)" qt))
> +  (string-append "INSTALL_ROOT)" out)
 ^
Inconsistent indentation. Also, this phase should return #t, since the
return value of substitute* is unspecified.

> +(synopsis "Qt5 port of the Scintilla editing component")

Make sure to adjust the Qt name as appropriate :)


signature.asc
Description: PGP signature


[PATCH 4/5] gnu: Add libpqxx.

2016-09-13 Thread Jan Nieuwenhuizen
* gnu/packages/ci.scm (libpqxx): New variable.
---
 gnu/packages/ci.scm | 27 +++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index ec51bb3..555c255 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -33,6 +33,7 @@
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages web)
@@ -63,6 +64,32 @@
 collector daemon in use at Etsy.com.")
(license (package-license perl
 
+(define-public libpqxx
+  (package
+(name "libpqxx")
+(version "4.0.1")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://pqxx.org/download/software/libpqxx/;
+name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0f6wxspp6rx12fkasanb0z2g2gc8dhcfwnxagx8wwqbpg6ifsz09"
+(build-system gnu-build-system)
+(native-inputs
+ `(("python" ,python-2)))
+(inputs `(("postgresql" ,postgresql)))
+(arguments
+ `(#:tests? #f)) ; # FAIL:  1
+(synopsis "C++ connector for PostgreSQL")
+(description
+ "Libpqxx is a C++ library to enable user programs to communicate with the
+PostgreSQL database back-end.  The database back-end can be local or it may be
+on another machine, accessed via TCP/IP.")
+(home-page "http://pqxx.org/;)
+(license l:bsd-3)))
+
 (define-public hydra
   (let ((commit "4c0e3e47034545ad3e9e86dd069138bcebb8ccee"))
 (package
-- 
2.10.0




Re: [PATCH v4 1/3] gnu: Add python-lit, python2-lit.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 12:30:40PM +0200, Danny Milosavljevic wrote:
> 
> * gnu/packages/python.scm (python-lit, python2-lit): New variables.

Pushed as 243db8245e6 with some minor indentation adjustments and an
expanded description. Thanks!



[PATCH 5/5] gnu: Resurrect hydra.

2016-09-13 Thread Jan Nieuwenhuizen
* gnu/packages/patches/hydra-automake-1.15.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/ci.scm (hydra): Bump to 20151030.  Fixes building with
nix-1.11.x.  Add new libpqxx and perl-net-statsd dependencies.
---
 gnu/local.mk   |  1 -
 gnu/packages/ci.scm| 17 +++
 gnu/packages/patches/hydra-automake-1.15.patch | 63 --
 3 files changed, 9 insertions(+), 72 deletions(-)
 delete mode 100644 gnu/packages/patches/hydra-automake-1.15.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index cc3d383..a9b1760 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -567,7 +567,6 @@ dist_patch_DATA =   
\
   %D%/packages/patches/higan-remove-march-native-flag.patch\
   %D%/packages/patches/hop-bigloo-4.0b.patch   \
   %D%/packages/patches/hop-linker-flags.patch  \
-  %D%/packages/patches/hydra-automake-1.15.patch   \
   %D%/packages/patches/hydra-disable-darcs-test.patch  \
   %D%/packages/patches/hypre-doc-tables.patch  \
   %D%/packages/patches/hypre-ldflags.patch \
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index 555c255..44f1315 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -91,23 +91,22 @@ on another machine, accessed via TCP/IP.")
 (license l:bsd-3)))
 
 (define-public hydra
-  (let ((commit "4c0e3e47034545ad3e9e86dd069138bcebb8ccee"))
+  (let ((commit "1ff48da3d3d4a425063f5b7dd0b89d35270f8932"))
 (package
   (name "hydra")
-  (version (string-append "20150407." (string-take commit 7)))
+  (version (string-append "20151030." (string-take commit 7)))
   (source (origin
 (method git-fetch)
 (uri (git-reference
   (url "https://github.com/NixOS/hydra;)
   (commit commit)))
 (file-name (string-append name "-" version))
-(sha256
- (base32
-  "08vc76xb7f42hh65j7qvjf58hw36aki5ml343170pq94vk75b1nh"))
 (patches (search-patches
-  "hydra-automake-1.15.patch"
   ;; TODO: Remove once we have a darcs input
-  "hydra-disable-darcs-test.patch"
+  "hydra-disable-darcs-test.patch"))
+(sha256
+ (base32
+  "0ni8i8v1nxxfr51rz8m6znwpbm77vr7i05k506hmgmg32r938lap"
   (build-system gnu-build-system)
   (native-inputs
`(("unzip" ,unzip)
@@ -126,7 +125,8 @@ on another machine, accessed via TCP/IP.")
  ("mercurial" ,mercurial)
  ("bazaar" ,bazaar)))
   (inputs
-   `(("perl" ,perl)
+   `(("libpqxx" ,libpqxx)
+ ("perl" ,perl)
  ("guile" ,guile-2.0)
  ("openssl" ,openssl)
  ("bzip2" ,bzip2)
@@ -177,6 +177,7 @@ on another machine, accessed via TCP/IP.")
  ("perl-libwww" ,perl-libwww)
  ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
  ("perl-net-amazon-s3" ,perl-net-amazon-s3)
+ ("perl-net-statsd" ,perl-net-statsd)
  ("perl-padwalker" ,perl-padwalker)
  ("perl-readonly" ,perl-readonly)
  ("perl-set-scalar" ,perl-set-scalar)
diff --git a/gnu/packages/patches/hydra-automake-1.15.patch 
b/gnu/packages/patches/hydra-automake-1.15.patch
deleted file mode 100644
index 91c7b92..000
--- a/gnu/packages/patches/hydra-automake-1.15.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-This patch takes a slightly different approach to solving the issue reported
-at https://github.com/NixOS/hydra/issues/200.  This fix allows us to use
-Automake's parallel test harness.
-
 source/configure.ac.orig   1969-12-31 18:00:01.0 -0600
-+++ source/configure.ac2015-04-15 10:58:15.974679278 -0500
-@@ -33,7 +33,7 @@
- fi
- ])
- 
--NEED_PROG(perl, perl)
-+NEED_PROG([PERL], perl)
- 
- NEED_PROG([NIX_STORE_PROGRAM], [nix-store])
- 
 source/tests/Makefile.am.orig  1969-12-31 18:00:01.0 -0600
-+++ source/tests/Makefile.am   2015-04-15 11:00:35.846682904 -0500
-@@ -1,19 +1,20 @@
--TESTS_ENVIRONMENT = \
--  BZR_HOME="$(abs_builddir)/data" \
--  HYDRA_DBI="dbi:SQLite:db.sqlite"\
--  HYDRA_DATA="$(abs_builddir)/data"   \
--  HYDRA_HOME="$(top_srcdir)/src"  \
--  HYDRA_CONFIG=   \
--  NIX_REMOTE= \
--  GUIX_CONFIGURATION_DIRECTORY="$(abs_builddir)/nix/etc/nix"  \
--  NIX_STATE_DIR="$(abs_builddir)/nix/var/nix" \
--  NIX_MANIFESTS_DIR="$(abs_builddir)/nix/var/nix/manifests"   \
--  NIX_STORE_DIR="$(abs_builddir)/nix/store"   \
--  NIX_LOG_DIR="$(abs_builddir)/nix/var/log/nix"   \
--  NIX_BUILD_HOOK= \

Re: [PATCH v4 2/3] gnu: Make ldc work again

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 12:30:41PM +0200, Danny Milosavljevic wrote:
> * gnu/packages/ldc.scm (ldc): Added substitution. Added zlib input. Fix llvm 
> and clang inputs to 3.7.

LDC built with this patch. I'm currently in the test suite. If it passes
on my computer, I'd like to push this patch unless there are objections.



Re: [PATCH] gnu: Add darkhttpd.

2016-09-13 Thread Arun Isaac

> If I understand correctly, this will not work as expected. When the
> master branch gets another commit, our package's hash will become
> invalid.

Oops! I didn't think of that. I'll fix it.

> Did you notice if there is any documentation that could be installed too?

There's only a README file. And, that doesn't have very much that can be
considered documentation. `darkhttpd --help` is all the documentation
for this program, I guess.

> In any case, can you send a revised patch addressing the commit /
> version issue?

I'll send a revised patch soon.


signature.asc
Description: PGP signature


Re: [PATCH v4 3/3] gnu: Update ldc to 0.17.1.

2016-09-13 Thread Leo Famulari
On Tue, Sep 13, 2016 at 12:30:42PM +0200, Danny Milosavljevic wrote:
> * gnu/packages/ldc.scm (ldc): Update to 0.17.1.

With this patch, LDC fails to build on my x86_64 machine with the
familiar errors about isnan and isinf:

[ 11%] Building CXX object CMakeFiles/LDCShared.dir/dmd2/scope.c.o
/gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc-4.9.3/bin/c++   -DDMDV2 
-DHAVE_SC_ARG_MAX -DIN_LLVM 
-DLDC_INSTALL_PREFIX=\"/gnu/store/4p7hh4a7dyp2wg7zd08lvlxafayrjznx-ldc-0.17.1\" 
-DLDC_LLVM_VER=307 
-DLLVM_INTRINSIC_TD_PATH=\"/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include\"
 -DOPAQUE_VTBLS -D__LITTLE_ENDIAN__ 
-I/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/. 
-I/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2 
-I/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root 
-I/tmp/guix-build-ldc-0.17.1.drv-0/build/dmd2 
-I/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1 -isystem 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include -isystem 
/gnu/store/1v4anv1dwvskkav1zj08gicwaibachr1-libconfig-1.5/include  -O2 -g 
-DNDEBUG   -I/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include  
-fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter 
-Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic 
-Wno-long-long -Wno-maybe-uninitialized -Wno-comment -std=c++11 
-ffunction-sections -fdata-sections -O3 -DNDEBUG -fno-exceptions -fno-rtti  
-D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS 
-D__STDC_LIMIT_MACROS   -w -DPOSIX -DLDC_POSIX  -o 
CMakeFiles/LDCShared.dir/dmd2/scope.c.o -c 
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/scope.c
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c: In static member 
function ‘static int Port::isNan(double)’:
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:773:19: error: 
‘isnan’ was not declared in this scope
 return isnan(r);
   ^
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:773:19: note: 
suggested alternative:
In file included from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/Support/DataTypes.h:35:0,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/Support/SwapByteOrder.h:19,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/Support/MathExtras.h:18,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/SmallVector.h:20,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/ArrayRef.h:14,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/APInt.h:19,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/APFloat.h:20,
 from 
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:677:
/gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc-4.9.3/include/c++/cmath:632:5: 
note:   ‘std::isnan’
 isnan(_Tp __x)
 ^
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c: In static member 
function ‘static int Port::isNan(longdouble)’:
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:789:19: error: 
‘isnan’ was not declared in this scope
 return isnan(r);
   ^
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:789:19: note: 
suggested alternative:
In file included from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/Support/DataTypes.h:35:0,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/Support/SwapByteOrder.h:19,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/Support/MathExtras.h:18,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/SmallVector.h:20,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/ArrayRef.h:14,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/APInt.h:19,
 from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/ADT/APFloat.h:20,
 from 
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:677:
/gnu/store/frrj3bfbmg5vrd0flh9cf8j64h7cr2v4-gcc-4.9.3/include/c++/cmath:632:5: 
note:   ‘std::isnan’
 isnan(_Tp __x)
 ^
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c: In static member 
function ‘static int Port::isInfinity(double)’:
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:817:19: error: 
‘isinf’ was not declared in this scope
 return isinf(r);
   ^
/tmp/guix-build-ldc-0.17.1.drv-0/ldc-0.17.1/dmd2/root/port.c:817:19: note: 
suggested alternative:
In file included from 
/gnu/store/vy5wrh1igqlcswxi6bmfdl16frpjw7nf-llvm-3.7.1/include/llvm/Support/DataTypes.h:35:0,
 from 

[PATCH 2/5] gnu: perl-image-magick: disable tests.

2016-09-13 Thread Jan Nieuwenhuizen
* gnu/packages/imagemagick.scm (perl-image-magick): Disable tests, 2 fail.
---
 gnu/packages/imagemagick.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 5d72cf2..8dac3e1 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -124,7 +124,8 @@ text, lines, polygons, ellipses and Bézier curves.")
 (native-inputs `(("pkg-config" ,pkg-config)))
 (inputs `(("imagemagick" ,imagemagick)))
 (arguments
- `(#:phases
+ `(#:tests? #f ;;Failed 2/23 test programs. 2/353 subtests failed.
+   #:phases
(modify-phases %standard-phases
  (add-before
   'configure 'image-magick-flags
-- 
2.10.0




[PATCH 3/5] gnu: Add perl-net-statsd.

2016-09-13 Thread Jan Nieuwenhuizen
* gnu/packages/ci.scm (perl-net-statsd): New variable.
---
 gnu/packages/ci.scm | 27 ++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index e0ff873..ec51bb3 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Eric Bavier 
+;;; Copyright © 2016 Jan Nieuwenhuizen 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,6 +21,7 @@
   #:use-module ((guix licenses) #:prefix l:)
   #:use-module (gnu packages)
   #:use-module (guix packages)
+  #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
@@ -36,7 +38,30 @@
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages zip)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system perl))
+
+(define-public perl-net-statsd
+  (package
+   (name "perl-net-statsd")
+   (version "0.12")
+   (source
+(origin
+  (method url-fetch)
+  (uri (string-append
+"mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-"
+version
+".tar.gz"))
+  (sha256
+   (base32
+"0p2nhrwamic2fyj094y583q088ixv9gbb82c3invqrd17mh57r33"
+   (build-system perl-build-system)
+   (home-page
+"http://search.cpan.org/dist/Net-Statsd;)
+   (synopsis "Perl client for Etsy's statsd daemon")
+   (description "This module implement a UDP client for the statsd statistics
+collector daemon in use at Etsy.com.")
+   (license (package-license perl
 
 (define-public hydra
   (let ((commit "4c0e3e47034545ad3e9e86dd069138bcebb8ccee"))
-- 
2.10.0




Re: [PATCH] gnu: Resurrect hydra

2016-09-13 Thread Jan Nieuwenhuizen
Hi!

> I should mention that I didn’t maintain the Guile part in Hydra (which
> is really just the ‘hydra-eval-guile-jobs.in’ script), so the latest
> Hydra won’t work with Guix.  :-/

Ah..I was wondering about nix and how it all worked together.  That makes
more sense now.

> I think it’s “just a matter” of updating this script to produce JSON instead
> of XML, but that has to be done (and I thought it’d be more fruitful to
> invest in Cuirass).

Sure.  I didn't upgrade hydra to latest git, as that depends on an unreleased
version of nix also; did not want to go there.

> ISTR that other changes were made that tie Hydra to Nix more closely,
> and I’m not sure what the implications are.

I understand.  I struggled quite a while reading doc/dev-notes.txt and getting
sqlite up and running, fixing database errors until I finaly found that file
is terribly out of date and in 2014 sqlite support was dropped, apparently.

> > Two perl packages did not build anymore (failing tests), so I disabled
> > the tests.  Hydra also has two new dependencies, which I added.

> Woow, congrats on getting this far!

:-)

I need a sensible ci server that works with guix, and from the outside it
looks like hydra is pretty good.

> Could you split it into separate packages: one for each new package, one
> for each individual package change?

Done.

Find the script below that I used to test hydra with postgres.

Greetings,
Jan

--8<---cut here---start->8---
#! /bin/sh

set -x

hydra=/gnu/store/zcrnzxp44b6k1fcanpxgv6mzvh5wj3w9-hydra-20151030.1ff48da/bin
data=/tmp/hydra
export HYDRA_DBI="dbi:Pg:dbname=hydra;host=localhost;user=hydra;"
export HYDRA_DATA=$data

mkdir -p $data

if false; then
createuser -S -D -R hydra
postgres -c "psql --command \"alter user hydra with password 'hydra'\" 
postgres"
dropdb hydra hydra
createdb -O hydra hydra
$hydra/hydra-init
$hydra/hydra-create-user root --full-name 'root' --email-address 
'root@localhost' --password root --role admin
fi

#$hydra/hydra-init
#$hydra/hydra-create-user root --full-name 'root' --email-address 
'root@localhost' --password root --role admin

#$hydra/hydra-server --debug &
$hydra/hydra-server &
$hydra/hydra-queue-runner &
$hydra/hydra-evaluator &
jobs -p
echo "#!/bin/sh" > kill-hydra.sh
echo -n "kill " >> kill-hydra.sh
jobs -p | tr '\n' ' ' >> kill-hydra.sh
echo >> kill-hydra.sh
chmod +x kill-hydra.sh
--8<---cut here---end--->8---





Re: [PATCH] gnu: Add python-gunicorn and python2-gunicorn.

2016-09-13 Thread Leo Famulari
On Sun, Sep 11, 2016 at 10:50:35PM +0200, Hartmut Goebel wrote:
> * gnu/packages/web.scm (python-gunicorn, python2-gunicorn): New
>   variables.

Thanks for this! Regarding the naming question, I think it's fine to
call it 'gunicorn'. Prefixing with 'python-' is more appropriate for
libraries and other "helper" packages, whereas user facing or standalone
applications can use the plain upstream name, in my opinion.

See the manual, section 7.6.5 Python Modules, for a little bit of
guidance.

> + (add-before 'check 'remove-requirements
> +   ; setup.py reads test-requirements from a file which is
> +   ; pinning to other versions then guix provides. This also
> +   ; enforces optional packages like pytst-cov. So clean the
> +   ; list.
> +   (lambda _
> + (substitute* "requirements_test.txt"
> +   ((".*") "")))
> +(native-inputs
> + `(("python-pytest" ,python-pytest)
> +   ;("python-pytest-cov" ,python-pytest-cov) ; optional

I think we should either use pytest-cov or remove this commented line.
What do you think?

> +(define-public python2-gunicorn
> +  (let ((base (package-with-python2
> +   (strip-python2-variant python-gunicorn
> +; Note: byte-compiling gunicorn/workers/_gaiohttp.py with Python 2
> +; fails, but this module will be available for Python 3 only
> +; anyway.

Can you elaborate on this? Does python2-gunicorn still work? If so,
okay.



Re: [PATCH] gnu: Add darkhttpd.

2016-09-13 Thread Leo Famulari
On Mon, Sep 12, 2016 at 12:50:14AM +0530, Arun Isaac wrote:
> * gnu/packages/web.scm (darkhttpd): New variable.

Thanks for this patch!

> +(version "1.12")
> +(source
> + (origin
> +   ;; The darkhttpd release tarball URL fails to download with a
> +   ;; 'TLS warning alert'. Download from the darkhttpd git repo
> +   ;; until the problem has been fixed upstream.
> +   (method git-fetch)
> +   (uri (git-reference
> + (url (string-append "https://unix4lyfe.org/git/darkhttpd;))
> + (commit "master")))

If I understand correctly, this will not work as expected. When the
master branch gets another commit, our package's hash will become
invalid.

Too bad upstream doesn't make Git tags for their releases. Commit
41b68476c35270f47dcd2ddebe27cbcd87e43d41 appears to correspond to the
1.12 release, so we should specify that commit:

https://unix4lyfe.org/gitweb/darkhttpd/commit/41b68476c35270f47dcd2ddebe27cbcd87e43d41

> + (replace 'install
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (install-file "darkhttpd"
> +   (string-append (assoc-ref outputs "out")
> +  "/bin"))
> + #t)

Did you notice if there is any documentation that could be installed too?

In any case, can you send a revised patch addressing the commit /
version issue?



Re: [PATCH] gnu: Add microcom

2016-09-13 Thread Leo Famulari
On Sun, Sep 11, 2016 at 06:56:58PM +0200, John Darrington wrote:
> * gnu/packages/microcom.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

> +(version "2016.01.09")

I think we should use the upstream tag, "v2016.01.0".

> +(source (origin
> +  (method git-fetch)
> +  (uri (git-reference
> +(url "git://git.pengutronix.de/git/tools/microcom.git")
> +(commit "caf3687611ca855b4fa80c2a9a2fbb020834fc4e")))

Then, you can use the tag name as the commit. The tag I mentioned is
equivalent to this commit.

> +(license gpl2+)))

My interpretation of the first paragraph of COPYING [0] is that the
package is licensed under the GPL version 2 only. What do you think?

[0]
http://git.pengutronix.de/?p=tools/microcom.git;a=blob;f=COPYING



Re: [PATCH 1/2] gnu: Add tinyxml2.

2016-09-13 Thread Tobias Geerinckx-Rice
Ludo',

On 12/09/16 15:40, Ludovic Courtès wrote:
> Does it honor an environment variable like XML_CATALOG_FILES that could
> be put in ‘search-paths’?

None that I can find, after a quick grep of the source ball for things
like ‘env’ and ‘PATH’.

Kind regards,

T G-R



signature.asc
Description: OpenPGP digital signature


Re: Binutils build failure on MIPS

2016-09-13 Thread Vincent Legoll
On Tue, Sep 13, 2016 at 4:27 PM, David Craven  wrote:
> I highly doubt that binutils uses python, and I'm not sure why you
> think that this is a filename - so why would unix filename matching
> apply in this instance?

I know it's not exactly the same, but python fnmatch is probably doing
(almost) the same as bash's, and bash switch/case may also use
fnmatching, that was for illustration purpose.

And now after reading a bit of man bash:

A case command first expands word, and tries to match it against each
pattern in turn, using the same matching rules as for pathname expansion

So "-*-" will match "--", "-gnu-", etc... but neither "-" nor ""...

> There must be a match somewhere...

Maybe, I report my findings as I go, and I've still not looked everywhere...
;-)

But that looked sufficiently suspicious that I wanted to shared my findings...

> Either mips64*el-*-linux means any cpu model or you've missed a part
> of the matching code. I remember GCC having that spread out over
> three parts of a file.

I'll look harder

-- 
Vincent Legoll



Re: [PATCH] gnu: Add qscintilla.

2016-09-13 Thread Kei Kebreau
Kei Kebreau  writes:

> A component necessary for GNU Octave's GUI.
> How does it look?
Not sure how packaging Qt packages goes, but I've discovered that
GNU Octave's GUI only builds with Qt4 support. I've changed the patch to
adjust this. Should I leave the old patch as is and add a qt4 package
that inherits from it?

From 51da032547ed3e1c2b7825b35b1f39a5e922b44b Mon Sep 17 00:00:00 2001
From: Kei Kebreau 
Date: Tue, 13 Sep 2016 10:34:59 -0400
Subject: [PATCH] gnu: Add qscintilla.

* gnu/packages/qt.scm (qscintilla): New variable.
---
 gnu/packages/qt.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a482d75..159832a 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
 ;;; Copyright © 2016 ng0 
+;;; Copyright © 2016 Kei Kebreau 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1112,3 +1113,44 @@ contain over 620 classes.")
   "QtKeychain is a Qt library to store passwords and other secret data
 securely.  It will not store any data unencrypted unless explicitly 
requested.")
 (license license:bsd-3)))
+
+(define-public qscintilla
+  (package
+(name "qscintilla")
+(version "2.9.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append 
"mirror://sourceforge/QScintilla2/QScintilla-"
+  version "/QScintilla_gpl-" version 
".tar.gz"))
+  (sha256
+   (base32
+"0znvdncpj64zcpbkyvj11dm8bdc3nfn5girggj33ammhfcyvkalq"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (replace 'configure
+   (lambda _
+ (chdir "Qt4Qt5")
+ (zero? (system* "qmake" "qscintilla.pro"
+ (add-before 'install 'fix-Makefiles
+   (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out(assoc-ref outputs "out"))
+   (qt (assoc-ref inputs "qt")))
+   (substitute* (find-files "." "Makefile")
+ (((string-append "INSTALL_ROOT)" qt))
+  (string-append "INSTALL_ROOT)" out)
+(native-inputs
+ `(("python-pyqt" ,python-pyqt)
+   ("qt" ,qt-4))) ; for qmake
+(home-page "https://www.riverbankcomputing.com/software/qscintilla/intro;)
+(synopsis "Qt5 port of the Scintilla editing component")
+(description
+ "QScintilla is a port to Qt of Neil Hodgson's Scintilla C++ editor 
control.
+As well as features found in standard text editing components, QScintilla
+includes features especially useful when editing and debugging source code.
+These include support for syntax styling, error indicators, code completion and
+call tips.")
+(license (list license:bsd-2 ; Python/configure.py
+   license:expat ; src/ and include/
+   license:gpl3
-- 
2.10.0



signature.asc
Description: PGP signature


Re: [PATCH] gnu: Add schismtracker.

2016-09-13 Thread Kei Kebreau
l...@gnu.org (Ludovic Courtès) writes:

> Kei Kebreau  skribis:
>
>> From 961dcf1e1e3ce45ea9d3f9c84fbe5562d52a1dd4 Mon Sep 17 00:00:00 2001
>> From: Kei Kebreau 
>> Date: Sat, 10 Sep 2016 10:27:34 -0400
>> Subject: [PATCH] gnu: Add schismtracker.
>>
>> * gnu/packages/music.scm (schismtracker): New variable.
>
> LGTM, thanks!
>
> Ludo'.

Cool! Pushed as 89bcf3f.


signature.asc
Description: PGP signature


[PATCH 1/2] gnu: guile-redis: Remove hard-coded Guile effective version.

2016-09-13 Thread Ricardo Wurmus
* gnu/packages/guile.scm (guile-redis)[snippet]: Modify 'ac_subst_vars'
in 'configure', and use "@GUILE_EFFECTIVE_VERSION@" instead of "2.0" in
'Makefile.in'.
---
 gnu/packages/guile.scm | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 2294b16..5b8fffe 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -935,13 +935,17 @@ above command-line parameters.")
 "0vx6if6b4r3kwx64vzbs6vpc0cpcr85x11w9vkzq27gw8n7isv56"))
   (modules '((guix build utils)))
   (snippet
-   ;; Make sure everything goes under .../site/2.0, like Guile's
+   ;; Make sure everything goes under .../site/X.Y, like Guile's
;; search paths expects.
-   '(substitute* '("Makefile.in"
-   "redis/Makefile.in"
-   "redis/commands/Makefile.in")
-  (("moddir =.*/share/guile/site" all)
-   (string-append all "/2.0"))
+   '(begin
+  (substitute* "configure"
+(("ac_subst_vars='")
+ "ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
+  (substitute* '("Makefile.in"
+ "redis/Makefile.in"
+ "redis/commands/Makefile.in")
+(("moddir =.*/share/guile/site" all)
+ (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
 (build-system gnu-build-system)
 (native-inputs
  `(("guile" ,guile-2.0)))
-- 
2.10.0





Re: Binutils build failure on MIPS

2016-09-13 Thread David Craven
I highly doubt that binutils uses python, and I'm not sure why you
think that this is a filename - so why would unix filename matching
apply in this instance?

There must be a match somewhere... Either mips64*el-*-linux means any
cpu model or you've missed a part of the matching code. I remember GCC
having that spread out over three parts of a file.



Re: Binutils build failure on MIPS

2016-09-13 Thread Vincent Legoll
Hello,

On Tue, Sep 13, 2016 at 4:05 PM, David Craven  wrote:
>> Could that explain the failure ?
>
> It's matched here:
>> mips64*el-*-linux-*)targ_emul=elf32ltsmipn32

I'm not sure I understand what your saying:

$ python
>>> import fnmatch
>>> fnmatch.fnmatch('mips64el-linux', 'mips64*el-*-linux-*')
False

-- 
Vincent Legoll



Re: [PATCH] gnu: par2cmdline.

2016-09-13 Thread Brendan Tildesley
On 2016-09-13 22:09, Ludovic Courtès wrote:
> Hello,
>
> Just a quick note:
>
> Brendan Tildesley  skribis:
>
>> +   license:gpl3+  ; config.guess
>> +   license:x11; install-sh
> These two files are build system helpers provided by Autoconf and
> Automake.  They are not installed so their license does not matter here.
>
> Ludo’.

Right, I didn't realise that.

>From d63c6af98129e0de3eb1054dd69496b99a269c99 Mon Sep 17 00:00:00 2001
From: Brendan Tildesley 
Date: Tue, 13 Sep 2016 20:36:15 +1000
Subject: [PATCH] gnu: Add par2cmdline.

* gnu/packages/backup.scm (par2cmdline): New variable.
---
 gnu/packages/backup.scm | 37 +
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 4678b9b..e77c4f2 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -28,6 +28,7 @@
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages acl)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
@@ -99,6 +100,42 @@ uses GnuPG to encrypt and/or sign these archives, they will be safe from
 spying and/or modification by the server.")
 (license license:gpl2+)))
 
+(define-public par2cmdline
+  (package
+(name "par2cmdline")
+(version "0.6.14")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://github.com/Parchive/par2cmdline/archive/v;
+  version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"0ykfb7ar0x0flfdgf6i8xphyv5b93dalbjj2jb6hx7sdjax33n1g"))
+  ;; This test merely needs a file to test recovery on, but
+  ;; /dev/random is essentially /dev/urandom plus minimum entropy
+  ;; locking, making the test hang indefinitely. This change is
+  ;; already upstream: remove on upgrade to future 0.6.15.
+  ;; https://github.com/Parchive/par2cmdline/commit/27723a678f780da82c79b98592592009c779a4fb
+  (modules '((guix build utils)))
+  (snippet
+   '(substitute* "tests/test20" (("if=/dev/random") "if=/dev/urandom")
+(native-inputs
+ `(("automake" ,automake)
+   ("autoconf" ,autoconf)))
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'autoreconf
+   (lambda _ (zero? (system* "autoreconf" "-vfi")))
+(synopsis "File verification and repair tool")
+(description "Par2cmdline is a tool for generating RAID-like PAR2 recovery
+files using Reed-Solomon coding.  PAR2 files can be stored along side backups
+or distributed files for recovering from bitrot.")
+(home-page "https://github.com/Parchive/par2cmdline;)
+(license license:gpl3+)))
+
 (define-public hdup
   (package
 (name "hdup")
-- 
2.9.3



Re: Binutils build failure on MIPS

2016-09-13 Thread David Craven
> Could that explain the failure ?

It's matched here:
> mips64*el-*-linux-*)targ_emul=elf32ltsmipn32

I believe that the -*- part means any cpu model.

Since it's a build failure you might get away with cross-compiling.
Try passing --target mips64el-linux-gnu (or whatever the
mipsel-gcc-toolchain uses)



Re: Allow disabling of CONFIG_SHELL in the configure phase

2016-09-13 Thread Arun Isaac

> I find that it’s not that much work to replace the ‘configure’ phase,
> and it’s not too common (Autoconf-generated ‘configure’ scripts all
> honor CONFIG_SHELL.)
>
> We could add a Boolean flag for CONFIG_SHELL, but I bet manually written
> ‘configure’ scripts may need more than just that anyway, so I’m not sure
> it would buy us much.

In the case of optipng, CONFIG_SHELL is the only thing that needs to be
disabled and the rest of the 'configure' phase is the same. But, if this
is not very common, I agree it's not worth introducing a new boolean flag.


signature.asc
Description: PGP signature


Re: Binutils build failure on MIPS

2016-09-13 Thread Vincent Legoll
> The fix at  is
> definitely in binutils-2.27.tar.bz2, yet we get an error that suggests
> $EMULATION_NAME is empty.  Dunno what’s going on.
>
>> How does one reproduce the failure ?
>
> You need a mips64el machine to run:

I don't have that...

Could it be that "mips64el-linux" is not matched by the switch/case from
binutils/ld/configure.tgt which only contains:

$ grep '^mips' configure.tgt
mips*-sgi-irix5*)targ_emul=elf32bsmip ;;
mips*-sgi-irix6*)targ_emul=elf32bmipn32
mips*el-*-netbsd*)targ_emul=elf32ltsmip
mips*-*-netbsd*)targ_emul=elf32btsmip
mips*vr4300el-*-elf*)targ_emul=elf32l4300 ;;
mips*vr4300-*-elf*)targ_emul=elf32b4300 ;;
mips*vr4100el-*-elf*)targ_emul=elf32l4300 ;;
mips*vr4100-*-elf*)targ_emul=elf32b4300 ;;
mips*vr5000el-*-elf*)targ_emul=elf32l4300 ;;
mips*vr5000-*-elf*)targ_emul=elf32b4300 ;;
mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
mips64*el-ps2-elf*)targ_emul=elf32lr5900n32
mips*el-ps2-elf*)targ_emul=elf32lr5900
mips*el-*-elf*)targ_emul=elf32elmip ;;
mips*-*-elf*)targ_emul=elf32ebmip ;;
mips*-*-rtems*)targ_emul=elf32ebmip ;;
mips*el-*-vxworks*)targ_emul=elf32elmipvxworks
mips*-*-vxworks*)targ_emul=elf32ebmipvxworks
mips*-*-windiss)targ_emul=elf32mipswindiss ;;
mips64*el-*-linux-*)targ_emul=elf32ltsmipn32
mips64*-*-linux-*)targ_emul=elf32btsmipn32
mips*el-*-linux-*)targ_emul=elf32ltsmip
mips*-*-linux-*)targ_emul=elf32btsmip
mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
mips*-*-sysv4*) targ_emul=elf32btsmip

Could that explain the failure ?

-- 
Vincent Legoll



Re: [PATCH 2/2] gnu: Add GSSD and Pipefs services (Usage of @var)

2016-09-13 Thread John Darrington
On Tue, Sep 13, 2016 at 01:45:19PM +0200, Ludovic Court??s wrote:
 John Darrington  skribis:

 > +@item @code{nfs-utils} (default: @code{nfs-utils})
 ^
 Should be @var, because here we???re talking about the value of the
 ???nfs-utils??? global variable.

I think you are mistaken here.  Quoting from the Texinfo manual:

Use the @var command to indicate metasyntactic variables. A metasyntactic 
   variable is something that stands for another piece of text. For example, you
   should use a metasyntactic variable in the documentation of a function to 
   describe the arguments that are passed to that function.

Do not use @var for the names of normal variables in computer programs. 
These
   are specific names, so @code is correct for them (@code).  For example, the 
   Emacs Lisp variable texinfo-tex-command is not a metasyntactic variable; it 
   is properly formatted using @code.

Or have I got it wrong?

J'


 

-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: Binutils build failure on MIPS

2016-09-13 Thread Ludovic Courtès
Vincent Legoll  skribis:

>> Trying to find more infos...
>
> Thread from April 2015:
>
> https://sourceware.org/ml/binutils/2015-04/msg00118.html
>
> But as 2.27 is recent this should already be checked-in...

The fix at  is
definitely in binutils-2.27.tar.bz2, yet we get an error that suggests
$EMULATION_NAME is empty.  Dunno what’s going on.

> How does one reproduce the failure ?

You need a mips64el machine to run:

  ./pre-inst-env guix build -e '(@@ (gnu packages commencement) binutils-boot0)'

Ludo’.



Re: [PATCH 2/3] gnu: Add wcslib

2016-09-13 Thread John Darrington
On Tue, Sep 13, 2016 at 11:10:57AM +0300, Alex Kost wrote:
 John Darrington (2016-09-12 17:40 +0200) wrote:
 
 > On Mon, Sep 12, 2016 at 04:44:44PM +0300, Alex Kost wrote:
 >
 >  I've noticed that you didn't fix these things (long line and #t 
after
 >  substitute*).  Could please do it next time :-)
 >
 >  The same for 'cfitsio' package.
 >
 > Done.
 >
 > If this is important why doesn't guix build and/or guix lint check for 
it?
 
 "guix lint" can't check if a phase should end with #t or not, it's up to
 you check if it is needed.  The thing is: if a phase fails, it should
 return false value, and if it succeeds, it should return non-false
 value.  A returned value of 'substitute*' is unspecified, so here you
 should add #t to the end of the phase.  It works without it, but I would
 say it happens "by chance" because # is considered to be
 non-false, but we shouldn't rely on it, so adding #t to such phases is
 the right thing.


1.  Presumably guix build somewhere calls something like:

   (if (run-phase x) (run-next-phase) (error))

We could change this to:

   (if (let ((result (run-phase x)))
  (if (unspecfied? result) (error "Result of phase is unspecified"))
   result)
(run-next-phase)
(error))

 or something similar ...


2. It wouldn't be a bad idea to change subsitute* to return something.  For
   example, the number of substitutions performed.
 


 As for the long line, it is 89 chars long, while "guix lint" reports
 about exceeding 90 chars (see 'report-long-line' in (guix scripts lint)
 module).  BTW I think this is too loose, I would limit it to 80.
 
 But your line could be easily shorten, as I wrote at
 ,
 so instead of the current long line:
 
(uri (string-append
  "ftp://ftp.atnf.csiro.au/pub/software/wcslib/; name "-" 
version ".tar.bz2"))
 
 it could be:
 
(uri (string-append
  "ftp://ftp.atnf.csiro.au/pub/software/wcslib/;
  name "-" version ".tar.bz2"))
 
 which fits any screen and thus is more readable I think.
 

I think all the lines are less than 80 right now aren't they?


 I just felt a bit of a letdown that you ignored my comments and
 didn't send a message why.
 

I didn't mean to shun you.   I appreciate the time and effort you took to 
review my code.

Unfortunately I find the Guix workflow awkward to manage so sometimes I
have omitted corrections which ought to have been made.   Part of my
problem is that currently (due to lack of many services) I cannot send or
receive mail from the machine on which I have GuixSD running.  Hopefully
this will change soon.

J'




-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH 07/11] gnu: Add python-gunicorn.

2016-09-13 Thread Hartmut Goebel
Am 13.09.2016 um 03:38 schrieb ng0:
> * gnu/packages/python.scm (python-gunicorn): New variable.

I submitted a patch for adding this to gnu/packages/web.scm.

Additionally I questioned whether this package should be called only
"gnunicorn" since it it not a python *package* but a program.

-- 
Regards
Hartmut Goebel

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




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: [PATCH v2] gnu: Add rust (sidenotes on rust)

2016-09-13 Thread David Craven
> How problematic will this be for us? Our person in charge for the rust
> stuff works around this by including copies of the libraries in a folder
> named 'third_party', but I don't understand enough of the language and
> lack a build system at the moment.

Initially this isn't a problem, since we'll use cargo to build the c
dependencies of a package. The cargo packages that wrap c packages
usually have a detection mechanism to use system libraries instead of
building them - but I haven't looked into how this works exactly.

> These two links should be useful too, so it might not be that hard to
> establish a build system.

I don't think it's hard, but just takes time. The part that I expect
will take more time than the build system is the importer.



Re: [PATCH v2] gnu: Add rust (sidenotes on rust)

2016-09-13 Thread ng0
ng0  writes:

> I can testbuild rustc and give some input.
>
> Additionally, we're having conversations about rust, today this came up:
>
>
> dev @> Very interesting: 
> https://github.com/rust-lang/rfcs/blob/master/text/1200-cargo-install.md
> " it's not clear that this is worthwhile enough to support installing 
> libraries yet."
> on bootstraping: 
> https://mail.mozilla.org/pipermail/rust-dev/2014-June/010222.html 
>
> dev @> apparently cargo is not designed to use system paths to find dynamic 
> libraries
> by default libraries are downloaded from github and stored in a cache 
> directory
>
>
> How problematic will this be for us? Our person in charge for the rust
> stuff works around this by including copies of the libraries in a folder
> named 'third_party', but I don't understand enough of the language and
> lack a build system at the moment.

These two links should be useful too, so it might not be that hard to
establish a build system.

http://doc.crates.io/source-replacement.html
http://doc.crates.io/specifying-dependencies.html

> David Craven  writes:
>
>> I haven't actually built rustc yet, because I know how long it takes...
>>
>>> + (ld-so (string-append
>>> + (assoc-ref inputs "libc")
>>> + ,(glibc-dynamic-linker)))
>>
>>> + ;; Remove reference to "/lib64/ld-linux-x86-64.so.2" 
>>> from binary
>>> + (zero? (system*
>>> + "patchelf"
>>> + "--set-interpreter" ld-so
>>
>> I think that this should be part of the a rustc-bootstrap package. We
>> shouldn't export binaries to the user, but I think we need a fully
>> functional bootstrap compiler.
>>
>>> + (setenv "SHELL" (which "sh"))
>>> + (setenv "CONFIG_SHELL" (which "sh"))
>>> + ;; Tell where to find libgcc_s.so
>>> + (setenv "LD_LIBRARY_PATH" (string-append gcc-lib 
>>> "/lib"))
>>
>> I think this should be a separate phase. We can then use
>> #:configure-flags to pass --default-linker etc.
>>
>>> +  #:tests? #f))
>>
>> To get tests enabled you can apply this patch [0].
>>
>> [0] 
>> https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/rust/patches/disable-lockfile-check.patch
>>
>
> -- 
> ng0
> For non-prism friendly talk find me on http://www.psyced.org
>
>

-- 
ng0



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

2016-09-13 Thread John Darrington
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".

Perhaps there is no formal difference, but "various" sounds odd to me in that 
context.
I think that "miscellaneous" is more common in such use cases.

J'



-- 
Avoid eavesdropping.  Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.



signature.asc
Description: Digital signature


Re: [PATCH 2/2] gnu: encfs: Update to 1.9.

2016-09-13 Thread Ludovic Courtès
Tobias Geerinckx-Rice  skribis:

> On 12/09/16 15:42, Ludovic Courtès wrote:
>>> +   (snippet '(for-each delete-file-recursively
>>> +   (find-files "internal" "tinyxml2")
>> 
>> Note that the 2nd argument to ‘find-files’ is a regexp.  Is this really
>> intended?
>
> It is. The directory to be deleted is actually named "tinyxml2-3.0.0"
> (or so), with future version bumps too easy to miss.

OK, makes sense.

However, ‘find-files’ does not include directories in its result, unless
you explicitly ask for it.  So probably it should be:

  (for-each delete-file-recursively
(find-files "internal" "^tinyxml2"
#:directories? #t))

?

Ludo’.



Re: [PATCH] gnu: par2cmdline.

2016-09-13 Thread Ludovic Courtès
Hello,

Just a quick note:

Brendan Tildesley  skribis:

> +   license:gpl3+  ; config.guess
> +   license:x11; install-sh

These two files are build system helpers provided by Autoconf and
Automake.  They are not installed so their license does not matter here.

Ludo’.



Re: [PATCH v2] gnu: Add rust

2016-09-13 Thread ng0
Hi,

I can not apply this patch with git am. Can you resend the patch as an
appended file created with git format-patch or something similar, and
not inlined?

Eric Le Bihan  writes:

> * gnu/packages/rust.scm(rust): New variable.
>
> Signed-off-by: Eric Le Bihan 
> ---
>  gnu/packages/rust.scm | 143 
> ++
>  1 file changed, 143 insertions(+)
>  create mode 100644 gnu/packages/rust.scm
>
> diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
> new file mode 100644
> index 000..7f2edb8
> --- /dev/null
> +++ b/gnu/packages/rust.scm
> @@ -0,0 +1,143 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2016 Eric Le Bihan 
> +;;;
> +;;; 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 .
> +
> +(define-module (gnu packages rust)
> +  #:use-module (ice-9 regex)
> +  #:use-module ((guix licenses) #:select (asl2.0 x11-style))
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages base)
> +  #:use-module (gnu packages bootstrap)
> +  #:use-module (gnu packages curl)
> +  #:use-module (gnu packages elf)
> +  #:use-module (gnu packages gcc)
> +  #:use-module (gnu packages jemalloc)
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages python))
> +
> +(define rust-bootstrap-x86_64-1.9.0
> +  (origin
> +   (method url-fetch)
> +   (uri
> +
> "https://static.rust-lang.org/dist/2016-05-24/rustc-1.9.0-x86_64-unknown-linux-gnu.tar.gz;)
> +   (sha256
> +(base32
> + "1i44rlvvn3pr81sli6bdbkzd78ar1ibybxx6mzpw6rkw4c84sw6h"
> +
> +(define rust-bootstrap-i686-1.9.0
> +  (origin
> +   (method url-fetch)
> +   (uri
> +
> "https://static.rust-lang.org/dist/2016-05-24/rustc-1.9.0-i686-unknown-linux-gnu.tar.gz;)
> +   (sha256
> +(base32
> + "0fdf5xvh3g4hdza0y80w1r9vnfczjqnbzbvs7k878yc26p4dwl99"
> +
> +(define-public rust
> +  (package
> +   (name "rust")
> +   (version "1.10.0")
> +   (source (origin
> +(method url-fetch)
> +(uri (string-append "https://static.rust-lang.org/dist/rustc-;
> +version "-src.tar.gz"))
> +(sha256
> + (base32
> +  "0sb82xb8y2pzs8l1hk91z228bambwx3dmi2kj8isin7nyjn5l0d4"
> +   (build-system gnu-build-system)
> +   (native-inputs
> +`(("curl" ,curl)
> +  ("gcc" ,gcc)
> +  ("gcc-lib" ,gcc "lib")
> +  ("jemalloc" ,jemalloc)
> +  ("patchelf" ,patchelf)
> +  ("perl" ,perl)
> +  ("python" ,python-2)
> +  ("rust-bootstrap"
> +   ,(if (string-match "x86_64"
> +  (or (%current-target-system) (%current-system)))
> +rust-bootstrap-x86_64-1.9.0
> +rust-bootstrap-i686-1.9.0))
> +  ("which" ,which)))
> +   (arguments
> +`(#:phases
> +  (modify-phases %standard-phases
> +(add-after 'unpack 'unpack-bootstrap
> +   (lambda* (#:key inputs #:allow-other-keys)
> + (with-directory-excursion (getcwd)
> +   (zero? (system*
> +   "tar"
> +   "--strip-components=1"
> +   "-xzf"
> +   (assoc-ref inputs "rust-bootstrap"))
> +(replace 'configure
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> +   (let ((out (assoc-ref outputs "out"))
> + (binutils (assoc-ref inputs "binutils"))
> + (gcc (assoc-ref inputs "gcc"))
> + (gcc-lib (assoc-ref inputs "gcc-lib"))
> + (jemalloc (assoc-ref inputs "jemalloc"))
> + (ld-so (string-append
> + (assoc-ref inputs "libc")
> + ,(glibc-dynamic-linker)))
> + (python (assoc-ref inputs "python")))
> + (setenv "SHELL" (which "sh"))
> + (setenv "CONFIG_SHELL" (which "sh"))
> + ;; Tell where to find libgcc_s.so
> + (setenv "LD_LIBRARY_PATH" (string-append gcc-lib 
> 

Re: Allow disabling of CONFIG_SHELL in the configure phase

2016-09-13 Thread Ludovic Courtès
Arun Isaac  skribis:

> I am packaging optipng (http://optipng.sourceforge.net/) with the
> gnu-build-system, and its configure script does not like being passed
> CONFIG_SHELL. It fails with the following error:
>
> ./configure: error: unknown option: 
> CONFIG_SHELL=/gnu/store/ykzwykkvr2c80rw4l1qh3mvfdkl7jibi-bash-4.3.42/bin/bash
>
> Can we allow disabling of CONFIG_SHELL by passing some keyword argument
> to the configure phase? Right now, the CONFIG_SHELL argument is always
> passed to ./configure, and the only way to get around this is to replace
> the configure phase for the optipng package with a specialized function
> that does not pass CONFIG_SHELL. That seems like too much work, and it
> will be nice if we can just disable CONFIG_SHELL with a keyword argument.

I find that it’s not that much work to replace the ‘configure’ phase,
and it’s not too common (Autoconf-generated ‘configure’ scripts all
honor CONFIG_SHELL.)

We could add a Boolean flag for CONFIG_SHELL, but I bet manually written
‘configure’ scripts may need more than just that anyway, so I’m not sure
it would buy us much.

WDYT?

Ludo’.



Re: [PATCH] Adding .xsession to guile-wm

2016-09-13 Thread Ludovic Courtès
Alex ter Weele  skribis:

> From 91f74b1b762596527dfa9412c33e39981932fa70 Mon Sep 17 00:00:00 2001
> From: Alex ter Weele 
> Date: Sun, 11 Sep 2016 22:18:53 -0400
> Subject: [PATCH] Adding .xsession to guile-wm
>
> ---
>  gnu/packages/guile-wm.scm | 25 +++--
>  1 file changed, 23 insertions(+), 2 deletions(-)

I agree with David that it would be good to talk to the upstream
developer so that the .desktop file is distributed by upstream
eventually.  Could you try to reach them?

In the meantime, it’s fine to add such a file in Guix.

I pushed the patch as 23de5cbd1487747a2d690ee3ac7630142a7eaeb8.  I added
a copyright line for you, added a ChangeLog-style commit log, and
reindented ‘arguments’ for clarity.

Thanks to your patch, I discovered this:

--8<---cut here---start->8---
scheme@(guile-user)> ,use(ice-9 format)
scheme@(guile-user)> (format #f "foo~@\nbar")
$2 = "foo\nbar"
scheme@(guile-user)> (format #f "foo~@\n  bar")
$3 = "foo\nbar"
--8<---cut here---end--->8---

:-)

Thanks!

Ludo’.



Re: [PATCH v2] gnu: Add rust (sidenotes on rust)

2016-09-13 Thread ng0
I can testbuild rustc and give some input.

Additionally, we're having conversations about rust, today this came up:


dev @> Very interesting: 
https://github.com/rust-lang/rfcs/blob/master/text/1200-cargo-install.md
" it's not clear that this is worthwhile enough to support installing libraries 
yet."
on bootstraping: 
https://mail.mozilla.org/pipermail/rust-dev/2014-June/010222.html 

dev @> apparently cargo is not designed to use system paths to find dynamic 
libraries
by default libraries are downloaded from github and stored in a cache directory


How problematic will this be for us? Our person in charge for the rust
stuff works around this by including copies of the libraries in a folder
named 'third_party', but I don't understand enough of the language and
lack a build system at the moment.

David Craven  writes:

> I haven't actually built rustc yet, because I know how long it takes...
>
>> + (ld-so (string-append
>> + (assoc-ref inputs "libc")
>> + ,(glibc-dynamic-linker)))
>
>> + ;; Remove reference to "/lib64/ld-linux-x86-64.so.2" 
>> from binary
>> + (zero? (system*
>> + "patchelf"
>> + "--set-interpreter" ld-so
>
> I think that this should be part of the a rustc-bootstrap package. We
> shouldn't export binaries to the user, but I think we need a fully
> functional bootstrap compiler.
>
>> + (setenv "SHELL" (which "sh"))
>> + (setenv "CONFIG_SHELL" (which "sh"))
>> + ;; Tell where to find libgcc_s.so
>> + (setenv "LD_LIBRARY_PATH" (string-append gcc-lib 
>> "/lib"))
>
> I think this should be a separate phase. We can then use
> #:configure-flags to pass --default-linker etc.
>
>> +  #:tests? #f))
>
> To get tests enabled you can apply this patch [0].
>
> [0] 
> https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/rust/patches/disable-lockfile-check.patch
>

-- 
ng0
For non-prism friendly talk find me on http://www.psyced.org



Re: [PATCH] Adding .xsession to guile-wm

2016-09-13 Thread Ludovic Courtès
John Darrington  skribis:

> On Mon, Sep 12, 2016 at 09:45:22PM -0400, Thompson, David wrote:
>  On Mon, Sep 12, 2016 at 9:23 PM, Alex ter Weele
>   wrote:
>  > I don't believe there is a standard, but different packages do it
>  > different ways. Under my patch, guile-wm will regenerate its .desktop 
> as
>  > part of the build process, so its Exec= should be kept up-to-date.
>  
>  We should always refer to the absolute path to binaries so that we
>  don't rely on $PATH, which would be nondeterministic.
>  
>
> In that case, below is a (non-exhaustive) list of .desktop files from
> various packages which do it "wrong".Is there not some way we can
> automatically flag such cases at build time?

Maybe we could have a ‘patch-desktop-files’ phase that automatically
expands relative file names in .desktop files?

Ludo’.



Re: [PATCH] Adding .xsession to guile-wm

2016-09-13 Thread Ludovic Courtès
John Darrington  skribis:

> Most of the .desktop files in my store do not have the /gnu/store/... on their
> Exec= line.  Perhaps they should?  What is the policy here?

I think it’s best to use absolute file names.

Ludo’.



Re: [PATCH] gnu: Add schismtracker.

2016-09-13 Thread Ludovic Courtès
Kei Kebreau  skribis:

> From 961dcf1e1e3ce45ea9d3f9c84fbe5562d52a1dd4 Mon Sep 17 00:00:00 2001
> From: Kei Kebreau 
> Date: Sat, 10 Sep 2016 10:27:34 -0400
> Subject: [PATCH] gnu: Add schismtracker.
>
> * gnu/packages/music.scm (schismtracker): New variable.

LGTM, thanks!

Ludo'.



Re: [PATCH 2/2] gnu: Add GSSD and Pipefs services

2016-09-13 Thread Ludovic Courtès
John Darrington  skribis:

> * gnu/services/nfs.scm (pipefs-service-type): New Variable,
> (gss-service-type): New Variable.

Nice!  Minor comments below:

> -@node Miscellaneous Services
> -@subsubsection Miscellaneous Services
> +@node NFS Services
> +@subsubsection NFS Services

I would call it “Network File System Services” or just “Network File
System”.

> +@cindex nfs

NFS.

> +The @code{(gnu services nfs)} module provides the following services,
> +which are most commonly used in relation to mouting or exporting NFS
> +filesystems.

“… to mounting or exporting files using the @dfn{Network File System}
(NFS).”

(Always write “file system” as two words.)

> +@subsubheading GSS Daemon Service
> +@cindex gssd
> +@cindex gss
> +
> +@defvr {Scheme Variable} gss-service-type
> +A service type  for the RPC Global Security System (GSS) daemon.
 ^^
Extra space.

Is “RPC” needed here, or is it more generic?

Would be nice to add a sentence like “The GSS daemon provides mechanism
XYZ, which can be used to implement FOOBAR.”, where FOOBAR has some
connection with NFS.  I don’t know myself what to put in here but
hopefully there’s a README or something that can shed some light.  :-)

> +@deftp {Data Type} gss-configuration
> +Data type representing the configuration of the RPC GSS Daemon service.
> +This type has the following parameters:
> +@table @asis
> +@item @code{nfs-utils} (default: @code{nfs-utils})
^
Should be @var, because here we’re talking about the value of the
‘nfs-utils’ global variable.

> +@defvr {Scheme Variable} pipefs-service-type
> +A service type for the pipefs pseudo filesystem.
   ^^
s/pipefs pseudo filesystem/@code{rpc_pipefs} pseudo file system/
+ “… implemented by the kernel Linux.”
+ “The @command{rpc_pipefs} allows for communication between the kernel
and the user-land NFS daemons.”

> +@deftp {Data Type} pipefs-configuration
> +Data type representing the configuration of the pipefs service.
> +There are no configurable parameters to this type.
> +@end deftp

Not necessary (see below).

> +@node Miscellaneous Services
> +@subsubsection Miscellaneous Services

Oops!

> +(define-record-type* 
> +  pipefs-configuration make-pipefs-configuration
> +  pipefs-configuration?)

Since there’s really no configuration here, it’s not needed.

> +(define pipefs-service-type
> +  (shepherd-service-type
> +   'pipefs
> +   (lambda (config)
> + (with-imported-modules '((gnu build file-systems)
> +  (guix build bournish))
> +   (define pipefs-dir "/var/lib/nfs/rpc_pipefs")
> +
> +   (shepherd-service
> +(documentation "Mount the pipefs pseudo filesystem.")
> +(provision '(rpc-pipefs))
> +
> +(start #~(lambda ()
> +   (mkdir-p #$pipefs-dir)
> +   (mount "rpc_pipefs" #$pipefs-dir "rpc_pipefs")))
> +(stop #~(lambda (pid . args)
> +  (umount #$pipefs-dir MNT_DETACH

You could achieve something similar by extending ‘file-system-service’,
like ‘elogind-service-type’ does.  Could you try if it works here?

In that case, the name of the Shepherd service would become
“file-system-/var/lib/nfs/rpc_pipefs”.

> + (define pkg
> +   (gss-configuration-gss config))

s/pkg/nfs-utils/

Could you send an updated patch?

Thanks for working on it!

Ludo’.



[PATCH 1/2] gnu: Add perl-net-psyc.

2016-09-13 Thread ng0
* gnu/packages/psyc.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk  |   2 +
 gnu/packages/psyc.scm | 105 ++
 2 files changed, 107 insertions(+)
 create mode 100644 gnu/packages/psyc.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 5714009..c01f47a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -5,6 +5,7 @@
 # Copyright © 2013, 2014, 2015, 2016 Mark H Weaver 
 # Copyright © 2016 Chris Marusich 
 # Copyright © 2016 Kei Kebreau 
+# Copyright © 2016 ng0 
 #
 # This file is part of GNU Guix.
 #
@@ -292,6 +293,7 @@ GNU_SYSTEM_MODULES =\
   %D%/packages/pumpio.scm  \
   %D%/packages/pretty-print.scm\
   %D%/packages/protobuf.scm\
+  %D%/packages/psyc.scm \
   %D%/packages/pv.scm  \
   %D%/packages/python.scm  \
   %D%/packages/qemu.scm\
diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
new file mode 100644
index 000..3c4a330
--- /dev/null
+++ b/gnu/packages/psyc.scm
@@ -0,0 +1,105 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 
+;;;
+;;; 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 .
+
+(define-module (gnu packages psyc)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix build-system perl)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages web))
+
+(define-public perl-net-psyc
+  (package
+(name "perl-net-psyc")
+(version "1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://perl.psyc.eu/;
+   "perlpsyc-" version ".zip"))
+   (file-name (string-append name "-" version ".zip"))
+   (sha256
+(base32
+ "1lw6807qrbmvzbrjn1rna1dhir2k70xpcjvyjn45y35hav333a42"))
+   ;; psycmp3 currently depends on MP3::List and rxaudio (shareware),
+   ;; we can add it back when this is no longer the case.
+   (snippet '(delete-file "contrib/psycmp3"
+(build-system perl-build-system)
+(inputs
+ `(("perl-curses" ,perl-curses)
+   ("perl-io-socket-ssl" ,perl-io-socket-ssl)))
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (delete 'configure) ; No configure script
+ ;; There is a Makefile, but it does not install everything
+ ;; (leaves out psycion) and says
+ ;; "# Just to give you a rough idea". XXX: Fix it upstream.
+ (delete 'build)
+ (add-before 'build 'build-manuals
+   (lambda _
+ (zero? (system* "make" "manuals"
+ (replace 'install
+   (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+(doc (string-append out "/share/doc/perl-net-psyc"))
+(man (string-append out "/share/man"))
+(bin (string-append out "/bin"))
+(libpsyc (string-append out "/lib/psyc/ion"))
+(libperl (string-append out "/lib/perl5/site_perl/"
+,(package-version perl
+
+   (copy-recursively "lib/perl5" libperl)
+   (copy-recursively "lib/psycion" libpsyc)
+   (copy-recursively "bin" bin)
+   (install-file "cgi/psycpager" (string-append doc "/cgi"))
+   (copy-recursively "contrib" (string-append doc "/contrib"))
+   (copy-recursively "hooks" (string-append doc "/hooks"))
+   (copy-recursively "sdj" (string-append doc "/sdj"))
+   (install-file "README.txt" doc)
+   (install-file "TODO.txt" doc)
+   (copy-recursively "share/man/man1" (string-append man "/man1"))
+   (copy-recursively "share/man/man3" (string-append man "/man3"))
+   #t)))
+ (add-after 'install 'wrap-programs
+   (lambda* (#:key outputs #:allow-other-keys)
+ 

  1   2   >