Re: [PATCH 1/2] gnu: libtool: Use 'modify-phases'.

2017-01-04 Thread Leo Famulari
On Sun, Jan 01, 2017 at 03:24:27PM +, ng0 wrote:
> * gnu/packages/autotools.scm (libtool): Use 'modify-phases'.
> [arguments]: Use 'modify-phases'.

> + ("help2man" ,help2man) ;because we modify ltmain.sh

This should go in the other patch, right?

I attached a revised patch series with that change, and another bug fix.
From 7f0fce3f71be7da461de89fb5f6f47289c6498b6 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Sun, 1 Jan 2017 15:24:27 +
Subject: [PATCH 1/3] gnu: libtool: Use 'modify-phases'.

* gnu/packages/autotools.scm (libtool): Use 'modify-phases'.
[arguments]: Use 'modify-phases'.

Signed-off-by: Leo Famulari 
---
 gnu/packages/autotools.scm | 30 --
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 72492e70e..64a1e68bf 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2014 Manolis Fragkiskos Ragkousis 
 ;;; Copyright © 2015 Mark H Weaver 
 ;;; Copyright © 2016 David Thompson 
+;;; Copyright © 2017 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -313,21 +314,22 @@ Makefile, simplifying the entire process for the 
developer.")
   (or (%current-target-system)
   (%current-system
 
-   #:phases (alist-cons-before
- 'check 'pre-check
- (lambda* (#:key inputs #:allow-other-keys)
-   ;; Run the test suite in parallel, if possible.
-   (setenv "TESTSUITEFLAGS"
-   (string-append
-"-j"
-(number->string (parallel-job-count
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+   ;; Run the test suite in parallel, if possible.
+   (setenv "TESTSUITEFLAGS"
+   (string-append
+"-j"
+(number->string (parallel-job-count
+
+   ;; Path references to /bin/sh.
+   (let ((bash (assoc-ref inputs "bash")))
+ (substitute* "tests/testsuite"
+   (("/bin/sh")
+(string-append bash "/bin/bash")
 
-   ;; Path references to /bin/sh.
-   (let ((bash (assoc-ref inputs "bash")))
- (substitute* "tests/testsuite"
-   (("/bin/sh")
-(string-append bash "/bin/bash")
- %standard-phases)))
 (synopsis "Generic shared library support tools")
 (description
  "GNU Libtool helps in the creation and use of shared libraries, by
-- 
2.11.0

From fc60e04d85ab171538333fe5aa47c2e6849b02e3 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Sun, 1 Jan 2017 15:24:28 +
Subject: [PATCH 2/3] gnu: libtool: Restore ltmain.sh shebang.

This fixes 

* gnu/packages/autotools.scm (libtool)[arguments]: Add new phase
'restore-ltmain-shebang'.
[native-inputs]: Add help2man.

Signed-off-by: Leo Famulari 
---
 gnu/packages/autotools.scm | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 64a1e68bf..217517ade 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages m4)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages bash)
   #:use-module (guix utils)
   #:use-module (guix packages)
@@ -301,6 +302,7 @@ Makefile, simplifying the entire process for the 
developer.")
 (propagated-inputs `(("m4" ,m4)))
 (native-inputs `(("m4" ,m4)
  ("perl" ,perl)
+ ("help2man" ,help2man) ;because we modify ltmain.sh
  ("automake" ,automake)  ;some tests rely on 'aclocal'
  ("autoconf" ,(autoconf-wrapper ;others on 'autom4te'
 
@@ -328,7 +330,12 @@ Makefile, simplifying the entire process for the 
developer.")
(let ((bash (assoc-ref inputs "bash")))
  (substitute* "tests/testsuite"
(("/bin/sh")
-(string-append bash "/bin/bash")
+(string-append bash "/bin/bash"))
+ (add-after 'patch-source-shebangs 'restore-ltmain-shebang
+(lambda* (#:key inputs #:allow-other-keys)
+  (substitute* "build-aux/ltmain.in"
+   

[PATCH] guix: python-build-system: Properly inform caller about test status.

2017-01-04 Thread Danny Milosavljevic
* guix/build/python-build-system.scm (check): Properly inform caller about test 
status.
---
 guix/build/python-build-system.scm | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/guix/build/python-build-system.scm 
b/guix/build/python-build-system.scm
index 3f280b0ac..d46739827 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -136,12 +136,13 @@
   ;; build/lib in some cases, e.g. if the source is in a sub-directory
   ;; (given with `package_dir`). This will by copied to the output, too,
   ;; so we need to remove.
-  (let ((before (find-files "build" "\\.egg-info$" #:directories? #t)))
-(call-setuppy test-target '() use-setuptools?)
-(let* ((after (find-files "build" "\\.egg-info$" #:directories? #t))
-   (inter (lset-difference eqv? after before)))
-  (for-each delete-file-recursively inter)))
-#t))
+  (let* ((before (find-files "build" "\\.egg-info$" #:directories? #t))
+ (status (call-setuppy test-target '() use-setuptools?))
+ (after (find-files "build" "\\.egg-info$" #:directories? #t))
+ (inter (lset-difference eqv? after before)))
+(for-each delete-file-recursively inter)
+status)
+  #t))
 
 (define (get-python-version python)
   (let* ((version (last (string-split python #\-)))



Re: [PATCH] gnu: bootstrap-tarballs: Cross-compile for powerpc-linux-gnu.

2017-01-04 Thread Ludovic Courtès
Hello Carlos!

Happy new year!  :-)

Leo just reminded me of this patch on IRC, and I feel guilty that it
stood there for so long.  Apologies!

csanchez...@gmail.com (Carlos Sánchez de La Lama) skribis:

> * gnu/packages/bootstrap.scm (glib-dynamic-linker): Add value for
> powerpc-linux.
> * gnu/packages/linux.scm (system->defconfig): New procedure.
> (linux-libre-headers): Use system->defconfig.
> * gnu/packages/cross-base.scm (xlinux-headers): Use system->defconfig.
> * gnu/packages/gcc.scm (gcc-4.7): Add powerpc specific substitutions for
> dynamic linker and start files locations.
> * gnu/packages/make-bootstrap.scm (%gcc-static): Remove -lgcc_s added in
> powerpc specific substitutions.

I ended up splitting it in 3 patches (gcc, linux-libre, and
glibc-dynamic-linker) that I just pushed to ‘core-updates’.  I also
added copyright lines for you where appropriate.  Hope that’s fine!

> I finally found some time to clean-up my work. This patch is for
> core-updates branch, and allows bootstrap tarball generation by
>
> guix build --target=powerpc-linux-gnu bootstrap-tarballs
>
> I think the best way to proceed is integrate this onto core-updates
> (once reviewed & approved), then generate a bootstrap binaries on hydra,
> making them available for download on the bootstrap binaries URL. At
> that point I can update the rest of the powerpc-linux-gnu patches (which
> use this binaries) with the correct hashes, and send them to the list.

Sounds like a good plan.

Commit 9410a5aa916035bb4d7f032a5fe81cfb497887c8 adds powerpc-linux-gnu
cross-builds for Hydra (though Hydra is currently busy with the
‘staging’ branch.)

> As Ludo suggested, I am also preparing a tutorial/blog on the porting
> process.

Awesome!

Sorry again for the delay and the frustration it probably entailed.

Cheers,
Ludo’.



Re: [PATCH] gnu: Add php-hello-world.

2017-01-04 Thread Ludovic Courtès
Hi Hartmut,

Hartmut Goebel  skribis:

> Am 31.12.2016 um 12:16 schrieb Ludovic Courtès:
>> after all.  However, as a distro, I think we should refrain from
>> providing packages unrelated to Guix/Guile that have no upstream.
>
> So this package will not happen, since *I* will not spend my time to
> create such a project. As a consequences, there will be not "php-fpm" OS
> example.

Now I just realize you posted php-fpm for review on Dec. 8 and nobody
replied.  Please feel entitled to ping people if you don’t get feedback
after a week or so.  Otherwise, without bad faith from anyone, it just
falls into the cracks.

Clearly I had no idea there was a connection between the “php-fpm”
service and php-hello-world.

> I already spent quite some time on this topic, so this is quite
> disencouraging. :-(

Please don’t be discouraged.  I (and others) spend this amount of time
on a dozen of topics in parallel, as you might have seen from the
mailing list.

Cheers,
Ludo’.



Re: [PATCH] gnu: gnurl: Add ca-bundle to config.

2017-01-04 Thread ng0
ng0  writes:

> * gnu/packages/gnunet.scm (gnurl)[arguments]: Add "--with-ca-bundle" 
> configure flag.
> [arguments]: configure-flags: Use list.
> [arguments]: Add "nss-certs" to native-inputs.

Reading old threads and the last replies from ludovic I think
this solution will not be accepted or work. I prefer to discuss
this in the curl thread.

> ---
>  gnu/packages/gnunet.scm | 31 +++
>  1 file changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
> index 27e1ffb4e..451293c9f 100644
> --- a/gnu/packages/gnunet.scm
> +++ b/gnu/packages/gnunet.scm
> @@ -5,7 +5,7 @@
>  ;;; Copyright © 2015 Efraim Flashner 
>  ;;; Copyright © 2016 Ricardo Wurmus 
>  ;;; Copyright © 2016 Mark H Weaver 
> -;;; Copyright © 2016 ng0 
> +;;; Copyright © 2016, 2017 ng0 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -27,6 +27,7 @@
>#:use-module (gnu packages file)
>#:use-module (gnu packages aidc)
>#:use-module (gnu packages autotools)
> +  #:use-module (gnu packages certs)
>#:use-module (gnu packages compression)
>#:use-module (gnu packages curl)
>#:use-module (gnu packages gettext)
> @@ -184,20 +185,26 @@ and support for SSL3 and TLS.")
>("libtool" ,libtool)
>("groff" ,groff)
>("perl" ,perl)
> +  ("nss-certs" ,nss-certs)
>("pkg-config" ,pkg-config)
>("python" ,python-2)))
> (arguments
> -`(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
> -  "--without-libmetalink" "--without-winidn"
> -  "--without-librtmp" "--without-nghttp2"
> -  "--without-nss" "--without-cyassl"
> -  "--without-polarssl" "--without-ssl"
> -  "--without-winssl" "--without-darwinssl"
> -  "--disable-sspi" "--disable-ntlm-wb"
> -  "--disable-ldap" "--disable-rtsp" "--disable-dict"
> -  "--disable-telnet" "--disable-tftp" 
> "--disable-pop3"
> -  "--disable-imap" "--disable-smtp" 
> "--disable-gopher"
> -  "--disable-file" "--disable-ftp" "--disable-smb")
> +`(#:configure-flags (list
> + "--enable-ipv6" "--with-gnutls" "--without-libssh2"
> + "--without-libmetalink" "--without-winidn"
> + "--without-librtmp" "--without-nghttp2"
> + "--without-nss" "--without-cyassl"
> + "--without-polarssl" "--without-ssl"
> + "--without-winssl" "--without-darwinssl"
> + "--disable-sspi" "--disable-ntlm-wb"
> + "--disable-ldap" "--disable-rtsp" "--disable-dict"
> + "--disable-telnet" "--disable-tftp" "--disable-pop3"
> + "--disable-imap" "--disable-smtp" "--disable-gopher"
> + "--disable-file" "--disable-ftp" "--disable-smb"
> + (string-append
> +  "--with-ca-bundle="
> +  (string-append (assoc-ref %build-inputs 
> "nss-certs")
> + 
> "/etc/ssl/certs/ca-certificates.crt")))
>#:test-target "test"
>#:parallel-tests? #f
>#:phases
> -- 
> 2.11.0
>
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH] gnu: Add beep.

2017-01-04 Thread José Miguel Sánchez García

On 2017-01-04 08:10, Tobias Geerinckx-Rice wrote:

José,

On 02/01/17 20:33, José Miguel Sánchez García wrote:

Add beep command.


Thanks!


-;;; Copyright © 2016 José Miguel Sánchez García...
+;;; Copyright © 2017 José Miguel Sánchez García...


Please keep both years:

  ;;; Copyright © 2016, 2017 José Miguel Sánchez García...


(base32 "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r"


A bit long, easily solved by moving the hash string to its own line:

  (base32
   "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r"


; It doesn't install without this


I'd consider that implied, and just drop this comment.

(Future note: since in-line comments like this one aren't considered
full sentences, they don't start with a capital letter. Full-line
comments beginning with ;; are, and do.)

You're also doing more than patching the makefile here. Consider moving
the ‘mkdir-p’ part to a separate, later phase (add-before 'install).
Sorry to ruin your ‘let’ factoring...


(synopsis "Command line utility for Linux that beeps the PC speaker.")
(description "Command line utility for Linux that beeps the PC
  speaker.")


I'll trust you that this is indeed Linux-specific: the manual mentions
ioctls, and I can't get it to make a sound from within X :-(

s/command line/command-line/ when used as an adjective.

Descriptions should be between 5 and 10 lines where possible, use full
sentences, and not repeat the synopsis ($ info guix "Synopses and
Descriptions").

Luckily, the first paragraph of the man page makes a pretty good
starting point:

  beep allows the user to control the PC speaker with precision,
  allowing different sounds to indicate different events.  While it can
  be run quite happily on the command line, it's intended place of
  residence is within shell/perl scripts, notifying the user when
  something interesting occurs.  Of course, it has  no notion of what's
  interesting, but it's real good at that notifying part.

I'd re-write the synopsis as ‘Linux command-line utility to control the
PC speaker’. It does a tad more than just beep, even if it's the 
musical

equivalent of burping the alphabet.


(home-page "http://www.johnath.com/beep;)

  ^^^

Your package is missing a few brackets. Did the patch get truncated?

Kind regards,

T G-R
I've applied your changes, ran guix lint and tested it. Here you have 
the fixed patch.


--
José Miguel Sánchez GarcíaFrom ad6b9c735a45738c798a0c677ebc9e4062e17aef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Miguel=20S=C3=A1nchez=20Garc=C3=ADa?=
 
Date: Thu, 5 Jan 2017 00:23:18 +0100
Subject: [PATCH] gnu: Add beep.

* gnu/packages/terminals.scm (beep): New variable.
---
 gnu/packages/terminals.scm | 36 +++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 52767ba6c..dd4142ac8 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2016 Alex Griffin 
 ;;; Copyright © 2016 David Craven 
 ;;; Copyright © 2016 Ludovic Courtès 
-;;; Copyright © 2016 José Miguel Sánchez García 
+;;; Copyright © 2016, 2017 José Miguel Sánchez García 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -326,3 +326,37 @@ configuration, testing, and debugging tool.  It has also serves well
 as a low-tech serial communications program to allow access to all
 types of devices that provide serial consoles.")
 (license license:gpl2+)))
+
+(define-public beep
+  (package
+(name "beep")
+(version "1.3")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://www.johnath.com/; name "/"
+  name "-" version ".tar.gz"))
+  (sha256
+   (base32
+ "0bgch6jq5cahakk3kbr9549iysf2dik09afixxy5brbxk1xfzb2r"
+(build-system gnu-build-system)
+(arguments
+ `(#:tests? #f   ; no tests.
+   #:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-makefile
+   (lambda _
+ (substitute* "Makefile" (("/usr") (assoc-ref %outputs "out")
+ (add-before 'install 'create-dest-dirs
+   (lambda _
+ (mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))
+ (mkdir-p (string-append (assoc-ref %outputs "out") "/man/man1")))
+(synopsis "Linux command-line utilitu to control the PC speaker")
+(description "beep allows the user to control the PC speaker with precision,
+allowing different sounds to indicate different events.  While it can be run
+quite happily on the command line, its intended place of residence is within
+shell/perl scripts, notifying the user when something interesting occurs.  Of

Re: Staging freeze

2017-01-04 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Fri, Dec 23, 2016 at 12:23:39AM -0500, Leo Famulari wrote:
>> The last staging branch was merged into the master branch on December
>> 11.
>> 
>> According to the 3 week staging cycle we are trying to adhere to [0],
>> this would mean we freeze the current branch on December 25 and try to
>> merge it on January 1.
>> 
>> These dates are inconvenient for many people. I propose we freeze the
>> branch and start building on December 27, and try to merge on January 3.
>
> Update:
>
> We are having some issues with the armhf and mips64el build machines
> that are keeping us from building all the packages.

That should be more or less solved.

I’ve just merged ‘master’ into ‘staging’ and started a new evaluation.

Ludo’.



Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread ng0
Ludovic Courtès  writes:

> Hi!
>
> Thanks for all the work!
>
> I second Ricardo’s comment about systematically running ‘guix lint’
> before submitting, especially for a patch series that is this large.
>
> If you think the review might take several round trips, it might be more
> convenient to publish it as a branch somewhere, to avoid resending 86
> messages.

It is published, but I can move it to my pagure.io account as
long as our (secushare) git+issue instance hasn't moved to the
new server. Right now it's .onion and invite-only, which as we
already discussed and voted on is suboptimal, resulting in the
move to a new server which shall be more open.
If that's really desired. I really dislike using email, so if you
would really make use of just using the remote branch or checking
it out in some way I'm all for it.
Should I just sent a short notive with the new branch and its
location once it is done?

> I understand the concerns of David Craven regarding
> ‘cargo-build-system’, though OTOH I’m tempted to think
> ‘cargo-build-system’ is probably not so bad if it managed to build all
> this.  ;-)  But anyway, I’ll David and you figure out what the best
> approach is!

I'm confused though. Before the latest patch it managed to build
it all, but it starts to break at the circular dependencies where
I did not check my solution and if it still builds. So up until
the point where the patches just change an input to become
available, it's alright, or seems so.
The circular dependencies were confusing, I ended up moving from
gitlab+markdown to my board and to paper to figure out the
correct way to bootstrap over several levels but it ended up
being circular. Then I saw that some where just devel-inputs or
what they are called in rust again, so I thought it'd work out to
first leave them out and add them once the right inputs are
available.

> Ludo’.
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH 6/6] gnu: Add grub-efi.

2017-01-04 Thread Ludovic Courtès
Chris Marusich  skribis:

> l...@gnu.org (Ludovic Courtès) writes:
>
>> Howdy!
>>
>> There I typed at the GRUB command prompt:
>>
>>   insmod efi_gop
>>   insmod efi_uga
>>   cat /var/guix/gcroots/grub.cfg
>
> Slightly off-topic question: how does one find out what the possible
> values for X are in a command like "insmod X"?  I've searched before and
> I couldn't find a list in the manual, so I presume it's something you
> have to "just know" at runtime, somehow.

Yeah, I run “ls /boot/grub/x86_64-efi” too.  :-)

>> and typed the ‘search.file’, ‘linux’, and ‘initrd’ that appear
>> ‘grub.cfg’ (“source /…/grub.cfg” did not work.)
>>
>> That actually booted GuixSD.  This time it had /sys/firmware/efi.  Thus
>> I re-run ‘grub-install’ from there and upon reboot, the thing would
>> immediately boot GRUB!  \o/
>>
>> I still need to sort out a few shenanigans but I’m getting there.
>
> Sweet!  I've been tentatively following this thread; glad to see you're
> making progress.

So the last bit was to add this to ‘file-systems’:

  (file-system
(title 'device)
(device "/dev/sda1")
(mount-point "/boot/efi")
(type "vfat")
(check? #f))   ;work around lack of fsck support for vfat

That allows ‘grub-install’ to do its thing when I run ‘guix system
reconfigure’.

Essentially, what remains to be done is:

  1. fsck support for vfat (discussed with David C. and Marius);
  2. produce an EFI installation image;
  3. document it, add an example config probably.

Ludo’.



Re: [PATCH] Creating a docker image with Guix

2017-01-04 Thread Ludovic Courtès
Ricardo Wurmus  skribis:

> Chris Marusich  writes:
>
>> What happens if I invoke this command while GC is trying to delete the
>> specified path?
>
> It will do weird things, I guess.  It’s best to do this inside of “guix
> environment” as I demonstrated because while you’re in the environment
> the temporary profile is protected from GC.

But if you do “guix archive --export-docker-image=foo emacs”, then Emacs
is protected from GC for the dynamic extend of ‘with-store’ in
‘guix-archive’.

Also, in practice, the ‘list-runtime-roots’ helper will notice the file
name in the arguments to ‘guix archive’ and will make it a GC root.

So that does not introduce any difference compared to the existing
behavior, I think.

Ludo’.



Re: GnuTLS and the “trust store”

2017-01-04 Thread ng0
Ludovic Courtès  writes:

> Hello!
>
> Marius Bakke  skribis:
>
>> Marius Bakke  writes:
>>
>>> ng0  writes:
>>>
 * gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" 
 configure flag.
>
> [...]
>
>> I realized shortly after posting why this wasn't done already. Curl has
>> 1403 dependent packages, which would apply for "nss-certs" as well if
>> that is added as input. Obviously we want to be able to update TLS
>> certificates quickly without rebuilding ~1/4 of the tree.
>
> Indeed.  It’s a situation where we do not want to have a static binding
> between cURL and nss-certs; instead, they should be composed
> dynamically, along the lines of what we already recommend at:

Okay, so my proposed gnURL patch should not be applied at
all. Reading the old threads I'm starting to understand the
situation, but not completely.

>   
> https://www.gnu.org/software/guix/manual/html_node/X_002e509-Certificates.html
>
> cURL depends on GnuTLS, and GnuTLS doesn’t honor an environment variable
> like ‘SSL_CERT_DIR’.  Its recipe has this comment:

The 3rd option in 2015, subject: [PATCH] gnu: gnutls: Configure
location of system-wide trust store, was to use openssl. Now
we have libressl, so why not try and give that a try in the
future when we (that is, the people with commit access) have
rebuild everything with libressl and it turns out alright?

I'm trying to understand the problem here, the problem why
packages like darcs, pbpst, and others are just sitting, waiting
for months because of issues with cURL. There's a problem, and
I'd like to fix (and understand) it.
Do I have to fix the curl dependent applications? Doesn't sound
like a solution for me which would scale.

>  ;; GnuTLS doesn't consult any environment variables to specify
>  ;; the location of the system-wide trust store.  Instead it has a
>  ;; configure-time option.  Unless specified, its configure script
>  ;; attempts to auto-detect the location by looking for common
>  ;; places in the file system, none of which are present in our
>  ;; chroot build environment.  If not found, then no default trust
>  ;; store is used, so each program has to provide its own
>  ;; fallback, and users have to configure each program
>  ;; independently.  This seems suboptimal.
>  "--with-default-trust-store-dir=/etc/ssl/certs"
>
> Original discussion:
>
>   https://lists.gnu.org/archive/html/guix-devel/2014-02/msg00245.html

I've read some of the threads connected to this one after I
learned about the subject. It usually helps when the subject is
added so I can search locally.
What happened to the p11-kit Andreas mentioned back in 2014 or
2015?

> Ludo’.
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH] Creating a docker image with Guix

2017-01-04 Thread Ludovic Courtès
Howdy!

Ricardo Wurmus  skribis:

> Ludovic Courtès  writes:
>
>> I’m not familiar enough with Docker but I’m under the impression that we
>> should be able to generate an image without even using Docker.  :-)
>
> The attached patch adds a Docker export feature, so you can do this:
>
> docker load < \
>   $(guix archive --export-docker-image=$(readlink -f ~/.guix-profile))

Woow, that was fast!

> Then you can use “docker images” to show the available images.  For some
> reason Docker won’t show the name and tag “guix archive” generates, so
> just take the most recently added image.  Then run it, e.g. like this:
>
> docker run --rm -ti d1472905 /bin/emacs
>
> This starts the container and runs “/bin/emacs” interactively.  During
> export “guix archive” also links the item’s “./bin” directory to “/bin”,
> so users can run commands without having to know the long store path.

Awesome!

> I used it successfully to build an Emacs Docker image like this:
>
> guix environment --ad-hoc coreutils bash emacs-no-x-toolkit
> docker load < $(guix archive --export-docker-image=$GUIX_ENVIRONMENT)

Be sure to let emacs-devel know.  ;-)

> From d600db91078f28d82324671e3d43acaddc9b9608 Mon Sep 17 00:00:00 2001
> From: Ricardo Wurmus 
> Date: Tue, 3 Jan 2017 16:20:15 +0100
> Subject: [PATCH] guix: Add Docker image export.
>
> * guix/docker.scm: New file.
> * Makefile.am (MODULES): Register it.
> * guix/scripts/archive.scm (show-help, %options, guix-archive): Add
> support for "--export-docker-image".
> * doc/guix.texi (Invoking guix archive): Document it.

Looks great!

> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -2438,6 +2438,12 @@ Read a list of store file names from the standard 
> input, one per line,
>  and write on the standard output the subset of these files missing from
>  the store.
>  
> +@item --export-docker-image=@var{directory}
> +@cindex docker, export
> +Recursively export the specified store directory as a Docker image in
> +tar archive format.  The generated archive can be loaded by Docker using
> +@command{docker load}.

Maybe “as a Docker image in tar archive format, as specified in
@uref{http://…, version 1.0 of the Foo Bar Spec}.”

I would be in favor of --format=FMT, where FMT can be one of “nar” or
“docker”.  Maybe there’ll be others in the future.  WDYT?

The paragraph that says “Archives are stored in the “normalized archive”
or “nar” format,“ should be updated.

Also, it seems that ‘-f docker’ would always imply ’-r’, right?  That’s
reasonable but would be worth mentioning.

> +(define (hexencode bv)
> +  "Return the hexadecimal representation of the bytevector BV."
> +  (format #f "~{~2,'0x~}" (bytevector->u8-list bv)))

Maybe use ‘bytevector->base16-string’ from (guix utils) instead.

> +(define spec-version "1.0")

Please add the URL to said spec as a comment.

> +;; TODO: heroically copied from guix/script/pull.scm
> +(define (temporary-directory)

Alternatively, there’s ‘call-with-temporary-directory’ in (guix utils).
:-)

> +  (and (zero? (apply system* "tar" "-cf" "layer.tar"
> + (cons "../bin" items)))
> +   (delete-file "../bin"

This reminds me we should steal this code of Mark’s sometime:

  https://github.com/spk121/guile100/blob/master/code/tar2.scm

Thank you!

Ludo’.



[PATCH] gnu: Add Prosody service.

2017-01-04 Thread Clément Lassieur
* gnu/services/messaging.scm: New file.
* gnu/services/configuration.scm: New exported procedures.
* gnu/packages/messaging.scm (prosody)[arguments]: Add 'fix-makefile'
  phase.
  In 'wrap-programs' phase, add 'openssl' and 'coreutils' to 'PATH'.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add gnu/services/messaging.scm.
* doc/guix.texi (Messaging Services): New section.
---
 doc/guix.texi  | 393 +-
 gnu/local.mk   |   1 +
 gnu/packages/messaging.scm |  48 ++-
 gnu/services/configuration.scm |   3 +
 gnu/services/messaging.scm | 728 +
 5 files changed, 1157 insertions(+), 16 deletions(-)
 create mode 100644 gnu/services/messaging.scm

diff --git a/doc/guix.texi b/doc/guix.texi
index adc7fefca..1a092d169 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -29,7 +29,8 @@ Copyright @copyright{} 2016 John Darrington@*
 Copyright @copyright{} 2016 ng0@*
 Copyright @copyright{} 2016 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016 Julien Lepiller@*
-Copyright @copyright{} 2016 Alex ter Weele
+Copyright @copyright{} 2016 Alex ter Weele@*
+Copyright @copyright{} 2017 Clément Lassieur
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -204,6 +205,7 @@ Services
 * Desktop Services::D-Bus and desktop services.
 * Database Services::   SQL databases.
 * Mail Services::   IMAP, POP3, SMTP, and all that.
+* Messaging Services::  Messaging services.
 * Kerberos Services::   Kerberos services.
 * Web Services::Web servers.
 * Network File System:: NFS related services.
@@ -8094,6 +8096,7 @@ declaration.
 * Desktop Services::D-Bus and desktop services.
 * Database Services::   SQL databases.
 * Mail Services::   IMAP, POP3, SMTP, and all that.
+* Messaging Services::  Messaging services.
 * Kerberos Services::   Kerberos services.
 * Web Services::Web servers.
 * Network File System:: NFS related services.
@@ -11708,6 +11711,394 @@ remote servers.  Run @command{man smtpd.conf} for 
more information.
 @end table
 @end deftp
 
+@node Messaging Services
+@subsubsection Messaging Services
+
+@cindex messaging
+@cindex jabber
+@cindex XMPP
+The @code{(gnu services messaging)} module provides Guix service
+definitions for messaging services: currently only Prosody is supported.
+
+@subsubheading Prosody Service
+
+@deffn {Scheme Variable} prosody-service-type
+This is the type for the @uref{http://prosody.im, Prosody XMPP
+communication server}.  Its value must be a @code{prosody-configuration}
+record as in this example:
+
+@example
+(service prosody-service-type
+ (prosody-configuration
+  (modules-enabled (cons "groups" %default-modules-enabled))
+  (int-components
+   (list
+(int-component-configuration
+ (hostname "conference.example.net")
+ (plugin "muc")
+ (mod-muc (mod-muc-configuration)
+  (virtualhosts
+   (list
+(virtualhost-configuration
+ (domain "example.net"))
+@end example
+
+See below for details about @code{prosody-configuration}.
+
+@end deffn
+
+By default, Prosody does not need much configuration.  Only one
+@code{virtualhosts} field is needed: it specifies the domain you wish
+Prosody to serve.
+
+Prosodyctl will help you generate X.509 certificates and keys:
+
+@example
+prosodyctl cert request example.net
+@end example
+
+The available configuration parameters follow.  Each parameter
+definition is preceded by its type; for example, @samp{string-list foo}
+indicates that the @code{foo} parameter should be specified as a list of
+strings.  Types starting with @code{maybe-} denote parameters that won't
+show up in @code{prosody.cfg.lua} when their value is @code{'disabled}.
+
+There is also a way to specify the configuration as a string, if you
+have an old @code{prosody.cfg.lua} file that you want to port over from
+some other system; see the end for more details.
+
+@c The following documentation was initially generated by
+@c (generate-documentation) in (gnu services messaging).  Manually maintained
+@c documentation is better, so we shouldn't hesitate to edit below as
+@c needed.  However if the change you want to make to this documentation
+@c can be done in an automated way, it's probably easier to change
+@c (generate-documentation) than to make it below and have to deal with
+@c the churn as Prosody updates.
+
+Available @code{prosody-configuration} fields are:
+
+@deftypevr {@code{prosody-configuration} parameter} package prosody
+The Prosody package.
+@end deftypevr
+
+@deftypevr {@code{prosody-configuration} parameter} file-name data-path
+Location of the Prosody data storage directory.  See
+@url{http://prosody.im/doc/configure}.
+Defaults to 

Re: [PATCH 10/96] gnu: Add ocamlmod.

2017-01-04 Thread Leo Famulari
On Wed, Jan 04, 2017 at 10:02:29PM +0100, Ludovic Courtès wrote:
> Hello!
> 
> David Craven  skribis:
> 
> > If you take a little more care with the commit message conventions and
> > coding style, we might be able to convince Ludo to give you commit
> > access, since you are clearly our local ocaml expert :)
> 
> Sounds like a good idea to me!
> 
> Julien: could you create a Savannah account and upload the OpenPGP key
> that you’re going to use to sign commits?
> 
> Like Dave suggest, you’re welcome to take another look at the commit log
> conventions and all that, I think you’re almost there.  ;-)
> 
>   https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html

And make sure to read 'HACKING'! :)



[PATCH 1/1] gnu: python-matplotlib: Fix documentation reST markup error.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-matplotlib): Fix documentation reST markup 
error.
---
 gnu/packages/python.scm | 5 +
 1 file changed, 5 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 4e1a6b4a8..bc9058ba3 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3629,6 +3629,11 @@ transcendental functions).")
(sha256
 (base32
  "1dn05cvd0g984lzhh72wa0z93psgwshbbg93fkab6slx5m3l95av"))
+   (modules '((guix build utils)))
+   (snippet
+'(substitute* "doc/users/intro.rst"
+   ;; Fix reST markup error (see 
)
+   (("[[][*][]]") "[#]")))
(patches (search-patches "matplotlib-setupext-tk.patch"
 (build-system python-build-system)
 (outputs '("out" "doc"))



[PATCH 0/1] Fix reST markup error in matplotlib documentation,

2017-01-04 Thread Danny Milosavljevic
There's a syntax error in the matplotlib documentation. Fix it.
This is required that Sphinx 1.4.8 works but it will also work with
older Sphinx.

Danny Milosavljevic (1):
  gnu: python-matplotlib: Fix documentation reST markup error.

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




Re: [PATCH v4 0/1] Update Sphinx to 1.4.8.

2017-01-04 Thread Danny Milosavljevic
On Wed, 4 Jan 2017 16:10:30 -0500
Leo Famulari  wrote:

> On Wed, Jan 04, 2017 at 09:54:42PM +0100, Danny Milosavljevic wrote:
> > This patch updates Sphinx to 1.4.8.
> > Be careful with it since lots of packages depend on it.
> > It also requires the earlier Sphinx-preparation patchset I set.
> > It also requires a separate patch to matplotlib I'll send later.  
> 
> Okay, if the depend on each other, please submit them as a single patch
> series.

Hmm, I separated them so one can merge the preparations into python-updates and 
master and python-sphinx into python-updates (and not master) - otherwise next 
time around I'll have to do the preparations all over again.



Re: [PATCH v4 0/1] Update Sphinx to 1.4.8.

2017-01-04 Thread Leo Famulari
On Wed, Jan 04, 2017 at 09:54:42PM +0100, Danny Milosavljevic wrote:
> This patch updates Sphinx to 1.4.8.
> Be careful with it since lots of packages depend on it.
> It also requires the earlier Sphinx-preparation patchset I set.
> It also requires a separate patch to matplotlib I'll send later.

Okay, if the depend on each other, please submit them as a single patch
series.

I know this update has been pending for a long time...



Re: Bad signature on commit 6a34f4ccc8a5d (gnu: python-prompt-toolkit: Update to 1.0.9.)

2017-01-04 Thread Ludovic Courtès
Leo Famulari  skribis:

> On Tue, Jan 03, 2017 at 01:34:31PM +0100, Ludovic Courtès wrote:
>> Leo Famulari  skribis:

[...]

>> > I'm not sure where to store the hook.
>> 
>> I’d say in a new etc/guix directory?

Argh, I meant “etc/git”, sorry.

> From 837f7c717b201998810a46b8dadf8ba2165dde69 Mon Sep 17 00:00:00 2001
> From: Leo Famulari 
> Date: Tue, 3 Jan 2017 01:19:25 -0500
> Subject: [PATCH] doc: Add a Git hook that verifies signatures before pushing.
>
> * HACKING (Commit Access): Describe the pre-push Git hook.
> * etc/guix/pre-push: New file.

OK with “etc/git”, thank you!

Ludo’.



Re: [PATCH 10/96] gnu: Add ocamlmod.

2017-01-04 Thread Ludovic Courtès
Hello!

David Craven  skribis:

> If you take a little more care with the commit message conventions and
> coding style, we might be able to convince Ludo to give you commit
> access, since you are clearly our local ocaml expert :)

Sounds like a good idea to me!

Julien: could you create a Savannah account and upload the OpenPGP key
that you’re going to use to sign commits?

Like Dave suggest, you’re welcome to take another look at the commit log
conventions and all that, I think you’re almost there.  ;-)

  https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html

Thanks,
Ludo’.



Re: [PATCH 00/96] ocaml-build-system and packages

2017-01-04 Thread Ludovic Courtès
Hello!

Julien Lepiller  skribis:

> Hi, it's a bit late for christmas, so let's call this ocamlismas ;).
>
> Here are ~100 patches that:
>
> - Add an ocaml-build-system
> - Change the ocaml compiler, camlp4 and findlib to work nicely with it
> - A lot of packages (all dependencies of bap, and bap itself).

Woow, congrats!

> I took one patch from debian to help the compiler produce reproducible 
> binaries.
> Without this patch some modules would embed temporary file names. A few 
> packages
> also had reproducibility issues, but that is fixed, except for one of them.

Great that you checked that too!

Unless someone explicitly asks for help, I’ll let David Craven handle it
since he’s more in OCaml than I am AFAICT.

Do you have an OPAM importer for this?  We should probably consider
adding one and an updater as well.  :-)

Thank you!

Ludo’.



[PATCH v4 1/1] gnu: python-sphinx: Update to 1.4.8.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-sphinx)[version]: Update to 1.4.8.
---
 gnu/packages/python.scm | 31 ++-
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d80296339..4e1a6b4a8 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2907,30 +2907,43 @@ reStructuredText.")
 (define-public python-sphinx
   (package
 (name "python-sphinx")
-(version "1.2.3")
+(version "1.4.8")
 (source
  (origin
(method url-fetch)
-   (uri (string-append
- "https://pypi.python.org/packages/source/S/Sphinx/Sphinx-;
- version ".tar.gz"))
+   (uri (pypi-uri "Sphinx" version))
(sha256
 (base32
- "011xizm3jnmf4cvs5i6kgf6c5nn046h79i8j0vd0f27yw9j3p4wl"
+ "0zvh8wwhm6gy21rr0cg42znsy4zzv2mnsxxk9gmn5y1ycn7rgbs1"
 (build-system python-build-system)
 (propagated-inputs
- `(("python-jinja2" ,python-jinja2)
+ `(("python-imagesize" ,python-imagesize)
+   ("python-sphinx-alabaster-theme"
+,python-sphinx-alabaster-theme)
+   ("python-babel" ,python-babel)
+   ("python-snowballstemmer" ,python-snowballstemmer)
("python-docutils" ,python-docutils)
-   ("python-pygments" ,python-pygments)))
+   ("python-jinja2" ,python-jinja2)
+   ("python-pygments" ,python-pygments)
+   ("python-six" ,python-six)))
+(native-inputs
+ `(("python-simplejson" ,python-simplejson)))
 (home-page "http://sphinx-doc.org/;)
 (synopsis "Python documentation generator")
 (description "Sphinx is a tool that makes it easy to create documentation
 for Python projects or other documents consisting of multiple reStructuredText
 sources.")
-(license license:bsd-3)))
+(license license:bsd-3)
+(properties `((python2-variant . ,(delay python2-sphinx))
 
 (define-public python2-sphinx
-  (package-with-python2 python-sphinx))
+  (let ((base (package-with-python2 (strip-python2-variant python-sphinx
+(package
+  (inherit base)
+  (native-inputs `(("python2-mock" ,python2-mock)
+   ,@(package-native-inputs base)))
+  (propagated-inputs `(("python2-pytz" ,python2-pytz)
+   ,@(package-propagated-inputs base))
 
 (define-public python-sphinx-rtd-theme
   (package



[PATCH v4 0/1] Update Sphinx to 1.4.8.

2017-01-04 Thread Danny Milosavljevic
This patch updates Sphinx to 1.4.8.
Be careful with it since lots of packages depend on it.
It also requires the earlier Sphinx-preparation patchset I set.
It also requires a separate patch to matplotlib I'll send later.

Danny Milosavljevic (1):
  gnu: python-sphinx: Update to 1.4.8.

 gnu/packages/python.scm | 31 ++-
 1 file changed, 22 insertions(+), 9 deletions(-)




Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread Ludovic Courtès
Hi!

Thanks for all the work!

I second Ricardo’s comment about systematically running ‘guix lint’
before submitting, especially for a patch series that is this large.

If you think the review might take several round trips, it might be more
convenient to publish it as a branch somewhere, to avoid resending 86
messages.

I understand the concerns of David Craven regarding
‘cargo-build-system’, though OTOH I’m tempted to think
‘cargo-build-system’ is probably not so bad if it managed to build all
this.  ;-)  But anyway, I’ll David and you figure out what the best
approach is!

Ludo’.



Re: [WIP v3 0/5] Update Sphinx to 1.4.8

2017-01-04 Thread Danny Milosavljevic
Hi Ludo,

> What’s the status of this Sphinx patch series of yours?
> 
>   https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00642.html

Ah, thanks for reminding me! Yeah, it should be easy to get it up and running 
now.

I'll post some patches to add packages required only by the newer Sphinx.

Later on I'll update Sphinx. I now know how to fix matplotlib 1.4.3 - it also 
requires a patch to replace two characters in the docs.



[PATCH v4 3/3] gnu: Add python-sphinx-alabaster-theme.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-sphinx-alabaster-theme,
  python2-sphinx-alabaster-theme): New variables.
---
 gnu/packages/python.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e93e827de..d80296339 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11743,6 +11743,32 @@ related extensions.")
 (define-public python2-sphinx-cloud-sptheme
   (package-with-python2 (strip-python2-variant python-sphinx-cloud-sptheme)))
 
+(define-public python-sphinx-alabaster-theme
+  (package
+(name "python-sphinx-alabaster-theme")
+(version "0.7.9")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "alabaster" version))
+(sha256
+  (base32
+"027anxzcb951gjlcc43y3rbn9qrw36d16vj9wd2smv5410xx9bs7"
+(build-system python-build-system)
+(propagated-inputs
+ `(("python-pygments" ,python-pygments)))
+(home-page "https://alabaster.readthedocs.io/;)
+(synopsis "Configurable sidebar-enabled Sphinx theme")
+(description "Alabaster is a visually (c)lean, responsive, configurable
+theme for the Sphinx documentation system.  It's the default theme of Sphinx.")
+(license license:bsd-3)
+(properties `((python2-variant .
+   ,(delay python2-sphinx-alabaster-theme))
+
+(define-public python2-sphinx-alabaster-theme
+  (package-with-python2 (strip-python2-variant
+ python-sphinx-alabaster-theme)))
+
 (define-public python-betamax
   (package
 (name "python-betamax")



[PATCH v4 1/3] gnu: Add python-snowballstemmer.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-snowballstemmer,
  python2-snowballstemmer): New variables.
---
 gnu/packages/python.scm | 25 +
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 04cd3fa90..6589c59e3 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11695,6 +11695,31 @@ provide extendible implementations of common aspects 
of a cloud so that you can
 focus on building massively scalable web applications.")
 (license license:expat)))
 
+(define-public python-snowballstemmer
+  (package
+(name "python-snowballstemmer")
+(version "1.2.1")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "snowballstemmer" version))
+  (sha256
+(base32
+  "0a0idq4y5frv7qsg2x62jd7rd272749xk4x99misf5rcifk2d7wi"
+(build-system python-build-system)
+(arguments
+ `(;; No tests exist
+   #:tests? #f))
+(home-page "https://github.com/shibukawa/snowball_py;)
+(synopsis "16 stemmer algorithms (15 + Poerter English stemmer)")
+(description "This package provides 16 word stemmer algorithms generated
+from Snowball algorithms.  It includes the 15 original ones plus the Poerter
+English stemmer.")
+(license license:bsd-3)
+(properties `((python2-variant . ,(delay python2-snowballstemmer))
+
+(define-public python2-snowballstemmer
+  (package-with-python2 (strip-python2-variant python-snowballstemmer)))
+
 (define-public python-betamax
   (package
 (name "python-betamax")



[PATCH v4 2/3] gnu: Add python-sphinx-cloud-sptheme.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-sphinx-cloud-sptheme,
  python2-sphinx-cloud-sptheme): New variables.
---
 gnu/packages/python.scm | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6589c59e3..e93e827de 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -11720,6 +11720,29 @@ English stemmer.")
 (define-public python2-snowballstemmer
   (package-with-python2 (strip-python2-variant python-snowballstemmer)))
 
+(define-public python-sphinx-cloud-sptheme
+  (package
+(name "python-sphinx-cloud-sptheme")
+(version "1.7.1")
+(source (origin
+  (method url-fetch)
+  (uri (pypi-uri "cloud_sptheme" version))
+  (sha256
+(base32
+  "0zm9ap4p5dzln8f1m2immadaxv2xpg8jg4w53y52rhfl7pdb58vy"
+  (build-system python-build-system)
+  (native-inputs
+`(("python-sphinx" ,python-sphinx)))
+  (home-page "https://bitbucket.org/ecollins/cloud_sptheme;)
+  (synopsis "'Cloud' theme for Sphinx documenter")
+  (description "This package contains the 'Cloud' theme for Sphinx and some
+related extensions.")
+  (license license:bsd-3)
+  (properties `((python2-variant . ,(delay python2-sphinx-cloud-sptheme))
+
+(define-public python2-sphinx-cloud-sptheme
+  (package-with-python2 (strip-python2-variant python-sphinx-cloud-sptheme)))
+
 (define-public python-betamax
   (package
 (name "python-betamax")



[PATCH v4 0/3] Prepare for Sphinx update

2017-01-04 Thread Danny Milosavljevic
This adds new packages that will be required for an eventual Sphinx update.

Danny Milosavljevic (3):
  gnu: Add python-snowballstemmer.
  gnu: Add python-sphinx-cloud-sptheme.
  gnu: Add python-sphinx-alabaster-theme.

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




GnuTLS and the “trust store”

2017-01-04 Thread Ludovic Courtès
Hello!

Marius Bakke  skribis:

> Marius Bakke  writes:
>
>> ng0  writes:
>>
>>> * gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" configure 
>>> flag.

[...]

> I realized shortly after posting why this wasn't done already. Curl has
> 1403 dependent packages, which would apply for "nss-certs" as well if
> that is added as input. Obviously we want to be able to update TLS
> certificates quickly without rebuilding ~1/4 of the tree.

Indeed.  It’s a situation where we do not want to have a static binding
between cURL and nss-certs; instead, they should be composed
dynamically, along the lines of what we already recommend at:

  https://www.gnu.org/software/guix/manual/html_node/X_002e509-Certificates.html

cURL depends on GnuTLS, and GnuTLS doesn’t honor an environment variable
like ‘SSL_CERT_DIR’.  Its recipe has this comment:

 ;; GnuTLS doesn't consult any environment variables to specify
 ;; the location of the system-wide trust store.  Instead it has a
 ;; configure-time option.  Unless specified, its configure script
 ;; attempts to auto-detect the location by looking for common
 ;; places in the file system, none of which are present in our
 ;; chroot build environment.  If not found, then no default trust
 ;; store is used, so each program has to provide its own
 ;; fallback, and users have to configure each program
 ;; independently.  This seems suboptimal.
 "--with-default-trust-store-dir=/etc/ssl/certs"

Original discussion:

  https://lists.gnu.org/archive/html/guix-devel/2014-02/msg00245.html

Ludo’.



Re: bug#25356: livestreamer no longer supported

2017-01-04 Thread Leo Famulari
On Wed, Jan 04, 2017 at 06:50:14PM +, ng0 wrote:
> Do I read this correctly that they include some kind of
> anti-military license in there? I mean I am very much welcoming
> such an exclusion but with all the past discussions I had it lead
> to the point where it is not compatible with free software.
> 
> Do we have to strip OCB from the source?
> https://github.com/Legrandin/pycryptodome/blob/master/LICENSE.rst
> 
> Pycryptodome is a dependency of streamlink.

The question is about the OCB block cipher mode. I think we are able to
distribute implementations of it:

http://web.cs.ucdavis.edu/~rogaway/ocb/ocb-faq.htm#patent:phil
http://web.cs.ucdavis.edu/~rogaway/ocb/ocb-faq.htm#license
http://web.cs.ucdavis.edu/~rogaway/ocb/license.htm



Re: [PATCH] gnu: sed: Update to 4.3.

2017-01-04 Thread Leo Famulari
On Wed, Jan 04, 2017 at 03:16:38PM -0500, Leo Famulari wrote:
> On Wed, Jan 04, 2017 at 05:01:34PM +0100, Marius Bakke wrote:
> > * gnu/packages/base.scm (sed): Update to 4.3.
> > [source]: Use xz tarball. Remove upstreamed patch.
> > [home-page]: Use https.
> > [native-inputs]: Add perl.
> > * gnu/packages/patches/sed-hurd-path-max.patch: Delete file.
> > * gnu/local.mk (dist_patch_DATA): Remove it.
> 
> Thanks!
> 
> We should make sure that the built package doesn't retain a reference to
> Perl.

I tested it; no Perl reference :)


signature.asc
Description: PGP signature


WIP v3: build-system: cargo: Make lots and lots of rust packages work

2017-01-04 Thread Danny Milosavljevic
Now also uses "src" output. See attachment.

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Craven 
;;;
;;; 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 (guix build cargo-build-system)
  #:use-module ((guix build gnu-build-system) #:prefix gnu:)
  #:use-module (guix build utils)
  #:use-module (ice-9 popen)
  #:use-module (ice-9 rdelim)
  #:use-module (ice-9 ftw)
  #:use-module (ice-9 format)
  #:use-module (ice-9 match)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:export (%standard-phases
cargo-build))

;; Commentary:
;;
;; Builder-side code of the standard Rust package build procedure.
;;
;; Code:

;; FIXME: Needs to be parsed from url not package name.
(define (package-name->crate-name name)
  "Return the crate name of NAME."
  (match (string-split name #\-)
(("rust" rest ...)
 (string-join rest "-"))
(_ #f)))

(define* (configure #:key inputs #:allow-other-keys)
  "Replace Cargo.toml [dependencies] section with guix inputs."
  (system* "chmod" "+w" "Cargo.toml")
  (system* "chmod" "+w" ".")
  (if (not (file-exists? "vendor"))
(if (or (not (file-exists? "Cargo.lock")) (file-exists? "libc-test"))
  (begin
  (substitute* "Cargo.toml"
  ((".*32-sys.*") "
")
  ((".*winapi.*") "
")
  ((".*core-foundation.*") "
"))
  (mkdir "vendor")
  (for-each
(match-lambda
  ((name . path)
   (let ((crate (package-name->crate-name name)))
 (when (and crate path)
   (match (string-split (basename path) #\-)
 ((_ ... version)
  (symlink (string-append path "/share/rust-source") (string-append "vendor/" (basename path)
inputs)
  (mkdir-p ".cargo")
  (let ((port (open-file ".cargo/config" "w" #:encoding "utf-8")))
(display "
[source.crates-io]
registry = 'https://github.com/rust-lang/crates.io-index'
replace-with = 'vendored-sources'

[source.vendored-sources]
directory = '" port)
(display (getcwd) port)
(display "/vendor" port)
(display "'
" port)
(close-port port)
(setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc"))

;(setenv "CARGO_HOME" "/gnu/store")
; (setenv "CMAKE_C_COMPILER" cc)
  #t)

(define* (build #:key (cargo-build-flags '("--release")) #:allow-other-keys)
  "Build a given Cargo package."
  ;if (file-exists? "Cargo.lock")
  (zero? (apply system* `("cargo" "build" ,@cargo-build-flags
  ;  #t

(define* (check #:key tests? #:allow-other-keys)
  "Run tests for a given Cargo package."
  (when tests?
(zero? (system* "cargo" "test"

(define (file-sha256 file-name)
(let ((port (open-pipe* OPEN_READ
"sha256sum"
"--"
file-name)))
  (let ((result (read-delimited " " port)))
(close-pipe port)
result)))

;; Example /gnu/store/hwlr49riz3la33m6in2n898ly045ylld-rust-rand-0.3.15: ; generally not a lot of store items.
(define (generate-checksums dir-name src-name)
  (let* ((file-names (find-files dir-name "."))
 (dir-prefix-name (string-append dir-name "/"))
 (dir-prefix-name-len (string-length dir-prefix-name))
 (checksums-file-name (string-append dir-name "/.cargo-checksum.json")))
(call-with-output-file checksums-file-name
  (lambda (port)
(display "{\"files\":{" port)
(let ((sep ""))
  (for-each (lambda (file-name)
(let ((file-relative-name (string-drop file-name dir-prefix-name-len)))
  (display sep port)
  (set! sep ",")
  (write file-relative-name port)
  (display ":" port)
  (write (file-sha256 file-name) port))) file-names))
(display "},\"package\":" port)
(write (file-sha256 src-name) port)
(display "}" port)

(define* (install #:key inputs outputs #:allow-other-keys)
  "Install a given Cargo package."
  (let* ((out (assoc-ref outputs "out"))
 (src (assoc-ref inputs "source"))
 (rsrc (string-append (assoc-ref outputs "src")
  "/share/rust-source")))
(mkdir-p rsrc)
;; Rust doesn't have a stable ABI yet. Because of this
;; Cargo 

Re: [PATCH] gnu: sed: Update to 4.3.

2017-01-04 Thread Leo Famulari
On Wed, Jan 04, 2017 at 05:01:34PM +0100, Marius Bakke wrote:
> * gnu/packages/base.scm (sed): Update to 4.3.
> [source]: Use xz tarball. Remove upstreamed patch.
> [home-page]: Use https.
> [native-inputs]: Add perl.
> * gnu/packages/patches/sed-hurd-path-max.patch: Delete file.
> * gnu/local.mk (dist_patch_DATA): Remove it.

Thanks!

We should make sure that the built package doesn't retain a reference to
Perl.

It's interesting that `guix refresh -l sed` doesn't show the full impact
of this change:

$ guix refresh -l sed
Building the following 4 packages would ensure 4 dependent packages are 
rebuilt: password-store-1.6.5 hydra-20151030.1ff48da bamm-1.7.3 roary-3.7.0

Also, this part of the package definition is incorrect:

(substitute* '("testsuite/bsd.sh"
   "testsuite/bug-regex9.c")
  (("/bin/sh")
   (string-append bash "/bin/bash")))
#t)))

Bash and sh behave differently; the replacement string should refer to
'/bin/sh'.

Feel free to correct this in your patch, or I will do it in a later
commit. Let me know what you decide.


signature.asc
Description: PGP signature


Re: [PATCH] gnu: libreoffice: Update to 5.1.6.2.

2017-01-04 Thread Leo Famulari
On Tue, Jan 03, 2017 at 08:52:00PM -0600, Alex Griffin wrote:
> This patch updates libreoffice to 5.1.6.2, the latest release from their
> "still" branch (long-term support, stable). Although I think it will be
> EOL soon, so updating to 5.2.4.2 would be better... if someone else were
> up to it. The only reason I didn't try moving straight to that version
> is because my laptop takes ~8 hours to build libreoffice.
> -- 
> Alex Griffin

> From 5d9cc76bac292e215eeaf8188aaeb76dfebed601 Mon Sep 17 00:00:00 2001
> From: Alex Griffin 
> Date: Tue, 3 Jan 2017 09:58:41 -0600
> Subject: [PATCH 1/2] gnu: libreoffice: Update to 5.1.6.2.
> 
> * gnu/packages/libreoffice.scm (libreoffice): Update to 5.1.6.2.

Pushed, thank you!



[PATCH] gnu: Add corrode.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/rust.scm (corrode): New variable.
---
 gnu/packages/rust.scm | 28 
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 97d0d7cb0..fa2806201 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -26,6 +26,7 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages haskell)
   #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages pkg-config)
@@ -35,8 +36,10 @@
   #:use-module (gnu packages version-control)
   #:use-module (guix build-system cargo)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system haskell)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (ice-9 match)
@@ -320,3 +323,28 @@ dependencies and ensures a reproducible build.")
 ;; Cargo is dual licensed Apache and MIT. Also contains
 ;; code from openssl which is GPL2 with linking exception.
 (license (list license:asl2.0 license:expat license:gpl2
+
+(define-public corrode
+  (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
+(package
+  (name "corrode")
+  (version (string-append "0.0.1-" (string-take commit 7)))
+  (source
+(origin
+  (method git-fetch)
+  (uri (git-reference
+ (url "https://github.com/jameysharp/corrode.git;)
+ (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
+  (file-name
+(string-append name "-" version "-checkout"))
+  (sha256
+(base32 "02v0yyj6sk4gpgwzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"
+  (build-system haskell-build-system)
+  (inputs
+`(("ghc-language-c" ,ghc-language-c)
+  ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
+  (home-page "https://github.com/jameysharp/corrode;)
+  (synopsis "C to Rust translator")
+  (description "This package automatically translates C source code
+to Rust source code.")
+  (license license:gpl2



Re: Graphical Installer - Call for Testing.

2017-01-04 Thread John Darrington
On Wed, Jan 04, 2017 at 07:54:36AM -0800, dian_ce...@zoho.com wrote:

 I just wanted to say I hope this isn't going to be the only install option 
in
 the future. 

That is not for me to say, but FWIW I agree.

 While I haven't tested this patch, I do want to say that I'd rather
 this be an optional/alternative install method while leaving people a 
choice of
 using the old, tried-and-true shell. 

Perhaps after you test it, you will be so impressed by it that you will resolve
never to use any other way of installing ever again?   Even if that is not the
case, I'd still be interested to hear your opinions after you have tried it.

 I'd also like to state that I hope this installer will make sure the user 
has
 plenty of options available at each stage of the process and won't make the
 aforementioned mistake of assuming the end user's needs (unless there is 
some
 technical reason that the distro simply can not do something, in which 
case I'd
 hope the techinal limitation will be fixed instead of setting it in stone 
by
 removing it entirely from the GUI installer).

As with all systems, one has to strike a balance between flexibility and ease of
use.   I too hope that the right balance has been acheived, but I am sure that
improvements can be made.  That is why I put out this call for testing.   Once
I have collected enough feedback from people who have tried it, I will decide 
what changes need to be made.

And needless to say, others are welcome to send patches and/or commit to the
branch as appropriate.

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: bug#25356: livestreamer no longer supported

2017-01-04 Thread ng0
dian_ce...@zoho.com writes:

> I just wanted to point out that livestreamer seems to be entirely dead and the
> project has been forked. As of this bugreport, the last change was Febuary 
> 2nd,
> 2016, and while this isn't exactly a long time, considering it no longer works
> properly with Twitch.tv (one of, if not the, largest streaming site atm 
> afaik),
> gives the impression that it is a dead project.
>
> The fork is named streamlink and is located at https://streamlink.github.io/ 
> and
> seems to work well.
>
> I'm not sure who is maintaining the livestreamer package, so I'm simply filing
> this as a bug here and hope everything is forwarded nicely.

Thanks!

Do I read this correctly that they include some kind of
anti-military license in there? I mean I am very much welcoming
such an exclusion but with all the past discussions I had it lead
to the point where it is not compatible with free software.

Do we have to strip OCB from the source?
https://github.com/Legrandin/pycryptodome/blob/master/LICENSE.rst

Pycryptodome is a dependency of streamlink.

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



[PATCH] gnu: whois: Move mkpasswd to its own output.

2017-01-04 Thread ng0
* gnu/packages/networking.scm (whois): Move mkpasswd to output "mkpasswd".
[outputs]: Add "mkpasswd".
[arguments]: Add new phase "move-mkpasswd".
Remove TODO comment about unbundling.
---
 gnu/packages/networking.scm | 19 ---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 3c7c07349..03165e62d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -8,7 +8,7 @@
 ;;; Copyright © 2016 John Darrington 
 ;;; Copyright © 2016 Nicolas Goaziou 
 ;;; Copyright © 2016 Eric Bavier 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016 Arun Isaac 
 ;;; Copyright © 2016 Benz Schenk 
 ;;;
@@ -440,7 +440,6 @@ and up to 1 Mbit/s downstream.")
 (base32
  "0r3bbxpwsxssa99d8dcjnp79mw1cjwqxgmqjm1537q277jwsk0yc"
 (build-system gnu-build-system)
-;; TODO: unbundle mkpasswd binary + its po files.
 (arguments
  `(#:tests? #f ; Does not exist
#:make-flags (list "CC=gcc"
@@ -452,7 +451,21 @@ and up to 1 Mbit/s downstream.")
(lambda _
  (setenv "HAVE_ICONV" "1")
  (setenv "HAVE_LIBIDN" "1")
- #t)
+ #t))
+ (add-after 'install 'move-mkpasswd
+(lambda* (#:key outputs #:allow-other-keys)
+  ;; Move mkpasswd related files to "mkpasswd".
+  (let ((out (assoc-ref outputs "out"))
+(mp (assoc-ref outputs "mkpasswd")))
+(mkdir-p (string-append mp "/share/man/man1"))
+(mkdir-p (string-append mp "/bin"))
+  (rename-file (string-append out "/share/man/man1/mkpasswd.1")
+   (string-append mp "/share/man/man1/mkpasswd.1"))
+  (rename-file (string-append out "/bin/mkpasswd")
+   (string-append mp "/bin/mkpasswd"))
+  #t))
+(outputs '("out"
+   "mkpasswd")) ; 28KiB binary, 16KiB man1
 (inputs
  `(("libidn" ,libidn)))
 (native-inputs
-- 
2.11.0




"unbundle" mkpasswd from whois.

2017-01-04 Thread ng0
This is one solution to the whois+mkpasswd bundle.
Another solution could be to move this patch content to a package "mkpasswd" 
which inherits from whois.

What do you think?




Re: PATCH as first attempt to fix the sad curl situation

2017-01-04 Thread Ricardo Wurmus

ng0  writes:

> ng0  writes:
>
>> [PATCH] gnu: curl: Add ca-bundle to config.
>>
>> I had to disable test 324, but the rest passed. I hope this fixes the cURL 
>> problem, though I haven't tested reconfiguring a system with it as it would 
>> require rebasing some of my older, still waiting final aproval, patches.
>>
>>
>
> ng0@wasp /gnu/store/09ncbabac6vniawypgwqxshx6dyjmph1-curl-7.50.3/bin$ 
> ./curl-config --configure
>  
> 'CONFIG_SHELL=/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/bash'
>  'SHELL=/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/bash' 
> '--prefix=/gnu/store/09ncbabac6vniawypgwqxshx6dyjmph1-curl-7.50.3' 
> '--enable-fast-install' 
> '--docdir=/gnu/store/fq85pwcn5kvy1f5a82n259pj9wv00ix7-curl-7.50.3-doc/share/doc/curl'
>  '--build=x86_64-unknown-linux-gnu' '--with-gnutls' '--with-gssapi' 
> '--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt' 
> 'build_alias=x86_64-unknown-linux-gnu'

What does this mean?

(Please consider the amount of emails we have to go through before
sending mail to the list.)

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net




Re: [PATCH 10/96] gnu: Add ocamlmod.

2017-01-04 Thread David Craven
> If you take a little more care with the commit message conventions and
> coding style, we might be able to convince Ludo to give you commit
> access, since you are clearly our local ocaml expert :)

Not that I have any say in this and apologize if I'm overstepping...



Re: [PATCH] gnu: Add whois.

2017-01-04 Thread ng0
ng0  writes:

> For "historic" reasons this also bundles mkpasswd to encrypt passwords.
> I don't want to unbundle this right now, this should be a job for upstream.

Should we provide the "mkpasswd" binary in its own output?

I will submit a small patch.

> PPoint is: A whois client for guix. We have no whois right now. Well that is 
> if
> you see the very limited one of bind as a client, then we do have one.
>
> whois hackint.eu worked (the bind one just tells you "i don't know .eu what 
> is .eu ..."),
> so I assume it is functional.
>
>
>

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH 10/96] gnu: Add ocamlmod.

2017-01-04 Thread David Craven
> The thing is tests are passed during 'build. This is activated by the 
> --enable-tests argument, that is enabled by #:tests? #t.

Ah I see. Then it makes sense. I was a bit hasty with this. I already
pushed the first 20 packages. Sorry about that, I'll change it back.

If you take a little more care with the commit message conventions and
coding style, we might be able to convince Ludo to give you commit
access, since you are clearly our local ocaml expert :)



Patch to add ca-bundle to gnurl.

2017-01-04 Thread ng0
ng0@wasp /gnu/store/za7qym30saxfjaa5fiqrh4kykkk56401-gnurl-7.52.1/bin$ 
./gnurl-config --configure
 'CONFIG_SHELL=/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/bash' 
'SHELL=/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/bash' 
'--prefix=/gnu/store/za7qym30saxfjaa5fiqrh4kykkk56401-gnurl-7.52.1' 
'--enable-fast-install' 
'--docdir=/gnu/store/g5f5j1bqhc0cqvi8fdcjmvv4dpcjb3br-gnurl-7.52.1-doc/share/doc/gnurl'
 '--build=x86_64-unknown-linux-gnu' '--enable-ipv6' '--with-gnutls' 
'--without-libssh2' '--without-libmetalink' '--without-winidn' 
'--without-librtmp' '--without-nghttp2' '--without-nss' '--without-cyassl' 
'--without-polarssl' '--without-ssl' '--without-winssl' '--without-darwinssl' 
'--disable-sspi' '--disable-ntlm-wb' '--disable-ldap' '--disable-rtsp' 
'--disable-dict' '--disable-telnet' '--disable-tftp' '--disable-pop3' 
'--disable-imap' '--disable-smtp' '--disable-gopher' '--disable-file' 
'--disable-ftp' '--disable-smb' 
'--with-ca-bundle=/gnu/store/nd946vlingp0ff63y18sqmv823cday9w-nss-certs-3.27.1/etc/ssl/certs/ca-certificates.crt'
 'build_alias=x86_64-unknow
 n-linux-gnu'





[PATCH] gnu: gnurl: Add ca-bundle to config.

2017-01-04 Thread ng0
* gnu/packages/gnunet.scm (gnurl)[arguments]: Add "--with-ca-bundle" configure 
flag.
[arguments]: configure-flags: Use list.
[arguments]: Add "nss-certs" to native-inputs.
---
 gnu/packages/gnunet.scm | 31 +++
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 27e1ffb4e..451293c9f 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Efraim Flashner 
 ;;; Copyright © 2016 Ricardo Wurmus 
 ;;; Copyright © 2016 Mark H Weaver 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +27,7 @@
   #:use-module (gnu packages file)
   #:use-module (gnu packages aidc)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages certs)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages gettext)
@@ -184,20 +185,26 @@ and support for SSL3 and TLS.")
   ("libtool" ,libtool)
   ("groff" ,groff)
   ("perl" ,perl)
+  ("nss-certs" ,nss-certs)
   ("pkg-config" ,pkg-config)
   ("python" ,python-2)))
(arguments
-`(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
-  "--without-libmetalink" "--without-winidn"
-  "--without-librtmp" "--without-nghttp2"
-  "--without-nss" "--without-cyassl"
-  "--without-polarssl" "--without-ssl"
-  "--without-winssl" "--without-darwinssl"
-  "--disable-sspi" "--disable-ntlm-wb"
-  "--disable-ldap" "--disable-rtsp" "--disable-dict"
-  "--disable-telnet" "--disable-tftp" "--disable-pop3"
-  "--disable-imap" "--disable-smtp" "--disable-gopher"
-  "--disable-file" "--disable-ftp" "--disable-smb")
+`(#:configure-flags (list
+ "--enable-ipv6" "--with-gnutls" "--without-libssh2"
+ "--without-libmetalink" "--without-winidn"
+ "--without-librtmp" "--without-nghttp2"
+ "--without-nss" "--without-cyassl"
+ "--without-polarssl" "--without-ssl"
+ "--without-winssl" "--without-darwinssl"
+ "--disable-sspi" "--disable-ntlm-wb"
+ "--disable-ldap" "--disable-rtsp" "--disable-dict"
+ "--disable-telnet" "--disable-tftp" "--disable-pop3"
+ "--disable-imap" "--disable-smtp" "--disable-gopher"
+ "--disable-file" "--disable-ftp" "--disable-smb"
+ (string-append
+  "--with-ca-bundle="
+  (string-append (assoc-ref %build-inputs "nss-certs")
+ 
"/etc/ssl/certs/ca-certificates.crt")))
   #:test-target "test"
   #:parallel-tests? #f
   #:phases
-- 
2.11.0




Re: [PATCH] gnu: curl: Add ca-bundle to config.

2017-01-04 Thread ng0
ng0  writes:

> Marius Bakke  writes:
>
>> Marius Bakke  writes:
>>
>>> ng0  writes:
>>>
 * gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" 
 configure flag.
 [arguments]: Disable failing test number 324.
 ---
  gnu/packages/curl.scm | 13 -
  1 file changed, 12 insertions(+), 1 deletion(-)

 diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
 index 7329d870d..3473055b8 100644
 --- a/gnu/packages/curl.scm
 +++ b/gnu/packages/curl.scm
 @@ -4,6 +4,7 @@
  ;;; Copyright © 2015 Tomáš Čech 
  ;;; Copyright © 2015 Ludovic Courtès 
  ;;; Copyright © 2016 Leo Famulari 
 +;;; Copyright © 2017 ng0 
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
 @@ -65,7 +66,8 @@
 ("pkg-config" ,pkg-config)
 ("python" ,python-2)))
 (arguments
 -`(#:configure-flags '("--with-gnutls" "--with-gssapi")
 +`(#:configure-flags '("--with-gnutls" "--with-gssapi"
 +  
 "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt")
>>>
>>> This may not work on all distros, and is "impure" since this path is not
>>> managed by Guix. If we are doing this, it should be referring to
>>> (string-append (assoc-ref %build-inputs "nss-certs") "/etc/ssl/...").
>>> That will likely fix the test as well.
>>
>> I realized shortly after posting why this wasn't done already. Curl has
>> 1403 dependent packages, which would apply for "nss-certs" as well if
>> that is added as input. Obviously we want to be able to update TLS
>> certificates quickly without rebuilding ~1/4 of the tree.
>>
>> Perhaps it could be added as a separate package, or by e.g. renaming the
>> current curl package to "curl-minimal".
>
> Appending to my last message:
> how can I make this valid:
>
>(arguments
> `(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
>   "--without-libmetalink" "--without-winidn"
>   "--without-librtmp" "--without-nghttp2"
>   "--without-nss" "--without-cyassl"
>   "--without-polarssl" "--without-ssl"
>   "--without-winssl" "--without-darwinssl"
>   "--disable-sspi" "--disable-ntlm-wb"
>   "--disable-ldap" "--disable-rtsp" "--disable-dict"
>   "--disable-telnet" "--disable-tftp" "--disable-pop3"
>   "--disable-imap" "--disable-smtp" "--disable-gopher"
>   "--disable-file" "--disable-ftp" "--disable-smb"
>   (string-append
>"--with-ca-bundle="
>(string-append (assoc-ref %build-inputs 
> "nss-certs")
>   
> "/etc/ssl/certs/ca-certificates.crt")))
>
> The string-append is not valid here.

Solved, by using "(list" here.

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH] gnu: curl: Add ca-bundle to config.

2017-01-04 Thread ng0
Marius Bakke  writes:

> Marius Bakke  writes:
>
>> ng0  writes:
>>
>>> * gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" configure 
>>> flag.
>>> [arguments]: Disable failing test number 324.
>>> ---
>>>  gnu/packages/curl.scm | 13 -
>>>  1 file changed, 12 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
>>> index 7329d870d..3473055b8 100644
>>> --- a/gnu/packages/curl.scm
>>> +++ b/gnu/packages/curl.scm
>>> @@ -4,6 +4,7 @@
>>>  ;;; Copyright © 2015 Tomáš Čech 
>>>  ;;; Copyright © 2015 Ludovic Courtès 
>>>  ;;; Copyright © 2016 Leo Famulari 
>>> +;;; Copyright © 2017 ng0 
>>>  ;;;
>>>  ;;; This file is part of GNU Guix.
>>>  ;;;
>>> @@ -65,7 +66,8 @@
>>> ("pkg-config" ,pkg-config)
>>> ("python" ,python-2)))
>>> (arguments
>>> -`(#:configure-flags '("--with-gnutls" "--with-gssapi")
>>> +`(#:configure-flags '("--with-gnutls" "--with-gssapi"
>>> +  
>>> "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt")
>>
>> This may not work on all distros, and is "impure" since this path is not
>> managed by Guix. If we are doing this, it should be referring to
>> (string-append (assoc-ref %build-inputs "nss-certs") "/etc/ssl/...").
>> That will likely fix the test as well.
>
> I realized shortly after posting why this wasn't done already. Curl has
> 1403 dependent packages, which would apply for "nss-certs" as well if
> that is added as input. Obviously we want to be able to update TLS
> certificates quickly without rebuilding ~1/4 of the tree.
>
> Perhaps it could be added as a separate package, or by e.g. renaming the
> current curl package to "curl-minimal".

Appending to my last message:
how can I make this valid:

   (arguments
`(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
  "--without-libmetalink" "--without-winidn"
  "--without-librtmp" "--without-nghttp2"
  "--without-nss" "--without-cyassl"
  "--without-polarssl" "--without-ssl"
  "--without-winssl" "--without-darwinssl"
  "--disable-sspi" "--disable-ntlm-wb"
  "--disable-ldap" "--disable-rtsp" "--disable-dict"
  "--disable-telnet" "--disable-tftp" "--disable-pop3"
  "--disable-imap" "--disable-smtp" "--disable-gopher"
  "--disable-file" "--disable-ftp" "--disable-smb"
  (string-append
   "--with-ca-bundle="
   (string-append (assoc-ref %build-inputs "nss-certs")
  
"/etc/ssl/certs/ca-certificates.crt")))

The string-append is not valid here.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH] gnu: curl: Add ca-bundle to config.

2017-01-04 Thread ng0
Marius Bakke  writes:

> Marius Bakke  writes:
>
>> ng0  writes:
>>
>>> * gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" configure 
>>> flag.
>>> [arguments]: Disable failing test number 324.
>>> ---
>>>  gnu/packages/curl.scm | 13 -
>>>  1 file changed, 12 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
>>> index 7329d870d..3473055b8 100644
>>> --- a/gnu/packages/curl.scm
>>> +++ b/gnu/packages/curl.scm
>>> @@ -4,6 +4,7 @@
>>>  ;;; Copyright © 2015 Tomáš Čech 
>>>  ;;; Copyright © 2015 Ludovic Courtès 
>>>  ;;; Copyright © 2016 Leo Famulari 
>>> +;;; Copyright © 2017 ng0 
>>>  ;;;
>>>  ;;; This file is part of GNU Guix.
>>>  ;;;
>>> @@ -65,7 +66,8 @@
>>> ("pkg-config" ,pkg-config)
>>> ("python" ,python-2)))
>>> (arguments
>>> -`(#:configure-flags '("--with-gnutls" "--with-gssapi")
>>> +`(#:configure-flags '("--with-gnutls" "--with-gssapi"
>>> +  
>>> "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt")
>>
>> This may not work on all distros, and is "impure" since this path is not
>> managed by Guix. If we are doing this, it should be referring to
>> (string-append (assoc-ref %build-inputs "nss-certs") "/etc/ssl/...").
>> That will likely fix the test as well.
>
> I realized shortly after posting why this wasn't done already. Curl has
> 1403 dependent packages, which would apply for "nss-certs" as well if
> that is added as input. Obviously we want to be able to update TLS
> certificates quickly without rebuilding ~1/4 of the tree.
>
> Perhaps it could be added as a separate package, or by e.g. renaming the
> current curl package to "curl-minimal".

Okay, I will wait for more people to comment on the best route to
follow here for curl.

For gnurl:
As right now gnurl is only required by gnunet and related
packages, I will send in a patch for this in advance for gnurl.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH] gnu: Add ldc-1.1.0-beta4

2017-01-04 Thread Danny Milosavljevic
On Wed, 4 Jan 2017 18:53:47 +0300
Frederick Muriithi  wrote:
> I tried that, but since dmd2/root/port.c file no longer exists, the
> 'patch-dmd2 step causes the build to fail. That's the reason I decided
> to just add the same things again, but without the 'patch-dmd2 step

Ah, okay. I have no complaints about doing it like that then. Please add a 
comment to the source code stating that.




Re: [PATCH 10/96] gnu: Add ocamlmod.

2017-01-04 Thread julien lepiller

Le 2017-01-04 16:00, David Craven a écrit :
+(arguments `(#:phases (modify-phases %standard-phases (delete 
'check


The standard way of doing this is with #:tests? #f.


The thing is tests are passed during 'build. This is activated by the 
--enable-tests argument, that is enabled by #:tests? #t. This is only to 
disable passing tests twice. With #:tests? #f, no test is run. So, what 
should we do? Maybe change ocaml-build-system to have #:tests? only 
modify the phases, and not the configure argument, and having a 
separated #:test-argument? to add the argument to configure?




Re: [PATCH] gnu: curl: Add ca-bundle to config.

2017-01-04 Thread Marius Bakke
Marius Bakke  writes:

> ng0  writes:
>
>> * gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" configure 
>> flag.
>> [arguments]: Disable failing test number 324.
>> ---
>>  gnu/packages/curl.scm | 13 -
>>  1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
>> index 7329d870d..3473055b8 100644
>> --- a/gnu/packages/curl.scm
>> +++ b/gnu/packages/curl.scm
>> @@ -4,6 +4,7 @@
>>  ;;; Copyright © 2015 Tomáš Čech 
>>  ;;; Copyright © 2015 Ludovic Courtès 
>>  ;;; Copyright © 2016 Leo Famulari 
>> +;;; Copyright © 2017 ng0 
>>  ;;;
>>  ;;; This file is part of GNU Guix.
>>  ;;;
>> @@ -65,7 +66,8 @@
>> ("pkg-config" ,pkg-config)
>> ("python" ,python-2)))
>> (arguments
>> -`(#:configure-flags '("--with-gnutls" "--with-gssapi")
>> +`(#:configure-flags '("--with-gnutls" "--with-gssapi"
>> +  
>> "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt")
>
> This may not work on all distros, and is "impure" since this path is not
> managed by Guix. If we are doing this, it should be referring to
> (string-append (assoc-ref %build-inputs "nss-certs") "/etc/ssl/...").
> That will likely fix the test as well.

I realized shortly after posting why this wasn't done already. Curl has
1403 dependent packages, which would apply for "nss-certs" as well if
that is added as input. Obviously we want to be able to update TLS
certificates quickly without rebuilding ~1/4 of the tree.

Perhaps it could be added as a separate package, or by e.g. renaming the
current curl package to "curl-minimal".


signature.asc
Description: PGP signature


Re: Graphical Installer - Call for Testing.

2017-01-04 Thread Ricardo Wurmus

dian_ce...@zoho.com writes:

> On Wed, Jan 04, 2017 at 08:59:28AM +0100, John Darrington wrote:
>> This branch provides a curses based graphical interface to the disk
>> images used for installing GuixSD. It is intended to allow users
>> unfamiliar with bash and other aspects of unix-like operating systems
>> to easily install GuixSD.   This means, it should allow you to install
>> GuixSD on a bare PC, without ever touching a shell (whilst still
>> providing that option for those who want it).
>> 
>> 
>> 
>> Please report coding and usability issues.
>
> I just wanted to say I hope this isn't going to be the only install option in
> the future.

It’s not going to be the only install option.  Its purpose is to make
installation for most people easier.  (I’d totally use it in the future.)

> I'd also like to state that I hope this installer will make sure the user has
> plenty of options available at each stage of the process

As it is now you can always just get a shell and continue from there.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net




[PATCH] gnu: sed: Update to 4.3.

2017-01-04 Thread Marius Bakke
* gnu/packages/base.scm (sed): Update to 4.3.
[source]: Use xz tarball. Remove upstreamed patch.
[home-page]: Use https.
[native-inputs]: Add perl.
* gnu/packages/patches/sed-hurd-path-max.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk |  1 -
 gnu/packages/base.scm| 11 +
 gnu/packages/patches/sed-hurd-path-max.patch | 34 
 3 files changed, 6 insertions(+), 40 deletions(-)
 delete mode 100644 gnu/packages/patches/sed-hurd-path-max.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 860d16d91..e6528e96f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -841,7 +841,6 @@ dist_patch_DATA =   
\
   %D%/packages/patches/ruby-rack-ignore-failing-test.patch  \
   %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
   %D%/packages/patches/ruby-yard-fix-skip-of-markdown-tests.patch \
-  %D%/packages/patches/sed-hurd-path-max.patch \
   %D%/packages/patches/scheme48-tests.patch\
   %D%/packages/patches/scotch-test-threading.patch \
   %D%/packages/patches/sdl-libx11-1.6.patch\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index cfc1a6591..a1172037b 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -118,15 +118,14 @@ including, for example, recursive directory searching.")
 (define-public sed
   (package
(name "sed")
-   (version "4.2.2")
+   (version "4.3")
(source (origin
 (method url-fetch)
 (uri (string-append "mirror://gnu/sed/sed-" version
-".tar.bz2"))
+".tar.xz"))
 (sha256
  (base32
-  "1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h"))
-(patches (search-patches "sed-hurd-path-max.patch"
+  "1anhdgah8h423hlmn9hwzxzr7hjbqjm6hxq3z1p7p7nf8640vhj7"
(build-system gnu-build-system)
(synopsis "Stream editor")
(arguments
@@ -143,6 +142,8 @@ including, for example, recursive directory searching.")
 (("/bin/sh")
  (string-append bash "/bin/bash")))
   #t)))
+   (native-inputs
+`(("perl" ,perl))) ; for help2man
(description
 "Sed is a non-interactive, text stream editor.  It receives a text
 input from a file or from standard input and it then applies a series of text
@@ -150,7 +151,7 @@ editing commands to the stream and prints its output to 
standard output.  It
 is often used for substituting text patterns in a stream.  The GNU
 implementation offers several extensions over the standard utility.")
(license gpl3+)
-   (home-page "http://www.gnu.org/software/sed/;)))
+   (home-page "https://www.gnu.org/software/sed/;)))
 
 (define-public tar
   (package
diff --git a/gnu/packages/patches/sed-hurd-path-max.patch 
b/gnu/packages/patches/sed-hurd-path-max.patch
deleted file mode 100644
index 5226cba4c..0
--- a/gnu/packages/patches/sed-hurd-path-max.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-7bb8d35d0330161a5af5341471d0c183a067e8c2
-Author: Jose E. Marchesi 
-Date:   Sun Oct 6 14:43:38 2013 +0200
-
-Set PATH_MAX to some constant in case it is not defined in system
-headers.
-
-2013-10-06  Jose E. Marchesi  
-
-   * basicdefs.h (PATH_MAX): Defined to some constant in case it is
-   not defined by system headers.
-   * sed/utils.c: Do not include pathmax.h anymore.
-   * bootstrap.conf (gnulib_modules): Do not use the gnulib module
-   pathmax.
-
-diff --git a/basicdefs.h b/basicdefs.h
-index 0d28a97..09f5beb 100644
 a/basicdefs.h
-+++ b/basicdefs.h
-@@ -40,6 +41,13 @@ typedef unsigned long countT;
- #define obstack_chunk_alloc  ck_malloc
- #define obstack_chunk_free   free
- 
-+/* MAX_PATH is not defined in some platforms, most notably GNU/Hurd.
-+   In that case we define it here to some constant.  Note however that
-+   this relies in the fact that sed does reallocation if a buffer
-+   needs to be larger than PATH_MAX.  */
-+#ifndef PATH_MAX
-+# define PATH_MAX 200
-+#endif
- 
- /* handle misdesigned  macros (snarfed from lib/regex.c) */
- /* Jim Meyering writes:
- 
-- 
2.11.0




Re: [PATCH] gnu: curl: Add ca-bundle to config.

2017-01-04 Thread Marius Bakke
ng0  writes:

> * gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" configure 
> flag.
> [arguments]: Disable failing test number 324.
> ---
>  gnu/packages/curl.scm | 13 -
>  1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
> index 7329d870d..3473055b8 100644
> --- a/gnu/packages/curl.scm
> +++ b/gnu/packages/curl.scm
> @@ -4,6 +4,7 @@
>  ;;; Copyright © 2015 Tomáš Čech 
>  ;;; Copyright © 2015 Ludovic Courtès 
>  ;;; Copyright © 2016 Leo Famulari 
> +;;; Copyright © 2017 ng0 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -65,7 +66,8 @@
> ("pkg-config" ,pkg-config)
> ("python" ,python-2)))
> (arguments
> -`(#:configure-flags '("--with-gnutls" "--with-gssapi")
> +`(#:configure-flags '("--with-gnutls" "--with-gssapi"
> +  
> "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt")

This may not work on all distros, and is "impure" since this path is not
managed by Guix. If we are doing this, it should be referring to
(string-append (assoc-ref %build-inputs "nss-certs") "/etc/ssl/...").
That will likely fix the test as well.


signature.asc
Description: PGP signature


Re: Graphical Installer - Call for Testing.

2017-01-04 Thread dian_cecht
On Wed, Jan 04, 2017 at 08:59:28AM +0100, John Darrington wrote:
> This branch provides a curses based graphical interface to the disk
> images used for installing GuixSD. It is intended to allow users
> unfamiliar with bash and other aspects of unix-like operating systems
> to easily install GuixSD.   This means, it should allow you to install
> GuixSD on a bare PC, without ever touching a shell (whilst still
> providing that option for those who want it).
> 
> 
> 
> Please report coding and usability issues.

I just wanted to say I hope this isn't going to be the only install option in
the future. While I haven't tested this patch, I do want to say that I'd rather
this be an optional/alternative install method while leaving people a choice of
using the old, tried-and-true shell. I've seen too many installers that force a
GUI on the user and, in the end, removed some very valuable options from the
user. The big example that comes to mind for me is Ubuntu the last time I tried
to install it and found that disk encryption was only available with AES-256,
which I frankly don't trust. At least with plaintext config files (that are
reasonably powerful, which Guix's seem to be), some knowledge of the
command-line tools we have, and some planning the options for installation are
nearly endless.

I'd also like to state that I hope this installer will make sure the user has
plenty of options available at each stage of the process and won't make the
aforementioned mistake of assuming the end user's needs (unless there is some
technical reason that the distro simply can not do something, in which case I'd
hope the techinal limitation will be fixed instead of setting it in stone by
removing it entirely from the GUI installer).




Re: [PATCH] gnu: Add ldc-1.1.0-beta4

2017-01-04 Thread Danny Milosavljevic
> Hmm, my understanding of how the package definitions work might be
> incomplete: It seemed to me like after you inherited, from a package,
> and then added a definition in any of the variables, the new variables
> would NOT add to the values of the older ones but rather, they would
> completely overwrite the older one.

Yes. I mean you can leave the whole "(arguments ...)" form off.



Re: [PATCH] gnu: Add ldc-1.1.0-beta4

2017-01-04 Thread Frederick Muriithi
On Wed, Jan 4, 2017 at 6:46 PM, Danny Milosavljevic
 wrote:
>> Hmm, my understanding of how the package definitions work might be
>> incomplete: It seemed to me like after you inherited, from a package,
>> and then added a definition in any of the variables, the new variables
>> would NOT add to the values of the older ones but rather, they would
>> completely overwrite the older one.
>
> Yes. I mean you can leave the whole "(arguments ...)" form off.

I tried that, but since dmd2/root/port.c file no longer exists, the
'patch-dmd2 step causes the build to fail. That's the reason I decided
to just add the same things again, but without the 'patch-dmd2 step

-- 
Frederick M. Muriithi



Re: [PATCH] gnu: econnman: Add missing input.

2017-01-04 Thread Danny Milosavljevic
On Wed, 04 Jan 2017 10:27:42 +0100
Clément Lassieur  wrote:
> I don't have Enlightenment either. Without this input, I get this error
> when I execute econnman-bin:

Good enough for me. OK!

I also tested it without the patch, where it failed as described, and with the 
patch, where it works.



Re: [PATCH] gnu: Add ldc-1.1.0-beta4

2017-01-04 Thread Frederick Muriithi
On Wed, Jan 4, 2017 at 5:52 PM, Danny Milosavljevic
 wrote:
> Hi,
>
> On Wed, 4 Jan 2017 17:01:14 +0300
> Frederick Muriithi  wrote:
>
>> Added ldc-1.1.0-beta4 since all other beta versions from there seem to
>> reuse the same phobos, druntime and dmd-testsuite.
>
> Thanks for the patch!
>
> Hmm, you added gdb to the native-inputs but commented out the gdb invocations 
> later? Why?
>

I worked through the definition at the beginning adding required
packages, then when builds were successful, but tests were failing, I
went through the tests trying to figure out where the issues were, and
fixing them.
For the gdb invocations, the error message kept pointing to the
Makefile as where the issue was, so I tried to go as close to the
error as I could with my current knowledge.
I think that's only one of a number of invocations, but I might be wrong.

> Also, could you ask upsteam whether they add a version flag (or something) 
> for the http tests? So it can be enabled/disabled without huge patches in the 
> future...
>

Cool. I will.

> Also, why did you comment out unzip? You can add "unzip" to native-inputs.
>

Hmmm, it never occurred to me that the issue causing the zip tests to
fail was that unzip was missing. The error messages in the failing
tests did not point to that. I will fix this

> Also, why do you add another "patch-phobos" phase? I think the one in ldc, 
> from which you inherit, does the same, no?
>

Hmm, my understanding of how the package definitions work might be
incomplete: It seemed to me like after you inherited, from a package,
and then added a definition in any of the variables, the new variables
would NOT add to the values of the older ones but rather, they would
completely overwrite the older one.
I will give it one more whirl.

> I think I had the same problem with tzNames before. I think one of the 
> functions there doesn't interpret its argument as a relative path if it 
> contains a slash anywhere, ruining your /gnu/store prefix or something. 
> Please look into it.

Cool.

Let me work on those items, and maybe submit a better patch later

-- 
Frederick M. Muriithi



[PATCH 3/3] gnu: Add r-copywriter.

2017-01-04 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-copywriter): New variable.
---
 gnu/packages/bioinformatics.scm | 40 
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d4224115f..d963ded85 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -7920,3 +7920,43 @@ mm10.  In addition, it contains a blacklist filter to 
remove regions that
 display copy number variation.  Files are stored as GRanges objects from the
 GenomicRanges Bioconductor package.")
 (license license:gpl2)))
+
+(define-public r-copywriter
+  (package
+(name "r-copywriter")
+(version "2.6.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "CopywriteR" version))
+   (sha256
+(base32
+ "1bwwnsyk7cpgwkagsnn5mv6fv233b0rkhjvbadrh70h8m4anawfj"
+(properties `((upstream-name . "CopywriteR")))
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-biocparallel" ,r-biocparallel)
+   ("r-chipseq" ,r-chipseq)
+   ("r-copyhelper" ,r-copyhelper)
+   ("r-data-table" ,r-data-table)
+   ("r-dnacopy" ,r-dnacopy)
+   ("r-futile-logger" ,r-futile-logger)
+   ("r-genomeinfodb" ,r-genomeinfodb)
+   ("r-genomicalignments" ,r-genomicalignments)
+   ("r-genomicranges" ,r-genomicranges)
+   ("r-gtools" ,r-gtools)
+   ("r-iranges" ,r-iranges)
+   ("r-matrixstats" ,r-matrixstats)
+   ("r-rsamtools" ,r-rsamtools)
+   ("r-s4vectors" ,r-s4vectors)))
+(home-page "https://github.com/PeeperLab/CopywriteR;)
+(synopsis "Copy number information from targeted sequencing")
+(description
+ "CopywriteR extracts DNA copy number information from targeted sequencing
+by utilizing off-target reads.  It allows for extracting uniformly distributed
+copy number information, can be used without reference, and can be applied to
+sequencing data obtained from various techniques including chromatin
+immunoprecipitation and target enrichment on small gene panels.  Thereby,
+CopywriteR constitutes a widely applicable alternative to available copy
+number detection tools.")
+(license license:gpl2)))
-- 
2.11.0




[PATCH 2/3] gnu: Add r-copyhelper.

2017-01-04 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-copyhelper): New variable.
---
 gnu/packages/bioinformatics.scm | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 9c01c2436..d4224115f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -7894,3 +7894,29 @@ common bioinformatics tools.")
  "This package provides tools for processing short read data from ChIPseq
 experiments.")
 (license license:artistic2.0)))
+
+(define-public r-copyhelper
+  (package
+(name "r-copyhelper")
+(version "1.6.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "http://bioconductor.org/packages/release/;
+   "data/experiment/src/contrib/CopyhelpeR_"
+   version ".tar.gz"))
+   (sha256
+(base32
+ "0x7cyynjmxls9as2gg0iyp9x5fpalxmdjq914ss7i84i9zyk5bhq"
+(properties `((upstream-name . "CopyhelpeR")))
+(build-system r-build-system)
+(home-page "http://bioconductor.org/packages/CopyhelpeR/;)
+(synopsis "Helper files for CopywriteR")
+(description
+ "This package contains the helper files that are required to run the
+Bioconductor package CopywriteR.  It contains pre-assembled 1kb bin GC-content
+and mappability files for the reference genomes hg18, hg19, hg38, mm9 and
+mm10.  In addition, it contains a blacklist filter to remove regions that
+display copy number variation.  Files are stored as GRanges objects from the
+GenomicRanges Bioconductor package.")
+(license license:gpl2)))
-- 
2.11.0




[PATCH 1/3] gnu: Add r-chipseq.

2017-01-04 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (r-chipseq): New variable.
---
 gnu/packages/bioinformatics.scm | 27 ++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6b363afe0..9c01c2436 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus 
+;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus 
 ;;; Copyright © 2015, 2016 Ben Woodcroft 
 ;;; Copyright © 2015, 2016 Pjotr Prins 
 ;;; Copyright © 2015 Andreas Enge 
@@ -7869,3 +7869,28 @@ replacement for strverscmp.")
 samples into a single report.  It contains modules for a large number of
 common bioinformatics tools.")
 (license license:gpl3)))
+
+(define-public r-chipseq
+  (package
+(name "r-chipseq")
+(version "1.24.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (bioconductor-uri "chipseq" version))
+   (sha256
+(base32
+ "115ayp82rs99iaswrx45skw1i5iacgwzz5k8rzijbp5qic0554n0"
+(build-system r-build-system)
+(propagated-inputs
+ `(("r-biocgenerics" ,r-biocgenerics)
+   ("r-genomicranges" ,r-genomicranges)
+   ("r-iranges" ,r-iranges)
+   ("r-s4vectors" ,r-s4vectors)
+   ("r-shortread" ,r-shortread)))
+(home-page "http://bioconductor.org/packages/chipseq;)
+(synopsis "Package for analyzing ChIPseq data")
+(description
+ "This package provides tools for processing short read data from ChIPseq
+experiments.")
+(license license:artistic2.0)))
-- 
2.11.0




[PATCH v2] gnu: Add ghc-markdown-unlit.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/haskell.scm (ghc-markdown-unlit): New variable.
---
 gnu/packages/haskell.scm | 29 +
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index de061a630..1f6611d0b 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -8073,4 +8073,33 @@ It features a complete, well-tested parser and pretty 
printer for all of C99
 and a large set of GNU extensions.")
 (license license:bsd-3)))
 
+(define-public ghc-markdown-unlit
+  (package
+   (name "ghc-markdown-unlit")
+   (version "0.4.0")
+   (source (origin
+ (method url-fetch)
+ (uri (string-append
+"https://hackage.haskell.org/package/markdown-unlit/;
+"markdown-unlit-" version ".tar.gz"))
+ (sha256
+   (base32
+ "1kj2bffl7ndd8ygwwa3r1mbpwbxbfhyfgnbla8k8g9i6ffp0qrbw"
+   (build-system haskell-build-system)
+   (inputs
+`(("ghc-base-compat" ,ghc-base-compat)
+  ("ghc-hspec" ,ghc-hspec)
+  ("ghc-quickcheck" ,ghc-quickcheck)
+  ("ghc-silently" ,ghc-silently)
+  ("ghc-stringbuilder" ,ghc-stringbuilder)
+  ("ghc-temporary" ,ghc-temporary)))
+   (native-inputs
+`(("hspec-discover" ,hspec-discover)))
+   (home-page "https://github.com/sol/markdown-unlit#readme;)
+   (synopsis "Literate Haskell support for Markdown")
+   (description "This package allows you to have a README.md that at the
+same time is a literate Haskell program.  See also $url{Documentation,
+https://github.com/sol/markdown-unlit#readme}.;)
+   (license license:expat)))
+
 ;;; haskell.scm ends here



Re: [PATCH 1/1] gnu: unrtf: Fix CVE-2016-10091.

2017-01-04 Thread Marius Bakke
Leo Famulari  writes:

> On Wed, Jan 04, 2017 at 02:13:25AM -0500, Leo Famulari wrote:
>> On Tue, Jan 03, 2017 at 05:49:29PM +0100, Marius Bakke wrote:
>> > Leo Famulari  writes:
>> > > +diff --git a/debian/patches/series b/debian/patches/series
>> > > +new file mode 100644
>> > > +index 000..7868249
>> > > +--- /dev/null
>> > >  b/debian/patches/series
>> > > +@@ -0,0 +1 @@
>> > > ++0001-Replace-all-instances-of-sprintf-with-snprintf-and-a.patch
>> > 
>> > This part we surely don't need ;-)
>> 
>> Oops!
>
> x2
>
> Of course, the patch I sent on January 1 was completely broken.
>
> The patch it included from Debian was meant to be applied to the Debian
> package tree, not the UnRTF source code.

OK! Thanks for the update, LGTM!

Thanks for keeping up with this. I'm currently travelling, but should
return to normal within a few days/week :-)


signature.asc
Description: PGP signature


Re: [PATCH 10/96] gnu: Add ocamlmod.

2017-01-04 Thread David Craven
+(arguments `(#:phases (modify-phases %standard-phases (delete 'check

The standard way of doing this is with #:tests? #f.



[PATCH 2/3] gnu: Add fluid.

2017-01-04 Thread ng0
* gnu/packages/qt.scm (fluid): New variable.
---
 gnu/packages/qt.scm | 36 
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 41aa10291..e180f9cf6 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages pciutils)
@@ -1347,3 +1348,38 @@ a binding language:
 @item Creating from Singleton QML QObject defined in the binded language
 @end itemize\n")
 (license license:lgpl3)))
+
+(define-public fluid
+  (package
+(name "fluid")
+(version "0.9.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/lirios/fluid/releases/download/;
+   "v" version "/" name "-" version ".tar.xz"))
+   (file-name (string-append name "-" version ".tar.xz"))
+   (sha256
+(base32
+ "0m6mijlnizgvmh0z2wcrmkfl5cdrylxz3d7bqii8dasmm0q8f68y"
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f ; XXX: The tests do not find the fluid module.
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'build 'setenv
+ (lambda _
+   (setenv "QT_QPA_PLATFORM" "offscreen"))
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)
+   ("qtsvg" ,qtsvg)
+   ("qtquickcontrols2" ,qtquickcontrols2)))
+(home-page "https://github.com/lirios/fluid;)
+(synopsis "Library for QtQuick applications")
+(description
+ "Fluid is a collection of cross-platform QtQuick components for
+building fluid and dynamic applications.")
+(license license:mpl2.0)))
-- 
2.11.0




Re: [PATCH] gnu: Add ldc-1.1.0-beta4

2017-01-04 Thread Danny Milosavljevic
Hi,

On Wed, 4 Jan 2017 17:01:14 +0300
Frederick Muriithi  wrote:

> Added ldc-1.1.0-beta4 since all other beta versions from there seem to
> reuse the same phobos, druntime and dmd-testsuite.

Thanks for the patch!

Hmm, you added gdb to the native-inputs but commented out the gdb invocations 
later? Why?

Also, could you ask upsteam whether they add a version flag (or something) for 
the http tests? So it can be enabled/disabled without huge patches in the 
future...

Also, why did you comment out unzip? You can add "unzip" to native-inputs.

Also, why do you add another "patch-phobos" phase? I think the one in ldc, from 
which you inherit, does the same, no?

I think I had the same problem with tzNames before. I think one of the 
functions there doesn't interpret its argument as a relative path if it 
contains a slash anywhere, ruining your /gnu/store prefix or something. Please 
look into it.



fluid, dotherside, roboto. v2

2017-01-04 Thread ng0
 [PATCH 2/3] gnu: Add fluid.

The testphase runs in a way that nothing can find the fluid modules.




[PATCH 1/3] gnu: Add dotherside.

2017-01-04 Thread ng0
* gnu/packages/qt.scm (dotherside): New variable.
---
 gnu/packages/qt.scm | 36 +++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 15beb8037..41aa10291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015 Sou Bunnbu 
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016 Thomas Danckaert 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -1313,3 +1313,37 @@ embed content from the World Wide Web into your Qt 
application.  At the same
 time Web content can be enhanced with native controls.")
 
 (license license:lgpl2.1+)))
+
+(define-public dotherside
+  (package
+(name "dotherside")
+(version "0.5.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/filcuc/DOtherSide/;
+   "archive/v" version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "0pqlrvy4ajjir80ra79ka3n0rjj0ir0f0m91cq86iz3nnw8w148z"
+(build-system cmake-build-system)
+(native-inputs
+ `(("qttools" ,qttools)))
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)))
+(home-page "https://github.com/frankosterfeld/qtkeychain;)
+(synopsis "C language library for creating bindings for the Qt QML 
language")
+(description
+ "DOtherSide is a C language library for creating bindings for the
+QT QML language.  The following features are implementable from
+a binding language:
+@itemize
+@item Creating custom QObject
+@item Creating custom QAbstractListModels
+@item Creating custom properties, signals and slots
+@item Creating from QML QObject defined in the binded language
+@item Creating from Singleton QML QObject defined in the binded language
+@end itemize\n")
+(license license:lgpl3)))
-- 
2.11.0




[PATCH 3/3] gnu: Add font-google-roboto.

2017-01-04 Thread ng0
* gnu/packages/fonts.scm (font-google-roboto): New variable.
---
 gnu/packages/fonts.scm | 45 -
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index f01b83155..d2832218a 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015 Eric Dvorsak 
 ;;; Copyright © 2015 Ricardo Wurmus 
 ;;; Copyright © 2015, 2016 Leo Famulari 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016 Jookia <166...@gmail.com>
 ;;; Copyright © 2016 Eric Bavier 
 ;;; Copyright © 2016 Dmitry Nikolaev 
@@ -703,6 +703,49 @@ languages with a consistent look and aesthetic.  It's goal 
is to have no Unicode
 symbols unable to be displayed properly.")
 (license license:silofl1.1)))
 
+(define-public font-google-roboto
+  (package
+(name "font-google-roboto")
+(version "2.136")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append 
"https://github.com/google/roboto/releases/download/;
+   "v" version "/roboto-hinted.zip"))
+   (file-name (string-append name "-" version ".zip"))
+   (sha256
+(base32
+ "0spscx08fad7i8qs7icns96iwcapniq8lwwqqvbf7bamvs8qfln4"
+(native-inputs `(("unzip" ,unzip)))
+(build-system trivial-build-system)
+(arguments
+ `(#:modules ((guix build utils))
+   #:builder (begin
+   (use-modules (guix build utils)
+(srfi srfi-26))
+
+   (let ((PATH (string-append (assoc-ref %build-inputs
+ "unzip")
+  "/bin"))
+ (font-dir (string-append %output
+  "/share/fonts/truetype")))
+ (setenv "PATH" PATH)
+ (system* "unzip" (assoc-ref %build-inputs "source"))
+
+ (mkdir-p font-dir)
+ (chdir "roboto-hinted")
+ (for-each (lambda (ttf)
+ (copy-file ttf
+(string-append font-dir "/" ttf)))
+   (find-files "." "\\.ttf$"))
+(home-page "https://github.com/google/roboto;)
+(synopsis "The Roboto family of fonts")
+(description
+ "Roboto is Google’s signature family of fonts, the default font on Android
+and Chrome OS, and the recommended font for the
+visual language \"Material Design\".")
+(license license:asl2.0)))
+
 (define-public font-un
   (package
 (name "font-un")
-- 
2.11.0




Re: [PATCH] gnu: Add ghc-markdown-unlit.

2017-01-04 Thread David Craven
> +   (source
> + (origin

should be (source (origin

> +   (home-page
> + "https://github.com/sol/markdown-unlit#readme;)
> +   (synopsis
> + "Literate Haskell support for Markdown")
> +   (description
> + "This package allows you to have a README.md that at the same time is a

(home-page "https://github.com/sol/markdown-unlit#readme;)
(synopsis "Literate Haskell support for Markdown")
(description  "This package

LGTM with these changes



Re: [PATCH 2/3] gnu: Add fluid.

2017-01-04 Thread David Craven
Or it could go into a separate build-system. There are quite a few kde
phases that could go in there. Either way, I'm fine with it.



Re: PATCH as first attempt to fix the sad curl situation

2017-01-04 Thread ng0
ng0  writes:

> [PATCH] gnu: curl: Add ca-bundle to config.
>
> I had to disable test 324, but the rest passed. I hope this fixes the cURL 
> problem, though I haven't tested reconfiguring a system with it as it would 
> require rebasing some of my older, still waiting final aproval, patches.
>
>

ng0@wasp /gnu/store/09ncbabac6vniawypgwqxshx6dyjmph1-curl-7.50.3/bin$ 
./curl-config --configure
 'CONFIG_SHELL=/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/bash' 
'SHELL=/gnu/store/qkw4zrwfybxww8f56nkb6hggxambk89b-bash-4.4.0/bin/bash' 
'--prefix=/gnu/store/09ncbabac6vniawypgwqxshx6dyjmph1-curl-7.50.3' 
'--enable-fast-install' 
'--docdir=/gnu/store/fq85pwcn5kvy1f5a82n259pj9wv00ix7-curl-7.50.3-doc/share/doc/curl'
 '--build=x86_64-unknown-linux-gnu' '--with-gnutls' '--with-gssapi' 
'--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt' 
'build_alias=x86_64-unknown-linux-gnu'


-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH] gnu: Add ldc-1.1.0-beta4

2017-01-04 Thread Pjotr Prins
Great work Fred! 

On Wed, Jan 04, 2017 at 05:01:14PM +0300, Frederick Muriithi wrote:
> Added ldc-1.1.0-beta4 since all other beta versions from there seem to
> reuse the same phobos, druntime and dmd-testsuite.

Yes, they do. I have been using your package (w.o. test patches, i.e.,
test? f) to build beta6 and it works a charm. The new ldc D compiler is
great and I am using it every day.

Note to others, we still need ldc 0.17.2 in Guix because the ldc 1.1.x
compilers are written in D and we need to bootstrap from the last C
version.

Pj.



[PATCH] gnu: curl: Add ca-bundle to config.

2017-01-04 Thread ng0
* gnu/packages/curl.scm (curl)[arguments]: Add "--with-ca-bundle" configure 
flag.
[arguments]: Disable failing test number 324.
---
 gnu/packages/curl.scm | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 7329d870d..3473055b8 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Tomáš Čech 
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2016 Leo Famulari 
+;;; Copyright © 2017 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -65,7 +66,8 @@
("pkg-config" ,pkg-config)
("python" ,python-2)))
(arguments
-`(#:configure-flags '("--with-gnutls" "--with-gssapi")
+`(#:configure-flags '("--with-gnutls" "--with-gssapi"
+  
"--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt")
   ;; Add a phase to patch '/bin/sh' occurances in tests/runtests.pl
   #:phases
   (modify-phases %standard-phases
@@ -104,6 +106,15 @@
;;  * Connection #3 to host server4.example.com left intact[LF]
(delete-file "tests/data/test1510")
 
+   ;; XXX: FIXME: Test #0324 requires access to the
+   ;; /etc/ssl/certs/ca-certificates.crt, which can't happen for the 
builder.
+   ;; It fails with the following error:
+   ;; test 0324...[TLS-SRP with server cert checking]
+   ;; curl returned 77, when expecting 51
+   ;; exit FAILED
+   ;; - abort tests
+   (delete-file "tests/data/test324")
+
;; The top-level "make check" does "make -C tests quiet-test", which
;; is too quiet.  Use the "test" target instead, which is more
;; verbose.
-- 
2.11.0




PATCH as first attempt to fix the sad curl situation

2017-01-04 Thread ng0
[PATCH] gnu: curl: Add ca-bundle to config.

I had to disable test 324, but the rest passed. I hope this fixes the cURL 
problem, though I haven't tested reconfiguring a system with it as it would 
require rebasing some of my older, still waiting final aproval, patches.



Re: [PATCH 2/3] gnu: Add fluid.

2017-01-04 Thread Danny Milosavljevic
Hi,

> + `(#:tests? #f)) ; 3 tests want a connection to the display.

Please set the QT_QPA_PLATFORM environment variable. and let the tests run:

  (setenv "QT_QPA_PLATFORM" "offscreen")

Or does this not work for some reason?

Otherwise OK!

P.S. What do you all think about putting that setenv into the 
cmake-build-system? I can't think of any Qt project where I don't want to set 
this for tests. On non-Qt projects it would do nothing even if set.



[PATCH] gnu: Add ghc-markdown-unlit.

2017-01-04 Thread Danny Milosavljevic
* gnu/packages/haskell.scm (ghc-markdown-unlit): New variable.
---
 gnu/packages/haskell.scm | 33 +
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index de061a630..899a5b24c 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -8073,4 +8073,37 @@ It features a complete, well-tested parser and pretty 
printer for all of C99
 and a large set of GNU extensions.")
 (license license:bsd-3)))
 
+(define-public ghc-markdown-unlit
+  (package
+   (name "ghc-markdown-unlit")
+   (version "0.4.0")
+   (source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+  "https://hackage.haskell.org/package/markdown-unlit/;
+  "markdown-unlit-" version ".tar.gz"))
+   (sha256
+ (base32
+   "1kj2bffl7ndd8ygwwa3r1mbpwbxbfhyfgnbla8k8g9i6ffp0qrbw"
+   (build-system haskell-build-system)
+   (inputs
+`(("ghc-base-compat" ,ghc-base-compat)
+  ("ghc-hspec" ,ghc-hspec)
+  ("ghc-quickcheck" ,ghc-quickcheck)
+  ("ghc-silently" ,ghc-silently)
+  ("ghc-stringbuilder" ,ghc-stringbuilder)
+  ("ghc-temporary" ,ghc-temporary)))
+   (native-inputs
+`(("hspec-discover" ,hspec-discover)))
+   (home-page
+ "https://github.com/sol/markdown-unlit#readme;)
+   (synopsis
+ "Literate Haskell support for Markdown")
+   (description
+ "This package allows you to have a README.md that at the same time is a
+literate Haskell program.  See also $url{Documentation,
+https://github.com/sol/markdown-unlit#readme}.;)
+   (license license:expat)))
+
 ;;; haskell.scm ends here



Re: [PATCH 08/96] gnu: Add ocaml-ounit.

2017-01-04 Thread David Craven
Looks like the license is expat.



[PATCH] gnu: Add ldc-1.1.0-beta4

2017-01-04 Thread Frederick Muriithi
Added ldc-1.1.0-beta4 since all other beta versions from there seem to
reuse the same phobos, druntime and dmd-testsuite.

-- 
Frederick M. Muriithi
From 61389a8bda637e2550bf488645b4737b5f549a64 Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki 
Date: Wed, 4 Jan 2017 16:42:57 +0300
Subject: [PATCH] gnu: Add ldc-1.1.0-beta4

* gnu/packages/ldc.scm (ldc-1.1.0-beta4): New variable
* gnu/packages/ldc.scm (ldc-beta): New Variable
* gnu/packages/patches/ldc1.1.0-disable-dmd-tests.patch: New patch
* gnu/packages/patches/ldc1.1.0-disable-phobos-tests.patch: New patch
---
 gnu/packages/ldc.scm   |  78 
 .../patches/ldc1.1.0-disable-dmd-tests.patch   |  28 ++
 .../patches/ldc1.1.0-disable-phobos-tests.patch| 415 +
 3 files changed, 521 insertions(+)
 create mode 100644 gnu/packages/patches/ldc1.1.0-disable-dmd-tests.patch
 create mode 100644 gnu/packages/patches/ldc1.1.0-disable-phobos-tests.patch

diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 6ea7f66..a51c15f 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -27,6 +27,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages python)
@@ -171,3 +172,80 @@ latest DMD frontend and uses LLVM as backend.")
 (license (list license:bsd-3
license:gpl2+
license:boost1.0
+
+
+(define-public ldc-1.1.0-beta4
+  (package
+(inherit ldc)
+(name "ldc")
+(version "1.1.0-beta4")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"https://github.com/ldc-developers/ldc/archive/v;
+version ".tar.gz"))
+  (file-name (string-append name "-" version ".tar.gz"))
+  (sha256
+   (base32
+"04n6sbz6l658s32f7zilpbi9m8a1m4g5wrgl44igkvla30niy5yn"
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-submodule-sources
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let ((unpack (lambda (source target)
+ (with-directory-excursion target
+   (zero? (system* "tar" "xvf"
+   (assoc-ref inputs source)
+   "--strip-components=1"))
+   (and (unpack "phobos-src" "runtime/phobos")
+(unpack "druntime-src" "runtime/druntime")
+(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
+ (add-after 'unpack-submodule-sources 'patch-phobos
+   (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "runtime/phobos/std/process.d"
+   (("/bin/sh") (which "sh"))
+   (("echo") (which "echo")))
+ (substitute* "runtime/phobos/std/datetime.d"
+   (("/usr/share/zoneinfo/")
+(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
+ (substitute* "tests/d2/dmd-testsuite/Makefile"
+   (("/bin/bash") (which "bash")))
+ #t)
+(native-inputs
+ `(("llvm" ,llvm)
+   ("ldc" ,ldc)
+   ("python-lit" ,python-lit)
+   ("python-wrapper" ,python-wrapper)
+   ("gdb" ,gdb)
+   ("phobos-src"
+,(origin
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/ldc-developers/phobos/archive/ldc-v;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1iwy5rs0rqkicj1zfsa5yqvk8ard99bfr8g69qmhlbzb98q0kpks"))
+   (patches (search-patches "ldc1.1.0-disable-phobos-tests.patch"
+   ("druntime-src"
+,(origin
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/ldc-developers/druntime/archive/ldc-v;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "1qsiw5lz1pr8ms9myjf8b94nqi7f1781k226jvxwnhkjg11d0s63"
+   ("dmd-testsuite-src"
+,(origin
+   (method url-fetch)
+   (uri (string-append
+ "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v;
+ version ".tar.gz"))
+   (sha256
+(base32
+ "0jp54hyi75i9g41rvgmm3zg21yzv57q8dghrhb432rb0n9j15mbp"))
+   (patches (search-patches "ldc1.1.0-disable-dmd-tests.patch"
+
+(define-public ldc-beta ldc-1.1.0-beta4)
diff --git a/gnu/packages/patches/ldc1.1.0-disable-dmd-tests.patch b/gnu/packages/patches/ldc1.1.0-disable-dmd-tests.patch
new file mode 100644
index 000..952fcb8
--- /dev/null
+++ b/gnu/packages/patches/ldc1.1.0-disable-dmd-tests.patch
@@ 

Re: [PATCH 06/96] gnu: ocaml: Use a helper function to download from ocaml-forge.

2017-01-04 Thread David Craven
+  (ocaml-forge-origin name version 1627
+"0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib"))

I changed this to be ocaml-forge-uri.

There are multiple reasons why I think it's a better idea:

* if one ever writes an ocaml updater then it can use the existing
code to update the hash.
* the hash is checked at compile time to be a correct base32 hash
(when running make). This is because base32 is implemented as a syntax
rule.
* it's consistent with what other packages do.



Re: cargo-build-system: cargo-build-flags: --cfg=unix in package recipe

2017-01-04 Thread ng0
Danny Milosavljevic  writes:

> I'm against packaging unstable stuff. We would be packaging a moving target 
> where everything breaks every day. Let's not.
>
> There's a reason there are stable releases (of anything): there's (supposed 
> to be) a (social) guarantee that the API doesn't change in incompatible ways.
>
> If a library doesn't work in a stable release, upstream has to get it to 
> work. Simple as that.
> Otherwise it just shouldn't be packaged. People can still use cargo to 
> install it so we aren't preventing anyone from using it.
>
> That said, there could be a rustc-devel package (only for rustc). Other 
> packages, people should be on their own.
>
> Please, let's not make unstable stable by decree. If anything, upstream 
> should just release more stuff as stable (if it's stable) :P
>

I agree. I think it's not a solution we should try unless we
haven't tried every possible solution out there.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: cargo-build-system: cargo-build-flags: --cfg=unix in package recipe

2017-01-04 Thread Danny Milosavljevic
I'm against packaging unstable stuff. We would be packaging a moving target 
where everything breaks every day. Let's not.

There's a reason there are stable releases (of anything): there's (supposed to 
be) a (social) guarantee that the API doesn't change in incompatible ways.

If a library doesn't work in a stable release, upstream has to get it to work. 
Simple as that.
Otherwise it just shouldn't be packaged. People can still use cargo to install 
it so we aren't preventing anyone from using it.

That said, there could be a rustc-devel package (only for rustc). Other 
packages, people should be on their own.

Please, let's not make unstable stable by decree. If anything, upstream should 
just release more stuff as stable (if it's stable) :P



Re: Graphical Installer - Call for Testing.

2017-01-04 Thread Thomas Danckaert

From: John Darrington 
Subject: Graphical Installer - Call for Testing.
Date: Wed, 4 Jan 2017 08:59:28 +0100

The wip-installer branch is ready for testing and general review.


This branch provides a curses based graphical interface to the disk
images used for installing GuixSD. It is intended to allow users
unfamiliar with bash and other aspects of unix-like operating 
systems
to easily install GuixSD.   This means, it should allow you to 
install

GuixSD on a bare PC, without ever touching a shell (whilst still
providing that option for those who want it).
[...]
Please report coding and usability issues.


Hi,

I was just playing with it a bit yesterday (I built my own 
installation image according to the instructions in the manual), and 
tried to install to a qemu vm.  I also ran the installer from my git 
checkout (running ./pre-inst-env guix system installer and browsing 
the menus without actually installing anything).


Here are some remarks, which perhaps mostly illustrate my own 
confusion, but might serve to make the interface easier to understand 
:-)


 - General usability: It would be nice to have something like a
   tooltip (text at the bottom of the screen?) explaining what each
   button does when it's highlighted.  It wasn't obvious to me what
   buttons such as “Continue” “Back” “Save” “Write” or “Check” would
   do, and which buttons were required or optional.  Maybe my
   confusion was partly caused by the fact that some buttons don't
   seem to work (see next).  This is just a suggestion, I'm not sure
   if there's room on the screen for more text.  A manual 
accompanying

   the interface could also help, but a self-explanatory interface is
   of course better :)

 - From“partition the disks”, I can only go back to the main menu by
   highlighting “Continue” and pressing enter/space (using the “Back”
   button or “B” doesn't seem to work).  In the “allocate disk
   partitions” menu, the Back and Continue buttons work when I select
   them and press “space” or when I press “B” or “C”, but not when I
   select it and use “enter” (this takes me back to the allocation
   menu for the currently selected disk, possibly this is intended?)

 - For those not used to curses-based interfaces (like me
   apparently?), some explanation of which buttons to press (enter or
   space?) could help.  Also, the shortcuts (e.g. “B” for back) are
   highlighted when I run the installer from my system (in my case,
   from gnome terminal), but in the tty on the VM, this highlighting
   is invisible.  What about a pure ascii way to highlight the
   shortcuts, like “ack” and “ontinue”?

 - When I choose a mount point for a partition and run “check”, part
   of the check output seems to fall off the screen (see attached
   screenshot).  Is it possible to wrap the text lines so they fit in
   the screen (and maybe make the output scrollable?).

 - Possibly a qemu issue: the interface was rather slow to respond to
   commands on the qemu VM. Running the installer menu “natively” 
from

   the guix source dir, everything was snappy.

 - Probably a qemu issue on my system: somehow I can't get networking
   to work like it says in the manual (manual says to specifiy “-net
   default” but my qemu complains this option doesn't exist, I have 
to
   use “-net user”, but then don't seem to get a network in the VM 
:-/

   ) , and the networking setup crashes the installer (“Command
   failed: no such device (-19)”) and causes a renewed automatic 
login.


Because of the networking issue in my VM, I couldn't proceed with the
actual installation.  Will report back if/when I solve it.

Thomas


Re: state of darcs

2017-01-04 Thread ng0
ng0  writes:

> Leo Famulari  writes:
>
>> On Tue, Nov 29, 2016 at 11:52:07PM +, ng0 wrote:
>>> Hi,
>>> 
>>> I wanted to ask wether you made any progress with my darcs
>>> package or if there's anything other people can help out with or
>>> test.
>>
>> The only thing left is to make it use the TLS certificate store
>> correctly, right?
>>
>> I seem to remember that the WIP Darcs package fails to connect to TLS
>> servers when it can't find the certificate store. Is that right? That's
>> better than if it silently fails to validate the server's certificate.
>
> Yes, that's correct. And as far as I can recall discussions, it
> was because of some other application, curl maybe? I'm not sure.
>
> The interaction with non-tls darcs servers worked.
> -- 
> ♥Ⓐ  ng0  | ng0.chaosnet.org
>
>

It seems as if fixing curl is in the way for darcs and curl and
gnurl and the pastebin I've sent several months ago.
I try to fix curl then, hope this will help to prevent these
patches from falling to bitrot.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



[PATCH 3/3] gnu: Add font-google-roboto.

2017-01-04 Thread ng0
* gnu/packages/fonts.scm (font-google-roboto): New variable.
---
 gnu/packages/fonts.scm | 45 -
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index f01b83155..d2832218a 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2015 Eric Dvorsak 
 ;;; Copyright © 2015 Ricardo Wurmus 
 ;;; Copyright © 2015, 2016 Leo Famulari 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016 Jookia <166...@gmail.com>
 ;;; Copyright © 2016 Eric Bavier 
 ;;; Copyright © 2016 Dmitry Nikolaev 
@@ -703,6 +703,49 @@ languages with a consistent look and aesthetic.  It's goal 
is to have no Unicode
 symbols unable to be displayed properly.")
 (license license:silofl1.1)))
 
+(define-public font-google-roboto
+  (package
+(name "font-google-roboto")
+(version "2.136")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append 
"https://github.com/google/roboto/releases/download/;
+   "v" version "/roboto-hinted.zip"))
+   (file-name (string-append name "-" version ".zip"))
+   (sha256
+(base32
+ "0spscx08fad7i8qs7icns96iwcapniq8lwwqqvbf7bamvs8qfln4"
+(native-inputs `(("unzip" ,unzip)))
+(build-system trivial-build-system)
+(arguments
+ `(#:modules ((guix build utils))
+   #:builder (begin
+   (use-modules (guix build utils)
+(srfi srfi-26))
+
+   (let ((PATH (string-append (assoc-ref %build-inputs
+ "unzip")
+  "/bin"))
+ (font-dir (string-append %output
+  "/share/fonts/truetype")))
+ (setenv "PATH" PATH)
+ (system* "unzip" (assoc-ref %build-inputs "source"))
+
+ (mkdir-p font-dir)
+ (chdir "roboto-hinted")
+ (for-each (lambda (ttf)
+ (copy-file ttf
+(string-append font-dir "/" ttf)))
+   (find-files "." "\\.ttf$"))
+(home-page "https://github.com/google/roboto;)
+(synopsis "The Roboto family of fonts")
+(description
+ "Roboto is Google’s signature family of fonts, the default font on Android
+and Chrome OS, and the recommended font for the
+visual language \"Material Design\".")
+(license license:asl2.0)))
+
 (define-public font-un
   (package
 (name "font-un")
-- 
2.11.0




Patches to add: DOtherSide, fluid, font-google-roboto

2017-01-04 Thread ng0
Seeing that the cargo build-system still needs some time and I'm a very early 
user, here's the non-rust patches splitt off from the chain, rebased into 
master.

Guix lint reported nothing on them.




[PATCH 2/3] gnu: Add fluid.

2017-01-04 Thread ng0
* gnu/packages/qt.scm (fluid): New variable.
---
 gnu/packages/qt.scm | 31 +++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 41aa10291..8cd701293 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages pciutils)
@@ -1347,3 +1348,33 @@ a binding language:
 @item Creating from Singleton QML QObject defined in the binded language
 @end itemize\n")
 (license license:lgpl3)))
+
+(define-public fluid
+  (package
+(name "fluid")
+(version "0.9.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/lirios/fluid/releases/download/;
+   "v" version "/" name "-" version ".tar.xz"))
+   (file-name (string-append name "-" version ".tar.xz"))
+   (sha256
+(base32
+ "0m6mijlnizgvmh0z2wcrmkfl5cdrylxz3d7bqii8dasmm0q8f68y"
+(build-system cmake-build-system)
+(arguments
+ `(#:tests? #f)) ; 3 tests want a connection to the display.
+(native-inputs
+ `(("extra-cmake-modules" ,extra-cmake-modules)))
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)
+   ("qtsvg" ,qtsvg)
+   ("qtquickcontrols2" ,qtquickcontrols2)))
+(home-page "https://github.com/lirios/fluid;)
+(synopsis "Library for QtQuick applications")
+(description
+ "Fluid is a collection of cross-platform QtQuick components for
+building fluid and dynamic applications.")
+(license license:mpl2.0)))
-- 
2.11.0




[PATCH 1/3] gnu: Add dotherside.

2017-01-04 Thread ng0
* gnu/packages/qt.scm (dotherside): New variable.
---
 gnu/packages/qt.scm | 36 +++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 15beb8037..41aa10291 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015 Sou Bunnbu 
 ;;; Copyright © 2015 Ludovic Courtès 
 ;;; Copyright © 2015, 2016 Efraim Flashner 
-;;; Copyright © 2016 ng0 
+;;; Copyright © 2016, 2017 ng0 
 ;;; Copyright © 2016 Thomas Danckaert 
 ;;;
 ;;; This file is part of GNU Guix.
@@ -1313,3 +1313,37 @@ embed content from the World Wide Web into your Qt 
application.  At the same
 time Web content can be enhanced with native controls.")
 
 (license license:lgpl2.1+)))
+
+(define-public dotherside
+  (package
+(name "dotherside")
+(version "0.5.2")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://github.com/filcuc/DOtherSide/;
+   "archive/v" version ".tar.gz"))
+   (file-name (string-append name "-" version ".tar.gz"))
+   (sha256
+(base32
+ "0pqlrvy4ajjir80ra79ka3n0rjj0ir0f0m91cq86iz3nnw8w148z"
+(build-system cmake-build-system)
+(native-inputs
+ `(("qttools" ,qttools)))
+(inputs
+ `(("qtbase" ,qtbase)
+   ("qtdeclarative" ,qtdeclarative)))
+(home-page "https://github.com/frankosterfeld/qtkeychain;)
+(synopsis "C language library for creating bindings for the Qt QML 
language")
+(description
+ "DOtherSide is a C language library for creating bindings for the
+QT QML language.  The following features are implementable from
+a binding language:
+@itemize
+@item Creating custom QObject
+@item Creating custom QAbstractListModels
+@item Creating custom properties, signals and slots
+@item Creating from QML QObject defined in the binded language
+@item Creating from Singleton QML QObject defined in the binded language
+@end itemize\n")
+(license license:lgpl3)))
-- 
2.11.0




Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread ng0
Danny Milosavljevic  writes:

> Hi ng0,
>
>> > For those I checked (like rust-openssl-sys) left me in confusion. Does our 
>> > cargo build-system just build nothing?
>
> Most Rust libraries are installed as source code (similar to C++ templates 
> which are also installed as source code).

Okay, I'm totally new to Rust, the developers at my side might've
told me before but I forgot about it I guess.

> The current Guix master cargo build system doesn't build anything.

Ah!

> On the other hand, my WIP v2 build system does build the libraries. But 
> that's not because it installs the stuff it built (it shouldn't - it should 
> install the source code), it's just to make it easily possible to find out 
> what dependencies are missing and whether it's the correct version of the 
> library (e.g. working in Rust stable). Is builds in the "build" phase AND in 
> the "check" phase in order to find out which dependencies are required for 
> the library and which are required for the tests only.
>
>> Are all of these libraries? rust-openssl-sys contained nothing, but 
>> rust-openssl-sys:src had all the data.
>
> Yeah, David added a "src" output that contains the source code.

The openssl-sys (or rather, the openssl crate) was one of these
crates which required an external, non-rust dependency to be
present. I was wondering how rust dealt with this, as I was just
following upstream description and saw that something must be
missing/broken at our end (or somewhere down my graph).

> My WIP v2 build system doesn't do that yet since I have ~5000 lines of 
> existing rust package recipes I'd have to update - and I'd rather get 
> everything to work first and then drop all my Rust packages and recreate 
> them. Keep in mind that if you want to use my WIP v2 build system you also 
> have to either (1) patch guix/build-system/cargo.scm not to do the src output 
> or (2) patch guix/build/cargo-build-system.scm to do the src output. 
> Please be advised that it's not finished yet - that's why it's marked WIP and 
> not merged :)
>
> This is all very much work-in-progress. But your Rust package recipes without 
> dependencies probably won't change later. So those are fine. The others - 
> ehhh don't know yet. For example it's not clear yet to me whether we need 
> propagated-inputs for source libs. I think we do.

I could create a branch with just those 0 dependency crates (see
below for a list including but not limited to them) and send them
to be merged? That's a base which can't be (very) wrong.

In addition I could also split off the fluid and roboto patch to
be merged.

> Right now I'm working on untangling circular dependencies manually - probably 
> have to talk to upstream some more.
>
> (Sigh... why do people so often create circular dependencies? Don't they feel 
> icky about it?)
>

I have rebased with the latest master since David just pushed the
cargo updates. Building rust-serde gave me the VM error you
mentioned earlier.


David Craven wrote:

> > Both can happen at the same time and help each other. I/we need
> > these patches, and I think keeping this branch around on our
> > (my)
> > side will help finding bugs in the cargo build-system. I just
> > hope it won't be another year until it all works well enough.

> Well if you'd like to help there, I think that finding and
> packaging a
> simple package that contains a Cargo.lock file and a dependency
> tree
> <= 10 crates would be a more useful test scenario. A test base
> this
> large would be useful at a later stage. I'm having difficulties
> finding a crate that fits those requirements, maybe I'll package
> some
> old rust project of mine...

I have most dependency trees listed in our gitlab. I can
paste the ones where I found less than 10 dependencies.
Keep in mind I could be wrong about some as later I started
to add not all dependencies for those I already packaged
before. No names except the name itself means that it has 0
dependencies, and "~" was a visual guideline for myself when
I still used gitlab's limited markdown to track what I
already packaged:

 futures
 log
 bitflags
 cfg-if
 void
 scoped-tls
 slab
 tempdir
 openssl-probe
 pkg-config
 rustc-serialize
 tempdir
 time -> needs: (advapi32-sys), ~log~, (kernel32-sys), ~libc~, 
rustc-serialize, (winapi)
 bitflags
 libc
 glob
 rand
 nix-test
 bytes -> needs: rand
 spin
 lazy-static
 qml (will require DOtherSide and crates: lazy-static, libc

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread David Craven
> Both can happen at the same time and help each other. I/we need
> these patches, and I think keeping this branch around on our (my)
> side will help finding bugs in the cargo build-system. I just
> hope it won't be another year until it all works well enough.

Well if you'd like to help there, I think that finding and packaging a
simple package that contains a Cargo.lock file and a dependency tree
<= 10 crates would be a more useful test scenario. A test base this
large would be useful at a later stage. I'm having difficulties
finding a crate that fits those requirements, maybe I'll package some
old rust project of mine...



Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread ng0
David Craven  writes:

>> One more addition: I will only send a rebased patch series after
>> all patches have been reviewed.
>
>> I think running “guix lint” is essential before submitting patches to
>> the mailing list, because it avoids wasted effort for a lot of common
>> mistakes.
>
> It is my opinion that it is to early to be merging hundreds of rust
> packages, and that the cargo-build-system has some "deep" issues that
> need fixing first.

Both can happen at the same time and help each other. I/we need
these patches, and I think keeping this branch around on our (my)
side will help finding bugs in the cargo build-system. I just
hope it won't be another year until it all works well enough.

I see that new rust related patches landed now, so I have to
rebase now. I'm waiting for more reviews and will send a rebased
version then.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: cargo-build-system: cargo-build-flags: --cfg=unix in package recipe

2017-01-04 Thread David Craven
> Can we package rust nightly instead?
> The ABI is stable nowhere, but nightly has all the features while
> stable is limited.

I doubt that this solves any underlying problem. This was one of my
initial thoughts too. I've already tried these superficial hacks that
try to avoid the problem. But I'm having a hard time convincing people
that the problems are "fundamental" and no amount of superficial hacks
is going to fix circular dependencies etc. etc.

But again I may be wrong and I always say don't take my word for it.
If you find that it fixes the problem, you are welcome to submit some
patches for review.



Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread Danny Milosavljevic
Hi ng0,

> > For those I checked (like rust-openssl-sys) left me in confusion. Does our 
> > cargo build-system just build nothing?

Most Rust libraries are installed as source code (similar to C++ templates 
which are also installed as source code).

The current Guix master cargo build system doesn't build anything.

On the other hand, my WIP v2 build system does build the libraries. But that's 
not because it installs the stuff it built (it shouldn't - it should install 
the source code), it's just to make it easily possible to find out what 
dependencies are missing and whether it's the correct version of the library 
(e.g. working in Rust stable). Is builds in the "build" phase AND in the 
"check" phase in order to find out which dependencies are required for the 
library and which are required for the tests only.

> Are all of these libraries? rust-openssl-sys contained nothing, but 
> rust-openssl-sys:src had all the data.

Yeah, David added a "src" output that contains the source code.

My WIP v2 build system doesn't do that yet since I have ~5000 lines of existing 
rust package recipes I'd have to update - and I'd rather get everything to work 
first and then drop all my Rust packages and recreate them. Keep in mind that 
if you want to use my WIP v2 build system you also have to either (1) patch 
guix/build-system/cargo.scm not to do the src output or (2) patch 
guix/build/cargo-build-system.scm to do the src output. 
Please be advised that it's not finished yet - that's why it's marked WIP and 
not merged :)

This is all very much work-in-progress. But your Rust package recipes without 
dependencies probably won't change later. So those are fine. The others - ehhh 
don't know yet. For example it's not clear yet to me whether we need 
propagated-inputs for source libs. I think we do.

Right now I'm working on untangling circular dependencies manually - probably 
have to talk to upstream some more.

(Sigh... why do people so often create circular dependencies? Don't they feel 
icky about it?)



Re: cargo-build-system: cargo-build-flags: --cfg=unix in package recipe

2017-01-04 Thread ng0
Danny Milosavljevic  writes:

> On Tue, 3 Jan 2017 11:57:48 +0100
> David Craven  wrote:
>
>> > For these I'd like to pass "--cfg=unix" and I'd like to put it into the 
>> > package recipe and not hardcode it into the build system.  
>> 
>> Nice, didn't know about this flag. That explains why it refused to
>> build without the windows dependencies.
>
> I take it back. It's not that easy, unfortunately. That flag either doesn't 
> exist anymore or not yet in stable. In any case while there are forum posts 
> about it it doesn't actually work.

Can we package rust nightly instead?
The ABI is stable nowhere, but nightly has all the features while
stable is limited.

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH 82/86] gnu: rust-quickcheck: Add rust-env-logger input.

2017-01-04 Thread ng0
Danny Milosavljevic  writes:

> On Tue,  3 Jan 2017 23:36:38 +
> ng0  wrote:
>
>> * gnu/packages/rust.scm (rust-quickcheck)[arguments]: Add rust-env-logger.
>> -   ;; TODO: ("rust-env-logger" ,rust-env-logger "src")
>> +   ("rust-env-logger" ,rust-env-logger "src")
>
> That causes a cycle rust-quickcheck - rust-env-logger - rust-regex - 
> rust-quickcheck. I should know because it took hours until I tracked it down 
> in my copy :)
>
> If you try to do "guix package -i rust-env-logger" or any of these packages 
> mentioned, it'll crash with a Guile VM stack overflow.
>
> Please think of a way to fix that.
>

Really? Damn..

I thought I fixed the infinite dependency loop I was in with
this.
I'm out of ideas for now, as on paper I've always ran into
keeping at least one -bootstrap of a package around forever.

Ideas welcome!
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: [PATCH 80/86] gnu: rust-csv: Add rust-regex input.

2017-01-04 Thread ng0
Danny Milosavljevic  writes:

> Cycle rust-csv - rust-regex - rust-aho-corasick - rust-csv.
>

What does this mean?

If you mean by cycle dependency-cycle I'd suggest that you look
more closely at the dependency groups. I was stuck in an infinite
dependency cycle until I solved it by leaving out certain dev
dependencies.
-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread David Craven
> One more addition: I will only send a rebased patch series after
> all patches have been reviewed.

> I think running “guix lint” is essential before submitting patches to
> the mailing list, because it avoids wasted effort for a lot of common
> mistakes.

It is my opinion that it is to early to be merging hundreds of rust
packages, and that the cargo-build-system has some "deep" issues that
need fixing first.



Re: 77 Rust Crates, fluid, roboto-font, libpsyc rust bindings

2017-01-04 Thread ng0
ng0  writes:

> ... and I still am not sure wether the build system works or not (see bottom 
> of this email) because I still have to learn more about this language. Our 
> prototype will soon switch to fluid (it's currently using qml-material but I 
> refrained from adding that as its upstream looks like it moved on to fluid), 
> so apart from the prototype the only "real" application I can check this 
> chain on can only be added later after this has been added. Remember 
> panopticon, the package which got me to poke at the rust/cargo in winter of 
> 2015 and spring of last year? This can be made functional (finally) once I 
> package some more crates in addition to all the ones I send with this.
>
> Please provide constructive critique and review. Read the crate repositories 
> and their own descriptions etc. It was very hard and not intentional to end 
> up with tautological descriptions/synopsis. Remember that we are starting at 
> zero and that some (most?) of the now following crates add very basic 
> functionalities.
>
…
>
>
>
> I have not run any of the 81 packages through guix lint, I would if I would 
> know a way to mass lint a list of packages.
> For those I checked (like rust-openssl-sys) left me in confusion. Does our 
> cargo build-system just build nothing? Are all of these libraries? 
> rust-openssl-sys contained nothing, but rust-openssl-sys:src had all the 
> data. Same goes for the libpsyc-rust
>
>

One more addition: I will only send a rebased patch series after
all patches have been reviewed.
As a proof of concept I can go on and add more dependencies and
package panopticon (https://panopticon.re) if that's what's
needed for acceptance? As written above, I will do it anyway
after the patches are in. it would just add 12 - 40 (depending on
how much dependencies of dependencies I'd need) more patches, so
this current patch series is more friendly.

-- 
♥Ⓐ  ng0
PGP keys and more: https://n0is.noblogs.org/ http://ng0.chaosnet.org



  1   2   >