Re: problem with building gcc-cross-4.8.3 for i686-pc-gnu

2015-01-31 Thread Marek Benc

Could you try out the patch in this email?

Now, the problem is that GCC is configured with the native ld.so as the 
target system's dynamic linker.


I'm not sure what code is responsible for that, but on the wip-hurd 
branch, this exact same problem happens for other platforms as well.


In particular, it happened when I tried:
$ ./pre-inst-env guix build coreutils --target=i686-pc-linux-gnu -K
on an x86_64 box.

--
Marek.
--- guix.old/gnu/packages/cross-base.scm	2015-01-31 11:06:42.025984113 +0100
+++ guix/gnu/packages/cross-base.scm	2015-01-31 10:37:35.290053633 +0100
@@ -151,21 +151,33 @@
  `(alist-cons-before
'configure 'set-cross-path
(lambda* (#:key inputs #:allow-other-keys)
- ;; Add the cross Linux headers to CROSS_CPATH, and remove
+ ;; Add the cross kernel headers to CROSS_CPATH, and remove
  ;; them from CPATH.
  (let ((libc  (assoc-ref inputs "libc"))
(linux (assoc-ref inputs
- "libc/cross-linux-headers")))
+ "libc/cross-linux-headers"))
+   (mach  (assoc-ref inputs
+ "libc/cross-gnumach-headers"))
+   (hurd  (assoc-ref inputs
+ "libc/cross-hurd-headers"))
+   (hurd-minimal (assoc-ref inputs
+ "libc/cross-hurd-minimal")))
(define (cross? x)
- ;; Return #t if X is a cross-libc or cross Linux.
+ ;; Return #t if X is a cross-libc or a cross-kernel.
  (or (string-prefix? libc x)
- (string-prefix? linux x)))
+ (if linux(string-prefix? linux x) #f)
+ (if hurd (string-prefix? hurd  x) #f)
+ (if mach (string-prefix? mach  x) #f)
+ (if hurd-minimal (string-prefix? hurd-minimal x) #f)))
 
(setenv "CROSS_CPATH"
-   (string-append libc "/include:"
-  linux "/include"))
+   (string-append libc "/include"
+  (if linux (string-append ":" linux "/include") "")
+  (if hurd  (string-append ":" hurd "/include"
+   ":" mach "/include")  "")))
(setenv "CROSS_LIBRARY_PATH"
-   (string-append libc "/lib"))
+   (string-append libc "/lib"
+  (if hurd-minimal (string-append ":" hurd-minimal "/lib") "")))
 
(let ((cpath   (search-path-as-string->list
(getenv "CPATH")))


wicd porting so far.

2015-01-31 Thread Omar Radwan
To begin with, I haven't gotten very far.

I'm reading through the manual, and the first thing I figured out what to
do is write the package definition, http://pastebin.com/2q7LCv2i .

I'm not sure what exactly to do with it, it was something about putting it
in the guix build tree. Though I'm not 100% sure what that is.

Another thing that I'm a bit confused about is the base32 string in the
beginning of each store file in /gnu/store*, is it after you build a
package def, you "guix hash" it or is there another process.

And with the service definition for dmd, I think we can worry about that
later, after we've ported guix.


Re: wicd porting so far.

2015-01-31 Thread Cyril Roelandt
Hey,

On 01/31/2015 08:21 PM, Omar Radwan wrote:
> To begin with, I haven't gotten very far.
> 
> I'm reading through the manual, and the first thing I figured out what to
> do is write the package definition, http://pastebin.com/2q7LCv2i .
> 
> I'm not sure what exactly to do with it, it was something about putting it
> in the guix build tree. Though I'm not 100% sure what that is.
> 

Clone the git repository:

git clone git://git.savannah.gnu.org/guix.git

Then cd guix and copy your recipe in gnu/packages/wicd.scm.

Then make && ./pre-inst-env guix build wicd

There will likely be a bunch of errors that you will have to figure out
how to fix :) Do not hesitate to ask for help either on this
mailing-list or on #guix on Freenode.


Cyril.



[PATCH v2]: Add Ardour.

2015-01-31 Thread Ricardo Wurmus
Hi Guix,

This is a new version of my previous patch series towards Ardour.  The
attached patches replace (and partially repeat) those contained in the
following emails:

  * waf build system (unchanged):
http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00439.html

  * JACK2, aubio, liblo, LV2
http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00446.html

  * serd, sord, sratom, lilv, suil
http://lists.gnu.org/archive/html/guix-devel/2015-01/msg00461.html

On top of that, the patch set adds the following packages:

  - Vamp SDK
  - LADSPA (a little ugly)
  - rubberband
  - libgnomecanvasmm (deprecated and old, but used by Ardour)
  - and finally: Ardour

I decided to replace the previous patches because of an error in the
'jack-2' package whose fix made it difficult to apply subsequent
patches.  Now everything is in context and the dependencies between the
patches is clearer now that Ardour has also been packaged.

~~ Ricardo

>From b60b5718c35db62d471df63168bc3da4c11bbc32 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus 
Date: Wed, 28 Jan 2015 22:39:03 +0100
Subject: [PATCH 01/15] Add 'waf-build-system'.

* guix/build-system/waf.scm, guix/build/waf-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
---
 Makefile.am |   2 +
 guix/build-system/waf.scm   | 128 
 guix/build/waf-build-system.scm |  86 +++
 3 files changed, 216 insertions(+)
 create mode 100644 guix/build-system/waf.scm
 create mode 100644 guix/build/waf-build-system.scm

diff --git a/Makefile.am b/Makefile.am
index 67367d6..6a4a09b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -53,6 +53,7 @@ MODULES =	\
   guix/build-system/gnu.scm			\
   guix/build-system/perl.scm			\
   guix/build-system/python.scm			\
+  guix/build-system/waf.scm			\
   guix/build-system/ruby.scm			\
   guix/build-system/trivial.scm			\
   guix/ftp-client.scm\
@@ -71,6 +72,7 @@ MODULES =	\
   guix/build/perl-build-system.scm		\
   guix/build/python-build-system.scm		\
   guix/build/ruby-build-system.scm		\
+  guix/build/waf-build-system.scm		\
   guix/build/store-copy.scm			\
   guix/build/utils.scm\
   guix/build/union.scm\
diff --git a/guix/build-system/waf.scm b/guix/build-system/waf.scm
new file mode 100644
index 000..494cb95
--- /dev/null
+++ b/guix/build-system/waf.scm
@@ -0,0 +1,128 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus 
+;;;
+;;; 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 waf)
+  #:use-module (guix store)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix derivations)
+  #:use-module (guix build-system)
+  #:use-module (guix build-system gnu)
+  #:use-module ((guix build-system python)
+#:select (default-python default-python2))
+  #:use-module (ice-9 match)
+  #:use-module (srfi srfi-26)
+  #:export (waf-build
+waf-build-system))
+
+;; Commentary:
+;;
+;; Standard build procedure for applications using 'waf'.  This is very
+;; similar to the 'python-build-system' and is implemented as an extension of
+;; 'gnu-build-system'.
+;;
+;; Code:
+
+(define* (lower name
+#:key source inputs native-inputs outputs system target
+(python (default-python))
+#:allow-other-keys
+#:rest arguments)
+  "Return a bag for NAME."
+  (define private-keywords
+'(#:source #:target #:python #:inputs #:native-inputs))
+
+  (and (not target)   ;XXX: no cross-compilation
+   (bag
+ (name name)
+ (system system)
+ (host-inputs `(,@(if source
+  `(("source" ,source))
+  '())
+,@inputs
+
+;; Keep the standard inputs of 'gnu-build-system'.
+,@(standard-packages)))
+ (build-inputs `(("python" ,python)
+ ,@native-inputs))
+ (outputs outputs)
+ (build waf-build) ; only change compared to 'lower' in python.scm
+ (arguments (strip-keyword-arguments private-keywords arguments)
+
+(define* (waf-build store name inputs
+   #:key
+   

[PATCH] Set Emacs indentation for `wrap-program'.

2015-01-31 Thread "Taylan Ulrich Bayırlı/Kammer"

===File
/home/tub/media/src/guix/0001-Set-Emacs-indentation-for-wrap-program.patch===
>From f7f3ce7140c82380e68ba3299ac17555268b8155 Mon Sep 17 00:00:00 2001
From: Taylan Ulrich B 
Date: Sat, 29 Nov 2014 13:36:24 +0100
Subject: [PATCH 1/2] Set Emacs indentation for `wrap-program'.

* .dir-locals.el (scheme-mode): Set `scheme-indent-function' of `wrap-program'
  to 1.
---
 .dir-locals.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.dir-locals.el b/.dir-locals.el
index b82d049..1d4c7d1 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -52,6 +52,7 @@
(eval . (put 'mlet 'scheme-indent-function 2))
(eval . (put 'run-with-store 'scheme-indent-function 1))
(eval . (put 'run-with-state 'scheme-indent-function 1))
+   (eval . (put 'wrap-program 'scheme-indent-function 1))
 
;; Recognize '~', '+', and '$', as used for gexps, as quotation symbols.
;; This notably allows '(' in Paredit to not insert a space when the
-- 
2.2.1





[PATCH] gnu: Add dnsmasq.

2015-01-31 Thread "Taylan Ulrich Bayırlı/Kammer"

===File /home/tub/media/src/guix/0002-gnu-Add-dnsmasq.patch===
>From f943afbfcdbe78a91064844609391373c845b498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 
Date: Sat, 31 Jan 2015 21:51:08 +0100
Subject: [PATCH 2/2] gnu: Add dnsmasq.

* gnu-system.am (GNU_SYSTEM_MODULES): Add dnsmasq.scm.
* gnu/packages/dnsmasq.scm: New file.
---
 gnu-system.am|  1 +
 gnu/packages/dnsmasq.scm | 58 
 2 files changed, 59 insertions(+)
 create mode 100644 gnu/packages/dnsmasq.scm

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..b81a42f 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -79,6 +79,7 @@ GNU_SYSTEM_MODULES =  \
   gnu/packages/dejagnu.scm \
   gnu/packages/dictionaries.scm\
   gnu/packages/disk.scm\
+  gnu/packages/dnsmasq.scm \
   gnu/packages/docbook.scm \
   gnu/packages/doxygen.scm \
   gnu/packages/dwm.scm \
diff --git a/gnu/packages/dnsmasq.scm b/gnu/packages/dnsmasq.scm
new file mode 100644
index 000..7303b9f
--- /dev/null
+++ b/gnu/packages/dnsmasq.scm
@@ -0,0 +1,58 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 
+;;;
+;;; 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 dnsmasq)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public dnsmasq
+  (package
+(name "dnsmasq")
+(version "2.72")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://www.thekelleys.org.uk/dnsmasq/dnsmasq-";
+version ".tar.xz"))
+  (sha256
+   (base32
+"1c80hq09hfm8cp5pirfb8wdlc7dqkp7zzmbmdaradcvlblzx42vx"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (alist-replace
+'configure
+(lambda* (#:key inputs outputs #:allow-other-keys)
+  (substitute* "Makefile"
+(("/usr/local") (assoc-ref outputs "out")))
+  (setenv "CC" "gcc"))
+%standard-phases)
+   #:tests? #f))
+(home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html";)
+(synopsis "Small caching DNS proxy and DHCP/TFTP server")
+(description
+ "Dnsmasq is a lightweight DNS forwarder and DHCP server.  It is designed
+to provide DNS and optionally, DHCP, to a small network.  It can serve the
+names of local machines which are not in the global DNS.  The DHCP server
+integrates with the DNS server and allows machines with DHCP-allocated
+addresses to appear in the DNS with names configured either in each host or in
+a central configuration file.  Dnsmasq supports static and dynamic DHCP leases
+and BOOTP/TFTP for network booting of diskless machines.")
+(license gpl3)))
-- 
2.2.1





[PATCH] gnu: Add ngircd.

2015-01-31 Thread "Taylan Ulrich Bayırlı/Kammer"

===File /home/tub/media/src/guix/0001-gnu-Add-ngircd.patch===
>From 5b4569f28f675f7091484133ae430384db585f8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 
Date: Sat, 31 Jan 2015 22:03:25 +0100
Subject: [PATCH] gnu: Add ngircd.

* gnu-system.am (GNU_SYSTEM_MODULES): Add ngircd.scm.
* gnu/packages/ngircd.scm: New file.
---
 gnu-system.am   |  1 +
 gnu/packages/ngircd.scm | 54 +
 2 files changed, 55 insertions(+)
 create mode 100644 gnu/packages/ngircd.scm

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..488e7a5 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -197,6 +197,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/ncurses.scm \
   gnu/packages/netpbm.scm  \
   gnu/packages/nettle.scm  \
+  gnu/packages/ngircd.scm  \
   gnu/packages/ninja.scm   \
   gnu/packages/node.scm\
   gnu/packages/noweb.scm   \
diff --git a/gnu/packages/ngircd.scm b/gnu/packages/ngircd.scm
new file mode 100644
index 000..b947076
--- /dev/null
+++ b/gnu/packages/ngircd.scm
@@ -0,0 +1,54 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 
+;;;
+;;; 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 ngircd)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public ngircd
+  (package
+(name "ngircd")
+(version "22")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://arthur.barton.de/pub/ngircd/ngircd-";
+  version ".tar.xz"))
+  (sha256
+   (base32
+"17k3g9qd9d010czk5846qxvzkmw4fihv8l6m2a2287crbxm3xhd4"
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   ;; Necessary for the test suite, should it be enabled in the future.
+   (alist-cons-after
+'configure 'post-configure
+(lambda _
+  (substitute* "src/ngircd/Makefile"
+(("#!/bin/sh") (which "sh"
+%standard-phases)
+   ;; Test-suite inflates our dependencies with e.g. expect(1).
+   #:tests? #f))
+(home-page "http://ngircd.barton.de/";)
+(synopsis "Lightweight Internet Relay Chat server for small networks")
+(description
+ "ngIRCd is a lightweight Internet Relay Chat server for small or private
+networks.  It is easy to configure, can cope with dynamic IP addresses, and
+supports IPv6, SSL-protected connections as well as PAM for authentication.")
+(license gpl2+)))
-- 
2.2.1





Re: problem with building gcc-cross-4.8.3 for i686-pc-gnu

2015-01-31 Thread Marek Benc

Disregard the previous mail, I figured most of it out.

The attached patch does the following:
  1.) Adds the name of the dynamic linker to gnu/packages/bootstrap.scm
  2.) Adds code to gnu/package/gcc to substitute the default dynamic 
linker in gcc/config/arch/gnu.h for the one to be used.

  3.) Changes how the build system arguments for cross-gcc are created:
A.) They're now in a separate procedure, reflecting how it's done 
in vanilla guix.
B.) A bug is fixed that caused the native ld.so to be picked over 
the target one.
C.) Fixed the 'set-cross-path phase so that it also checks for 
hurd-related packages, and checks package existence before passing 
anything to the string-handling functions.


The current issue is that, when building cross-gcc, when it reaches 
libgomp, configure fails when trying to create a dummy binary. For some 
reason, the compiled cross-compiler needs --rpath to specify where 
shared libraries are, as without it, it can't find libmachuser.so and 
libhurduser.so, which causes it to fail.


--
Marek.
--- guix.old/gnu/packages/bootstrap.scm	2015-01-31 11:06:42.020984113 +0100
+++ guix/gnu/packages/bootstrap.scm	2015-01-29 19:58:36.376427673 +0100
@@ -156,6 +156,7 @@
   (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
 ((string=? system "i686-linux") "/lib/ld-linux.so.2")
 ((string=? system "mips64el-linux") "/lib/ld.so.1")
+((string=? system "i686-gnu") "/lib/ld.so.1")
 (else (error "dynamic linker name not known for this system"
  system
 
--- guix.old/gnu/packages/cross-base.scm	2015-01-31 11:06:42.025984113 +0100
+++ guix/gnu/packages/cross-base.scm	2015-01-31 12:16:33.365984113 +0100
@@ -67,6 +67,117 @@
 `(cons "--with-sysroot=/" ,flags)))
 (cross binutils target)))
 
+(define (cross-gcc-arguments target libc)
+  "Return build system arguments for a cross-gcc for TARGET, using LIBC (which
+may be either a libc package or #f.)"
+  ;; Set the current target system so that 'glibc-dynamic-linker' returns the
+  ;; right name.
+  (parameterize ((%current-target-system target))
+(substitute-keyword-arguments (package-arguments gcc-4.8)
+  ((#:configure-flags flags)
+   `(append (list ,(string-append "--target=" target)
+  ,@(if libc
+'()
+`( ;; Disable features not needed at this stage.
+  "--disable-shared" "--enable-static"
+
+  ;; Disable C++ because libstdc++'s configure
+  ;; script otherwise fails with "Link tests are not
+  ;; allowed after GCC_NO_EXECUTABLES."
+  "--enable-languages=c"
+
+  "--disable-threads"  ;libgcc, would need libc
+  "--disable-libatomic"
+  "--disable-libmudflap"
+  "--disable-libgomp"
+  "--disable-libssp"
+  "--disable-libquadmath"
+  "--disable-decimal-float" ;would need libc
+  )))
+
+,(if libc
+ flags
+ `(remove (cut string-match "--enable-languages.*" <>)
+  ,flags
+  ((#:make-flags flags)
+   (if libc
+   `(let ((libc (assoc-ref %build-inputs "libc")))
+  ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
+  ;; the -Bxxx for the startfiles.
+  (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
+,flags))
+   flags))
+  ((#:phases phases)
+   (let ((phases
+  `(alist-cons-after
+'install 'make-cross-binutils-visible
+(lambda* (#:key outputs inputs #:allow-other-keys)
+  (let* ((out  (assoc-ref outputs "out"))
+ (libexec  (string-append out "/libexec/gcc/"
+  ,target))
+ (binutils (string-append
+(assoc-ref inputs "binutils-cross")
+"/bin/" ,target "-")))
+(for-each (lambda (file)
+(symlink (string-append binutils file)
+ (string-append libexec "/"
+file)))
+  '("as" "ld" "nm"))
+#t))
+,phases)))
+ (if libc
+ `(alist-cons-before
+   'configure 'set-cross-path
+   (lambda* (#:key inputs #:allow-other-keys)
+ ;; Add the cross-kernel headers to CROSS_CPATH, and remove them
+ ;; from CP

[PATCH] gnu: Add polipo.

2015-01-31 Thread "Taylan Ulrich Bayırlı/Kammer"

===File /home/tub/media/src/guix/0001-gnu-Add-polipo.patch===
>From 5178c21a46062b328677cfa2015419c270c6536b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 
Date: Sun, 1 Feb 2015 00:03:19 +0100
Subject: [PATCH] gnu: Add polipo.

* gnu-system.am (GNU_SYSTEM_MODULES): Add polipo.scm.
* gnu/packages/polipo.scm: New file.
---
 gnu-system.am   |  1 +
 gnu/packages/polipo.scm | 60 +
 2 files changed, 61 insertions(+)
 create mode 100644 gnu/packages/polipo.scm

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..03f148d 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -222,6 +222,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/photo.scm   \
   gnu/packages/pkg-config.scm  \
   gnu/packages/plotutils.scm   \
+  gnu/packages/polipo.scm  \
   gnu/packages/polkit.scm  \
   gnu/packages/popt.scm\
   gnu/packages/pth.scm \
diff --git a/gnu/packages/polipo.scm b/gnu/packages/polipo.scm
new file mode 100644
index 000..9d01995
--- /dev/null
+++ b/gnu/packages/polipo.scm
@@ -0,0 +1,60 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 
+;;;
+;;; 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 polipo)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages texinfo))
+
+(define-public polipo
+  (package
+(name "polipo")
+(version "1.1.1")
+(source
+ (origin
+   (method url-fetch)
+   (uri (string-append
+ 
"http://www.pps.univ-paris-diderot.fr/~jch/software/files/polipo/polipo-";
+ version ".tar.gz"))
+   (sha256
+(base32
+ "05g09sg9qkkhnc2mxldm1w1xkxzs2ylybkjzs28w8ydbjc3pand2"
+(inputs `(("texinfo" ,texinfo)))
+(build-system gnu-build-system)
+(arguments
+ `(#:phases
+   (alist-replace
+'configure
+(lambda* (#:key inputs outputs #:allow-other-keys)
+  (let ((out (assoc-ref outputs "out")))
+(substitute* "Makefile"
+  (("/usr/local") out)
+  (("/usr/share") (string-append out "/share"
+  (setenv "CC" "gcc"))
+%standard-phases)
+   ;; No test suite.
+   #:tests? #f))
+(home-page "http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/";)
+(synopsis "Small caching web proxy")
+(description
+ "Polipo is a small caching web proxy (web cache, HTTP proxy, and proxy
+server).  It was primarily designed to be used by one person or a small group
+of people.")
+(license (bsd-style "file://COPYING"
-- 
2.2.1





Re: [PATCH] gnu: Add ngircd.

2015-01-31 Thread Taylan Ulrich Bayırlı/Kammer
Please use this updated patch; it adds zlib and gnutls and enables IPv6:

>From 444dc72eff46ceb343fcdfdfc368390417201002 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 
Date: Sat, 31 Jan 2015 22:03:25 +0100
Subject: [PATCH] gnu: Add ngircd.

* gnu-system.am (GNU_SYSTEM_MODULES): Add ngircd.scm.
* gnu/packages/ngircd.scm: New file.
---
 gnu-system.am   |  1 +
 gnu/packages/ngircd.scm | 61 +
 2 files changed, 62 insertions(+)
 create mode 100644 gnu/packages/ngircd.scm

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..488e7a5 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -197,6 +197,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/ncurses.scm			\
   gnu/packages/netpbm.scm			\
   gnu/packages/nettle.scm			\
+  gnu/packages/ngircd.scm			\
   gnu/packages/ninja.scm			\
   gnu/packages/node.scm\
   gnu/packages/noweb.scm			\
diff --git a/gnu/packages/ngircd.scm b/gnu/packages/ngircd.scm
new file mode 100644
index 000..4636df5
--- /dev/null
+++ b/gnu/packages/ngircd.scm
@@ -0,0 +1,61 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 
+;;;
+;;; 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 ngircd)
+  #:use-module ((guix licenses) #:prefix l:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages gnutls)
+  #:use-module (gnu packages compression))
+
+(define-public ngircd
+  (package
+(name "ngircd")
+(version "22")
+(source (origin
+  (method url-fetch)
+  (uri (string-append "http://arthur.barton.de/pub/ngircd/ngircd-";
+  version ".tar.xz"))
+  (sha256
+   (base32
+"17k3g9qd9d010czk5846qxvzkmw4fihv8l6m2a2287crbxm3xhd4"
+(build-system gnu-build-system)
+;; XXX Add more inputs to enable more features, e.g. IDENT, libiconv.
+(inputs `(("zlib" ,zlib)
+  ("gnutls" ,gnutls)))
+(arguments
+ `(#:configure-flags
+   `("--with-gnutls" "--enable-ipv6")
+   #:phases
+   ;; Necessary for the test suite, should it be enabled in the future.
+   (alist-cons-after
+'configure 'post-configure
+(lambda _
+  (substitute* "src/ngircd/Makefile"
+(("#!/bin/sh") (which "sh"
+%standard-phases)
+   ;; Test-suite inflates our dependencies with e.g. expect(1).
+   #:tests? #f))
+(home-page "http://ngircd.barton.de/";)
+(synopsis "Lightweight Internet Relay Chat server for small networks")
+(description
+ "ngIRCd is a lightweight Internet Relay Chat server for small or private
+networks.  It is easy to configure, can cope with dynamic IP addresses, and
+supports IPv6, SSL-protected connections as well as PAM for authentication.")
+(license l:gpl2+)))
-- 
2.2.1



[PATCH] gnu: Add moreutils.

2015-01-31 Thread Taylan Ulrich Bayırlı/Kammer
>From c770ed88c66c10de47e8fe7f84c3df6cf7b14aa4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
 
Date: Sun, 1 Feb 2015 02:21:11 +0100
Subject: [PATCH] gnu: Add moreutils.

* gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
* gnu/packages/moreutils.scm: New file.
---
 gnu-system.am  |  1 +
 gnu/packages/moreutils.scm | 71 ++
 2 files changed, 72 insertions(+)
 create mode 100644 gnu/packages/moreutils.scm

diff --git a/gnu-system.am b/gnu-system.am
index 706ad57..8ae5b79 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -187,6 +187,7 @@ GNU_SYSTEM_MODULES =\
   gnu/packages/miscfiles.scm			\
   gnu/packages/mit-krb5.scm			\
   gnu/packages/moe.scm\
+  gnu/packages/moreutils.scm			\
   gnu/packages/mpd.scm\
   gnu/packages/mp3.scm\
   gnu/packages/mpi.scm\
diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm
new file mode 100644
index 000..da3df89
--- /dev/null
+++ b/gnu/packages/moreutils.scm
@@ -0,0 +1,71 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 
+;;;
+;;; 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 moreutils)
+  #:use-module ((guix licenses) #:prefix l:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages xml)
+  #:use-module (gnu packages docbook))
+
+(define-public moreutils
+  (package
+(name "moreutils")
+(version "0.55")
+(source (origin
+  (method url-fetch)
+  (uri (string-append
+"http://ftp.debian.org/debian/pool/main/m/moreutils/moreutils_";
+version ".orig.tar.gz"))
+  (sha256
+   (base32
+"1dcah2jx8dbznn8966xl7sf1jrld2qfh6l6xcmx9dsnf8p8mr7fs"
+(build-system gnu-build-system)
+(inputs `(("perl" ,perl)
+  ("libxml2" ,libxml2)
+  ("libxslt" ,libxslt)
+  ("docbook-xml" ,docbook-xml-4.4)
+  ("docbook-xsl" ,docbook-xsl)))
+(arguments
+ `(#:phases
+   (alist-replace
+'configure
+(lambda* (#:key inputs outputs #:allow-other-keys)
+  (let ((out (assoc-ref outputs "out"))
+(docbook-xml (assoc-ref inputs "docbook-xml"))
+(docbook-xsl (assoc-ref inputs "docbook-xsl")))
+(substitute* "Makefile"
+  (("PREFIX\\?=/usr")
+   (string-append "PREFIX?=" out))
+  (("/usr/share/xml/.*/docbook.xsl")
+   (string-append
+docbook-xsl
+"/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
+(setenv
+ "XML_CATALOG_FILES"
+ (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))
+(setenv "CC" "gcc")))
+%standard-phases)))
+(home-page "http://joeyh.name/code/moreutils/";)
+(synopsis "Miscellaneous general-purpose command-line tools")
+(description
+ "Moreutils is a collection of general-purpose command-line tools to
+augment the traditional Unix toolbox.")
+(license l:gpl2+)))
-- 
2.2.1




Re: [PATCH] gnu: Add moreutils.

2015-01-31 Thread David Thompson
"Taylan Ulrich Bayırlı/Kammer"  writes:

> From c770ed88c66c10de47e8fe7f84c3df6cf7b14aa4 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  
> Date: Sun, 1 Feb 2015 02:21:11 +0100
> Subject: [PATCH] gnu: Add moreutils.
>
> * gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
> * gnu/packages/moreutils.scm: New file.
> ---
>  gnu-system.am  |  1 +
>  gnu/packages/moreutils.scm | 71 
> ++
>  2 files changed, 72 insertions(+)
>  create mode 100644 gnu/packages/moreutils.scm
>
> diff --git a/gnu-system.am b/gnu-system.am
> index 706ad57..8ae5b79 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -187,6 +187,7 @@ GNU_SYSTEM_MODULES =  \
>gnu/packages/miscfiles.scm \
>gnu/packages/mit-krb5.scm  \
>gnu/packages/moe.scm   \
> +  gnu/packages/moreutils.scm \
>gnu/packages/mpd.scm   \
>gnu/packages/mp3.scm   \
>gnu/packages/mpi.scm   \
> diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm
> new file mode 100644
> index 000..da3df89
> --- /dev/null
> +++ b/gnu/packages/moreutils.scm
> @@ -0,0 +1,71 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 
> +;;;
> +;;; 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 moreutils)
> +  #:use-module ((guix licenses) #:prefix l:)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages perl)
> +  #:use-module (gnu packages xml)
> +  #:use-module (gnu packages docbook))
> +
> +(define-public moreutils
> +  (package
> +(name "moreutils")
> +(version "0.55")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +
> "http://ftp.debian.org/debian/pool/main/m/moreutils/moreutils_";
> +version ".orig.tar.gz"))
> +  (sha256
> +   (base32
> +"1dcah2jx8dbznn8966xl7sf1jrld2qfh6l6xcmx9dsnf8p8mr7fs"
> +(build-system gnu-build-system)
> +(inputs `(("perl" ,perl)
> +  ("libxml2" ,libxml2)
> +  ("libxslt" ,libxslt)
> +  ("docbook-xml" ,docbook-xml-4.4)
> +  ("docbook-xsl" ,docbook-xsl)))
> +(arguments
> + `(#:phases
> +   (alist-replace
> +'configure
> +(lambda* (#:key inputs outputs #:allow-other-keys)
> +  (let ((out (assoc-ref outputs "out"))
> +(docbook-xml (assoc-ref inputs "docbook-xml"))
> +(docbook-xsl (assoc-ref inputs "docbook-xsl")))
> +(substitute* "Makefile"
> +  (("PREFIX\\?=/usr")
> +   (string-append "PREFIX?=" out))

In GNU Make, the '?=' operator for variable assignment means "assign if
the variable isn't already defined"[1].  So, rather than a substitution,
how about just setting an environment variable?

  (setenv "PREFIX" out)

> +  (("/usr/share/xml/.*/docbook.xsl")
> +   (string-append
> +docbook-xsl
> +"/xml/xsl/docbook-xsl-1.78.1/manpages/docbook.xsl")))
> +(setenv
> + "XML_CATALOG_FILES"
> + (string-append docbook-xml "/xml/dtd/docbook/catalog.xml"))
> +(setenv "CC" "gcc")))
> +%standard-phases)))
> +(home-page "http://joeyh.name/code/moreutils/";)
> +(synopsis "Miscellaneous general-purpose command-line tools")
> +(description
> + "Moreutils is a collection of general-purpose command-line tools to
> +augment the traditional Unix toolbox.")
> +(license l:gpl2+)))
> -- 
> 2.2.1
>
>

Everything else looks good to me! :)

[1] https://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



Re: wicd porting so far.

2015-01-31 Thread Omar Radwan
>Then make && ./pre-inst-env guix build wicd

For starters, the make command returns an error
"make: *** No targets specified and no makefile found. Stop."

Though there clearly are 2 makefiles. Makefile.in and Makefile.am

On Sat, Jan 31, 2015 at 11:27 AM, Cyril Roelandt  wrote:

> Hey,
>
> On 01/31/2015 08:21 PM, Omar Radwan wrote:
> > To begin with, I haven't gotten very far.
> >
> > I'm reading through the manual, and the first thing I figured out what to
> > do is write the package definition, http://pastebin.com/2q7LCv2i .
> >
> > I'm not sure what exactly to do with it, it was something about putting
> it
> > in the guix build tree. Though I'm not 100% sure what that is.
> >
>
> Clone the git repository:
>
> git clone git://git.savannah.gnu.org/guix.git
>
> Then cd guix and copy your recipe in gnu/packages/wicd.scm.
>
> Then make && ./pre-inst-env guix build wicd
>
> There will likely be a bunch of errors that you will have to figure out
> how to fix :) Do not hesitate to ask for help either on this
> mailing-list or on #guix on Freenode.
>
>
> Cyril.
>


Re: wicd porting so far.

2015-01-31 Thread David Thompson
Omar Radwan  writes:

>>Then make && ./pre-inst-env guix build wicd
>
> For starters, the make command returns an error
> "make: *** No targets specified and no makefile found. Stop."
>
> Though there clearly are 2 makefiles. Makefile.in and Makefile.am

You need to run the './bootstrap' script first.  See the 'HACKING' file
for more details about building from git.

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



Installation media requests

2015-01-31 Thread Kete Foy
In my opinion, the installation media needs 2 features: Colemak and 
wireless instructions.




Re: wicd porting so far.

2015-01-31 Thread Omar Radwan
>You need to run the './bootstrap' script first.  See the 'HACKING' file
>for more details about building from git.

after install autoconf as the hacking file suggested, the ./bootstrap now
complains about not having autopoint to run


On Sat, Jan 31, 2015 at 6:58 PM, David Thompson 
wrote:

> Omar Radwan  writes:
>
> >>Then make && ./pre-inst-env guix build wicd
> >
> > For starters, the make command returns an error
> > "make: *** No targets specified and no makefile found. Stop."
> >
> > Though there clearly are 2 makefiles. Makefile.in and Makefile.am
>
> You need to run the './bootstrap' script first.  See the 'HACKING' file
> for more details about building from git.
>
> --
> David Thompson
> Web Developer - Free Software Foundation - http://fsf.org
> GPG Key: 0FF1D807
> Support the FSF: https://fsf.org/donate
>


Re: wicd porting so far.

2015-01-31 Thread David Thompson
Omar Radwan  writes:

>>You need to run the './bootstrap' script first.  See the 'HACKING' file
>>for more details about building from git.
>
> after install autoconf as the hacking file suggested, the ./bootstrap now
> complains about not having autopoint to run

You must also install GNU Gettext, also mentioned in the HACKING file.

-- 
David Thompson
Web Developer - Free Software Foundation - http://fsf.org
GPG Key: 0FF1D807
Support the FSF: https://fsf.org/donate



Re: Installation media requests

2015-01-31 Thread Omar Radwan
>In my opinion, the installation media needs 2 features: Colemak and
wireless instructions.

Colemak is not very widely used, but I'm not in charge of that, so I don't
know if it'll happen. While wireless right now is in the works. And I would
expect it to be in by 0.9.

On Sat, Jan 31, 2015 at 7:02 PM, Kete Foy  wrote:

> In my opinion, the installation media needs 2 features: Colemak and
> wireless instructions.
>
>


Re: [PATCH] gnu: Add moreutils.

2015-01-31 Thread Mark H Weaver
David Thompson  writes:

> "Taylan Ulrich Bayırlı/Kammer"  writes:
>
>> From c770ed88c66c10de47e8fe7f84c3df6cf7b14aa4 Mon Sep 17 00:00:00 2001
>> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>>  
>> Date: Sun, 1 Feb 2015 02:21:11 +0100
>> Subject: [PATCH] gnu: Add moreutils.
>>
>> * gnu-system.am (GNU_SYSTEM_MODULES): Add moreutils.scm.
>> * gnu/packages/moreutils.scm: New file.
>> ---
>>  gnu-system.am  |  1 +
>>  gnu/packages/moreutils.scm | 71 
>> ++
>>  2 files changed, 72 insertions(+)
>>  create mode 100644 gnu/packages/moreutils.scm
>>
>> diff --git a/gnu-system.am b/gnu-system.am
>> index 706ad57..8ae5b79 100644
>> --- a/gnu-system.am
>> +++ b/gnu-system.am
>> @@ -187,6 +187,7 @@ GNU_SYSTEM_MODULES = \
>>gnu/packages/miscfiles.scm\
>>gnu/packages/mit-krb5.scm \
>>gnu/packages/moe.scm  \
>> +  gnu/packages/moreutils.scm\
>>gnu/packages/mpd.scm  \
>>gnu/packages/mp3.scm  \
>>gnu/packages/mpi.scm  \
>> diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm
>> new file mode 100644
>> index 000..da3df89
>> --- /dev/null
>> +++ b/gnu/packages/moreutils.scm
>> @@ -0,0 +1,71 @@
>> +;;; GNU Guix --- Functional package management for GNU
>> +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 
>> +;;;
>> +;;; 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 moreutils)
>> +  #:use-module ((guix licenses) #:prefix l:)
>> +  #:use-module (guix packages)
>> +  #:use-module (guix download)
>> +  #:use-module (guix build-system gnu)
>> +  #:use-module (gnu packages perl)
>> +  #:use-module (gnu packages xml)
>> +  #:use-module (gnu packages docbook))
>> +
>> +(define-public moreutils
>> +  (package
>> +(name "moreutils")
>> +(version "0.55")
>> +(source (origin
>> +  (method url-fetch)
>> +  (uri (string-append
>> +
>> "http://ftp.debian.org/debian/pool/main/m/moreutils/moreutils_";
>> +version ".orig.tar.gz"))
>> +  (sha256
>> +   (base32
>> +"1dcah2jx8dbznn8966xl7sf1jrld2qfh6l6xcmx9dsnf8p8mr7fs"
>> +(build-system gnu-build-system)
>> +(inputs `(("perl" ,perl)
>> +  ("libxml2" ,libxml2)
>> +  ("libxslt" ,libxslt)
>> +  ("docbook-xml" ,docbook-xml-4.4)
>> +  ("docbook-xsl" ,docbook-xsl)))
>> +(arguments
>> + `(#:phases
>> +   (alist-replace
>> +'configure
>> +(lambda* (#:key inputs outputs #:allow-other-keys)
>> +  (let ((out (assoc-ref outputs "out"))
>> +(docbook-xml (assoc-ref inputs "docbook-xml"))
>> +(docbook-xsl (assoc-ref inputs "docbook-xsl")))
>> +(substitute* "Makefile"
>> +  (("PREFIX\\?=/usr")
>> +   (string-append "PREFIX?=" out))
>
> In GNU Make, the '?=' operator for variable assignment means "assign if
> the variable isn't already defined"[1].  So, rather than a substitution,
> how about just setting an environment variable?
>
>   (setenv "PREFIX" out)

Another way is to add "PREFIX=..." to #:make-flags like this:

  #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))

See 'freedink-data' in gnu/packages/games.scm for an example of this.

  Mark



It's 2015 now

2015-01-31 Thread Mark H Weaver
Many people are posting new patches with 2014 in the copyright dates.
It's 2015 now :)

  Mark



Re: [PATCH] gnu: Add dnsmasq.

2015-01-31 Thread Mark H Weaver
taylanbayi...@gmail.com ("Taylan Ulrich "Bayırlı/Kammer\"") writes:

> From f943afbfcdbe78a91064844609391373c845b498 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  
> Date: Sat, 31 Jan 2015 21:51:08 +0100
> Subject: [PATCH 2/2] gnu: Add dnsmasq.
>
> * gnu-system.am (GNU_SYSTEM_MODULES): Add dnsmasq.scm.
> * gnu/packages/dnsmasq.scm: New file.
> ---
>  gnu-system.am|  1 +
>  gnu/packages/dnsmasq.scm | 58 
> 
>  2 files changed, 59 insertions(+)
>  create mode 100644 gnu/packages/dnsmasq.scm
>
> diff --git a/gnu-system.am b/gnu-system.am
> index 706ad57..b81a42f 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -79,6 +79,7 @@ GNU_SYSTEM_MODULES =\
>gnu/packages/dejagnu.scm   \
>gnu/packages/dictionaries.scm  \
>gnu/packages/disk.scm  \
> +  gnu/packages/dnsmasq.scm   \
>gnu/packages/docbook.scm   \
>gnu/packages/doxygen.scm   \
>gnu/packages/dwm.scm   \
> diff --git a/gnu/packages/dnsmasq.scm b/gnu/packages/dnsmasq.scm
> new file mode 100644
> index 000..7303b9f
> --- /dev/null
> +++ b/gnu/packages/dnsmasq.scm
> @@ -0,0 +1,58 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 

It's 2015 now :)
The same mistake is present in your other recent submissions.

> +;;;
> +;;; 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 dnsmasq)
> +  #:use-module (guix licenses)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu))
> +
> +(define-public dnsmasq
> +  (package
> +(name "dnsmasq")
> +(version "2.72")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append
> +"http://www.thekelleys.org.uk/dnsmasq/dnsmasq-";
> +version ".tar.xz"))
> +  (sha256
> +   (base32
> +"1c80hq09hfm8cp5pirfb8wdlc7dqkp7zzmbmdaradcvlblzx42vx"
> +(build-system gnu-build-system)
> +(arguments
> + `(#:phases
> +   (alist-replace
> +'configure
> +(lambda* (#:key inputs outputs #:allow-other-keys)
> +  (substitute* "Makefile"
> +(("/usr/local") (assoc-ref outputs "out")))
> +  (setenv "CC" "gcc"))
> +%standard-phases)

How about passing these as arguments to 'make' instead, like this?

 `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
  "CC=gcc")
   #:phases (alist-delete 'configure %standard-phases)

> +   #:tests? #f))

Please add a comment explaining why this is needed.  In this case "no
check target" would be sufficient.

> +(home-page "http://www.thekelleys.org.uk/dnsmasq/doc.html";)
> +(synopsis "Small caching DNS proxy and DHCP/TFTP server")
> +(description
> + "Dnsmasq is a lightweight DNS forwarder and DHCP server.  It is designed
> +to provide DNS and optionally, DHCP, to a small network.  It can serve the
> +names of local machines which are not in the global DNS.  The DHCP server
> +integrates with the DNS server and allows machines with DHCP-allocated
> +addresses to appear in the DNS with names configured either in each host or 
> in
> +a central configuration file.  Dnsmasq supports static and dynamic DHCP 
> leases
> +and BOOTP/TFTP for network booting of diskless machines.")
> +(license gpl3)))

The source files say that the user has the option of either GPLv2 or
GPLv3.  Therefore, please write (license gpl2 gpl3) with a comment to
make it clear what this means.

Can you post an updated patch?

 Thanks!
   Mark



Re: [PATCH] gnu: Add polipo.

2015-01-31 Thread Mark H Weaver
taylanbayi...@gmail.com ("Taylan Ulrich "Bayırlı/Kammer\"") writes:

> From 5178c21a46062b328677cfa2015419c270c6536b Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  
> Date: Sun, 1 Feb 2015 00:03:19 +0100
> Subject: [PATCH] gnu: Add polipo.
>
> * gnu-system.am (GNU_SYSTEM_MODULES): Add polipo.scm.
> * gnu/packages/polipo.scm: New file.
> ---
>  gnu-system.am   |  1 +
>  gnu/packages/polipo.scm | 60 
> +
>  2 files changed, 61 insertions(+)
>  create mode 100644 gnu/packages/polipo.scm
>
> diff --git a/gnu-system.am b/gnu-system.am
> index 706ad57..03f148d 100644
> --- a/gnu-system.am
> +++ b/gnu-system.am
> @@ -222,6 +222,7 @@ GNU_SYSTEM_MODULES =  \
>gnu/packages/photo.scm \
>gnu/packages/pkg-config.scm\
>gnu/packages/plotutils.scm \
> +  gnu/packages/polipo.scm\
>gnu/packages/polkit.scm\
>gnu/packages/popt.scm  \
>gnu/packages/pth.scm   \

Instead of making a new module for this, how about adding it to web.scm?

> diff --git a/gnu/packages/polipo.scm b/gnu/packages/polipo.scm
> new file mode 100644
> index 000..9d01995
> --- /dev/null
> +++ b/gnu/packages/polipo.scm
> @@ -0,0 +1,60 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 

It's 2015 :)

> +;;;
> +;;; 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 polipo)
> +  #:use-module (guix licenses)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages texinfo))
> +
> +(define-public polipo
> +  (package
> +(name "polipo")
> +(version "1.1.1")
> +(source
> + (origin
> +   (method url-fetch)
> +   (uri (string-append
> + 
> "http://www.pps.univ-paris-diderot.fr/~jch/software/files/polipo/polipo-";
> + version ".tar.gz"))
> +   (sha256
> +(base32
> + "05g09sg9qkkhnc2mxldm1w1xkxzs2ylybkjzs28w8ydbjc3pand2"
> +(inputs `(("texinfo" ,texinfo)))

Please change 'inputs' to 'native-inputs', because when cross-compiling,
texinfo is needed on the build machine, not on the target.

> +(build-system gnu-build-system)
> +(arguments
> + `(#:phases
> +   (alist-replace
> +'configure
> +(lambda* (#:key inputs outputs #:allow-other-keys)
> +  (let ((out (assoc-ref outputs "out")))
> +(substitute* "Makefile"
> +  (("/usr/local") out)
> +  (("/usr/share") (string-append out "/share"
> +  (setenv "CC" "gcc"))
> +%standard-phases)
> +   ;; No test suite.
> +   #:tests? #f))

How about this instead?

(arguments
 `(#:make-flags (let ((out (assoc-ref %outputs "out")))
  (list (string-append "PREFIX=" out)
(string-append "LOCAL_ROOT="
   out "/share/polipo/www")
"CC=gcc"))
   #:phases (alist-delete 'configure %standard-phases)
   #:tests? #f))  ; No test suite.

> +(home-page "http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/";)
> +(synopsis "Small caching web proxy")
> +(description
> + "Polipo is a small caching web proxy (web cache, HTTP proxy, and proxy
> +server).  It was primarily designed to be used by one person or a small group
> +of people.")
> +(license (bsd-style "file://COPYING"

This is the expat license, so just write (license expat).

Can you send an updated patch?

 Thanks!
   Mark



Re: [PATCH] gnu: Add ngircd.

2015-01-31 Thread Mark H Weaver
taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> From 444dc72eff46ceb343fcdfdfc368390417201002 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?=
>  
> Date: Sat, 31 Jan 2015 22:03:25 +0100
> Subject: [PATCH] gnu: Add ngircd.
>
> * gnu-system.am (GNU_SYSTEM_MODULES): Add ngircd.scm.
> * gnu/packages/ngircd.scm: New file.
> ---
>  gnu-system.am   |  1 +
>  gnu/packages/ngircd.scm | 61 
> +
>  2 files changed, 62 insertions(+)
>  create mode 100644 gnu/packages/ngircd.scm

How about adding this package to messaging.scm instead?

> diff --git a/gnu/packages/ngircd.scm b/gnu/packages/ngircd.scm
> new file mode 100644
> index 000..4636df5
> --- /dev/null
> +++ b/gnu/packages/ngircd.scm
> @@ -0,0 +1,61 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer 

It's 2015 :)

> +;;;
> +;;; 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 ngircd)
> +  #:use-module ((guix licenses) #:prefix l:)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages gnutls)
> +  #:use-module (gnu packages compression))
> +
> +(define-public ngircd
> +  (package
> +(name "ngircd")
> +(version "22")
> +(source (origin
> +  (method url-fetch)
> +  (uri (string-append 
> "http://arthur.barton.de/pub/ngircd/ngircd-";
> +  version ".tar.xz"))
> +  (sha256
> +   (base32
> +"17k3g9qd9d010czk5846qxvzkmw4fihv8l6m2a2287crbxm3xhd4"
> +(build-system gnu-build-system)
> +;; XXX Add more inputs to enable more features, e.g. IDENT, libiconv.
> +(inputs `(("zlib" ,zlib)
> +  ("gnutls" ,gnutls)))
> +(arguments
> + `(#:configure-flags
> +   `("--with-gnutls" "--enable-ipv6")
> +   #:phases
> +   ;; Necessary for the test suite, should it be enabled in the future.
> +   (alist-cons-after
> +'configure 'post-configure
> +(lambda _
> +  (substitute* "src/ngircd/Makefile"
> +(("#!/bin/sh") (which "sh"

This substitution will remove the "#!", which we want to keep.

> +%standard-phases)
> +   ;; Test-suite inflates our dependencies with e.g. expect(1).
> +   #:tests? #f))

I think it would be good to enable the test suite if possible.  Adding
'expect' as an input is not a problem.  Can you try it and see if you
run into other serious difficulties?

> +(home-page "http://ngircd.barton.de/";)
> +(synopsis "Lightweight Internet Relay Chat server for small networks")
> +(description
> + "ngIRCd is a lightweight Internet Relay Chat server for small or private
> +networks.  It is easy to configure, can cope with dynamic IP addresses, and
> +supports IPv6, SSL-protected connections as well as PAM for authentication.")
> +(license l:gpl2+)))

Otherwise looks good to me.  Can you send an updated patch?

 Thanks!
   Mark