Re: [PATCH] gnu: conkeror: Update to 1.0.3

2016-07-04 Thread Alex Kost
John J Foerch (2016-07-03 18:50 +0300) wrote:

> From 71dd8a5b721a952dbe583922caef0a91b1a559cf Mon Sep 17 00:00:00 2001
> From: "John J. Foerch" 
> Date: Sun, 3 Jul 2016 11:46:20 -0400
> Subject: [PATCH] gnu: conkeror: Update to 1.0.3.
>
> * gnu/packages/conkeror.scm (conkeror): Update to 1.0.3.

Just to mention: John is one of the main conkeror contributors :-)

-- 
Alex



Re: [PATCH] gnurl: Update to 7.48.0.

2016-07-04 Thread Efraim Flashner
On Mon, Jul 04, 2016 at 12:24:58AM +, ng0 wrote:
> I hope this works now.
> 
> From 09b306ffa62d9555dc835dfb933a5ad4434a641e Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Fri, 1 Jul 2016 18:21:45 +
> Subject: [PATCH] gnu: gnurl: Update to 7.48.0.
> 

Everything worked this time :)

Pushed

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


signature.asc
Description: PGP signature


Re: [PATCH] New package: Seren

2016-07-04 Thread Francesco Frassinelli
2016-07-04 8:56 GMT+02:00 Alex Kost :

> Francesco Frassinelli (2016-05-05 17:34 +0300) wrote:
>
> > I'm a new Guix user and I created a package for Seren, a P2P VoIP
> > conference program which uses Opus as codec.
>
> Ping!  Hello again, are you willing to send an updated patch, putting
> 'seren' in "gnu/packages/telephony.scm" and making other changes
> according to
> ?
>

Sure! I'm really sorry, I had too much to work. I'm going to send an
updated version this evening.

--
Frafra


Re: [PATCH] gnu: Add emacs-eprime

2016-07-04 Thread Alex Kost
Roel Janssen (2016-07-03 19:57 +0300) wrote:

> Dear Guix,
>
> Here's a fairly trivial patch to add an eprime-mode for Emacs.  The
> author hasn't made a release (at least not on Github), so I grabbed
> the source by the most recent commit (June 27, 2014), and used a version
> number compatible with how it is used in MELPA.

It looks like there is no release anywhere indeed, so I think it's OK.

> Hopefully this is OK to push.
> Thank you for your time.

Applied as 7034791aa25db02e392495c44d68a5de937bdf7a, thanks!

-- 
Alex



Re: not a patch.. yet. git-daemon-service

2016-07-04 Thread ng0
Ludovic Courtès writes:

> ng0  skribis:
>
>>> (define-record-type* 
>>>   git-daemon-configuration make-git-daemon-configuration
>>>   git-daemon-configuration?
>>>   (git-daemon git-daemon-configuration-git
>>>   (default git))
>>>   (base-path  git-daemon-configuration-base-path) ; string
>>>   (port   git-daemon-configuration-port) ; string (default: 9418)
>>>   (extra-settings git-daemon-configuration-extra-settings))
>>>   ;;(export-all  git-daemon-configuration-export-all?) ;; those 
>>> are switches I need to add differently
>>>   ;;(informative-errors  git-daemon-configuration-informative-errors?) 
>>> ;; same.
>>>   ;;(verbose git-daemon-configuration-verbose?)) ;; same.
>>
>> There are many settings. The ones I think are the very basic ones which can
>> be used for a start for this service are:
>> port, base-path, a forced --syslog --informative-errors and finally the 
>> option
>> to add whatever you want to add when you read the man page.
>> There are more we can add later, but those are the very basic in my opinion.
>> What's your opinion?
>
> I think it’s OK to restrict yourself to the most common options at
> first.  We can always add more options eventually.
>
> Thanks for working on it!
>
> Ludo’.

How would I test run this service?
Is it documented in the manual somwhere?

-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on
psyced.org / loupsycedyglgamf.onion



Re: gexps and ‘with-imported-modules’

2016-07-04 Thread Alex Kost
Ludovic Courtès (2016-07-04 01:20 +0300) wrote:

> Hello!
>
> The ‘wip-gexp-imported-modules’ branch changes gexps so that each gexp
> embeds information about which modules need to be imported into its
> execution environment.
>
> Before you would do:
>
>   (gexp->derivation "foo"
> #~(begin
> (use-modules (guix build utils))
> …)
> #:modules '((guix build utils)))
>
> to specify that (guix build utils) must be imported in the build
> environment of “foo”.  After, it becomes:
>
>   (gexp->derivation "foo"
> (with-imported-modules '((guix build utils))
>   #~(begin
>   (use-modules (guix build utils))
>   …)))
>
> The gain (not visible here) is that when you nest gexps, the outermost
> gexp now contains all the info about modules that need to be imported.
> That way, no side channel is needed to carry the imported module info
> (by “side channel”, I mean things like the ‘imported-modules’ field
> currently found in  and several other places.)  Thus,
> it should be easier to compose gexps.

Great!  I like 'with-...' things.  And wow, you did a huge work again!

> I plan to merge it within a day or two.
>
> Comments welcome!

I see you added the indentation rule for 'with-imported-modules' in
"emacs/guix-devel.el".  I think it would also be good to add it to
'guix-devel-keywords' (as you did in commit cd6f6c22fb) to make it
highlighted as the other keywords.

-- 
Alex



Re: [PATCH] gnu: Add fontconfig-path-max.

2016-07-04 Thread Manolis Ragkousis
Hello,

On 07/04/16 07:02, ren...@openmailbox.org wrote:
> The current release is 2.12.0, and still uses the constant PATH_MAX.
> And I have not found any related patch for this detail.

Could you send the related patches to fontconfig upstream and see what
they think about them?

Thank you,
Manolis



[PATCH] gnu: Add scrollkeeper.

2016-07-04 Thread Roel Janssen
Dear Guix,

As you may know, I am trying to package GParted.  It uses Scrollkeeper
for its help function, so I'd like to add it to the distribution
already.

If it's fine with you, I will continue to push this to the repository.
As always, thank you for your time.

Kind regards,
Roel Janssen

>From 622f37d118541fd5c0d1659b020391eda4f71057 Mon Sep 17 00:00:00 2001
From: Roel Janssen 
Date: Mon, 4 Jul 2016 10:01:24 +0200
Subject: [PATCH] gnu: Add scrollkeeper.

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

diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 17a69e2..204ba2b 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -27,9 +27,11 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages python)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages xml)
   #:autoload   (gnu packages zip) (unzip))
@@ -115,3 +117,38 @@ generate both TeX output for high-quality hardcopies or 
HTML output for online
 brwosing.  The documentation is extracted directly from the C/C++/IDL source
 or Java class files.")
 (license gpl2+)))
+
+(define-public scrollkeeper
+  (package
+(name "scrollkeeper")
+(version "0.3.14")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "mirror://sourceforge/scrollkeeper/scrollkeeper-"
+   version ".tar.gz"))
+   (sha256
+(base32 "1bfxwxc1ngh11v36z899sz9qam366r050fhkyb5adv65lb1x62sa"
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags
+   (list (string-append "--with-xml-catalog="
+(assoc-ref %build-inputs "docbook-xml")
+"/xml/dtd/docbook/catalog.xml"
+(inputs
+ `(("perl" ,perl)
+   ("libxml2" ,libxml2)
+   ("libxslt" ,libxslt)
+   ;; The configure script checks for either version 4.2 or 4.1.2.
+   ("docbook-xml" ,docbook-xml-4.2)))
+(native-inputs
+ `(("intltool" ,intltool)))
+(home-page "http://scrollkeeper.sourceforge.net/";)
+(synopsis "Open Documentation Cataloging Project")
+(description "ScrollKeeper is a cataloging system for documentation on open
+systems.  It manages documentation metadata as specified by the Open Source
+Metadata Framework and provides a simple API to allow help browsers to find,
+sort, and search the document catalog.  It will also be able to communicate
+with catalog servers on the Net to search for documents which are not on the
+local system.")
+(license lgpl2.1+)))
-- 
2.9.0



Re: [PATCH] gnu: Add fontconfig-path-max.

2016-07-04 Thread Ludovic Courtès
Hello!

And thank you Manolis to taking care of this.  :-)

ren...@openmailbox.org skribis:

> From 3195bf1e75493675dc8cbd81a0f83e0b4538263b Mon Sep 17 00:00:00 2001
> From: Rene Saavedra 
> Date: Sat, 18 Jun 2016 13:37:19 -0500
> Subject: [PATCH] gnu: Add fontconfig-path-max.
>
> ---
>  gnu/packages/fontutils.scm  |  3 +++
>  gnu/packages/patches/fontconfig-fcdefault.patch | 23 +++
>  gnu/packages/patches/fontconfig-fcstat.patch| 23 +++
>  3 files changed, 49 insertions(+)
>  create mode 100644 gnu/packages/patches/fontconfig-fcdefault.patch
>  create mode 100644 gnu/packages/patches/fontconfig-fcstat.patch
>
> diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
> index 5f6ff15..2b84523 100644
> --- a/gnu/packages/fontutils.scm
> +++ b/gnu/packages/fontutils.scm
> @@ -231,6 +231,9 @@ fonts to/from the WOFF2 format.")
>  (uri (string-append
> 
> "https://www.freedesktop.org/software/fontconfig/release/fontconfig-";
> version ".tar.bz2"))
> +(patches (list
> +  (search-patch "fontconfig-fcdefault.patch")
> +  (search-patch "fontconfig-fcstat.patch")))

Rather use (search-patches …).

I would join the two patches in a single ‘fontconfig-path-max.patch’.

The file needs to be added in gnu/local.mk.

Manolis: do you think you could apply it to ‘core-updates-next’ with
these changes?

Thanks,
Ludo’.



Re: [PATCH] gnu: Add fontconfig-path-max.

2016-07-04 Thread Ludovic Courtès
Oops, I spoke too fast.

ren...@openmailbox.org skribis:

> +++ b/gnu/packages/patches/fontconfig-fcdefault.patch
> @@ -0,0 +1,23 @@
> +This patch replaces the use of macro PATH_MAX by *buf constant,
> +which allows dynamic memory allocation.
> +
> +---
> + src/fcdefault.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/fcdefault.c b/src/fcdefault.c
> +index 6647a8f..8e2094f 100644
> +--- a/src/fcdefault.c
>  b/src/fcdefault.c
> +@@ -150,7 +150,7 @@ retry:
> + # if defined (HAVE_GETEXECNAME)
> + const char *p = getexecname ();
> + # elif defined (HAVE_READLINK)
> +-char buf[PATH_MAX + 1];
> ++char *buf;

[...]

> + struct stat statb;
> +-char f[PATH_MAX + 1];
> ++char *f;

With these changes, the code compiles but will crash at run time,
because ‘f’ and ‘buf’ are dangling pointers.

We should instead use ‘01_path_max.patch’ from
.

(In general, for PATH_MAX issues, Debian very likely already has a
patch.)

Thanks,
Ludo’.



Re: [PATCH] gnu: cross-gcc-arguments: Disable libitm, libvtv and, libsanitizer.

2016-07-04 Thread Ludovic Courtès
Hi,

Efraim Flashner  skribis:

> On Thu, Apr 07, 2016 at 04:07:25PM +0300, Manolis Ragkousis wrote:
>> Hey Ludo,
>> 
>> I have reproduced the problem on the latest master targeting i686-linux
>> and arm-linux-gnueabihf.
>> 
>> The problem is that those libraries will fail to build when glibc is not
>> present. Also if target os is none, this problem will not appear because
>> the libs will not get built at all.
>> 
>> You can reproduce it with ./pre-inst-env guix build -e '((@@(gnu
>> packages cross-base) cross-gcc) "arm-linux-gnueabihf")'
>> 
>> This does not happen when targeting mips.
>> 
>> I have added an explanation to the patch and a link to this thread.
>> 
>> Manolis
>
> This patch was instrumental in building aarch64 bootstrap tarballs.
> Without it, when building the cross-gcc compiler from x86_64 to aarch64
> it would fail to compile when trying to build libitm. Searching around
> the internet suggested that this was only when building a cross-compiler
> that targeted C++ and not only C.
>
> I understand that it's too late to push this to core-updates, but we
> should push it to core-updates-next.

Sorry for the delay again.  Since it touches the cross toolchain and not
the main toolchain (Manolis, could you double-check that this is
correct, by making sure that “./pre-inst-env guix build coreutils -d” is
the same both before and after the patch?), it’s still OK to push to
‘core-updates’.

Manolis: OK to push?

Thanks for the heads-up, Efraim!

Ludo’.



Re: not a patch.. yet. git-daemon-service

2016-07-04 Thread Ludovic Courtès
ng0  skribis:

> Ludovic Courtès writes:
>
>> ng0  skribis:
>>
 (define-record-type* 
   git-daemon-configuration make-git-daemon-configuration
   git-daemon-configuration?
   (git-daemon git-daemon-configuration-git
   (default git))
   (base-path  git-daemon-configuration-base-path) ; string
   (port   git-daemon-configuration-port) ; string (default: 9418)
   (extra-settings git-daemon-configuration-extra-settings))
   ;;(export-all  git-daemon-configuration-export-all?) ;; 
 those are switches I need to add differently
   ;;(informative-errors  git-daemon-configuration-informative-errors?) 
 ;; same.
   ;;(verbose git-daemon-configuration-verbose?)) ;; same.
>>>
>>> There are many settings. The ones I think are the very basic ones which can
>>> be used for a start for this service are:
>>> port, base-path, a forced --syslog --informative-errors and finally the 
>>> option
>>> to add whatever you want to add when you read the man page.
>>> There are more we can add later, but those are the very basic in my opinion.
>>> What's your opinion?
>>
>> I think it’s OK to restrict yourself to the most common options at
>> first.  We can always add more options eventually.
>>
>> Thanks for working on it!
>>
>> Ludo’.
>
> How would I test run this service?

You can test it manually by creating an OS config that uses it and
instantiating it in a VM, with ‘guix system vm’.  In the VM you can
check whether git-daemon is running and working as expected.

Writing an automated test would be very valuable, but it’s a bit more
work.  The (gnu tests base) module has examples, and
 gives an
overview.

HTH!

Ludo’.



Re: [PATCH] gnu: conkeror: Update to 1.0.3

2016-07-04 Thread Ludovic Courtès
Alex Kost  skribis:

> John J Foerch (2016-07-03 18:50 +0300) wrote:
>
>> From 71dd8a5b721a952dbe583922caef0a91b1a559cf Mon Sep 17 00:00:00 2001
>> From: "John J. Foerch" 
>> Date: Sun, 3 Jul 2016 11:46:20 -0400
>> Subject: [PATCH] gnu: conkeror: Update to 1.0.3.
>>
>> * gnu/packages/conkeror.scm (conkeror): Update to 1.0.3.
>
> Just to mention: John is one of the main conkeror contributors :-)

Didn’t know that, nice!

Ludo’, a happy Conkeror user.  :-)



[PATCH 0/2] gnu: Add EMBOSS.

2016-07-04 Thread Ricardo Wurmus
Hi Guix,

this patch set adds the bioinformatics package EMBOSS along with a PDF library
"libharu".

Ricardo Wurmus (2):
  gnu: Add libharu.
  gnu: Add EMBOSS.

 gnu/packages/bioinformatics.scm | 67 +
 gnu/packages/pdf.scm| 42 +-
 2 files changed, 108 insertions(+), 1 deletion(-)

-- 
2.8.4




[PATCH 1/2] gnu: Add libharu.

2016-07-04 Thread Ricardo Wurmus
* gnu/packages/pdf.scm (libharu): New variable.
---
 gnu/packages/pdf.scm | 42 +-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index d46bd1f..36d3985 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2015, 2016 Andreas Enge 
 ;;; Copyright © 2014 Mark H Weaver 
-;;; Copyright © 2014, 2015 Ricardo Wurmus 
+;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus 
 ;;; Copyright © 2015 Paul van der Walt 
 ;;; Copyright © 2016 Roel Janssen 
 ;;;
@@ -28,6 +28,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages ghostscript)
@@ -154,6 +155,45 @@
 Poppler PDF rendering library.")
 (license license:lgpl2.1+)))
 
+(define-public libharu
+  (package
+   (name "libharu")
+   (version "2.3.0")
+   (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libharu/libharu/archive/";
+ "RELEASE_"
+ (string-join (string-split version #\.) "_")
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+  (base32
+   "1lm4v539y9cb1lvbq387j57sy7yxda3yv8b1pk8m6zazbp66i7lg"
+   (build-system gnu-build-system)
+   (arguments
+`(#:configure-flags
+  (list (string-append "--with-zlib="
+   (assoc-ref %build-inputs "zlib"))
+(string-append "--with-png="
+   (assoc-ref %build-inputs "libpng")))
+  #:phases
+  (modify-phases %standard-phases
+(add-before 'configure 'autogen
+  (lambda _ (zero? (system* "autoreconf" "-vif")))
+   (inputs
+`(("zlib" ,zlib)
+  ("libpng" ,libpng)))
+   (native-inputs
+`(("autoconf" ,autoconf)
+  ("automake" ,automake)
+  ("libtool" ,libtool)))
+   (home-page "http://libharu.org/";)
+   (synopsis "Library for generating PDF files")
+   (description
+"libHaru is a library for generating PDF files.  libHaru does not support
+reading and editing of existing PDF files.")
+   (license license:zlib)))
+
 (define-public xpdf
   (package
(name "xpdf")
-- 
2.8.4




[PATCH 2/2] gnu: Add EMBOSS.

2016-07-04 Thread Ricardo Wurmus
* gnu/packages/bioinformatics.scm (emboss): New variable.
---
 gnu/packages/bioinformatics.scm | 67 +
 1 file changed, 67 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 11784ab..05063d3 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -49,6 +49,8 @@
   #:use-module (gnu packages file)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages gd)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages machine-learning)
@@ -56,6 +58,7 @@
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
@@ -70,6 +73,7 @@
   #:use-module (gnu packages vim)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg)
   #:use-module (gnu packages zip)
   #:use-module (srfi srfi-1))
 
@@ -5232,6 +5236,69 @@ datasets and the exploration of large datasets of genome
 intervals (e.g. genes, sequence alignments).")
   (license license:gpl2
 
+(define-public emboss
+  (package
+(name "emboss")
+(version "6.5.7")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "ftp://emboss.open-bio.org/pub/EMBOSS/old/";
+  (version-major+minor version) ".0/"
+  "EMBOSS-" version ".tar.gz"))
+  (sha256
+   (base32
+"0vsmz96gc411yj2iyzdrsmg4l2n1nhgmp7vrgzlxx3xixv9xbf0q"
+(build-system gnu-build-system)
+(arguments
+ `(#:configure-flags
+   (list (string-append "--with-hpdf="
+(assoc-ref %build-inputs "libharu")))
+   #:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'fix-checks
+   (lambda _
+ ;; The PNGDRIVER tests check for the presence of libgd, libpng
+ ;; and zlib, but assume that they are all found at the same
+ ;; prefix.
+ (substitute* "configure.in"
+   (("CHECK_PNGDRIVER")
+"LIBS=\"$LIBS -lgd -lpng -lz -lm\"
+AC_DEFINE([PLD_png], [1], [Define to 1 if PNG support is available])
+AM_CONDITIONAL(AMPNG, true)"))
+ #t))
+ (add-after 'unpack 'disable-update-check
+   (lambda _
+ ;; At build time there is no connection to the Internet, so
+ ;; looking for updates will not work.
+ (substitute* "Makefile.am"
+   (("\\$\\(bindir\\)/embossupdate") ""))
+ #t))
+ (add-before 'configure 'autogen
+   (lambda _ (zero? (system* "autoreconf" "-vif")))
+(inputs
+ `(("perl" ,perl)
+   ("libpng" ,libpng)
+   ("gd" ,gd)
+   ("libx11" ,libx11)
+   ("libharu" ,libharu)
+   ("zlib" ,zlib)))
+(native-inputs
+ `(("autoconf" ,autoconf)
+   ("automake" ,automake)
+   ("libtool" ,libtool)
+   ("pkg-config" ,pkg-config)))
+(home-page "http://emboss.sourceforge.net";)
+(synopsis "Molecular biology analysis suite")
+(description "EMBOSS is the \"European Molecular Biology Open Software
+Suite\".  EMBOSS is an analysis package specially developed for the needs of
+the molecular biology (e.g. EMBnet) user community.  The software
+automatically copes with data in a variety of formats and even allows
+transparent retrieval of sequence data from the web.  It also provides a
+number of libraries for the development of software in the field of molecular
+biology.  EMBOSS also integrates a range of currently available packages and
+tools for sequence analysis into a seamless whole.")
+(license license:gpl2+)))
+
 (define-public piranha
   ;; There is no release tarball for the latest version.  The latest commit is
   ;; older than one year at the time of this writing.
-- 
2.8.4




Re: [PATCH 0/2] gnu: Add EMBOSS.

2016-07-04 Thread Roel Janssen
Hello Ricardo,

Wow this is cool.  I thought EMBOSS had a lot more dependencies than
described in the provided patches.  This looks very clean.  Nice work :)

Kind regards,
Roel Janssen


Ricardo Wurmus writes:

> Hi Guix,
>
> this patch set adds the bioinformatics package EMBOSS along with a PDF library
> "libharu".
>
> Ricardo Wurmus (2):
>   gnu: Add libharu.
>   gnu: Add EMBOSS.
>
>  gnu/packages/bioinformatics.scm | 67 
> +
>  gnu/packages/pdf.scm| 42 +-
>  2 files changed, 108 insertions(+), 1 deletion(-)




Re: chroot/aarch64 issues

2016-07-04 Thread Ludovic Courtès
Hi!

Efraim Flashner  skribis:

> On the side I'm working on the aarch64 port, and I've come across a

Woohoo!

> snag. I've been unable to actually get anything to build. When I start
> the daemon as:
> `sudo ./pre-inst-env guix-daemon --build-users-group=guixbuild',
> when I attempt to build hello I get back the error:
> guix build: error: build failed: cloning builder process: Invalid argument

Could you strace the daemon itself?

  sudo ./pre-inst-env strace -f -o log guix-daemon \
   --build-users-group=guixbuild

I presume EINVAL is returned by clone(2), but it would be good to see
that syscall precisely.

What Linux version is this?

Thanks,
Ludo’.



Re: gexps and ‘with-imported-modules’

2016-07-04 Thread Ludovic Courtès
Alex Kost  skribis:

> Ludovic Courtès (2016-07-04 01:20 +0300) wrote:
>
>> Hello!
>>
>> The ‘wip-gexp-imported-modules’ branch changes gexps so that each gexp
>> embeds information about which modules need to be imported into its
>> execution environment.
>>
>> Before you would do:
>>
>>   (gexp->derivation "foo"
>> #~(begin
>> (use-modules (guix build utils))
>> …)
>> #:modules '((guix build utils)))
>>
>> to specify that (guix build utils) must be imported in the build
>> environment of “foo”.  After, it becomes:
>>
>>   (gexp->derivation "foo"
>> (with-imported-modules '((guix build utils))
>>   #~(begin
>>   (use-modules (guix build utils))
>>   …)))
>>
>> The gain (not visible here) is that when you nest gexps, the outermost
>> gexp now contains all the info about modules that need to be imported.
>> That way, no side channel is needed to carry the imported module info
>> (by “side channel”, I mean things like the ‘imported-modules’ field
>> currently found in  and several other places.)  Thus,
>> it should be easier to compose gexps.
>
> Great!  I like 'with-...' things.  And wow, you did a huge work again!

Thank you.  I think it’ll be beneficial.  It makes more sense to provide
imported-module info at the gexp creation site rather than at the use
site.

>> I plan to merge it within a day or two.
>>
>> Comments welcome!
>
> I see you added the indentation rule for 'with-imported-modules' in
> "emacs/guix-devel.el".  I think it would also be good to add it to
> 'guix-devel-keywords' (as you did in commit cd6f6c22fb) to make it
> highlighted as the other keywords.

Will do!

Ludo’.



Re: Cross-building GuixSD (and maybe using pre-built toolchains)

2016-07-04 Thread Ludovic Courtès
Hello,

Paul Boddie  skribis:

> I was looking at the documentation, which is rather more helpful than most 
> distributions when it comes to describing how the actual distribution 
> archives 
> are built, and I figured a few things out about guix-daemon. However, I'm 
> doing all my work in a chroot - I don't want to "make install" and populate 
> various locations on my main system - and this doesn't seem to be entirely 
> compatible with the recommended way the daemon is used. Specifically, the 
> daemon does not seem to be able to build anything unless I specify the --
> disable-chroot flag.

How does guix-daemon fail exactly?  If needed, could you strace it to
get more details on what’s going on?

> Are there any recommended methods of running guix-daemon in a chroot and have 
> it create new chroots, or do I have to use some kind of virtualisation or 
> container technology? Is any kind of fakeroot/fakechroot mechanism supported?

I think few people do this, on the grounds that Guix is rather
non-intrusive: it stores all its stuff in /gnu/store and /var/guix.  So
if you want to get rid of it, all you have to do is delete those two
directories.  The rest of the system is untouched.

Now, if you really want it, I can’t think of any reason why guix-daemon
wouldn’t run in a chroot.  It currently requires root privileges,
precisely so that it can set up a chroot, separate name spaces, and so
on, but that could work in a chroot too.

> One thing that looks very promising is the ability to cross-bootstrap the 
> system, and I did manage to get that started for a new architecture (mipsel) 
> by performing some modifications suggested in the documentation [1], running 
> guix-daemon with the --disable-chroot flag, and then running this:
>
> guix build --target=mipsel-linux-gnu bootstrap-tarballs
>
> However, not wanting to leave my computer switched on all night, I stopped 
> the 
> build after a while. I can understand the need to bootstrap things like 
> toolchains, but given that I am running Debian which has cross-toolchains for 
> mipsel, I wondered if I could short-circuit this process by employing pre-
> built toolchains. Would this be possible?

No.  The approach we’re taking is to have a self-contained distro, and
that’s where we get all the fruits of the “functional paradigm”
described in the manual.

It’s surely an annoyance when bootstrapping an architecture for the
first time.  Once it’s in place though, it’s OK.  You could have build
machines for that architecture publishing binaries to users (via ‘guix
publish’).

> Finally, it seems to be the case that the workflow involves building a 
> bootstrapped minimal system and then natively building packages. Or have I 
> misunderstood the process?

Correct, this is the process to port the distro to a new platform.

> Is it possible to cross-build all of the packages in the distribution?

That’s also an option: you can simply cross-build the packages that you
need and copy them to the target machine.

We make sure core packages can be cross-built to the architectures we
support (currently x86_64, i686, armhf, and mips64el).  However, there’s
no guarantee that cross-building works for other targets, or that
non-core packages cross-build at all.  We’d definitely welcome patches
in this area, though.  :-)

HTH!

Ludo’.



Re: [PATCH] gnu: conkeror: Update to 1.0.3

2016-07-04 Thread John J Foerch
l...@gnu.org (Ludovic Courtès) writes:

> Alex Kost  skribis:
>
>> John J Foerch (2016-07-03 18:50 +0300) wrote:
>>
>>> From 71dd8a5b721a952dbe583922caef0a91b1a559cf Mon Sep 17 00:00:00 2001
>>> From: "John J. Foerch" 
>>> Date: Sun, 3 Jul 2016 11:46:20 -0400
>>> Subject: [PATCH] gnu: conkeror: Update to 1.0.3.
>>>
>>> * gnu/packages/conkeror.scm (conkeror): Update to 1.0.3.
>>
>> Just to mention: John is one of the main conkeror contributors :-)
>
> Didn’t know that, nice!
>
> Ludo’, a happy Conkeror user.  :-)

Nice :-)  I first heard about GuixSD in part because someone mentioned
Conkeror was used in a FOSDEM talk.  I thought that was pretty cool.

--
John Foerch




Re: [PATCH] gnu: Add di.

2016-07-04 Thread John J Foerch
Alex Kost  writes:

> John J Foerch (2016-07-04 06:47 +0300) wrote:
>
>> John J Foerch  writes:
>>
>>> Leo Famulari  writes:
>>>
 On Sat, Jul 02, 2016 at 03:13:52PM -0400, John J Foerch wrote:
> * gnu/packages/admin.scm (di): New variable.

 Thanks!

> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (delete 'configure)
> + (delete 'check)

 Did you try setting `#:test-target "test"` in the arguments? The
 Makefile has a test target.

>>>
>>> I didn't know about that.  I'll try it out.
>>>
>> A test relating to an included perl module Filesys::di fails.  I hadn't
>> intended to include that module in the package, as all I'm interested in
>> is the 'di' binary.  Given that, I would suggest that we bypass the
>> tests.
>
> As for me, I would also disable the tests.  All these handmade Makefiles
> in all sub-directories are a nightmare.  I think trying to figure out
> what is needed to run the tests doesn't worth it.
>
> Also don't forget to add a copyright line for yourself in the beginning
> of "admin.scm".

Here is an updated patch:

>From 05098e58a85149c96597bbacec5f0f9ef200d299 Mon Sep 17 00:00:00 2001
From: "John J. Foerch" 
Date: Sat, 2 Jul 2016 15:08:30 -0400
Subject: [PATCH] gnu: Add di.

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

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 415a35a..0fd2c87 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Ricardo Wurmus 
 ;;; Copyright © 2016 Efraim Flashner 
 ;;; Copyright © 2016 Peter Feigl 
+;;; Copyright © 2016 John J. Foerch 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1708,3 +1709,34 @@ throughput (in the same interval).")
  "The Fuck tries to match a rule for a previous, mistyped command, creates
 a new command using the matched rule, and runs it.")
 (license license:x11)))
+
+(define-public di
+  (package
+(name "di")
+(version "4.42")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append "https://gentoo.com/di/di-"; version ".tar.gz"))
+   (sha256
+(base32 "1i6m9zdnidn8268q1lz9fd8payk7s4pgwh5zlam9rr4dy6h6a67n"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (add-before 'build 'setup-environment
+   (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "CC" "gcc")
+ (setenv "prefix" (assoc-ref outputs "out"))
+ #t)))
+   #:make-flags (list "-e")))
+(home-page "https://www.gentoo.com/di/";)
+(synopsis "Advanced df like disk information utility")
+(description
+ "'di' is a disk information utility, displaying everything
+(and more) that your @code{df} command does.  It features the ability to
+display your disk usage in whatever format you prefer.  It is designed to be
+highly portable.  Great for heterogenous networks.")
+(license license:zlib)))
-- 
2.9.0



[PATCH] python2-pythondialog: Update to 3.4.0

2016-07-04 Thread ng0
>From c20789a0807166f683e36a47b3f08b89d93abef5 Mon Sep 17 00:00:00 2001
From: ng0 
Date: Mon, 4 Jul 2016 16:16:05 +
Subject: [PATCH] gnu: python2-pythondialog: Update to 3.4.0.

* gnu/packages/python.scm (python2-pythondialog): Update to 3.4.0.
---
 gnu/packages/python.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 8120012..a85817d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -23,6 +23,7 @@
 ;;; Copyright © 2016 Daniel Pimentel 
 ;;; Copyright © 2016 Sou Bunnbu 
 ;;; Copyright © 2016 Troy Sankey 
+;;; Copyright © 2016 ng0 
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6664,7 +6665,7 @@ facilities for defining, registering and looking up 
components.")
 (define-public python2-pythondialog
   (package
 (name "python2-pythondialog")
-(version "3.3.0")
+(version "3.4.0")
 (source
  (origin
(method url-fetch)
@@ -6673,7 +6674,7 @@ facilities for defining, registering and looking up 
components.")
version ".tar.gz"))
(sha256
 (base32
- "1yhkagsh99bfi592ymczf8rnw8rk6n9hdqy3dd98m3yrx8zmjvry"
+ "0d8k7lxk50imdyx85lv8j98i4c93a71iwpapnl1506rpkbm9qvd9"
 (build-system python-build-system)
 (arguments
  `(#:phases
-- 
2.9.0


-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org
SecuShare – http://secushare.org



[PATCH] Add python-pythondialog

2016-07-04 Thread ng0
>From 7439588d56d9c6935a4f88b46bc3b77a9f57565e Mon Sep 17 00:00:00 2001
From: ng0 
Date: Mon, 4 Jul 2016 16:53:06 +
Subject: [PATCH] gnu: Add python-pythondialog.

* gnu/packages/python.scm (python-pythondialog): New variable.
---
 gnu/packages/python.scm | 35 +++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index a85817d..bd4ce04 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6699,6 +6699,41 @@ provide an easy to use, pythonic and comprehensive 
Python interface to dialog.
 This allows one to make simple text-mode user interfaces on Unix-like systems")
 (license lgpl2.1)))
 
+(define-public python-pythondialog
+  (package
+(name "python-pythondialog")
+(version "3.4.0")
+(source
+ (origin
+   (method url-fetch)
+   (uri (pypi-uri "pythondialog" version))
+   (sha256
+(base32
+ "1728ghsran47jczn9bhlnkvk5bvqmmbihabgif5h705b84r1272c"
+(build-system python-build-system)
+(arguments
+ `(#:phases
+   (modify-phases %standard-phases
+ (add-after 'unpack 'patch-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((dialog (assoc-ref inputs "dialog")))
+   ;; Since this library really wants to grovel the search path, we
+   ;; must hardcode dialog's store path into it.
+   (substitute* "dialog.py"
+ (("os.getenv\\(\"PATH\", \":/bin:/usr/bin\"\\)")
+  (string-append "os.getenv(\"PATH\")  + \":" dialog 
"/bin\"")))
+   #t
+   #:tests? #f)) ; no test suite
+(propagated-inputs
+ `(("dialog" ,dialog)))
+(home-page
+ "http://pythondialog.sourceforge.net/";)
+(synopsis
+ "A Python interface to the UNIX dialog utility and mostly-compatible 
programs")
+(description
+ "A Python interface to the UNIX dialog utility and mostly-compatible 
programs")
+(license lgpl2.1)))
+
 (define-public python-pyrfc3339
   (package
 (name "python-pyrfc3339")
-- 
2.9.0


-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org
SecuShare – http://secushare.org



Re: [PATCH] python2-pythondialog: Update to 3.4.0

2016-07-04 Thread Leo Famulari
On Mon, Jul 04, 2016 at 04:56:11PM +, ng0 wrote:
> From c20789a0807166f683e36a47b3f08b89d93abef5 Mon Sep 17 00:00:00 2001
> From: ng0 
> Date: Mon, 4 Jul 2016 16:16:05 +
> Subject: [PATCH] gnu: python2-pythondialog: Update to 3.4.0.
> 
> * gnu/packages/python.scm (python2-pythondialog): Update to 3.4.0.

Thanks! If certbot still works, I'll push the update.



Re: [PATCH] Add python-pythondialog

2016-07-04 Thread Leo Famulari
On Mon, Jul 04, 2016 at 05:05:07PM +, ng0 wrote:
> * gnu/packages/python.scm (python-pythondialog): New variable.

For those reading along, python2-pythondialog and python-pythondialog
are separate implementations with different source tarballs.  They are
maintained by the same group.

But, the package definitions are basically the same. The only
differences are the name, the source and Python version.

Should one of them inherit from the other, or should we maintain two
independent package definitions?



Re: [PATCH] python2-pythondialog: Update to 3.4.0

2016-07-04 Thread ng0
Leo Famulari writes:

> On Mon, Jul 04, 2016 at 04:56:11PM +, ng0 wrote:
>> From c20789a0807166f683e36a47b3f08b89d93abef5 Mon Sep 17 00:00:00 2001
>> From: ng0 
>> Date: Mon, 4 Jul 2016 16:16:05 +
>> Subject: [PATCH] gnu: python2-pythondialog: Update to 3.4.0.
>> 
>> * gnu/packages/python.scm (python2-pythondialog): Update to 3.4.0.
>
> Thanks! If certbot still works, I'll push the update.

Oh. Sorry, I did not know which package I could've tested this
on, other than the one which is on my todo list (pybitmessage).
-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org
SecuShare – http://secushare.org



Re: [PATCH] Add python-pythondialog

2016-07-04 Thread ng0
Leo Famulari writes:

> On Mon, Jul 04, 2016 at 05:05:07PM +, ng0 wrote:
>> * gnu/packages/python.scm (python-pythondialog): New variable.
>
> For those reading along, python2-pythondialog and python-pythondialog
> are separate implementations with different source tarballs.  They are
> maintained by the same group.
>
> But, the package definitions are basically the same. The only
> differences are the name, the source and Python version.
>
> Should one of them inherit from the other, or should we maintain two
> independent package definitions?

If we inherit, we should let python2- inherit from python3.

I was not sure about the right way to process with this, so it
ended up in 2 packages.
-- 
♥Ⓐ  ng0
For non-prism friendly talk find me on http://www.psyced.org
SecuShare – http://secushare.org



Re: [PATCH] python2-pythondialog: Update to 3.4.0

2016-07-04 Thread Leo Famulari
On Mon, Jul 04, 2016 at 06:25:43PM +, ng0 wrote:
> Leo Famulari writes:
> 
> > On Mon, Jul 04, 2016 at 04:56:11PM +, ng0 wrote:
> >> From c20789a0807166f683e36a47b3f08b89d93abef5 Mon Sep 17 00:00:00 2001
> >> From: ng0 
> >> Date: Mon, 4 Jul 2016 16:16:05 +
> >> Subject: [PATCH] gnu: python2-pythondialog: Update to 3.4.0.
> >> 
> >> * gnu/packages/python.scm (python2-pythondialog): Update to 3.4.0.
> >
> > Thanks! If certbot still works, I'll push the update.

I had to make it use pypi-uri, since the source is not accessible with
the old PyPi URL format.

Pushed as 42c4b2464!



Re: [PATCH] gnu: Add di.

2016-07-04 Thread Leo Famulari
On Mon, Jul 04, 2016 at 09:43:55AM +0300, Alex Kost wrote:
> John J Foerch (2016-07-04 06:47 +0300) wrote:
> > A test relating to an included perl module Filesys::di fails.  I hadn't
> > intended to include that module in the package, as all I'm interested in
> > is the 'di' binary.  Given that, I would suggest that we bypass the
> > tests.
> 
> As for me, I would also disable the tests.  All these handmade Makefiles
> in all sub-directories are a nightmare.  I think trying to figure out
> what is needed to run the tests doesn't worth it.

I agree that hand-carved Makefiles are difficult to work with.

The failing Perl-related test runs successfully if Perl is added to the
environment. However, there is another failure later on:

make[1]: Leaving directory '/tmp/guix-build-di-4.42.drv-0/di-4.42/C'
make -e tests.done
make[1]: Entering directory '/tmp/guix-build-di-4.42.drv-0/di-4.42'
## running tests
CC=gcc DC="skip"  \
./mkconfig/runtests.sh ./tests.d
mkconfig version 1.27
## locating valid shells
   /gnu/store/b1yqjimbdh5bf9jnizd4h7yf110744j2-bash-4.3.42/bin/bash [bash4 
4.3.42(1)-release] (ok)
   /gnu/store/b1yqjimbdh5bf9jnizd4h7yf110744j2-bash-4.3.42/bin/sh [sh-bash4 
4.3.42(1)-release] (ok)
buildsh ... build w/mkconfig.sh ... bash4 C* sh-bash4 C* ... failed
## stopping tests due to failures in ./tests.d/ pass 1
1 tests 1 failures
Makefile:116: recipe for target 'tests.done' failed
make[1]: *** [tests.done] Error 1
make[1]: Leaving directory '/tmp/guix-build-di-4.42.drv-0/di-4.42'
Makefile:112: recipe for target 'test' failed
make: *** [test] Error 2
phase `check' failed after 64.5 seconds

I skimmed 'mkconfig/runtests.sh', but I don't understand it well enough
to debug it.

If the source code is still maintained, I bet the authors will be
willing to help. They express interest in testing and portability on the
web page.

But if everyone else prefers to skip the tests, I won't object :)



Re: [PATCH] gnu: Add di.

2016-07-04 Thread Leo Famulari
On Mon, Jul 04, 2016 at 11:18:50AM -0400, John J Foerch wrote:
> * gnu/packages/admin.scm (di): New variable.

A few final nitpicks before others make a decision about the test suite
;)

> +(arguments
> + `(#:phases
> +   (modify-phases %standard-phases
> + (delete 'configure)
> + (delete 'check)

We prefer to use #:tests? #f instead of deleting the check phase.

> + (add-before 'build 'setup-environment
> +   (lambda* (#:key outputs #:allow-other-keys)
> + (setenv "CC" "gcc")
> + (setenv "prefix" (assoc-ref outputs "out"))
> + #t)))
> +   #:make-flags (list "-e")))

I would like for '-e' to be expanded to '--environment-overrides'. It
seems that Schemers abhor abbreviations.

Sorry for not mentioning these before. I can do them myself when pushing
if there are no other changes to be made.



Re: [PATCH] gnu: Add scrollkeeper.

2016-07-04 Thread Leo Famulari
On Mon, Jul 04, 2016 at 10:04:58AM +0200, Roel Janssen wrote:
> Dear Guix,
> 
> As you may know, I am trying to package GParted.  It uses Scrollkeeper
> for its help function, so I'd like to add it to the distribution
> already.

Thank you for continuing with this!!

> If it's fine with you, I will continue to push this to the repository.
> As always, thank you for your time.

> * gnu/packages/documentation.scm (scrollkeeper): New variable.

You forgot to add yourself to the list of authors of documentation.scm.
Otherwise, it looks good to me.



Re: [PATCH] gnu: Add scrollkeeper.

2016-07-04 Thread Roel Janssen

Leo Famulari writes:

> On Mon, Jul 04, 2016 at 10:04:58AM +0200, Roel Janssen wrote:
>> Dear Guix,
>> 
>> As you may know, I am trying to package GParted.  It uses Scrollkeeper
>> for its help function, so I'd like to add it to the distribution
>> already.
>
> Thank you for continuing with this!!
>
>> If it's fine with you, I will continue to push this to the repository.
>> As always, thank you for your time.
>
>> * gnu/packages/documentation.scm (scrollkeeper): New variable.
>
> You forgot to add yourself to the list of authors of documentation.scm.
> Otherwise, it looks good to me.

Thank you for your quick reply, and for noticing this. :)
I applied it with my copyright line added to it.

Thanks!

Kind regards,
Roel Janssen



[PATCH 2/2] services: Add 'dropbear-service'.

2016-07-04 Thread David Craven
* gnu/services/ssh.scm (dropbear-service, ...): New variables.
* doc/guix.texi: New node.
---
 doc/guix.texi|  25 -
 gnu/services/ssh.scm | 104 +--
 2 files changed, 124 insertions(+), 5 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 62c0d34..377004f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7695,7 +7695,7 @@ In addition, @var{extra-settings} specifies a string to 
append to the
 configuration file.
 @end deffn
 
-Furthermore, @code{(gnu services ssh)} provides the following service.
+Furthermore, @code{(gnu services ssh)} provides the following services.
 
 @deffn {Scheme Procedure} lsh-service [#:host-key "/etc/lsh/host-key"] @
[#:daemonic? #t] [#:interfaces '()] [#:port-number 22] @
@@ -7733,6 +7733,29 @@ root.
 The other options should be self-descriptive.
 @end deffn
 
+@deffn {Scheme Procedure} dropbear-service [#:host-key 
"/etc/dropbear/dropbear_ecdsa_host-key"] @
+   [#:port-number 22] [#:allow-empty-passwords? #f] @
+   [#:root-login? #f] [#:password-authentication? #t] @
+   [#:syslog-output? #t] [#:initialize? #t]
+Run the @command{dropbear} program from @var{dropbear} to listen on port 
@var{port-number}.
+@var{host-key} must designate a file containing the host key, and readable
+only by root.
+
+By default dropbear logs its output to syslogd, unless one sets
+@var{syslog-output?} to false. This also makes dropbear-service depend
+on existence of syslogd service.
+
+When @var{initialize?} is true, @command{dropbear} automatically generates the
+host key upon service activation if it does not exist yet.
+When @var{initialize?} is false, it is up to create a key pair with the private
+key stored in file @var{host-key}. For more information consult the
+@command{dropbearkey} man pages.
+
+@var{allow-empty-passwords?} specifies whether to accept log-ins with empty
+passwords, and @var{root-login?} specifies whether to accept log-ins as
+root.
+@end deffn
+
 @defvr {Scheme Variable} %facebook-host-aliases
 This variable contains a string for use in @file{/etc/hosts}
 (@pxref{Host Names,,, libc, The GNU C Library Reference Manual}).  Each
diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm
index 1eb9382..13a5df1 100644
--- a/gnu/services/ssh.scm
+++ b/gnu/services/ssh.scm
@@ -17,14 +17,15 @@
 ;;; along with GNU Guix.  If not, see .
 
 (define-module (gnu services ssh)
-  #:use-module (guix gexp)
-  #:use-module (guix records)
+  #:use-module (gnu packages ssh)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu system pam)
-  #:use-module (gnu packages ssh)
+  #:use-module (guix gexp)
+  #:use-module (guix records)
   #:use-module (srfi srfi-26)
-  #:export (lsh-service))
+  #:export (dropbear-service
+lsh-service))
 
 ;;; Commentary:
 ;;;
@@ -235,4 +236,99 @@ The other options should be self-descriptive."
public-key-authentication?)
   (initialize? initialize?
 
+;;;
+;;; Dropbear ssh server
+;;;
+
+(define-record-type* 
+  dropbear-configuration make-dropbear-configuration
+  dropbear-configuration?
+  (dropbear dropbear-configuration-dropbear
+(default dropbear))
+  (host-key dropbear-configuration-host-key)
+  (port-number dropbear-configuration-port-number)
+  (syslog-output? dropbear-configuration-syslog-output?)
+  (pid-file dropbear-configuration-pid-file)
+  (root-login? dropbear-configuration-root-login?)
+  (allow-empty-passwords? dropbear-configuration-allow-empty-passwords?)
+  (password-authentication? dropbear-configuration-password-authentication?)
+  (initialize? dropbear-configuration-initialize?))
+
+(define (dropbear-initialization dropbear host-key)
+  "Return the gexp to initialize the dropbear service for HOST-KEY."
+  #~(begin
+(unless (file-exists? #$host-key)
+  (mkdir-p (dirname #$host-key))
+  (format #t "creating SSH host key '~a'...~%" #$host-key)
+  (system* (string-append #$dropbear "/bin/dropbearkey")
+"-t" "ecdsa" "-f" #$host-key
+
+(define (dropbear-activation config)
+  "Return the activation gexp for CONFIG."
+  #~(begin
+  #$(if (dropbear-configuration-initialize? config)
+(dropbear-initialization
+  (dropbear-configuration-dropbear config)
+  (dropbear-configuration-host-key config))
+#t)))
+
+(define (dropbear-shepherd-service config)
+  "Return a  for dropbear with CONFIG."
+  (define dropbear (dropbear-configuration-dropbear config))
+
+  (define dropbear-command
+(append
+  (list
+#~(string-append #$dropbear "/sbin/dropbear") "-F"
+"-p" (number->string (dropbear-configuration-port-number config))
+"-P" (dropbear-configuration-pid-file config)
+"-r" (dropbear-configuration-host-key config))
+  (if (dropbear-configuration-syslog-output? config) '() '("-E"))

[PATCH 1/2] gnu: lsh: Move to (gnu packages ssh)

2016-07-04 Thread David Craven
* gnu/packages/lsh.scm: Remove.  Move 'lsh and liboop' to...
* gnu/packages/ssh.scm (liboop, lsh): ... here.  New variables.
* gnu/services/ssh.scm: Adjust accordingly.
---
 gnu/packages/lsh.scm | 159 ---
 gnu/packages/ssh.scm | 157 ++
 gnu/services/ssh.scm |   2 +-
 3 files changed, 146 insertions(+), 172 deletions(-)
 delete mode 100644 gnu/packages/lsh.scm

diff --git a/gnu/packages/lsh.scm b/gnu/packages/lsh.scm
deleted file mode 100644
index 2ea1591..000
--- a/gnu/packages/lsh.scm
+++ /dev/null
@@ -1,159 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès 
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix.  If not, see .
-
-(define-module (gnu packages lsh)
-  #:use-module ((guix licenses) #:prefix license:)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (gnu packages)
-  #:use-module (gnu packages m4)
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages nettle)
-  #:use-module (gnu packages compression)
-  #:use-module (gnu packages multiprecision)
-  #:use-module (gnu packages readline)
-  #:use-module (gnu packages gperf)
-  #:use-module (gnu packages guile)
-  #:use-module (gnu packages xorg))
-
-(define-public liboop
-  (package
-(name "liboop")
-(version "1.0")
-(source
- (origin
-  (method url-fetch)
-  (uri (string-append "http://download.ofb.net/liboop/liboop-";
-  version ".tar.gz"))
-  (sha256
-   (base32
-"0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))
-  (patches (search-patches "liboop-mips64-deplibs-fix.patch"
-(build-system gnu-build-system)
-(home-page "http://www.lysator.liu.se/liboop/";)
-(synopsis "Event loop library")
-(description "Liboop is a low-level event loop management library for
-POSIX-based operating systems.  It supports the development of modular,
-multiplexed applications which may respond to events from several sources.  It
-replaces the \"select() loop\" and allows the registration of event handlers
-for file and network I/O, timers and signals.  Since processes use these
-mechanisms for almost all external communication, liboop can be used as the
-basis for almost any application.")
-(license license:lgpl2.1+)))
-
-(define-public lsh
-  (package
-(name "lsh")
-(version "2.1")
-(source (origin
-  (method url-fetch)
-  (uri (string-append "mirror://gnu/lsh/lsh-"
-  version ".tar.gz"))
-  (sha256
-   (base32
-"1qqjy9zfzgny0rkb27c8c7dfsylvb6n0ld8h3an2r83pmaqr9gwb"))
-  (modules '((guix build utils)))
-  (snippet
-   '(begin
-  (substitute* "src/testsuite/functions.sh"
-(("localhost")
- ;; Avoid host name lookups since they don't work in
- ;; chroot builds.
- "127.0.0.1")
-(("set -e")
- ;; Make tests more verbose.
- "set -e\nset -x"))
-
-  (substitute* (find-files "src/testsuite" "-test$")
-(("localhost") "127.0.0.1"))
-
-  (substitute* "src/testsuite/login-auth-test"
-(("/bin/cat") "cat"))
-(build-system gnu-build-system)
-(native-inputs
- `(("m4" ,m4)
-   ("guile" ,guile-2.0)
-   ("gperf" ,gperf)
-   ("psmisc" ,psmisc)))   ; for `killall'
-(inputs
- `(("nettle" ,nettle-2)
-   ("linux-pam" ,linux-pam)
-
-   ;; 'rl.c' uses the 'CPPFunction' type, which is no longer in
-   ;; Readline 6.3.
-   ("readline" ,readline-6.2)
-
-   ("liboop" ,liboop)
-   ("zlib" ,zlib)
-   ("gmp" ,gmp)
-
-   ;; The server (lshd) invokes xauth when X11 forwarding is requested.
-   ;; This adds 24 MiB (or 27%) to the closure of lsh.
-   ("xauth" ,xauth)))
-(arguments
- '(;; Skip the `configure' test that checks whether /dev/ptmx &
-   ;; co. work as expected, because it relies on impurities (for
-   ;; instance, /dev/pts may be unavailable 

Re: [PATCH] gnu: Add fontconfig-path-max.

2016-07-04 Thread rennes

Hello,



We should instead use ‘01_path_max.patch’ from
.



I attached the updated patch.

The code has changed in the current version, I used the version 2.12.0 
of the package to update the patch.


how i know if the program will crash at run time?.


Thanks for your guideFrom 21f812c2f496bdb7c39e297f66e09ea35968ddfb Mon Sep 17 00:00:00 2001
From: Rene Saavedra 
Date: Mon, 4 Jul 2016 19:34:48 -0500
Subject: [PATCH] gnu: Add fontconfig.

---
 gnu/packages/fontutils.scm |  8 ++-
 gnu/packages/patches/fontconfig-path-max.patch | 69 ++
 2 files changed, 75 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/fontconfig-path-max.patch

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 5f6ff15..8ae725b 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -225,14 +225,18 @@ fonts to/from the WOFF2 format.")
 (define-public fontconfig
   (package
(name "fontconfig")
-   (version "2.11.94")
+   (version "2.12.0")
(source (origin
 (method url-fetch)
 (uri (string-append
"https://www.freedesktop.org/software/fontconfig/release/fontconfig-";
version ".tar.bz2"))
 (sha256 (base32
- "1psrl4b4gi4wmbvwwh43lk491wsl8lgvqj146prlcha3vwjc0qyp"
+ "0942gl0n9zh3lwha1bfvzq7mh7pzycfys8f2mbcgss0zzzpy8cxl"))
+   ;; The patch is based on the Debian patch.
+   ;; http://http.debian.net/debian/pool/main/f/fontconfig/fontconfig_2.11.0-6.3.debian.tar.xz
+(patches (search-patches
+  "fontconfig-path-max.patch"
(build-system gnu-build-system)
(propagated-inputs `(("expat" ,expat)
 ("freetype" ,freetype)))
diff --git a/gnu/packages/patches/fontconfig-path-max.patch b/gnu/packages/patches/fontconfig-path-max.patch
new file mode 100644
index 000..6f5a9b7
--- /dev/null
+++ b/gnu/packages/patches/fontconfig-path-max.patch
@@ -0,0 +1,69 @@
+The patch replaces the use of macro PATH_MAX, in default.c and
+fcstat.c files.
+---
+ src/fcdefault.c | 32 +---
+ src/fcstat.c|  3 ++-
+ 2 files changed, 27 insertions(+), 8 deletions(-)
+
+diff --git a/src/fcdefault.c b/src/fcdefault.c
+index 6647a8f..4856777 100644
+--- a/src/fcdefault.c
 b/src/fcdefault.c
+@@ -150,15 +150,33 @@ retry:
+ # if defined (HAVE_GETEXECNAME)
+ 	const char *p = getexecname ();
+ # elif defined (HAVE_READLINK)
+-	char buf[PATH_MAX + 1];
+-	int len;
++	int size = 128;
+ 	char *p = NULL;
+ 
+-	len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1);
+-	if (len != -1)
+-	{
+-	buf[len] = '\0';
+-	p = buf;
++	while (1) {
++	char *buf = malloc (size);
++	int len;
++
++	if (buf == NULL)
++		break;
++
++	len = readlink ("/proc/self/exe", buf, size - 1);
++
++	if (len < 0)
++	{
++		free(buf);
++		break;
++	}
++
++	if (len < size - 1)
++	{
++		buf[len] = '\0';
++		p = buf;
++		break;
++	}
++
++	free (buf);
++	size *= 2;
+ 	}
+ # else
+ 	char *p = NULL;
+diff --git a/src/fcstat.c b/src/fcstat.c
+index 1734fa4..0f1cc00 100644
+--- a/src/fcstat.c
 b/src/fcstat.c
+@@ -278,7 +278,8 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
+ 	{
+ #endif
+ 	struct stat statb;
+-	char f[PATH_MAX + 1];
++	int size = 128;
++	char *f = malloc (size);
+ 
+ 	memcpy (f, dir, len);
+ 	f[len] = FC_DIR_SEPARATOR;
+-- 
+2.6.3
+
-- 
2.6.3



Re: [PATCH] gnu: Add fontconfig-path-max.

2016-07-04 Thread rennes


On 2016-07-04 02:55, Manolis Ragkousis wrote:

Hello,

On 07/04/16 07:02, ren...@openmailbox.org wrote:

The current release is 2.12.0, and still uses the constant PATH_MAX.
And I have not found any related patch for this detail.


Could you send the related patches to fontconfig upstream and see what
they think about them?

Thank you,
Manolis


I will analyze and send the patches. For now I will use the Debian patch 
suggested by Ludo.


Thanks



Re: [PATCH] gnu: Add di.

2016-07-04 Thread John J Foerch
Leo Famulari  writes:

> On Mon, Jul 04, 2016 at 11:18:50AM -0400, John J Foerch wrote:
>> * gnu/packages/admin.scm (di): New variable.
>
> A few final nitpicks before others make a decision about the test suite
> ;)
>
>> +(arguments
>> + `(#:phases
>> +   (modify-phases %standard-phases
>> + (delete 'configure)
>> + (delete 'check)
>
> We prefer to use #:tests? #f instead of deleting the check phase.
>
>> + (add-before 'build 'setup-environment
>> +   (lambda* (#:key outputs #:allow-other-keys)
>> + (setenv "CC" "gcc")
>> + (setenv "prefix" (assoc-ref outputs "out"))
>> + #t)))
>> +   #:make-flags (list "-e")))
>
> I would like for '-e' to be expanded to '--environment-overrides'. It
> seems that Schemers abhor abbreviations.
>
> Sorry for not mentioning these before. I can do them myself when pushing
> if there are no other changes to be made.

Sounds good.  Thanks.

--
John Foerch




Re: [PATCH] gnu: Add di.

2016-07-04 Thread John J Foerch
Leo Famulari  writes:

> On Mon, Jul 04, 2016 at 09:43:55AM +0300, Alex Kost wrote:
>> John J Foerch (2016-07-04 06:47 +0300) wrote:
>> > A test relating to an included perl module Filesys::di fails.  I hadn't
>> > intended to include that module in the package, as all I'm interested in
>> > is the 'di' binary.  Given that, I would suggest that we bypass the
>> > tests.
>> 
>> As for me, I would also disable the tests.  All these handmade Makefiles
>> in all sub-directories are a nightmare.  I think trying to figure out
>> what is needed to run the tests doesn't worth it.
>
> I agree that hand-carved Makefiles are difficult to work with.
>
> The failing Perl-related test runs successfully if Perl is added to the
> environment. However, there is another failure later on:
>

I would favor leaving perl out of the package for the di binary
entirely, and if people want the perl module, use another package for
that.

-- 
John Foerch




Re: [PATCH 1/2] gnu: lsh: Move to (gnu packages ssh)

2016-07-04 Thread Efraim Flashner
On Mon, Jul 04, 2016 at 10:56:15PM +0200, David Craven wrote:
> * gnu/packages/lsh.scm: Remove.  Move 'lsh and liboop' to...
> * gnu/packages/ssh.scm (liboop, lsh): ... here.  New variables.
> * gnu/services/ssh.scm: Adjust accordingly.
> ---
>  gnu/packages/lsh.scm | 159 
> ---
>  gnu/packages/ssh.scm | 157 ++
>  gnu/services/ssh.scm |   2 +-

it also needs to be removed from gnu/local.mk

>  3 files changed, 146 insertions(+), 172 deletions(-)
>  delete mode 100644 gnu/packages/lsh.scm
> 

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


signature.asc
Description: PGP signature


Re: [PATCH 1/2] gnu: lsh: Move to (gnu packages ssh)

2016-07-04 Thread Efraim Flashner
On Tue, Jul 05, 2016 at 09:01:57AM +0300, Efraim Flashner wrote:
> On Mon, Jul 04, 2016 at 10:56:15PM +0200, David Craven wrote:
> > * gnu/packages/lsh.scm: Remove.  Move 'lsh and liboop' to...
> > * gnu/packages/ssh.scm (liboop, lsh): ... here.  New variables.
> > * gnu/services/ssh.scm: Adjust accordingly.
> > ---
> >  gnu/packages/lsh.scm | 159 
> > ---
> >  gnu/packages/ssh.scm | 157 
> > ++
> >  gnu/services/ssh.scm |   2 +-
> 
> it also needs to be removed from gnu/local.mk
> 
> >  3 files changed, 146 insertions(+), 172 deletions(-)
> >  delete mode 100644 gnu/packages/lsh.scm
> > 
> 

I seem to have deleted my second comment by mistake, don't forget to
transfer over Ludo's copyright line

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


signature.asc
Description: PGP signature