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

2017-02-06 Thread Thomas Danckaert

Hi Ricardo,

From: Ricardo Wurmus 
Subject: Re: [PATCH 1/2] gnu: Add freerdp.
Date: Mon, 06 Feb 2017 21:11:34 +0100


+(arguments
+ `(#:configure-flags
+   '("-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DWITH_PULSE=ON"
+ "-DWITH_CUPS=ON" "-DWITH_SSE2=ON")


Is WITH_SSE2 used to ensure that this won’t use uncommon CPU 
features?


Actually I don't know... why it is used, and it works just fine
without it. I got it from the (possibly outdated) build instructions
at https://github.com/FreeRDP/FreeRDP/wiki/Compilation (which also
suggest to make a “debug” build without explaining why...?).


+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'patch-cmakelists
+   (lambda _
+ (substitute* "channels/client/CMakeLists.txt"
+   (("list\\(REMOVE_DUPLICATES 
CHANNEL_STATIC_CLIENT_ENTRIES\\)")

+"")


Please add a comment that explains why this is needed.  Also make 
sure
to end the phase with “#t” because “substitute*” does not (yet) 
return a

truthy value.


I've added a comment.  It's just that this list is somehow empty, and 
CMake complains that it can't remove duplicates from an empty list 
(...).  (This fix is no longer needed when building freerdp's current 
master, but it seems I can't use freerdp master in current vinagre)



+   #:tests? #f)) ; no 'test' target


Actually, the usual target is “check” :)  The comment should 
probably
either say “no tests” or “no ’check’ target”.  But this is 
nitpicking.


Actually, in a cmake-generated Makefile, it's 'make test' :-)  But 
I'm happy with 'no tests', too. I was just aiming for absolute 
clarity.



[...]
Okay with the above changes.  Thanks!


Thanks for reviewing so quickly.

Thomas
From bcca85478a273789043f46e9574a58d26591bf56 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert 
Date: Mon, 6 Feb 2017 17:19:06 +0100
Subject: [PATCH] gnu: Add freerdp.

* gnu/packages/rdesktop.scm (freerdp): New variable.
---
 gnu/packages/rdesktop.scm | 71 ++-
 1 file changed, 70 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index e40852b..f98ad35 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Ludovic Courtès 
+;;; Copyright © 2017 Thomas Danckaert 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,9 +21,19 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cups)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xml))
 
 (define-public rdesktop
   (package
@@ -57,3 +68,61 @@
 capable of natively speaking Remote Desktop Protocol (RDP).  It allows users
 to remotely control a user's Windows desktop.")
 (license license:gpl3+)))
+
+(define-public freerdp
+  (package
+(name "freerdp")
+(version "1.2.0-beta1+android9")
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+(url "git://github.com/FreeRDP/FreeRDP.git")
+(commit version)))
+  (file-name (git-file-name name version))
+  (sha256
+   (base32 "1m0lzrr7hkxfvc5f9p8snimv0rmin2463zhg25mv36wig8g5k7l3"
+(build-system cmake-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("xmlto" ,xmlto)))
+(inputs
+ `(("libx11" ,libx11)
+   ("libxkbfile" ,libxkbfile)
+   ("libxcursor" ,libxcursor)
+   ("libxext" ,libxext)
+   ("libxi" ,libxi)
+   ("libxv" ,libxv)
+   ("libxrandr" ,libxrandr)
+   ("libxrender" ,libxrender)
+   ("libxinerama" ,libxinerama)
+   ("libxshmfence" ,libxshmfence)
+   ("libxml2" ,libxml2)
+   ("libxslt" ,libxslt)
+   ("cups" ,cups)
+   ("ffmpeg" ,ffmpeg)
+   ("pulseaudio" ,pulseaudio)
+   ("alsa-lib" ,alsa-lib)
+   ("gstreamer" ,gstreamer)
+   ("gst-plugins-base" ,gst-plugins-base)
+   ("zlib" ,zlib)
+   ("openssl" ,openssl)))
+(arguments
+ `(#:configure-flags
+   '("-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DWITH_PULSE=ON"
+ "-DWITH_CUPS=ON")
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'patch-cmakelists
+   (lambda _ ; CMake returns an error on REMOVE_DUPLICATES because this list is empty.
+ (substitute* "channels/client/CMakeLists.txt"
+  

[PATCH 2/2] import: Add stackage importer and updater.

2017-02-06 Thread Federico Beffa
An importer/updater for Stackage built on top of the Hackage one.

Regards,
Fede
From 50891dc929a21327405c6a3b58638126456deeed Mon Sep 17 00:00:00 2001
From: Federico Beffa 
Date: Mon, 6 Feb 2017 18:19:26 +0100
Subject: [PATCH 2/2] import: Add stackage importer and updater.

* guix/import/stackage.scm: New file.
* guix/scripts/import/stackage.scm: New file.
* Makefile.am (MODULES): Add new files.
* guix/scripts/import.scm (importers): Add "stackage".
* guix/scripts/refresh.scm (%updaters): Add %stackage-updater.
* doc/guix.texi (Invoking 'guix import'): Document the importer.
  (Invoking 'guix refresh'): Add stackage to option --type valid values.
---
 Makefile.am  |   2 +
 doc/guix.texi|  33 +++-
 guix/import/stackage.scm | 178 +++
 guix/scripts/import.scm  |   3 +-
 guix/scripts/import/stackage.scm | 115 +
 guix/scripts/refresh.scm |   2 +
 6 files changed, 331 insertions(+), 2 deletions(-)
 create mode 100644 guix/import/stackage.scm
 create mode 100644 guix/scripts/import/stackage.scm

diff --git a/Makefile.am b/Makefile.am
index 360c356f1..18501bddf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -126,6 +126,7 @@ MODULES =	\
   guix/import/cabal.scm\
   guix/import/cran.scm\
   guix/import/hackage.scm			\
+  guix/import/stackage.scm			\
   guix/import/elpa.scm   			\
   guix/scripts.scm\
   guix/scripts/download.scm			\
@@ -147,6 +148,7 @@ MODULES =	\
   guix/scripts/import/gnu.scm			\
   guix/scripts/import/nix.scm			\
   guix/scripts/import/hackage.scm		\
+  guix/scripts/import/stackage.scm		\
   guix/scripts/import/elpa.scm  		\
   guix/scripts/environment.scm			\
   guix/scripts/publish.scm			\
diff --git a/doc/guix.texi b/doc/guix.texi
index 6acde6621..8caf1d68d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31,7 +31,8 @@ Copyright @copyright{} 2016 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016 Julien Lepiller@*
 Copyright @copyright{} 2016 Alex ter Weele@*
 Copyright @copyright{} 2017 Clément Lassieur@*
-Copyright @copyright{} 2017 Mathieu Othacehe
+Copyright @copyright{} 2017 Mathieu Othacehe@*
+Copyright @copyright{} 2017 Federico Beffa
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -5340,6 +5341,34 @@ package name by an at-sign and a version number as in the following example:
 guix import hackage mtl@@2.1.3.1
 @end example
 
+@item stackage
+@cindex stackage
+The @code{stackage} importer is a wrapper around the @code{hackage} one.
+It takes a package name, looks up the package version included in an LTS
+@uref{https://www.stackage.org/, Stackage} release and uses the
+@code{hackage} importer to retrieve its metadata.  Note that it is up to
+you to select an LTS release compatible with the GHC compiler used by
+Guix.
+
+Specific command-line options are:
+
+@table @code
+@item --no-test-dependencies
+@itemx -t
+Do not include dependencies required only by the test suites.
+@item --lts-version=@var{version}
+@itemx -r @var{version}
+@var{version} is the desired LTS release version.  If omitted the latest
+release is used.
+@end table
+
+The command below imports metadata for the @code{HTTP} Haskell package
+included in the LTS Stackage release version 7.18:
+
+@example
+guix import stackage --lts-version=7.18 HTTP
+@end example
+
 @item elpa
 @cindex elpa
 Import metadata from an Emacs Lisp Package Archive (ELPA) package
@@ -5504,6 +5533,8 @@ the updater for @uref{https://rubygems.org, RubyGems} packages.
 the updater for @uref{https://github.com, GitHub} packages.
 @item hackage
 the updater for @uref{https://hackage.haskell.org, Hackage} packages.
+@item stackage
+the updater for @uref{https://www.stackage.org, Stackage} packages.
 @item crate
 the updater for @uref{https://crates.io, Crates} packages.
 @end table
diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm
new file mode 100644
index 0..1e536debb
--- /dev/null
+++ b/guix/import/stackage.scm
@@ -0,0 +1,178 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Federico Beffa 
+;;;
+;;; 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 import stackage)
+  #:use-module (ice-9 match)
+  #

[PATCH 1/2] import: json: Explicitly ask for JSON data.

2017-02-06 Thread Federico Beffa
Some sites, if not explicitly asked for JSON data, answer with HTML.
One of them is Stackage.

Regards,
Fede
From 2576e7390c9f8660fbb52e2a72eb782564b8865e Mon Sep 17 00:00:00 2001
From: Federico Beffa 
Date: Sun, 5 Feb 2017 14:42:10 +0100
Subject: [PATCH 1/2] import: json: Explicitly ask for JSON data.

* guix/import/json.scm (json-fetch): Add #:headers to http-fetch call.
---
 guix/import/json.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/guix/import/json.scm b/guix/import/json.scm
index 5940f5e48..c76bc9313 100644
--- a/guix/import/json.scm
+++ b/guix/import/json.scm
@@ -29,7 +29,8 @@
   (guard (c ((and (http-get-error? c)
   (= 404 (http-get-error-code c)))
  #f))   ;"expected" if package is unknown
-(let* ((port (http-fetch url))
+(let* ((port (http-fetch url #:headers '((user-agent . "GNU Guile")
+ (Accept . "application/json"
(result (hash-table->alist (json->scm port
   (close-port port)
   result)))
-- 
2.11.0



Re: [Sharing store/state between Nix and Guix]: How stable is it?

2017-02-06 Thread Pjotr Prins
On Mon, Feb 06, 2017 at 04:14:04PM -0600, rohit yadav wrote:
>Hi,
>Is there anyone who has experimented with above mentioned idea? In theory
>it may be possible, I am just wondering how stable is it? Assuming, I
>installed a package with guix, it should change the database, create a new
>profile. As long as ~/.nix-profile or ~/.guix-profile points to current
>profile I should see the changes in list of packages in the current
>generation. So, at higher level it should almost be indistinguishable
>whether nix or guix is used to manage the profiles.

Yes, it is perfectly safe and some people do that. Note that I would
not *share* the DB and store - just have them separate and they
coexist fine.

>Is there any plan to change the nix core completely (reimplement using
>scheme guile) in the future?

When someone feels the itch it may happen. At FOSDEM someone joked
that we should support the Nix language in Guix - i.e., write a Nix to
Guile interpreter to support Nix packages live in Guix. Alternatively
run two daemons.

Pj.

-- 



Re: Guix package incubator (later a channel)

2017-02-06 Thread Pjotr Prins
On Mon, Feb 06, 2017 at 09:44:48PM +, ng0 wrote:
> Just a reply on the notabug question (I don't have much time otherwise):
> Notabug will eventually move to an instance of pagure.io, you can read
> about this in their own issues where I asked about some question back
> then (no link, sorry .. my name was 'ng0' back on there). Developing
> with pagure might be easier (fedora and surrounding communities)
> compared to the situation they describe in the issue.
> I started packaging pagure for this reason, which is about ~85% done
> (services + pagure itself left to wrap it up ... pagure itself is more
> or less done, just the service are needed. I'm more than happy to pass
> this on (could rebase the pagure patch), as I know I have taken on some
> tasks which would be better handled by different people :)
> That is in case you want to use a GuixSD as a host, otherwise you should
> not have many problems.

That would be a great result :). Also pagure looks very interesting -
simpler than gitlab. I like simple.

I think we should view the incubator as a list of 'throw-away' repo's.
I.e., only the final result matters as and will go into Guix which
means we can start anywhere. If we start on notabug and notabug
migrates, only the better and we can host ourselves when we decide the
process is workable. When we get channels anyone can set up such an
incubator anyway. The incubator is not Guix (tiing).

Pj.



Packaging leiningen (feedback desired)

2017-02-06 Thread alex . ter . weele
If anyone's around, I would appreciate some feedback. I'm trying to
package leiningen, a build tool for clojure projects. The recommended
way to manually install leiningen is to use a script that will download
a .jar
(https://github.com/technomancy/leiningen/blob/stable/bin/lein#L65). This
is also the recommended way to bootstrap: use an older version of
leiningen to build the newer version
(https://github.com/technomancy/leiningen/blob/stable/CONTRIBUTING.md#bootstrapping).

Other distributions, even Nix, use this approach for their leiningen
package. Download the .jar and the "lein" script and put them in the
appropriate places
(https://github.com/technomancy/leiningen/wiki/Packaging).
  * 
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/build-managers/leiningen/default.nix
  * 
https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-java/leiningen-bin/leiningen-bin-2.7.1.ebuild

Anyway, I'm trying to do this right, so my plan is to make a
leiningen-bootstrap package (based on an old version of leiningen) that
will be built "manually", then using that to build a modern
leiningen. Is this the right idea?

I'm also running into some problems with either the clojure or the
icedtea packages, manifesting as "Could not find or load main class":

bash-4.4$ guix environment --ad-hoc clojure
bash-4.4$ java -cp $GUIX_ENVIRONMENT/share/java/ clojure.main
bash: java: command not found
bash-4.4$ exit
bash-4.4$ guix environment clojure
bash-4.4$ java -cp clojure-1.8.0.jar clojure.main
Error: Could not find or load main class clojure.main
bash-4.4$ file clojure-1.8.0.jar 
clojure-1.8.0.jar: Zip archive data, at least v1.0 to extract
bash-4.4$ clojure
bash: clojure: command not found

(I'm trying to emulate https://clojure.org/guides/getting_started here.)

It is unclear to me how the current clojure package is meant to be
used. Could someone clarify that? Ricardo, I believe you reviewed the
patch to add the package...any ideas?

Thanks,
Alex



Re: [PATCH] gnu: Add lshw.

2017-02-06 Thread Gábor Boskovits
This is updated version of patch following guidelines more closely. Please
ignore previous.

2017-02-07 0:13 GMT+01:00 Boskovits, Gábor :

> * gnu/packages/lshw.scm: New file.
> ---
>  gnu/packages/lshw.scm | 34 ++
>  1 file changed, 34 insertions(+)
>  create mode 100644 gnu/packages/lshw.scm
>
> diff --git a/gnu/packages/lshw.scm b/gnu/packages/lshw.scm
> new file mode 100644
> index 0..6b3b4ca0d
> --- /dev/null
> +++ b/gnu/packages/lshw.scm
> @@ -0,0 +1,34 @@
> +(define-module (gnu packages lshw)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix licenses))
> +
> +(define-public lshw
> +  (package
> +(name "lshw")
> +(version "B.02.18")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "http://www.ezix.org/software/";
> +  "files/lshw-" version
> +  ".tar.gz"))
> +  (sha256
> +   (base32
> +"0brwra4jld0d53d7jsgca415ljglmm
> x1l2iazpj4ndilr48yy8mf"
> +(build-system gnu-build-system)
> +(arguments
> +  `(#:phases (modify-phases %standard-phases (delete 'configure));no
> configure
> +#:tests? #f
> +#:make-flags
> +  (list (string-append "PREFIX=" (assoc-ref %outputs "out")
> +(synopsis "Hardware Lister (lshw)")
> +(description
> + "lshw (Hardware Lister) is a small tool to provide detailed
> +information on the hardware configuration of the machine.  It can
> +report exact memory configuration, firmware version, mainboard
> +configuration, CPU version and speed, cache configuration, bus speed,
> +etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC
> +machines (​PowerMac G4 is known to work).")
> +(home-page "http://www.ezix.org/project/wiki/HardwareLiSter";)
> +(license gpl2)))
> --
> 2.11.0
>
>


[PATCH] gnu: Add lshw.

2017-02-06 Thread Boskovits , Gábor
* gnu/packages/lshw.scm: New file.
---
 gnu/packages/lshw.scm | 34 ++
 1 file changed, 34 insertions(+)
 create mode 100644 gnu/packages/lshw.scm

diff --git a/gnu/packages/lshw.scm b/gnu/packages/lshw.scm
new file mode 100644
index 0..6b3b4ca0d
--- /dev/null
+++ b/gnu/packages/lshw.scm
@@ -0,0 +1,34 @@
+(define-module (gnu packages lshw)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public lshw
+  (package
+(name "lshw")
+(version "B.02.18")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://www.ezix.org/software/";
+  "files/lshw-" version
+  ".tar.gz"))
+  (sha256
+   (base32
+"0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"
+(build-system gnu-build-system)
+(arguments
+  `(#:phases (modify-phases %standard-phases (delete 'configure));no 
configure
+#:tests? #f
+#:make-flags
+  (list (string-append "PREFIX=" (assoc-ref %outputs "out")
+(synopsis "Hardware Lister (lshw)")
+(description
+ "lshw (Hardware Lister) is a small tool to provide detailed
+information on the hardware configuration of the machine.  It can
+report exact memory configuration, firmware version, mainboard
+configuration, CPU version and speed, cache configuration, bus speed,
+etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC
+machines (​PowerMac G4 is known to work).")
+(home-page "http://www.ezix.org/project/wiki/HardwareLiSter";)
+(license gpl2)))
-- 
2.11.0




[PATCH] gnu: Add tftp-hpa.

2017-02-06 Thread Boskovits , Gábor
* gnu/packages/tftp-hpa.scm: New file.
---
 gnu/packages/tftp-hpa.scm | 27 +++
 1 file changed, 27 insertions(+)
 create mode 100644 gnu/packages/tftp-hpa.scm

diff --git a/gnu/packages/tftp-hpa.scm b/gnu/packages/tftp-hpa.scm
new file mode 100644
index 0..44a008698
--- /dev/null
+++ b/gnu/packages/tftp-hpa.scm
@@ -0,0 +1,27 @@
+(define-module (gnu packages tftp-hpa)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public tftp-hpa
+  (package
+(name "tftp-hpa")
+(version "5.2")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "https://www.kernel.org/pub/software/";
+  "network/tftp/tftp-hpa/tftp-hpa-" version
+  ".tar.xz"))
+  (sha256
+   (base32
+"12vidchglhyc20znq5wdsbhi9mqg90jnl7qr9qs8hbvaz4fkdvmg"
+(build-system gnu-build-system)
+(arguments `(#:tests? #f)) ; no test target
+(synopsis "HPA's tftp client")
+(description
+ "This is a tftp client derived from OpenBSD tftp with some extra options
+added and bugs fixed.  The source includes readline support but it is not
+enabled due to license conflicts between the BSD advertising clause and the 
GPL.")
+(home-page "http://git.kernel.org/cgit/network/tftp/tftp-hpa.git/about/";)
+(license (list gpl1 bsd-4
-- 
2.11.0




Re: [PATCH 2/2] gnu: Add lshw

2017-02-06 Thread Gábor Boskovits
I would like to get some suggestion about which category this package
belongs to.

2017-02-06 18:21 GMT+01:00 Boskovits, Gábor :

> ---
>  gnu/packages/lshw.scm | 34 ++
>  1 file changed, 34 insertions(+)
>  create mode 100644 gnu/packages/lshw.scm
>
> diff --git a/gnu/packages/lshw.scm b/gnu/packages/lshw.scm
> new file mode 100644
> index 0..6b3b4ca0d
> --- /dev/null
> +++ b/gnu/packages/lshw.scm
> @@ -0,0 +1,34 @@
> +(define-module (gnu packages lshw)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix licenses))
> +
> +(define-public lshw
> +  (package
> +(name "lshw")
> +(version "B.02.18")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "http://www.ezix.org/software/";
> +  "files/lshw-" version
> +  ".tar.gz"))
> +  (sha256
> +   (base32
> +"0brwra4jld0d53d7jsgca415ljglmm
> x1l2iazpj4ndilr48yy8mf"
> +(build-system gnu-build-system)
> +(arguments
> +  `(#:phases (modify-phases %standard-phases (delete 'configure));no
> configure
> +#:tests? #f
> +#:make-flags
> +  (list (string-append "PREFIX=" (assoc-ref %outputs "out")
> +(synopsis "Hardware Lister (lshw)")
> +(description
> + "lshw (Hardware Lister) is a small tool to provide detailed
> +information on the hardware configuration of the machine.  It can
> +report exact memory configuration, firmware version, mainboard
> +configuration, CPU version and speed, cache configuration, bus speed,
> +etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC
> +machines (​PowerMac G4 is known to work).")
> +(home-page "http://www.ezix.org/project/wiki/HardwareLiSter";)
> +(license gpl2)))
> --
> 2.11.0
>
>


[PATCH] gnu: Add python-openid.

2017-02-06 Thread Julien Lepiller
* gnu/packages/python.scm (python-openid): New variable.
---
 gnu/packages/python.scm | 20 +++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d53eea189..845a4a1be 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -31,7 +31,7 @@
 ;;; Copyright © 2016 Dylan Jeffers 
 ;;; Copyright © 2016 Alex Vong 
 ;;; Copyright © 2016 Arun Isaac 
-;;; Copyright © 2016 Julien Lepiller 
+;;; Copyright © 2016, 2017 Julien Lepiller 
 ;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice 
 ;;; Copyright © 2016 Thomas Danckaert 
 ;;; Copyright © 2017 Carlo Zancanaro 
@@ -5158,6 +5158,24 @@ features useful for text console applications.")
 (define-public python2-urwid
   (package-with-python2 python-urwid))
 
+(define-public python-openid
+  (package
+(name "python-openid")
+(version "3.0.10")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "python3-openid" version))
+   (sha256
+(base32
+ "1x3nh3fycqfn43jp5j5pb4q4y2jxp4mdka4absaa3bc0078qd758"
+(build-system python-build-system)
+(home-page "https://github.com/necaris/python3-openid";)
+(synopsis "OpenID support for servers and consumers")
+(description "This library provides OpenID authentication for Python, both
+for clients and servers.")
+(license license:asl2.0)))
+
 (define-public python2-openid
   (package
 (name "python2-openid")
-- 
2.11.0




[Sharing store/state between Nix and Guix]: How stable is it?

2017-02-06 Thread rohit yadav
Hi,

Is there anyone who has experimented with above mentioned idea? In theory
it may be possible, I am just wondering how stable is it? Assuming, I
installed a package with guix, it should change the database, create a new
profile. As long as ~/.nix-profile or ~/.guix-profile points to current
profile I should see the changes in list of packages in the current
generation. So, at higher level it should almost be indistinguishable
whether nix or guix is used to manage the profiles.

Is there any plan to change the nix core completely (reimplement using
scheme guile) in the future?

Thanks,
Rohit


Re: [Install guix packages to non-default]: Unable to build derivation hello

2017-02-06 Thread Ricardo Wurmus

rohit yadav  writes:

> ​Hi,
>
> I am noticing that all the links the guix is trying to download linux-libre
> are broken (linux-libre-4.4.18-gnu.tar.xz) does not exist. How should I fix
> it, is there a way to provide a local copy for this which guix can use?

Oof, you are right about this.  Where did that tarball go?
We have it cached on hydra.  You can download it with

guix build -S linux-libre-headers

when substitutes are enabled.  Alternatively, you could fetch this


https://mirror.hydra.gnu.org/nar/51f2f2ck80migsfr2hwy4ds30966lifi-linux-libre-4.4.18-gnu.tar.xz

Note that this is a nar wrapped in a layer of bzip2 compression, because
that’s what hydra does for everything.  You can unpack with bunzip2 and
then use “guix archive --extract” to turn it into a regular tarball.

I’ll open a bug report about the broken URL.  Thanks for the report!

--
Ricardo

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




Re: Guix package incubator (later a channel)

2017-02-06 Thread ng0
On 17-02-06 19:09:23, Pjotr Prins wrote:
> Hi all,
> 
> After yesterday's FOSDEM discussion I propose to set up a 'Guix
> incubator' git tree using Gitlab. The master branch will track the
> main Guix master but project can run on forked trees and branches. The
> idea is to have patches prepared by new committers or by people who
> simply prefer to use a web-based git environment. Each of these trees
> can become a guix channel - once we have channels to support that.
> 
> It won't hamper the normal process since ready patches still get
> compiled and submitted through the mailing list (ML). In fact it may
> help scale the review process by getting peer reviewers involved. The
> idea is that we have an incubator environment before the ML which
> allows for playful learning and tracking of patches that may (or may
> not) make it into main line. I think it is very important to have a
> low barrier to entry when it comes to submitting package recipes.
> 
> Gitlab may help. I'll take the lead and maybe I'll start submitting my
> own patches again ;)
> 
> How about using http://notabug.org/? Will they be happy to host us and
> is that the best place for gitlab?
> 
> Pj.
> 

Just a reply on the notabug question (I don't have much time otherwise):
Notabug will eventually move to an instance of pagure.io, you can read
about this in their own issues where I asked about some question back
then (no link, sorry .. my name was 'ng0' back on there). Developing
with pagure might be easier (fedora and surrounding communities)
compared to the situation they describe in the issue.
I started packaging pagure for this reason, which is about ~85% done
(services + pagure itself left to wrap it up ... pagure itself is more
or less done, just the service are needed. I'm more than happy to pass
this on (could rebase the pagure patch), as I know I have taken on some
tasks which would be better handled by different people :)
That is in case you want to use a GuixSD as a host, otherwise you should
not have many problems.



-- 
ng0 -- https://www.inventati.org/patternsinthechaos/



Re: [PATCH] gnu: Add tftp-hpa.

2017-02-06 Thread Thomas Danckaert

From: Boskovits, Gábor 
Subject: [PATCH] gnu: Add tftp-hpa.
Date: Mon,  6 Feb 2017 00:33:31 +0100


---
 gnu/packages/tftp-hpa.scm | 27 +++
 1 file changed, 27 insertions(+)


Hi!

I tested the patch and the package builds fine.


+(description
+ "This is a tftp client derived from OpenBSD tftp with some 
extra options
+added and bugs fixed.  The source includes readline support but it 
is not
+enabled due to licence conflicts between the BSD advertising 
clause and the GPL.")


“licence”->“license”


[...]
I would like to get some assistance in selecting a category for this
package.


I'll let someone else comment on this :).


Should it be networking, or something else?

I would be glad if someone could also verify if my licese selection
is correct.


Af for the license issues: I think bsd-4 is correct, but about the 
disabled GPL code: I think you can actually distribute a combined 
work of GPL and BSD as GPL, as long as you specify that the BSD parts 
of it are also BSD-licensed?  In the package's license field, you 
could say "(license (list gpl1 bsd-4))"


If you send an updated patch, you will also be asked to follow the 
gnu commit message guidelines (take a look at the log for 
inspiration).  Your commit title would be  something like “gnu: Add 
tftp-hpa.” and the body will mention the new variable.


cheers,

Thomas


Re: [Install guix packages to non-default]: Unable to build derivation hello

2017-02-06 Thread rohit yadav
I apologize for the missing link. Here it is:

https://github.com/UMCUGenetics/guix-additions/blob/master/doc/Deployment.md#restricted-environment-installation

At this moment, I have been able to get nix to work with the same technique
as mentioned in the above mentioned article. However, I really want to use
guix if possible.

Thanks,
Rohit


On Mon, Feb 6, 2017 at 2:46 PM, Ricardo Wurmus  wrote:

>
> rohit yadav  writes:
>
> > Hi,
> >
> > I am trying to install guix packages to a non-default location to benefit
> > from guix on machines with no root privileges. Following the below
> > mentioned article,
>
> Could you point us to article you followed?  I couldn’t find it in your
> message.
>
> > I am able to install guix and run guix-daemon configured
> > to a non-default location. However, when I trying to install even a basic
> > hello package, the guix goes on to install large number of derivations.
> And
> > fails while trying to pull linux-libre (why is this needed for hello
> > package?).
>
> Derivations are not packages.  The derivation for “hello” says that it
> needs /gnu/store/…-linux-libre-headers-4.4.18.drv, which in turn says
> that it needs the derivation to download the linux-libre tarball.
>
> (I’m still traveling, so I cannot check the tarballs right now.)
>
> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> https://elephly.net
>
>


Re: updating many haskell packages

2017-02-06 Thread Troy Sankey
Quoting Federico Beffa (2017-02-06 15:34:47)
> I would consider a discrepancy between a cabal file on Hackage and the
> actual cabal file included in a tar archive a bug.  It may be helpful
> to report it to the author.

I found this issue on the hackage github:

https://github.com/haskell/hackage-server/issues/503

It looks like it's a feature of hackage and/or cabal to allow multiple
revisions of cabal files per tarball release.  IIUC, the `cabal get`
utility takes care of automatically updating the cabal file to the
latest revision.

I'll have to look more into this later.

Troy


signature.asc
Description: signature


Re: [Install guix packages to non-default]: Unable to build derivation hello

2017-02-06 Thread Ricardo Wurmus

rohit yadav  writes:

> Hi,
>
> I am trying to install guix packages to a non-default location to benefit
> from guix on machines with no root privileges. Following the below
> mentioned article,

Could you point us to article you followed?  I couldn’t find it in your
message.

> I am able to install guix and run guix-daemon configured
> to a non-default location. However, when I trying to install even a basic
> hello package, the guix goes on to install large number of derivations. And
> fails while trying to pull linux-libre (why is this needed for hello
> package?).

Derivations are not packages.  The derivation for “hello” says that it
needs /gnu/store/…-linux-libre-headers-4.4.18.drv, which in turn says
that it needs the derivation to download the linux-libre tarball.

(I’m still traveling, so I cannot check the tarballs right now.)

--
Ricardo

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




Re: updating many haskell packages

2017-02-06 Thread Federico Beffa
On Mon, Feb 6, 2017 at 4:23 PM, Troy Sankey  wrote:
> Hm, I should have been following a stackage LTS.  Maybe I wouldn't need
> to relax any dependency versions.  I also wonder if I could have avoided
> some discrepancies between hackage and released .cabal files regarding
> dependency versions (there are quite a few [0]).

As far as I know in the past NIX was aggressively removing upper
version constraints, but this seems to have led to problems and they
changed policy:
http://lists.science.uu.nl/pipermail/nix-dev/2015-January/015608.html

Having a set of compatible packages is one of the key Stackage goals
https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package
If the project takes traction (as it seems) this problem should disappear.

I would consider a discrepancy between a cabal file on Hackage and the
actual cabal file included in a tar archive a bug.  It may be helpful
to report it to the author.

Regards,
Fede

[...]

> [0]
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1375
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1404
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1537
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1594
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1944
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1987
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L2018
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L5902
> https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L8793



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

2017-02-06 Thread Ricardo Wurmus

Hi Thomas,

> * gnu/packages/rdesktop.scm (freerdp): New variable.
> ---
>  gnu/packages/rdesktop.scm | 71 
> ++-
>  1 file changed, 70 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
> index e40852b..14965e1 100644
> --- a/gnu/packages/rdesktop.scm
> +++ b/gnu/packages/rdesktop.scm
> @@ -1,5 +1,6 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2015 Ludovic Courtès 
> +;;; Copyright © 2017 Thomas Danckaert 
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -20,9 +21,19 @@
>#:use-module ((guix licenses) #:prefix license:)
>#:use-module (guix packages)
>#:use-module (guix download)
> +  #:use-module (guix git-download)
> +  #:use-module (guix build-system cmake)
>#:use-module (guix build-system gnu)
> +  #:use-module (gnu packages compression)
> +  #:use-module (gnu packages cups)
> +  #:use-module (gnu packages gstreamer)
> +  #:use-module (gnu packages linux)
> +  #:use-module (gnu packages pkg-config)
> +  #:use-module (gnu packages pulseaudio)
>#:use-module (gnu packages tls)
> -  #:use-module (gnu packages xorg))
> +  #:use-module (gnu packages video)
> +  #:use-module (gnu packages xorg)
> +  #:use-module (gnu packages xml))
>
>  (define-public rdesktop
>(package
> @@ -57,3 +68,61 @@
>  capable of natively speaking Remote Desktop Protocol (RDP).  It allows users
>  to remotely control a user's Windows desktop.")
>  (license license:gpl3+)))
> +
> +(define-public freerdp
> +  (package
> +(name "freerdp")
> +(version "1.2.0-beta1+android9")
> +(source (origin
> +  (method git-fetch)
> +  (uri (git-reference
> +(url "git://github.com/FreeRDP/FreeRDP.git")
> +(commit version)))
> +  (file-name (git-file-name name version))
> +  (sha256
> +   (base32 
> "1m0lzrr7hkxfvc5f9p8snimv0rmin2463zhg25mv36wig8g5k7l3"
> +(build-system cmake-build-system)
> +(native-inputs
> + `(("pkg-config" ,pkg-config)
> +   ("xmlto" ,xmlto)))
> +(inputs
> + `(("libx11" ,libx11)
> +   ("libxkbfile" ,libxkbfile)
> +   ("libxcursor" ,libxcursor)
> +   ("libxext" ,libxext)
> +   ("libxi" ,libxi)
> +   ("libxv" ,libxv)
> +   ("libxrandr" ,libxrandr)
> +   ("libxrender" ,libxrender)
> +   ("libxinerama" ,libxinerama)
> +   ("libxshmfence" ,libxshmfence)
> +   ("libxml2" ,libxml2)
> +   ("libxslt" ,libxslt)
> +   ("cups" ,cups)
> +   ("ffmpeg" ,ffmpeg)
> +   ("pulseaudio" ,pulseaudio)
> +   ("alsa-lib" ,alsa-lib)
> +   ("gstreamer" ,gstreamer)
> +   ("gst-plugins-base" ,gst-plugins-base)
> +   ("zlib" ,zlib)
> +   ("openssl" ,openssl)))
> +(arguments
> + `(#:configure-flags
> +   '("-DCMAKE_INSTALL_LIBDIR=lib"
> + "-DWITH_PULSE=ON"
> + "-DWITH_CUPS=ON" "-DWITH_SSE2=ON")

Is WITH_SSE2 used to ensure that this won’t use uncommon CPU features?

> +   #:phases
> +   (modify-phases %standard-phases
> + (add-before 'configure 'patch-cmakelists
> +   (lambda _
> + (substitute* "channels/client/CMakeLists.txt"
> +   (("list\\(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES\\)")
> +"")

Please add a comment that explains why this is needed.  Also make sure
to end the phase with “#t” because “substitute*” does not (yet) return a
truthy value.

> +   #:tests? #f)) ; no 'test' target

Actually, the usual target is “check” :)  The comment should probably
either say “no tests” or “no ’check’ target”.  But this is nitpicking.

> +(home-page "https://www.freerdp.com";)
> +(synopsis "Remote Desktop Protocol implementation")
> +(description "FreeRDP implements Microsoft's Remote Desktop Protocol.  It
> +consists of the @code{xfreerdp} client, libraries for client and server
> +functionality, and Windows Portable Runtime (WinPR), a portable 
> implementation
> +of parts of the Windows API.")
> +(license license:asl2.0)))

Okay with the above changes.  Thanks!

--
Ricardo

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




Guix package incubator (later a channel)

2017-02-06 Thread Pjotr Prins
Hi all,

After yesterday's FOSDEM discussion I propose to set up a 'Guix
incubator' git tree using Gitlab. The master branch will track the
main Guix master but project can run on forked trees and branches. The
idea is to have patches prepared by new committers or by people who
simply prefer to use a web-based git environment. Each of these trees
can become a guix channel - once we have channels to support that.

It won't hamper the normal process since ready patches still get
compiled and submitted through the mailing list (ML). In fact it may
help scale the review process by getting peer reviewers involved. The
idea is that we have an incubator environment before the ML which
allows for playful learning and tracking of patches that may (or may
not) make it into main line. I think it is very important to have a
low barrier to entry when it comes to submitting package recipes.

Gitlab may help. I'll take the lead and maybe I'll start submitting my
own patches again ;)

How about using http://notabug.org/? Will they be happy to host us and
is that the best place for gitlab?

Pj.



[PATCH 2/2] gnu: Add vinagre.

2017-02-06 Thread Thomas Danckaert
* gnu/packages/gnome.scm (vinagre): New variable.
---
 gnu/packages/gnome.scm | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f6f7aae..23cf742 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2016 ng0 
 ;;; Copyright © 2016 David Craven 
 ;;; Copyright © 2016 Tobias Geerinckx-Rice 
+;;; Copyright © 2017 Thomas Danckaert 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -96,11 +97,13 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages rdesktop)
   #:use-module (gnu packages scanner)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages spice)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web)
@@ -1900,6 +1903,45 @@ selection and URL hints.")))
  `(("gtk+" ,gtk+-2) ; required by libvte.pc
("ncurses" ,ncurses) ; required by libvte.la
 
+(define-public vinagre
+  (package
+(name "vinagre")
+(version "3.22.0")
+(source
+  (origin
+   (method url-fetch)
+  (uri (string-append
+"mirror://gnome/sources/" name "/"
+(version-major+minor version) "/"
+name "-" version ".tar.xz"))
+   (sha256
+(base32
+ "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"
+(build-system gnu-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("intltool" ,intltool)
+   ("itstool" ,itstool)
+   ("glib-bin" ,glib "bin") ; for glib-compile-schemas
+   ("gtk+-bin" ,gtk+ "bin")))   ; for gtk-update-icon-cache
+(inputs
+ `(("libxml2" ,libxml2)
+   ("gtk-vnc" ,gtk-vnc)
+   ("gnome-keyring" ,gnome-keyring)
+   ("libsecret" ,libsecret)
+   ("freerdp" ,freerdp)
+   ("spice" ,spice)
+   ("spice-gtk" ,spice-gtk)
+   ("telepathy-glib" ,telepathy-glib)
+   ("vte" ,vte)))
+(arguments
+ `(#:configure-flags '("--enable-rdp")))
+(home-page "https://wiki.gnome.org/Apps/Vinagre";)
+(synopsis "Remote desktop viewer for GNOME")
+(description "Vinagre is a remote display client supporting the VNC, SPICE
+and RDP protocols.")
+(license license:gpl3)))
+
 (define-public dconf
   (package
 (name "dconf")
-- 
2.7.4




[PATCH 1/2] gnu: Add freerdp.

2017-02-06 Thread Thomas Danckaert
* gnu/packages/rdesktop.scm (freerdp): New variable.
---
 gnu/packages/rdesktop.scm | 71 ++-
 1 file changed, 70 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index e40852b..14965e1 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Ludovic Courtès 
+;;; Copyright © 2017 Thomas Danckaert 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,9 +21,19 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cups)
+  #:use-module (gnu packages gstreamer)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages xorg))
+  #:use-module (gnu packages video)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xml))
 
 (define-public rdesktop
   (package
@@ -57,3 +68,61 @@
 capable of natively speaking Remote Desktop Protocol (RDP).  It allows users
 to remotely control a user's Windows desktop.")
 (license license:gpl3+)))
+
+(define-public freerdp
+  (package
+(name "freerdp")
+(version "1.2.0-beta1+android9")
+(source (origin
+  (method git-fetch)
+  (uri (git-reference
+(url "git://github.com/FreeRDP/FreeRDP.git")
+(commit version)))
+  (file-name (git-file-name name version))
+  (sha256
+   (base32 
"1m0lzrr7hkxfvc5f9p8snimv0rmin2463zhg25mv36wig8g5k7l3"
+(build-system cmake-build-system)
+(native-inputs
+ `(("pkg-config" ,pkg-config)
+   ("xmlto" ,xmlto)))
+(inputs
+ `(("libx11" ,libx11)
+   ("libxkbfile" ,libxkbfile)
+   ("libxcursor" ,libxcursor)
+   ("libxext" ,libxext)
+   ("libxi" ,libxi)
+   ("libxv" ,libxv)
+   ("libxrandr" ,libxrandr)
+   ("libxrender" ,libxrender)
+   ("libxinerama" ,libxinerama)
+   ("libxshmfence" ,libxshmfence)
+   ("libxml2" ,libxml2)
+   ("libxslt" ,libxslt)
+   ("cups" ,cups)
+   ("ffmpeg" ,ffmpeg)
+   ("pulseaudio" ,pulseaudio)
+   ("alsa-lib" ,alsa-lib)
+   ("gstreamer" ,gstreamer)
+   ("gst-plugins-base" ,gst-plugins-base)
+   ("zlib" ,zlib)
+   ("openssl" ,openssl)))
+(arguments
+ `(#:configure-flags
+   '("-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DWITH_PULSE=ON"
+ "-DWITH_CUPS=ON" "-DWITH_SSE2=ON")
+   #:phases
+   (modify-phases %standard-phases
+ (add-before 'configure 'patch-cmakelists
+   (lambda _
+ (substitute* "channels/client/CMakeLists.txt"
+   (("list\\(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES\\)")
+"")
+   #:tests? #f)) ; no 'test' target
+(home-page "https://www.freerdp.com";)
+(synopsis "Remote Desktop Protocol implementation")
+(description "FreeRDP implements Microsoft's Remote Desktop Protocol.  It
+consists of the @code{xfreerdp} client, libraries for client and server
+functionality, and Windows Portable Runtime (WinPR), a portable implementation
+of parts of the Windows API.")
+(license license:asl2.0)))
-- 
2.7.4




[PATCH 2/2] gnu: Add lshw

2017-02-06 Thread Boskovits , Gábor
---
 gnu/packages/lshw.scm | 34 ++
 1 file changed, 34 insertions(+)
 create mode 100644 gnu/packages/lshw.scm

diff --git a/gnu/packages/lshw.scm b/gnu/packages/lshw.scm
new file mode 100644
index 0..6b3b4ca0d
--- /dev/null
+++ b/gnu/packages/lshw.scm
@@ -0,0 +1,34 @@
+(define-module (gnu packages lshw)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix licenses))
+
+(define-public lshw
+  (package
+(name "lshw")
+(version "B.02.18")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://www.ezix.org/software/";
+  "files/lshw-" version
+  ".tar.gz"))
+  (sha256
+   (base32
+"0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"
+(build-system gnu-build-system)
+(arguments
+  `(#:phases (modify-phases %standard-phases (delete 'configure));no 
configure
+#:tests? #f
+#:make-flags
+  (list (string-append "PREFIX=" (assoc-ref %outputs "out")
+(synopsis "Hardware Lister (lshw)")
+(description
+ "lshw (Hardware Lister) is a small tool to provide detailed
+information on the hardware configuration of the machine.  It can
+report exact memory configuration, firmware version, mainboard
+configuration, CPU version and speed, cache configuration, bus speed,
+etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC
+machines (​PowerMac G4 is known to work).")
+(home-page "http://www.ezix.org/project/wiki/HardwareLiSter";)
+(license gpl2)))
-- 
2.11.0




Re: pre-push signature hook error reporting

2017-02-06 Thread Marius Bakke
Leo Famulari  writes:

> On Fri, Jan 20, 2017 at 03:05:42PM +0100, Ludovic Courtès wrote:
>> For the pre-push hook, the overhead seems reasonable (perhaps we could
>> limit the range to commits after the first signed commit to avoid
>> looping for no reason?) and an improvement.
>
> Here is a patch for the hook that I've been using for the past couple weeks.
>
> For the common use case of pushing new commits to an existing branch, I
> don't notice the hook at all, except when it catches my mistakes.

Thanks a lot for this! I haven't tested it, but the code LGTM.


signature.asc
Description: PGP signature


Re: updating many haskell packages

2017-02-06 Thread Leo Famulari
On Mon, Feb 06, 2017 at 12:23:23AM -0500, Troy Sankey wrote:
> I wonder how I should send these patches after I'm all done.  git
> send-email?  That seems crazy.

Dozens of patches in their own messages is a little hard to work with as
a reviewer. But, you can put them all in one patch file that is trivial
to apply to my Git tree:

$ git format-patch your-branch..master --stdout > patch-series.patch

And on my end:

$ git am patch-series.patch


signature.asc
Description: PGP signature


Re: [Install guix packages to non-default]: Unable to build derivation hello

2017-02-06 Thread rohit yadav
​Hi,

I am noticing that all the links the guix is trying to download linux-libre
are broken (linux-libre-4.4.18-gnu.tar.xz) does not exist. How should I fix
it, is there a way to provide a local copy for this which guix can use?

Thanks,
Rohit

On Sun, Feb 5, 2017 at 12:27 PM, rohit yadav  wrote:

> ​Hi,
>
> Thanks for the reply. I am running guix-daemon with --non-substitute
> option. And the error posted actually complains about Error 404. I am not
> sure, if it is happening because of firewall. Although, I tried the
> suggested method also but result is still the same. I cleaned up the store
> with "guix gc" and restarted for scratch. Additionally, I am unable to
> understand why "linux-libre" is required to install a hello program?
>
> Thanks,
> Rohit
>
>
>
> On Sun, Feb 5, 2017 at 5:29 AM, ng0  wrote:
>
>> guix package --fallback --install hello
>
>
>
>


[PATCH v3] gnu: Add dub-build-system.

2017-02-06 Thread Danny Milosavljevic
* guix/build-system/dub.scm: New file.
* guix/build/dub-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi: Add section for dub-build-system.
---
 Makefile.am |   2 +
 doc/guix.texi   |  10 +++
 guix/build-system/dub.scm   | 147 
 guix/build/dub-build-system.scm | 126 ++
 4 files changed, 285 insertions(+)
 create mode 100644 guix/build-system/dub.scm
 create mode 100644 guix/build/dub-build-system.scm

diff --git a/Makefile.am b/Makefile.am
index 360c356f1..f6622e455 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -64,6 +64,7 @@ MODULES = \
   guix/build-system/ant.scm\
   guix/build-system/cargo.scm  \
   guix/build-system/cmake.scm  \
+  guix/build-system/dub.scm\
   guix/build-system/emacs.scm  \
   guix/build-system/asdf.scm   \
   guix/build-system/glib-or-gtk.scm\
@@ -88,6 +89,7 @@ MODULES = \
   guix/build/download.scm  \
   guix/build/cargo-build-system.scm\
   guix/build/cmake-build-system.scm\
+  guix/build/dub-build-system.scm  \
   guix/build/emacs-build-system.scm\
   guix/build/asdf-build-system.scm \
   guix/build/git.scm   \
diff --git a/doc/guix.texi b/doc/guix.texi
index 6acde6621..40b5ec54f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3437,6 +3437,16 @@ Which Haskell compiler is used can be specified with the 
@code{#:haskell}
 parameter which defaults to @code{ghc}.
 @end defvr
 
+@defvr {Scheme Variable} dub-build-system
+This variable is exported by @code{(guix build-system dub)}.  It
+implements the Dub build procedure used by D packages, which
+involves running @code{dub build} and @code{dub run}.
+Installation is done by copying the files manually.
+
+Which D compiler is used can be specified with the @code{#:ldc}
+parameter which defaults to @code{ldc}.
+@end defvr
+
 @defvr {Scheme Variable} emacs-build-system
 This variable is exported by @code{(guix build-system emacs)}.  It
 implements an installation procedure similar to the packaging system
diff --git a/guix/build-system/dub.scm b/guix/build-system/dub.scm
new file mode 100644
index 0..13c89e864
--- /dev/null
+++ b/guix/build-system/dub.scm
@@ -0,0 +1,147 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès 
+;;; Copyright © 2013 Andreas Enge 
+;;; Copyright © 2013 Nikita Karetnikov 
+;;; Copyright © 2016 David Craven 
+;;; Copyright © 2016 Danny Milosavljevic 
+;;;
+;;; 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-system dub)
+  #:use-module (guix search-paths)
+  #:use-module (guix store)
+  #:use-module (guix utils)
+  #:use-module (guix derivations)
+  #:use-module (guix packages)
+  #:use-module (guix build-system)
+  #:use-module (guix build-system gnu)
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-26)
+  #:export (dub-build-system))
+
+(define (default-ldc)
+  "Return the default ldc package."
+  ;; Lazily resolve the binding to avoid a circular dependency.
+  (let ((ldc (resolve-interface '(gnu packages ldc
+(module-ref ldc 'ldc)))
+
+(define (default-dub)
+  "Return the default dub package."
+  ;; Lazily resolve the binding to avoid a circular dependency.
+  (let ((ldc (resolve-interface '(gnu packages ldc
+(module-ref ldc 'dub)))
+
+(define (default-pkg-config)
+  "Return the default pkg-config package."
+  ;; Lazily resolve the binding to avoid a circular dependency.
+  (let ((pkg-config (resolve-interface '(gnu packages pkg-config
+(module-ref pkg-config 'pkg-config)))
+
+(define %dub-build-system-modules
+  ;; Build-side modules imported by default.
+  `((guix build dub-build-system)
+(guix build syscalls)
+,@%gnu-build-system-modules))
+
+(define* (dub-build store name inputs
+  #:key
+  (tests? #t)
+  (test-target #f)
+  (dub-build-flags ''())
+  (phases '(@ (guix build dub-build-system)
+  

Re: pre-push signature hook error reporting

2017-02-06 Thread Leo Famulari
On Fri, Jan 20, 2017 at 03:05:42PM +0100, Ludovic Courtès wrote:
> For the pre-push hook, the overhead seems reasonable (perhaps we could
> limit the range to commits after the first signed commit to avoid
> looping for no reason?) and an improvement.

Here is a patch for the hook that I've been using for the past couple weeks.

For the common use case of pushing new commits to an existing branch, I
don't notice the hook at all, except when it catches my mistakes.
From 7d8206949f98a121bb2d50e0eecfcba1d9cce27a Mon Sep 17 00:00:00 2001
From: Leo Famulari 
Date: Mon, 23 Jan 2017 00:57:46 -0500
Subject: [PATCH] etc: The pre-push hook says which commits failed the
 signature check.

* etc/git/pre-push: Check each commit's signature individually so that
we can report which commits fail the check.
---
 etc/git/pre-push | 22 +-
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/etc/git/pre-push b/etc/git/pre-push
index c894c5a9e..9206a2dfe 100755
--- a/etc/git/pre-push
+++ b/etc/git/pre-push
@@ -40,17 +40,29 @@ do
else
if [ "$remote_sha" = $z40 ]
then
-   # New branch, examine all commits
-   range="$local_sha"
+   # We are pushing a new branch. To prevent wasting too
+   # much time for this relatively rare case, we examine
+   # all commits since the first signed commit, rather than
+   # the full history. This check *will* fail, and the user
+   # will need to temporarily disable the hook to push the
+   # new branch.
+   
range="e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b..$local_sha"
else
# Update to existing branch, examine new commits
range="$remote_sha..$local_sha"
fi
 
# Verify the signatures of all commits being pushed.
-   git verify-commit $(git rev-list $range) >/dev/null 2>&1
-
-   exit $?
+   ret=0
+   for commit in $(git rev-list $range)
+   do
+   if ! git verify-commit $commit >/dev/null 2>&1
+   then
+   printf "%s failed signature check\n" $commit
+   ret=1
+   fi
+   done
+   exit $ret
fi
 done
 
-- 
2.11.0



signature.asc
Description: PGP signature


Re: updating many haskell packages

2017-02-06 Thread Troy Sankey
Quoting Federico Beffa (2017-02-06 03:03:34)
> Troy Sankey  writes:
> 
> > I have a WIP branch which contains many haskell package updates and
> > additions, and makes haskell-build-system use the latest ghc (8.0.2).
> >
> > https://github.com/pwnage101/guix/tree/add-gitit
> >
> > It started as a small project to create a Gitit package (hence the name
> > of the branch), but blew up into something larger.  It's hard work, so I
> > just wanted to check in with you all to see if this seems like the right
> > direction.
> >
> > As of this writing, I have over 66 packages updated, 16 added, and
> > various fixes on existing packages to get everything buildable against
> > ghc@8.0.2.  I'm debating whether I should systematically update all the
> > haskell packages while I'm at it, or just make sure everything is
> > buildable under 8.0.2.  There are over 277 haskell packages in all.
> >
> > I wonder how I should send these patches after I'm all done.  git
> > send-email?  That seems crazy.
> 
> I agree, it's a lot of work and guaranteeing package compatibility is
> not straightforward.  To simplify things I would like to suggest to
> exploit the work done by Stackage (www.stackage.org) and follow the
> latest LTS release.

Hm, I should have been following a stackage LTS.  Maybe I wouldn't need
to relax any dependency versions.  I also wonder if I could have avoided
some discrepancies between hackage and released .cabal files regarding
dependency versions (there are quite a few [0]).

> I prepared a 'stackage' importer.  It looks up the list of packages at
> https://www.stackage.org/lts (can select which LTS version), extract the
> version used there and downloads that version of the package from
> hackage (with the hackage importer).
> 
> Two points are open:
> 
> (i) I still need to finish the updater (to work with 'refresh').

TIL guix refresh.  TIL stackage LTS.  I am slow to learn...

> (ii) The latest LTS still uses GHC 8.0.1.  I'm not sure if this is
> because of some real problem (GHC 8.0.2 introduces some
> incompatibilities) or if it is because changing things takes time.
> 
> I will probably be able to share the importer/updater in one week (don't
> have much time to work on it during the week).
> 
> Regards,
> Fede

Awesome :)

Troy

[0]
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1375
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1404
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1537
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1594
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1944
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L1987
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L2018
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L5902
https://github.com/pwnage101/guix/blob/00cc2021d9f3019c8dc69383ff2038eb54d1ba5a/gnu/packages/haskell.scm#L8793


signature.asc
Description: signature


Re: [PATCH -v3] Fix gtk-im-modules for gtk+3

2017-02-06 Thread Huang, Ying
Hi, Wenwu,

iyzs...@member.fsf.org (宋文武) writes:

> "Huang, Ying"  writes:
>
>> [...]
>>> -#$(if gtk+   (build gtk+   "3.0.0")  #t)
>>> -#$(if gtk+-2 (build gtk+-2 "2.10.0") #t
>>> +#$(if gtk+
>>> +  (build
>>> +   gtk+ "3.0.0"
>>> +   #~(string-append
>>> +  #$gtk+:bin "/bin/gtk-query-immodules-3.0"))
>>
>> If "gtk+" is store path instead of package, this doesn't work.  In a
>> previous version, "gtk+" will be store path, it is package now.  If it
>> will always be package in the future.  We can pass the store path of
>> target output too.
>
> Oh, you're right!
>
> We can use the gtk+ package object here:
>
> [attachment]
>
> 0001-profiles-gtk-im-modules-Fix-for-gtk3.patch
>
> From a0b9a36b4e902fd6f456fa596c6220c708c35f71 Mon Sep 17 00:00:00 2001
> From: "huang_ying_cari...@163.com" 
> Date: Sun, 5 Feb 2017 13:41:47 +0800
> Subject: [PATCH] profiles: gtk-im-modules: Fix for gtk3.
>
> Gtk+3 now have multiple outputs, so the gtk-query-immodules-3.0 should be find
> in output "bin" instead of "out".
>
> * guix/profiles.scm (gtk-im-modules): Pass the path of gtk-query-immodules-x.x
> as 'query' argument to the 'build' procedure.
> ---
>  guix/profiles.scm | 26 +++---
>  1 file changed, 19 insertions(+), 7 deletions(-)
>
> diff --git a/guix/profiles.scm b/guix/profiles.scm
> index 495a9e2e7..de82eae34 100644
> --- a/guix/profiles.scm
> +++ b/guix/profiles.scm
> @@ -739,7 +739,7 @@ for both major versions of GTK+."
>(mlet %store-monad ((gtk+   (manifest-lookup-package manifest "gtk+" "3"))
>(gtk+-2 (manifest-lookup-package manifest "gtk+" "2")))
>  
> -(define (build gtk gtk-version)
> +(define (build gtk gtk-version query)
>(let ((major (string-take gtk-version 1)))
>  (with-imported-modules '((guix build utils)
>   (guix build union)
> @@ -756,8 +756,6 @@ for both major versions of GTK+."
>  
>(let* ((prefix  (string-append "/lib/gtk-" #$major ".0/"
>   #$gtk-version))
> - (query   (string-append #$gtk 
> "/bin/gtk-query-immodules-"
> - #$major ".0"))
>   (destdir (string-append #$output prefix))
>   (moddirs (cons (string-append #$gtk prefix "/immodules")
>  (filter file-exists?
> @@ -768,7 +766,7 @@ for both major versions of GTK+."
>  
>  ;; Generate a new immodules cache file.
>  (mkdir-p (string-append #$output prefix))
> -(let ((pipe(apply open-pipe* OPEN_READ query modules))
> +(let ((pipe(apply open-pipe* OPEN_READ #$query modules))
>(outfile (string-append #$output prefix
>"/immodules-gtk" #$major 
> ".cache")))
>(dynamic-wind
> @@ -783,9 +781,23 @@ for both major versions of GTK+."
>(close-pipe pipe)
>  
>  ;; Don't run the hook when there's nothing to do.
> -(let ((gexp #~(begin
> -#$(if gtk+   (build gtk+   "3.0.0")  #t)
> -#$(if gtk+-2 (build gtk+-2 "2.10.0") #t
> +(let* ((pkg-gtk+ (module-ref; lazy reference
> +  (resolve-interface '(gnu packages gtk)) 'gtk+))
> +   (gexp #~(begin
> + #$(if gtk+
> +   (build
> +gtk+ "3.0.0"
> +;; Use 'gtk-query-immodules-3.0' from the 'bin'
> +;; output of latest gtk+ package.
> +#~(string-append
> +   #$pkg-gtk+:bin 
> "/bin/gtk-query-immodules-3.0"))
> +   #t)
> + #$(if gtk+-2
> +   (build
> +gtk+-2 "2.10.0"
> +#~(string-append
> +   #$gtk+-2 "/bin/gtk-query-immodules-2.0"))
> +   #t
>(if (or gtk+ gtk+-2)
>(gexp->derivation "gtk-im-modules" gexp
>  #:local-build? #t

This should work.  But I don't think it is perfect.  It may refer to the
gtk-query-immodules-3.0 not with the exact same version.

Best Regards,
Huang, Ying




Re: FOSDEM 2017 what a success!!

2017-02-06 Thread Ludovic Courtès
Hello!

I’m on my way back and starting to realize what happened.  :-)

It was amazing.  A big thanks to you Pjotr and to Manolis for making it
possible!  Thanks also to Alex for organizing those friendly dinners and
for Chris Webber for guiding the whole crowd to the last dinner place
yesterday evening (~20 people three days in a row!).

It confirmed my feeling that one of the greatest things about Guile and
Guix is the people.  Thanks for the great talks and the good time we’ve
had!

Ludo’.



Re: [PATCH -v3] Fix gtk-im-modules for gtk+3

2017-02-06 Thread 宋文武
"Huang, Ying"  writes:

> [...]
>> -#$(if gtk+   (build gtk+   "3.0.0")  #t)
>> -#$(if gtk+-2 (build gtk+-2 "2.10.0") #t
>> +#$(if gtk+
>> +  (build
>> +   gtk+ "3.0.0"
>> +   #~(string-append
>> +  #$gtk+:bin "/bin/gtk-query-immodules-3.0"))
>
> If "gtk+" is store path instead of package, this doesn't work.  In a
> previous version, "gtk+" will be store path, it is package now.  If it
> will always be package in the future.  We can pass the store path of
> target output too.

Oh, you're right!

We can use the gtk+ package object here:

>From a0b9a36b4e902fd6f456fa596c6220c708c35f71 Mon Sep 17 00:00:00 2001
From: "huang_ying_cari...@163.com" 
Date: Sun, 5 Feb 2017 13:41:47 +0800
Subject: [PATCH] profiles: gtk-im-modules: Fix for gtk3.

Gtk+3 now have multiple outputs, so the gtk-query-immodules-3.0 should be find
in output "bin" instead of "out".

* guix/profiles.scm (gtk-im-modules): Pass the path of gtk-query-immodules-x.x
as 'query' argument to the 'build' procedure.
---
 guix/profiles.scm | 26 +++---
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/guix/profiles.scm b/guix/profiles.scm
index 495a9e2e7..de82eae34 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -739,7 +739,7 @@ for both major versions of GTK+."
   (mlet %store-monad ((gtk+   (manifest-lookup-package manifest "gtk+" "3"))
   (gtk+-2 (manifest-lookup-package manifest "gtk+" "2")))
 
-(define (build gtk gtk-version)
+(define (build gtk gtk-version query)
   (let ((major (string-take gtk-version 1)))
 (with-imported-modules '((guix build utils)
  (guix build union)
@@ -756,8 +756,6 @@ for both major versions of GTK+."
 
   (let* ((prefix  (string-append "/lib/gtk-" #$major ".0/"
  #$gtk-version))
- (query   (string-append #$gtk "/bin/gtk-query-immodules-"
- #$major ".0"))
  (destdir (string-append #$output prefix))
  (moddirs (cons (string-append #$gtk prefix "/immodules")
 (filter file-exists?
@@ -768,7 +766,7 @@ for both major versions of GTK+."
 
 ;; Generate a new immodules cache file.
 (mkdir-p (string-append #$output prefix))
-(let ((pipe(apply open-pipe* OPEN_READ query modules))
+(let ((pipe(apply open-pipe* OPEN_READ #$query modules))
   (outfile (string-append #$output prefix
   "/immodules-gtk" #$major ".cache")))
   (dynamic-wind
@@ -783,9 +781,23 @@ for both major versions of GTK+."
   (close-pipe pipe)
 
 ;; Don't run the hook when there's nothing to do.
-(let ((gexp #~(begin
-#$(if gtk+   (build gtk+   "3.0.0")  #t)
-#$(if gtk+-2 (build gtk+-2 "2.10.0") #t
+(let* ((pkg-gtk+ (module-ref; lazy reference
+  (resolve-interface '(gnu packages gtk)) 'gtk+))
+   (gexp #~(begin
+ #$(if gtk+
+   (build
+gtk+ "3.0.0"
+;; Use 'gtk-query-immodules-3.0' from the 'bin'
+;; output of latest gtk+ package.
+#~(string-append
+   #$pkg-gtk+:bin "/bin/gtk-query-immodules-3.0"))
+   #t)
+ #$(if gtk+-2
+   (build
+gtk+-2 "2.10.0"
+#~(string-append
+   #$gtk+-2 "/bin/gtk-query-immodules-2.0"))
+   #t
   (if (or gtk+ gtk+-2)
   (gexp->derivation "gtk-im-modules" gexp
 #:local-build? #t
-- 
2.11.0


Okay to push?


FOSDEM 2017 what a success!!

2017-02-06 Thread Pjotr Prins
Big thanks to the great speakers - personally I enjoyed every single
talk!! And then a hand to those who helped, especially Manolis who
supported getting the program lined up from the start!

Great stuff - and I know we made some new converts :). As a colleague
said: I thought the Ruby dev-room was great, but then the Guile
dev-room blew me away...

Pj.



Re: [PATCH] gnu: Add python-pprofile.

2017-02-06 Thread Ben Woodcroft

Hi Danny,

On 06/02/17 19:05, Danny Milosavljevic wrote:

* gnu/packages/python.scm (python-pprofile, python2-pprofile): New variables.

LGTM, thanks.
ben



Re: [PATCH -v2] Fix gtk-im-modules for Gtk+3

2017-02-06 Thread Huang, Ying
Hi, Ricardo,

Ricardo Wurmus  writes:

> huang_ying_cari...@163.com writes:
>
>> From: Huang Ying 
>>
>> Gtk+3 now have multiple outputs, so the gtk-query-immodules-3.0 should be 
>> find
>> in bin output.
>
> Ah, I was wondering why this broke!  Thanks for investigating it.
>
>> The fix works, but appears hacky, because I haven't read much guix source
>> code, so I don't know the best solution.
>
> It’s only hacky because I tried to reuse the code for both versions of
> Gtk.  Maybe “gtk+-2” should also get a “bin” output…?

That sounds reasonable for me.

> This is acceptable with the changes Danny suggested.  Maybe we can find
> a way to make this prettier in the future.

I have sent out -v3 which addressed Danny's comments with the following
subject,

[PATCH -v3] Fix gtk-im-modules for gtk+3

> Thanks again for taking the time to investigate and fix it, and to
> submit a patch!  I’m very grateful for this contribution.

You are welcome!

Best Regards,
Huang, Ying

> --
> Ricardo
>
> GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
> https://elephly.net




Re: [PATCH v2] gnu: new re2c package, version 0.16

2017-02-06 Thread Ludovic Courtès
Hello!

Sergei Trofimovich  skribis:

> Tested on x86_64-linux and i686-linux.
>
> * gnu/local.mk: add re2c.scm to dist
> * gnu/packages/re2c.scm: new file

Applied with the commit log ng0 suggested.

Thank you & thanks ng0 and Maxim for the review!

Ludo’.



Re: [PATCH 2/2] tests: Add 'prosody-service-type' test.

2017-02-06 Thread Clément Lassieur
> +(define script.ft
> +  (scheme-file
> +   "script.ft"
> +   #~(begin
> +   (define (handle-received-message time from nickname message)
> + (if (equal? message #$message)
> + (ft-quit 0)
> + (ft-quit 1)))
> +   (add-hook! ft-message-receive-hook handle-received-message)
> +
> +   (ft-set-jid! #$jid)
> +   (ft-set-password! #$password)
> +   (ft-set-server! #$server)
> +   (ft-set-port! #$port)
> +   (ft-set-sslconn! #f)
> +   (ft-connect-blocking)
> +   (ft-send-message #$jid #$message)
> +   (ft-main-loop

Maybe I should add a timeout somewhere, so the test doesn't wait forever
if the message is not actually received.  WDYT?



Re: [PATCH] config-daemon.ac: detect host AR

2017-02-06 Thread Ludovic Courtès
Sergei Trofimovich  skribis:

> The problem is seen when we try to use explicit host:
>
> ./configure --prefix=/usr --localstatedir=/var/lib 
> --host=x86_64-pc-linux-gnu
> make V=1
>
> Before the change:
> ar cru libstore.a nix/libstore/libstore_a-gc.o
> After the change:
> x86_64-pc-linux-gnu-ar cru libstore.a
>
> * config-daemon.ac: use AM_PROG_AR to detect host AR

Good catch.  Applied, thanks!

Ludo’.



Software Heritage API

2017-02-06 Thread Ludovic Courtès
Hello Guix!

I couldn’t attend the Software Heritage talk at FOSDEM, but they had
good news:

  https://www.softwareheritage.org/2017/02/04/archive-api/

The API is currently limited to meta-data (retrieving the actual data
returns 401.)  Still that looks pretty cool already.

Ludo’.



[PATCH] gnu: Add python-pprofile.

2017-02-06 Thread Danny Milosavljevic
* gnu/packages/python.scm (python-pprofile, python2-pprofile): 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 d53eea189..be9ba856f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -12536,3 +12536,26 @@ console.")
 This implementation is slow (hence the project name) but still useful when
 faster ones are not available.")
 (license license:asl2.0)))
+
+(define-public python-pprofile
+  (package
+(name "python-pprofile")
+(version "1.10.0")
+(source
+  (origin
+(method url-fetch)
+(uri (pypi-uri "pprofile" version))
+(sha256
+  (base32
+"18dqwnqir0q96q5njf2n5ikk3zbyphsnxnvqxg26p7bnc5bqvpk5"
+(build-system python-build-system)
+(arguments
+ `(#:tests? #f)) ; None exist.
+(home-page "http://github.com/vpelletier/pprofile";)
+(synopsis "Statistical pure-Python profiler")
+(description "@code{python-pprofile} provides a line-granularity profiler
+that is thread-aware, deterministic and does statistics, for Python.")
+(license license:gpl2+)))
+
+(define-public python2-pprofile
+  (package-with-python2 python-pprofile))



Re: [PATCH] gnu: Add tftp-hpa.

2017-02-06 Thread Gábor Boskovits
Hello!

Sorry for my english!

This will be the my first contribution, so i hope all went well.

I would like to get some assistance in selecting a category for this
package.

Should it be networking, or something else?

I would be glad if someone could also verify if my licese selection is
correct.

2017-02-06 0:33 GMT+01:00 Boskovits, Gábor :

> From: Boskovits,Gábor 
>
> ---
>  gnu/packages/tftp-hpa.scm | 27 +++
>  1 file changed, 27 insertions(+)
>  create mode 100644 gnu/packages/tftp-hpa.scm
>
> diff --git a/gnu/packages/tftp-hpa.scm b/gnu/packages/tftp-hpa.scm
> new file mode 100644
> index 0..469123b67
> --- /dev/null
> +++ b/gnu/packages/tftp-hpa.scm
> @@ -0,0 +1,27 @@
> +(define-module (gnu packages tftp-hpa)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (guix licenses))
> +
> +(define-public tftp-hpa
> +  (package
> +(name "tftp-hpa")
> +(version "5.2")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append "https://www.kernel.org/pub/software/";
> +  "network/tftp/tftp-hpa/tftp-hpa-"
> version
> +  ".tar.xz"))
> +  (sha256
> +   (base32
> +"12vidchglhyc20znq5wdsbhi9mqg90
> jnl7qr9qs8hbvaz4fkdvmg"
> +(build-system gnu-build-system)
> +(arguments `(#:tests? #f)) ; no test target
> +(synopsis "HPA's tftp client")
> +(description
> + "This is a tftp client derived from OpenBSD tftp with some extra
> options
> +added and bugs fixed.  The source includes readline support but it is not
> +enabled due to licence conflicts between the BSD advertising clause and
> the GPL.")
> +(home-page "http://git.kernel.org/cgit/network/tftp/tftp-hpa.git/
> about/")
> +(license bsd-4)))
> --
> 2.11.0
>
>


Re: updating many haskell packages

2017-02-06 Thread Federico Beffa
On Mon, Feb 6, 2017 at 9:03 AM, Federico Beffa  wrote:

> (ii) The latest LTS still uses GHC 8.0.1.  I'm not sure if this is
> because of some real problem (GHC 8.0.2 introduces some
> incompatibilities) or if it is because changing things takes time.

Looks like LTS8 is on its way http://lwm.github.io/stackage-8.0.2/



Re: Add emacs-dream-theme

2017-02-06 Thread Alex Kost
contact@cryptolab.net (2017-02-03 20:34 +) wrote:

> There are no releases, and I don't know how/if there are certain
> expectations about themes. If loading them just via (require 'dream) is
> not normal, should it be mentioned in the description?
> See http://www.djcbsoftware.nl/dot-emacs.html for an example.

I would say it is not normal, well at least it is not user friendly.  A
usual practice for (M)ELPA theme packages is to autoload a bit of code
that adds a theme to 'custom-theme-load-path' so the theme can be used
without additional settings.  But since this package autoloads nothing,
a user has to adjust their emacs config to make this theme available.
I'm not sure if it should be mentioned in the description though.

-- 
Alex



Re: updating many haskell packages

2017-02-06 Thread Federico Beffa
Troy Sankey  writes:

> I have a WIP branch which contains many haskell package updates and
> additions, and makes haskell-build-system use the latest ghc (8.0.2).
>
> https://github.com/pwnage101/guix/tree/add-gitit
>
> It started as a small project to create a Gitit package (hence the name
> of the branch), but blew up into something larger.  It's hard work, so I
> just wanted to check in with you all to see if this seems like the right
> direction.
>
> As of this writing, I have over 66 packages updated, 16 added, and
> various fixes on existing packages to get everything buildable against
> ghc@8.0.2.  I'm debating whether I should systematically update all the
> haskell packages while I'm at it, or just make sure everything is
> buildable under 8.0.2.  There are over 277 haskell packages in all.
>
> I wonder how I should send these patches after I'm all done.  git
> send-email?  That seems crazy.

I agree, it's a lot of work and guaranteeing package compatibility is
not straightforward.  To simplify things I would like to suggest to
exploit the work done by Stackage (www.stackage.org) and follow the
latest LTS release.

I prepared a 'stackage' importer.  It looks up the list of packages at
https://www.stackage.org/lts (can select which LTS version), extract the
version used there and downloads that version of the package from
hackage (with the hackage importer).

Two points are open:

(i) I still need to finish the updater (to work with 'refresh').

(ii) The latest LTS still uses GHC 8.0.1.  I'm not sure if this is
because of some real problem (GHC 8.0.2 introduces some
incompatibilities) or if it is because changing things takes time.

I will probably be able to share the importer/updater in one week (don't
have much time to work on it during the week).

Regards,
Fede