unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] gnu: Add bind
@ 2016-08-29 19:56 John Darrington
  2016-08-29 20:08 ` John Darrington
  0 siblings, 1 reply; 11+ messages in thread
From: John Darrington @ 2016-08-29 19:56 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

From: John Darrington <jmd@gnu.org>

* gnu/packages/networking.scm (bind): New variable.
---
 gnu/build/install.scm                              |  6 +++-
 gnu/local.mk                                       |  1 -
 gnu/packages/crypto.scm                            | 40 ++++++++++++++++++++++
 gnu/packages/gnunet.scm                            |  4 +--
 gnu/packages/linux.scm                             | 40 +++++++++++++++++++++-
 .../patches/xf86-video-openchrome-glibc-2.20.patch | 15 --------
 gnu/packages/video.scm                             |  4 +--
 gnu/packages/xorg.scm                              | 19 +++++-----
 gnu/tests/base.scm                                 | 36 +++++++++++++++++++
 guix/scripts/lint.scm                              | 13 +++++++
 tests/guix-environment-container.sh                |  2 +-
 tests/lint.scm                                     | 16 ++++++++-
 12 files changed, 162 insertions(+), 34 deletions(-)
 delete mode 100644 gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch

diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index aebf38c..7431a09 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -118,6 +118,10 @@ STORE."
     ("/var/guix/gcroots/booted-system" -> "/run/booted-system")
     ("/var/guix/gcroots/current-system" -> "/run/current-system")
 
+    ;; XXX: 'guix-register' creates this symlink with a wrong target, so
+    ;; create it upfront to be sure.
+    ("/var/guix/gcroots/profiles" -> "/var/guix/profiles")
+
     (directory "/bin")
     (directory "/tmp" 0 0 #o1777)                 ; sticky bit
     (directory "/var/tmp" 0 0 #o1777)
diff --git a/gnu/local.mk b/gnu/local.mk
index 98c8848..7ce8ad0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -857,7 +857,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/xf86-video-intel-glibc-2.20.patch	\
   %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch	\
   %D%/packages/patches/xf86-video-nv-remove-mibstore.patch	\
-  %D%/packages/patches/xf86-video-openchrome-glibc-2.20.patch	\
   %D%/packages/patches/xf86-video-tga-remove-mibstore.patch	\
   %D%/packages/patches/xfce4-panel-plugins.patch		\
   %D%/packages/patches/xfce4-session-fix-xflock4.patch		\
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index b982b61..73681b2 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -223,3 +223,43 @@ to provide security against off-line attacks, such as a drive falling into
 the wrong hands.")
     (license (list license:lgpl3+                 ;encfs library
                    license:gpl3+))))              ;command-line tools
+
+(define-public keyutils
+  (package
+    (name "keyutils")
+    (version "1.5.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://people.redhat.com/dhowells/keyutils/keyutils-"
+                       version ".tar.bz2"))
+       (sha256
+        (base32
+         "1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd"))
+       (modules '((guix build utils)))
+       ;; Create relative symbolic links instead of absolute ones to /lib/*
+       (snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/")
+                                          "$(LNS) ")))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (delete 'configure))          ; no configure script
+       #:make-flags (list "CC=gcc"
+                          "RPATH=-Wl,-rpath,$(DESTDIR)$(LIBDIR)"
+                          (string-append "DESTDIR="
+                                         (assoc-ref %outputs "out"))
+                          "INCLUDEDIR=/include"
+                          "LIBDIR=/lib"
+                          "MANDIR=/share/man"
+                          "SHAREDIR=/share/keyutils")
+       #:test-target "test"))
+    (home-page "https://people.redhat.com/dhowells/keyutils/")
+    (synopsis "Linux key managament utilities")
+    (description
+     "Keyutils is a set of utilities for managing the key retention facility in
+the Linux kernel, which can be used by file systems, block devices, and more to
+gain and retain the authorization and encryption keys required to perform
+secure operations. ")
+    (license (list license:lgpl2.1+             ; the files keyutils.*
+                   license:gpl2+))))            ; the rest
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index b08ba74..525cddc 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -126,14 +126,14 @@ tool to extract metadata from a file and print the results.")
 (define-public libmicrohttpd
   (package
    (name "libmicrohttpd")
-   (version "0.9.50")
+   (version "0.9.51")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
                                 version ".tar.gz"))
             (sha256
              (base32
-              "1mzbqr6sqisppz88mh73bbh5sw57g8l87qvhcjdx5pmbd183idni"))))
+              "1ir3ga328zkyynznnw71dj64wsaz7pmbhl82lqp1y1hrl85vn01h"))))
    (build-system gnu-build-system)
    (inputs
     `(("curl" ,curl)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ff6b220..6695ffb 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -41,6 +41,7 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages calendar)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
@@ -51,6 +52,7 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gsasl)
   #:use-module (gnu packages gtk)
@@ -304,7 +306,6 @@ disk.  It allows for fast, seamless sharing of files across a network.")
     ;; that is what is intended.
     (license license:gpl2)))
 
-
 (define %boot-logo-patch
   ;; Linux-Libre boot logo featuring Freedo and a gnu.
   (origin
@@ -2968,3 +2969,40 @@ as used on certified hardware security devices.")
                    (license:non-copyleft "file://nist/packtest.c")
                    license:public-domain        ; nist/dfft.c
                    license:gpl3+))))            ; everything else
+
+(define-public ecryptfs-utils
+  (package
+    (name "ecryptfs-utils")
+    (version "111")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://launchpad.net/ecryptfs/trunk/"
+                           version "/+download/ecryptfs-utils_"
+                           version ".orig.tar.gz"))
+       (sha256
+        (base32
+         "0zwq19siiwf09h7lwa7n7mgmrr8cxifp45lmwgcfr8c1gviv6b0i"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags (list "--disable-pywrap")))
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("perl" ,perl)                   ; for pod2man
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("keyutils" ,keyutils)
+       ("linux-pam" ,linux-pam)
+       ("nss" ,nss)))
+    (home-page "http://ecryptfs.org/")
+    (synopsis "eCryptfs cryptographic file system utilities")
+    (description
+     "eCryptfs is a POSIX-compliant stacked cryptographic file system for Linux.
+Each file's cryptographic meta-data is stored inside the file itself, along
+with the encrypted contents.  This allows individual encrypted files to be
+copied between hosts and still be decrypted with the proper key.  eCryptfs is a
+native Linux file system, and has been part of the Linux kernel since version
+2.6.19.  This package contains the userland utilities to manage it.")
+    ;; The files src/key_mod/ecryptfs_key_mod_{openssl,pkcs11_helper,tspi}.c
+    ;; grant additional permission to link with OpenSSL.
+    (license license:gpl2+)))
diff --git a/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch b/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch
deleted file mode 100644
index 4ed7ab0..0000000
--- a/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Allow builds with glibc 2.20.
-Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
-See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
-
---- xf86-video-openchrome-0.3.3/src/via_3d.h.~1~	2013-05-23 11:11:28.000000000 -0400
-+++ xf86-video-openchrome-0.3.3/src/via_3d.h	2014-12-19 01:17:04.000953259 -0500
-@@ -24,6 +24,8 @@
- #ifndef VIA_3D_H
- #define VIA_3D_H
- 
-+#include <xorg-server.h>
-+
- #include "xf86.h"
- #include "via_dmabuffer.h"
- 
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 5c59ee2..8d50072 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -400,14 +400,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
 (define-public ffmpeg
   (package
     (name "ffmpeg")
-    (version "3.1.2")
+    (version "3.1.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0qdxp6r6x47jzi6nmbsv3dhvm073c8n5hpnlmj5gwihgkyva5ljq"))))
+               "08l8290gipm632dhrqndnphdpkc5ncqc1j3hxdx46r1a3q3mqmzq"))))
     (build-system gnu-build-system)
     (inputs
      `(("fontconfig" ,fontconfig)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 33ebc80..fe14b1c 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -2384,7 +2384,7 @@ devices, thus making direct access unnecessary.")
 (define-public xf86-input-evdev
   (package
     (name "xf86-input-evdev")
-    (version "2.10.1")
+    (version "2.10.3")
     (source
       (origin
         (method url-fetch)
@@ -2394,7 +2394,7 @@ devices, thus making direct access unnecessary.")
                ".tar.bz2"))
         (sha256
           (base32
-            "05z05n39v8s2b0hwhcjb1bca7j8gc62bv9jxnibawwmjym3jp75g"))))
+            "18ijnclnylrr7vkvflalkw4bqfily3scg6baczjjgycdpsj1p8js"))))
     (build-system gnu-build-system)
     (inputs
       `(("udev" ,eudev)
@@ -2534,7 +2534,7 @@ as USB mice.")
 (define-public xf86-input-synaptics
   (package
     (name "xf86-input-synaptics")
-    (version "1.8.3")
+    (version "1.8.99.1")
     (source
       (origin
         (method url-fetch)
@@ -2544,7 +2544,7 @@ as USB mice.")
                ".tar.bz2"))
         (sha256
           (base32
-            "009zx199pilcvlaqm6fx4mg94q81d6vvl5rznmw3frzkfh6117yk"))))
+            "1apbcwn20p7sy07ghlldmqcnxag2r9sdjqmb4xxzki0hz8wm72ac"))))
     (build-system gnu-build-system)
     (inputs `(("libx11" ,libx11)
               ("libxi" ,libxi)
@@ -2646,7 +2646,7 @@ as USB mice.")
 (define-public xf86-video-ati
   (package
     (name "xf86-video-ati")
-    (version "7.6.1")
+    (version "7.7.0")
     (source
       (origin
         (method url-fetch)
@@ -2656,7 +2656,7 @@ as USB mice.")
                ".tar.bz2"))
         (sha256
           (base32
-            "0k6kw69mcarlmxlb4jlhz887jxqr94qx2pin04xcv2ysp3pdj5i5"))))
+            "1hy1n8an98mflfbdcb3q7wv59x971j7nf9zhivf90p0lgdbiqkc4"))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xxf86driproto" ,xf86driproto)
@@ -3072,7 +3072,7 @@ graphics cards.")
 (define-public xf86-video-openchrome
   (package
     (name "xf86-video-openchrome")
-    (version "0.3.3")
+    (version "0.5.0")
     (source
       (origin
         (method url-fetch)
@@ -3081,9 +3081,8 @@ graphics cards.")
                version
                ".tar.bz2"))
         (sha256
-          (base32
-           "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4"))
-        (patches (search-patches "xf86-video-openchrome-glibc-2.20.patch"))))
+         (base32
+          "1fsmr455lk89zl795d6b5ypyqjim40j3h2vjch52lcssjw9xdza9"))))
     (build-system gnu-build-system)
     (inputs `(("libx11" ,libx11)
               ("libxext" ,libxext)
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 7170ab1..ca6f76c 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -190,6 +190,42 @@ info --version")
                                   (setlocale LC_ALL before)))
                              marionette))
 
+          (test-assert "/run/current-system is a GC root"
+            (marionette-eval '(begin
+                                ;; Make sure the (guix …) modules are found.
+                                (eval-when (expand load eval)
+                                  (set! %load-path
+                                    (cons
+                                     (string-append
+                                      "/run/current-system/profile/share/guile/site/"
+                                      (effective-version))
+                                     %load-path))
+                                  (set! %load-compiled-path
+                                    (cons
+                                     (string-append
+                                      "/run/current-system/profile/share/guile/site/"
+                                      (effective-version))
+                                     %load-compiled-path)))
+
+                                (use-modules (srfi srfi-34) (guix store))
+
+                                (let ((system (readlink "/run/current-system")))
+                                  (guard (c ((nix-protocol-error? c)
+                                             (file-exists? system)))
+                                    (with-store store
+                                      (delete-paths store (list system))
+                                      #f))))
+                             marionette))
+
+          ;; This symlink is currently unused, but better have it point to the
+          ;; right place.  See
+          ;; <https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01641.html>.
+          (test-equal "/var/guix/gcroots/profiles is a valid symlink"
+            "/var/guix/profiles"
+            (marionette-eval '(readlink "/var/guix/gcroots/profiles")
+                             marionette))
+
+
           (test-assert "screendump"
             (begin
               (marionette-control (string-append "screendump " #$output
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index 51191e7..eac3214 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -161,6 +161,18 @@ markup is valid return a plain-text version of DESCRIPTION, otherwise #f."
                       'description)
         #f)))
 
+  (define (check-trademarks description)
+    "Check that DESCRIPTION does not contain '™' or '®' characters.  See
+http://www.gnu.org/prep/standards/html_node/Trademarks.html."
+    (match (string-index description (char-set #\™ #\®))
+      ((and (? number?) index)
+       (emit-warning package
+                     (format #f (_ "description should not contain ~
+trademark sign '~a' at ~d")
+                             (string-ref description index) index)
+                     'description))
+      (else #t)))
+
   (define (check-proper-start description)
     (unless (or (properly-starts-sentence? description)
                 (string-prefix-ci? (package-name package) description))
@@ -191,6 +203,7 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
     (if (string? description)
         (begin
           (check-not-empty description)
+          (check-trademarks description)
           ;; Use raw description for this because Texinfo rendering
           ;; automatically fixes end of sentence space.
           (check-end-of-sentence-space description)
diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh
index 12da950..d7c1b70 100644
--- a/tests/guix-environment-container.sh
+++ b/tests/guix-environment-container.sh
@@ -72,7 +72,7 @@ mount_test_code="
                   ;; correspond to a parent file system.
                   ((_ mount (or \"tmpfs\" \"proc\" \"sysfs\" \"devtmpfs\"
                                 \"devpts\" \"cgroup\" \"mqueue\") _ _ _)
-                   (and (string-prefix? mount (getcwd))
+                   (and (string-prefix? (getcwd) mount)
 		        mount))
                   ((_ mount _ _ _ _)
                    mount)))
diff --git a/tests/lint.scm b/tests/lint.scm
index 770f43e..df69d2b 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;;
@@ -203,6 +203,20 @@ string) on HTTP requests."
                    "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
        (check-description-style pkg)))))
 
+(test-assert "description: may not contain trademark signs"
+  (and (->bool
+        (string-contains (with-warnings
+                           (let ((pkg (dummy-package "x"
+                                        (description "Does The Right Thing™"))))
+                             (check-description-style pkg)))
+                         "should not contain trademark sign"))
+       (->bool
+        (string-contains (with-warnings
+                           (let ((pkg (dummy-package "x"
+                                        (description "Works with Format®"))))
+                             (check-description-style pkg)))
+                         "should not contain trademark sign"))))
+
 (test-assert "synopsis: not a string"
   (->bool
    (string-contains (with-warnings
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-08-29 19:56 John Darrington
@ 2016-08-29 20:08 ` John Darrington
  0 siblings, 0 replies; 11+ messages in thread
From: John Darrington @ 2016-08-29 20:08 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

[-- Attachment #1: Type: text/plain, Size: 21436 bytes --]

Sorry.  

Somehow this patch ended up with a whole lot of other stuff I didn't intend.

Forget it for now.  I'll send another patch for review when I've figured out
what happened.

J'

On Mon, Aug 29, 2016 at 09:56:53PM +0200, John Darrington wrote:
     From: John Darrington <jmd@gnu.org>
     
     * gnu/packages/networking.scm (bind): New variable.
     ---
      gnu/build/install.scm                              |  6 +++-
      gnu/local.mk                                       |  1 -
      gnu/packages/crypto.scm                            | 40 ++++++++++++++++++++++
      gnu/packages/gnunet.scm                            |  4 +--
      gnu/packages/linux.scm                             | 40 +++++++++++++++++++++-
      .../patches/xf86-video-openchrome-glibc-2.20.patch | 15 --------
      gnu/packages/video.scm                             |  4 +--
      gnu/packages/xorg.scm                              | 19 +++++-----
      gnu/tests/base.scm                                 | 36 +++++++++++++++++++
      guix/scripts/lint.scm                              | 13 +++++++
      tests/guix-environment-container.sh                |  2 +-
      tests/lint.scm                                     | 16 ++++++++-
      12 files changed, 162 insertions(+), 34 deletions(-)
      delete mode 100644 gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch
     
     diff --git a/gnu/build/install.scm b/gnu/build/install.scm
     index aebf38c..7431a09 100644
     --- a/gnu/build/install.scm
     +++ b/gnu/build/install.scm
     @@ -1,5 +1,5 @@
      ;;; GNU Guix --- Functional package management for GNU
     -;;; Copyright ?? 2013, 2014, 2015 Ludovic Court??s <ludo@gnu.org>
     +;;; Copyright ?? 2013, 2014, 2015, 2016 Ludovic Court??s <ludo@gnu.org>
      ;;;
      ;;; This file is part of GNU Guix.
      ;;;
     @@ -118,6 +118,10 @@ STORE."
          ("/var/guix/gcroots/booted-system" -> "/run/booted-system")
          ("/var/guix/gcroots/current-system" -> "/run/current-system")
      
     +    ;; XXX: 'guix-register' creates this symlink with a wrong target, so
     +    ;; create it upfront to be sure.
     +    ("/var/guix/gcroots/profiles" -> "/var/guix/profiles")
     +
          (directory "/bin")
          (directory "/tmp" 0 0 #o1777)                 ; sticky bit
          (directory "/var/tmp" 0 0 #o1777)
     diff --git a/gnu/local.mk b/gnu/local.mk
     index 98c8848..7ce8ad0 100644
     --- a/gnu/local.mk
     +++ b/gnu/local.mk
     @@ -857,7 +857,6 @@ dist_patch_DATA =						\
        %D%/packages/patches/xf86-video-intel-glibc-2.20.patch	\
        %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch	\
        %D%/packages/patches/xf86-video-nv-remove-mibstore.patch	\
     -  %D%/packages/patches/xf86-video-openchrome-glibc-2.20.patch	\
        %D%/packages/patches/xf86-video-tga-remove-mibstore.patch	\
        %D%/packages/patches/xfce4-panel-plugins.patch		\
        %D%/packages/patches/xfce4-session-fix-xflock4.patch		\
     diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
     index b982b61..73681b2 100644
     --- a/gnu/packages/crypto.scm
     +++ b/gnu/packages/crypto.scm
     @@ -223,3 +223,43 @@ to provide security against off-line attacks, such as a drive falling into
      the wrong hands.")
          (license (list license:lgpl3+                 ;encfs library
                         license:gpl3+))))              ;command-line tools
     +
     +(define-public keyutils
     +  (package
     +    (name "keyutils")
     +    (version "1.5.9")
     +    (source
     +     (origin
     +       (method url-fetch)
     +       (uri
     +        (string-append "https://people.redhat.com/dhowells/keyutils/keyutils-"
     +                       version ".tar.bz2"))
     +       (sha256
     +        (base32
     +         "1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd"))
     +       (modules '((guix build utils)))
     +       ;; Create relative symbolic links instead of absolute ones to /lib/*
     +       (snippet '(substitute* "Makefile" (("\\$\\(LNS\\) \\$\\(LIBDIR\\)/")
     +                                          "$(LNS) ")))))
     +    (build-system gnu-build-system)
     +    (arguments
     +     `(#:phases (modify-phases %standard-phases
     +                  (delete 'configure))          ; no configure script
     +       #:make-flags (list "CC=gcc"
     +                          "RPATH=-Wl,-rpath,$(DESTDIR)$(LIBDIR)"
     +                          (string-append "DESTDIR="
     +                                         (assoc-ref %outputs "out"))
     +                          "INCLUDEDIR=/include"
     +                          "LIBDIR=/lib"
     +                          "MANDIR=/share/man"
     +                          "SHAREDIR=/share/keyutils")
     +       #:test-target "test"))
     +    (home-page "https://people.redhat.com/dhowells/keyutils/")
     +    (synopsis "Linux key managament utilities")
     +    (description
     +     "Keyutils is a set of utilities for managing the key retention facility in
     +the Linux kernel, which can be used by file systems, block devices, and more to
     +gain and retain the authorization and encryption keys required to perform
     +secure operations. ")
     +    (license (list license:lgpl2.1+             ; the files keyutils.*
     +                   license:gpl2+))))            ; the rest
     diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
     index b08ba74..525cddc 100644
     --- a/gnu/packages/gnunet.scm
     +++ b/gnu/packages/gnunet.scm
     @@ -126,14 +126,14 @@ tool to extract metadata from a file and print the results.")
      (define-public libmicrohttpd
        (package
         (name "libmicrohttpd")
     -   (version "0.9.50")
     +   (version "0.9.51")
         (source (origin
                  (method url-fetch)
                  (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
                                      version ".tar.gz"))
                  (sha256
                   (base32
     -              "1mzbqr6sqisppz88mh73bbh5sw57g8l87qvhcjdx5pmbd183idni"))))
     +              "1ir3ga328zkyynznnw71dj64wsaz7pmbhl82lqp1y1hrl85vn01h"))))
         (build-system gnu-build-system)
         (inputs
          `(("curl" ,curl)
     diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
     index ff6b220..6695ffb 100644
     --- a/gnu/packages/linux.scm
     +++ b/gnu/packages/linux.scm
     @@ -41,6 +41,7 @@
        #:use-module (gnu packages bison)
        #:use-module (gnu packages calendar)
        #:use-module (gnu packages check)
     +  #:use-module (gnu packages crypto)
        #:use-module (gnu packages compression)
        #:use-module (gnu packages databases)
        #:use-module (gnu packages docbook)
     @@ -51,6 +52,7 @@
        #:use-module (gnu packages gcc)
        #:use-module (gnu packages gettext)
        #:use-module (gnu packages glib)
     +  #:use-module (gnu packages gnuzilla)
        #:use-module (gnu packages gperf)
        #:use-module (gnu packages gsasl)
        #:use-module (gnu packages gtk)
     @@ -304,7 +306,6 @@ disk.  It allows for fast, seamless sharing of files across a network.")
          ;; that is what is intended.
          (license license:gpl2)))
      
     -
      (define %boot-logo-patch
        ;; Linux-Libre boot logo featuring Freedo and a gnu.
        (origin
     @@ -2968,3 +2969,40 @@ as used on certified hardware security devices.")
                         (license:non-copyleft "file://nist/packtest.c")
                         license:public-domain        ; nist/dfft.c
                         license:gpl3+))))            ; everything else
     +
     +(define-public ecryptfs-utils
     +  (package
     +    (name "ecryptfs-utils")
     +    (version "111")
     +    (source
     +     (origin
     +       (method url-fetch)
     +       (uri (string-append "https://launchpad.net/ecryptfs/trunk/"
     +                           version "/+download/ecryptfs-utils_"
     +                           version ".orig.tar.gz"))
     +       (sha256
     +        (base32
     +         "0zwq19siiwf09h7lwa7n7mgmrr8cxifp45lmwgcfr8c1gviv6b0i"))))
     +    (build-system gnu-build-system)
     +    (arguments
     +     `(#:configure-flags (list "--disable-pywrap")))
     +    (native-inputs
     +     `(("intltool" ,intltool)
     +       ("perl" ,perl)                   ; for pod2man
     +       ("pkg-config" ,pkg-config)))
     +    (inputs
     +     `(("keyutils" ,keyutils)
     +       ("linux-pam" ,linux-pam)
     +       ("nss" ,nss)))
     +    (home-page "http://ecryptfs.org/")
     +    (synopsis "eCryptfs cryptographic file system utilities")
     +    (description
     +     "eCryptfs is a POSIX-compliant stacked cryptographic file system for Linux.
     +Each file's cryptographic meta-data is stored inside the file itself, along
     +with the encrypted contents.  This allows individual encrypted files to be
     +copied between hosts and still be decrypted with the proper key.  eCryptfs is a
     +native Linux file system, and has been part of the Linux kernel since version
     +2.6.19.  This package contains the userland utilities to manage it.")
     +    ;; The files src/key_mod/ecryptfs_key_mod_{openssl,pkcs11_helper,tspi}.c
     +    ;; grant additional permission to link with OpenSSL.
     +    (license license:gpl2+)))
     diff --git a/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch b/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch
     deleted file mode 100644
     index 4ed7ab0..0000000
     --- a/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch
     +++ /dev/null
     @@ -1,15 +0,0 @@
     -Allow builds with glibc 2.20.
     -Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
     -See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
     -
     ---- xf86-video-openchrome-0.3.3/src/via_3d.h.~1~	2013-05-23 11:11:28.000000000 -0400
     -+++ xf86-video-openchrome-0.3.3/src/via_3d.h	2014-12-19 01:17:04.000953259 -0500
     -@@ -24,6 +24,8 @@
     - #ifndef VIA_3D_H
     - #define VIA_3D_H
     - 
     -+#include <xorg-server.h>
     -+
     - #include "xf86.h"
     - #include "via_dmabuffer.h"
     - 
     diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
     index 5c59ee2..8d50072 100644
     --- a/gnu/packages/video.scm
     +++ b/gnu/packages/video.scm
     @@ -400,14 +400,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
      (define-public ffmpeg
        (package
          (name "ffmpeg")
     -    (version "3.1.2")
     +    (version "3.1.3")
          (source (origin
                   (method url-fetch)
                   (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
                                       version ".tar.xz"))
                   (sha256
                    (base32
     -               "0qdxp6r6x47jzi6nmbsv3dhvm073c8n5hpnlmj5gwihgkyva5ljq"))))
     +               "08l8290gipm632dhrqndnphdpkc5ncqc1j3hxdx46r1a3q3mqmzq"))))
          (build-system gnu-build-system)
          (inputs
           `(("fontconfig" ,fontconfig)
     diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
     index 33ebc80..fe14b1c 100644
     --- a/gnu/packages/xorg.scm
     +++ b/gnu/packages/xorg.scm
     @@ -2384,7 +2384,7 @@ devices, thus making direct access unnecessary.")
      (define-public xf86-input-evdev
        (package
          (name "xf86-input-evdev")
     -    (version "2.10.1")
     +    (version "2.10.3")
          (source
            (origin
              (method url-fetch)
     @@ -2394,7 +2394,7 @@ devices, thus making direct access unnecessary.")
                     ".tar.bz2"))
              (sha256
                (base32
     -            "05z05n39v8s2b0hwhcjb1bca7j8gc62bv9jxnibawwmjym3jp75g"))))
     +            "18ijnclnylrr7vkvflalkw4bqfily3scg6baczjjgycdpsj1p8js"))))
          (build-system gnu-build-system)
          (inputs
            `(("udev" ,eudev)
     @@ -2534,7 +2534,7 @@ as USB mice.")
      (define-public xf86-input-synaptics
        (package
          (name "xf86-input-synaptics")
     -    (version "1.8.3")
     +    (version "1.8.99.1")
          (source
            (origin
              (method url-fetch)
     @@ -2544,7 +2544,7 @@ as USB mice.")
                     ".tar.bz2"))
              (sha256
                (base32
     -            "009zx199pilcvlaqm6fx4mg94q81d6vvl5rznmw3frzkfh6117yk"))))
     +            "1apbcwn20p7sy07ghlldmqcnxag2r9sdjqmb4xxzki0hz8wm72ac"))))
          (build-system gnu-build-system)
          (inputs `(("libx11" ,libx11)
                    ("libxi" ,libxi)
     @@ -2646,7 +2646,7 @@ as USB mice.")
      (define-public xf86-video-ati
        (package
          (name "xf86-video-ati")
     -    (version "7.6.1")
     +    (version "7.7.0")
          (source
            (origin
              (method url-fetch)
     @@ -2656,7 +2656,7 @@ as USB mice.")
                     ".tar.bz2"))
              (sha256
                (base32
     -            "0k6kw69mcarlmxlb4jlhz887jxqr94qx2pin04xcv2ysp3pdj5i5"))))
     +            "1hy1n8an98mflfbdcb3q7wv59x971j7nf9zhivf90p0lgdbiqkc4"))))
          (build-system gnu-build-system)
          (inputs `(("mesa" ,mesa)
                    ("xxf86driproto" ,xf86driproto)
     @@ -3072,7 +3072,7 @@ graphics cards.")
      (define-public xf86-video-openchrome
        (package
          (name "xf86-video-openchrome")
     -    (version "0.3.3")
     +    (version "0.5.0")
          (source
            (origin
              (method url-fetch)
     @@ -3081,9 +3081,8 @@ graphics cards.")
                     version
                     ".tar.bz2"))
              (sha256
     -          (base32
     -           "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4"))
     -        (patches (search-patches "xf86-video-openchrome-glibc-2.20.patch"))))
     +         (base32
     +          "1fsmr455lk89zl795d6b5ypyqjim40j3h2vjch52lcssjw9xdza9"))))
          (build-system gnu-build-system)
          (inputs `(("libx11" ,libx11)
                    ("libxext" ,libxext)
     diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
     index 7170ab1..ca6f76c 100644
     --- a/gnu/tests/base.scm
     +++ b/gnu/tests/base.scm
     @@ -190,6 +190,42 @@ info --version")
                                        (setlocale LC_ALL before)))
                                   marionette))
      
     +          (test-assert "/run/current-system is a GC root"
     +            (marionette-eval '(begin
     +                                ;; Make sure the (guix ???) modules are found.
     +                                (eval-when (expand load eval)
     +                                  (set! %load-path
     +                                    (cons
     +                                     (string-append
     +                                      "/run/current-system/profile/share/guile/site/"
     +                                      (effective-version))
     +                                     %load-path))
     +                                  (set! %load-compiled-path
     +                                    (cons
     +                                     (string-append
     +                                      "/run/current-system/profile/share/guile/site/"
     +                                      (effective-version))
     +                                     %load-compiled-path)))
     +
     +                                (use-modules (srfi srfi-34) (guix store))
     +
     +                                (let ((system (readlink "/run/current-system")))
     +                                  (guard (c ((nix-protocol-error? c)
     +                                             (file-exists? system)))
     +                                    (with-store store
     +                                      (delete-paths store (list system))
     +                                      #f))))
     +                             marionette))
     +
     +          ;; This symlink is currently unused, but better have it point to the
     +          ;; right place.  See
     +          ;; <https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01641.html>.
     +          (test-equal "/var/guix/gcroots/profiles is a valid symlink"
     +            "/var/guix/profiles"
     +            (marionette-eval '(readlink "/var/guix/gcroots/profiles")
     +                             marionette))
     +
     +
                (test-assert "screendump"
                  (begin
                    (marionette-control (string-append "screendump " #$output
     diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
     index 51191e7..eac3214 100644
     --- a/guix/scripts/lint.scm
     +++ b/guix/scripts/lint.scm
     @@ -161,6 +161,18 @@ markup is valid return a plain-text version of DESCRIPTION, otherwise #f."
                            'description)
              #f)))
      
     +  (define (check-trademarks description)
     +    "Check that DESCRIPTION does not contain '???' or '??' characters.  See
     +http://www.gnu.org/prep/standards/html_node/Trademarks.html."
     +    (match (string-index description (char-set #\??? #\??))
     +      ((and (? number?) index)
     +       (emit-warning package
     +                     (format #f (_ "description should not contain ~
     +trademark sign '~a' at ~d")
     +                             (string-ref description index) index)
     +                     'description))
     +      (else #t)))
     +
        (define (check-proper-start description)
          (unless (or (properly-starts-sentence? description)
                      (string-prefix-ci? (package-name package) description))
     @@ -191,6 +203,7 @@ by two spaces; possible infraction~p at ~{~a~^, ~}")
          (if (string? description)
              (begin
                (check-not-empty description)
     +          (check-trademarks description)
                ;; Use raw description for this because Texinfo rendering
                ;; automatically fixes end of sentence space.
                (check-end-of-sentence-space description)
     diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh
     index 12da950..d7c1b70 100644
     --- a/tests/guix-environment-container.sh
     +++ b/tests/guix-environment-container.sh
     @@ -72,7 +72,7 @@ mount_test_code="
                        ;; correspond to a parent file system.
                        ((_ mount (or \"tmpfs\" \"proc\" \"sysfs\" \"devtmpfs\"
                                      \"devpts\" \"cgroup\" \"mqueue\") _ _ _)
     -                   (and (string-prefix? mount (getcwd))
     +                   (and (string-prefix? (getcwd) mount)
      		        mount))
                        ((_ mount _ _ _ _)
                         mount)))
     diff --git a/tests/lint.scm b/tests/lint.scm
     index 770f43e..df69d2b 100644
     --- a/tests/lint.scm
     +++ b/tests/lint.scm
     @@ -1,6 +1,6 @@
      ;;; GNU Guix --- Functional package management for GNU
      ;;; Copyright ?? 2012, 2013 Cyril Roelandt <tipecaml@gmail.com>
     -;;; Copyright ?? 2014, 2015 Eric Bavier <bavier@member.fsf.org>
     +;;; Copyright ?? 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
      ;;; Copyright ?? 2014, 2015, 2016 Ludovic Court??s <ludo@gnu.org>
      ;;; Copyright ?? 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
      ;;;
     @@ -203,6 +203,20 @@ string) on HTTP requests."
                         "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
             (check-description-style pkg)))))
      
     +(test-assert "description: may not contain trademark signs"
     +  (and (->bool
     +        (string-contains (with-warnings
     +                           (let ((pkg (dummy-package "x"
     +                                        (description "Does The Right Thing???"))))
     +                             (check-description-style pkg)))
     +                         "should not contain trademark sign"))
     +       (->bool
     +        (string-contains (with-warnings
     +                           (let ((pkg (dummy-package "x"
     +                                        (description "Works with Format??"))))
     +                             (check-description-style pkg)))
     +                         "should not contain trademark sign"))))
     +
      (test-assert "synopsis: not a string"
        (->bool
         (string-contains (with-warnings
     -- 
     2.1.4
     
     

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


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] gnu: Add bind
@ 2016-08-30 16:36 John Darrington
  2016-08-31 17:52 ` Leo Famulari
  0 siblings, 1 reply; 11+ messages in thread
From: John Darrington @ 2016-08-30 16:36 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/networking.scm (bind): New variable.
---
 gnu/packages/networking.scm | 46 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index bdcccce..7bb4a69 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;; Coypright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Coypright © 2016 John Darrington <jmd@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -56,6 +57,51 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages tls))
 
+(define-public bind
+  (package
+    (name "bind")
+    (version "9.10.4-P2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "08s48h5p916ixjiwgar4w6skc20crmg7yj1y7g89c083zvw8lnxk"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list
+        (string-append "--with-openssl=" (assoc-ref %build-inputs "openssl")))
+
+       #:phases
+       ;; When and if guix provides user namespaces for the build process,
+       ;; then the following can be uncommented and the subsequent "force-test"
+       ;; will not be necessary.
+       
+       ;; (modify-phases %standard-phases
+       ;;   (add-before 'check 'set-up-loopback
+       ;;     (lambda _
+       ;;          (system "bin/tests/system/ifconfig.sh up"))))
+     (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (zero? (system* "make" "force-test")))))))
+    (inputs
+     `(("openssl" ,openssl)))
+    (native-inputs `(("perl" ,perl)
+                     ("net-tools" ,net-tools)))
+    (synopsis "An implementation of the Domain Name System")
+    (description "BIND is an implementation of the Domain Name System (DNS)
+protocols for the Internet.  It is a reference implementation of those
+protocols, but it is also production-grade software, suitable for use in
+high-volume and high-reliability applications. The name BIND stands for
+"Berkeley Internet Name Domain", because the software originated in the early
+1980s at the University of California at Berkeley.")
+    (home-page "https://www.isc.org/downloads/bind")
+    (license license:bsd-2)))
+
 (define-public macchanger
   (package
     (name "macchanger")
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-08-30 16:36 [PATCH] gnu: Add bind John Darrington
@ 2016-08-31 17:52 ` Leo Famulari
  2016-08-31 18:38   ` John Darrington
  0 siblings, 1 reply; 11+ messages in thread
From: Leo Famulari @ 2016-08-31 17:52 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

On Tue, Aug 30, 2016 at 06:36:04PM +0200, John Darrington wrote:
> * gnu/packages/networking.scm (bind): New variable.

Hi, thanks for this patch! I think it can go in the DNS module.

I wonder, how does it relate to the BIND that replaces the bundled BIND
in isc-dhcp, which I've noticed often requires security updates?

> +    (description "BIND is an implementation of the Domain Name System (DNS)
> +protocols for the Internet.  It is a reference implementation of those
> +protocols, but it is also production-grade software, suitable for use in
> +high-volume and high-reliability applications. The name BIND stands for
> +"Berkeley Internet Name Domain", because the software originated in the early
> +1980s at the University of California at Berkeley.")

The descriptions needs the quotation marks around the acronym
description to be escaped. Otherwise, it doesn't work for me.

> +              (uri (string-append
> +                    "ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
> +                    version ".tar.gz"))

This server is unavailable over IPv6 connections:

Starting download of /gnu/store/lhwlfx4qp94pn5d0xpflqib1cy2c4bhp-bind-9.10.4-P2.tar.gz
From ftp://ftp.isc.org/isc/bind9/9.10.4-P2/bind-9.10.4-P2.tar.gz...
ERROR: Throw to key `ftp-error' with args `(#<input-output: socket 6> "PASV" 425 "You cannot use PASV on IPv6 connections. Use EPSV instead.\r")'.

I wonder if there is a better URL?

> +     (modify-phases %standard-phases
> +         (replace 'check
> +           (lambda _
> +             (zero? (system* "make" "force-test")))))))

Does "force-test" mean that the test suite will return success even if
there are some failures? If so, this should explicitly stated in a
comment.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-08-31 17:52 ` Leo Famulari
@ 2016-08-31 18:38   ` John Darrington
  2016-09-10 19:25     ` Leo Famulari
  0 siblings, 1 reply; 11+ messages in thread
From: John Darrington @ 2016-08-31 18:38 UTC (permalink / raw)
  To: Leo Famulari; +Cc: guix-devel, John Darrington

[-- Attachment #1: Type: text/plain, Size: 1608 bytes --]

Thanks for the comments,

On Wed, Aug 31, 2016 at 01:52:11PM -0400, Leo Famulari wrote:
     On Tue, Aug 30, 2016 at 06:36:04PM +0200, John Darrington wrote:
     > * gnu/packages/networking.scm (bind): New variable.
     
     Hi, thanks for this patch! I think it can go in the DNS module.
     
     I wonder, how does it relate to the BIND that replaces the bundled BIND
     in isc-dhcp, which I've noticed often requires security updates?

I don't think it relates at all, except that it is produced by the same group.

However, I noticed in that module, there is bind-utils, which provides about
half of what my patch does, and IMO is unecessarily complicated.  I suppose this
was done because somebody wanted to provide the DNS query tools without the
DNS server.  

I think this would be better achieved by having separate outputs bind:utils and bind:daemon


     > +     (modify-phases %standard-phases
     > +         (replace 'check
     > +           (lambda _
     > +             (zero? (system* "make" "force-test")))))))
     
     Does "force-test" mean that the test suite will return success even if
     there are some failures? If so, this should explicitly stated in a
     comment.

Apparently, some tests cannot be run unless one makes some local hacks 
as root.  force-test skips those tests which require that.

J'

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


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-08-31 18:38   ` John Darrington
@ 2016-09-10 19:25     ` Leo Famulari
  2016-09-10 22:06       ` John Darrington
  0 siblings, 1 reply; 11+ messages in thread
From: Leo Famulari @ 2016-09-10 19:25 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

[-- Attachment #1: Type: text/plain, Size: 1107 bytes --]

On Wed, Aug 31, 2016 at 08:38:53PM +0200, John Darrington wrote:
> Thanks for the comments,
> 
> On Wed, Aug 31, 2016 at 01:52:11PM -0400, Leo Famulari wrote:
>      On Tue, Aug 30, 2016 at 06:36:04PM +0200, John Darrington wrote:
>      > * gnu/packages/networking.scm (bind): New variable.
>      
>      Hi, thanks for this patch! I think it can go in the DNS module.
>      
>      I wonder, how does it relate to the BIND that replaces the bundled BIND
>      in isc-dhcp, which I've noticed often requires security updates?
> 
> I don't think it relates at all, except that it is produced by the same group.
> 
> However, I noticed in that module, there is bind-utils, which provides about
> half of what my patch does, and IMO is unecessarily complicated.  I suppose this
> was done because somebody wanted to provide the DNS query tools without the
> DNS server.  
> 
> I think this would be better achieved by having separate outputs bind:utils and bind:daemon

Okay, so what is the status of this package? Do you want to add it
as-is, or do you want to overhaul bind-utils?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] gnu: Add bind
  2016-09-10 19:25     ` Leo Famulari
@ 2016-09-10 22:06       ` John Darrington
  2016-09-10 22:08         ` John Darrington
  0 siblings, 1 reply; 11+ messages in thread
From: John Darrington @ 2016-09-10 22:06 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packags/dns.scm (bind): New variable
---
 gnu/packages/dns.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 819343a..dad8079 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,6 +64,74 @@ and BOOTP/TFTP for network booting of diskless machines.")
     ;; Source files only say GPL2 and GPL3 are allowed.
     (license (list license:gpl2 license:gpl3))))
 
+(define-public bind
+  (package
+    (name "bind")
+    (version "9.10.4-P2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "08s48h5p916ixjiwgar4w6skc20crmg7yj1y7g89c083zvw8lnxk"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-openssl="
+                            (assoc-ref %build-inputs "openssl"))
+             (string-append "--with-dlz-mysql="
+                            (assoc-ref %build-inputs "mysql"))
+             (string-append "--with-pkcs11="
+                            (assoc-ref %build-inputs "p11-kit")))
+       #:phases
+       ;; When and if guix provides user namespaces for the build process,
+       ;; then the following can be uncommented and the subsequent "force-test"
+       ;; will not be necessary.
+       ;;
+       ;; (modify-phases %standard-phases
+       ;;   (add-before 'check 'set-up-loopback
+       ;;     (lambda _
+       ;;          (system "bin/tests/system/ifconfig.sh up"))))
+       (modify-phases %standard-phases
+         (add-after 'strip 'move-to-utils
+           (lambda _
+             (for-each
+              (lambda (file)
+                (let ((target  (string-append (assoc-ref %outputs "utils") file))
+                      (src  (string-append (assoc-ref %outputs "out") file)))
+                  (mkdir-p (dirname target))
+                  (link src target)
+                  (delete-file src)))
+              '("/bin/dig" "/bin/delv" "/bin/nslookup" "/bin/host" "/bin/nsupdate"
+                "/share/man/man1/dig.1"
+                "/share/man/man1/host.1"
+                "/share/man/man1/nslookup.1"
+                "/share/man/man1/nsupdate.1"))))
+         (replace 'check
+           (lambda _
+             (zero? (system* "make" "force-test")))))))
+    (outputs `("out" "utils"))
+    (inputs
+     ;; it would be nice to add GeoIP and gssapi once there is package
+     `(("libcap" ,libcap)
+       ("libxml2" ,libxml2)
+       ("mysql" ,mysql)
+       ("openssl" ,openssl)
+       ("p11-kit" ,p11-kit)))
+    (native-inputs `(("perl" ,perl)
+                     ("net-tools" ,net-tools)))
+    (synopsis "An implementation of the Domain Name System")
+    (description "BIND is an implementation of the Domain Name System (DNS)
+protocols for the Internet.  It is a reference implementation of those
+protocols, but it is also production-grade software, suitable for use in
+high-volume and high-reliability applications. The name BIND stands for
+\"Berkeley Internet Name Domain\", because the software originated in the early
+1980s at the University of California at Berkeley.")
+    (home-page "https://www.isc.org/downloads/bind")
+    (license (list license:isc))))
+
 (define-public bind-utils
   (package
     (name "bind-utils")
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-09-10 22:06       ` John Darrington
@ 2016-09-10 22:08         ` John Darrington
  2016-09-18 13:57           ` John Darrington
  0 siblings, 1 reply; 11+ messages in thread
From: John Darrington @ 2016-09-10 22:08 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 4776 bytes --]

I suggest that we use this version and remove the existing bind-utils.

J'

On Sun, Sep 11, 2016 at 12:06:26AM +0200, John Darrington wrote:
     * gnu/packags/dns.scm (bind): New variable
     ---
      gnu/packages/dns.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
      1 file changed, 69 insertions(+)
     
     diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
     index 819343a..dad8079 100644
     --- a/gnu/packages/dns.scm
     +++ b/gnu/packages/dns.scm
     @@ -3,6 +3,7 @@
      ;;; Copyright ?? 2016 Mark H Weaver <mhw@netris.org>
      ;;; Copyright ?? 2016 Ricardo Wurmus <rekado@elephly.net>
      ;;; Copyright ?? 2016 Efraim Flashner <efraim@flashner.co.il>
     +;;; Copyright ?? 2016 John Darrington <jmd@gnu.org>
      ;;;
      ;;; This file is part of GNU Guix.
      ;;;
     @@ -63,6 +64,74 @@ and BOOTP/TFTP for network booting of diskless machines.")
          ;; Source files only say GPL2 and GPL3 are allowed.
          (license (list license:gpl2 license:gpl3))))
      
     +(define-public bind
     +  (package
     +    (name "bind")
     +    (version "9.10.4-P2")
     +    (source (origin
     +              (method url-fetch)
     +              (uri (string-append
     +                    "ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
     +                    version ".tar.gz"))
     +              (sha256
     +               (base32
     +                "08s48h5p916ixjiwgar4w6skc20crmg7yj1y7g89c083zvw8lnxk"))))
     +    (build-system gnu-build-system)
     +    (arguments
     +     `(#:configure-flags
     +       (list (string-append "--with-openssl="
     +                            (assoc-ref %build-inputs "openssl"))
     +             (string-append "--with-dlz-mysql="
     +                            (assoc-ref %build-inputs "mysql"))
     +             (string-append "--with-pkcs11="
     +                            (assoc-ref %build-inputs "p11-kit")))
     +       #:phases
     +       ;; When and if guix provides user namespaces for the build process,
     +       ;; then the following can be uncommented and the subsequent "force-test"
     +       ;; will not be necessary.
     +       ;;
     +       ;; (modify-phases %standard-phases
     +       ;;   (add-before 'check 'set-up-loopback
     +       ;;     (lambda _
     +       ;;          (system "bin/tests/system/ifconfig.sh up"))))
     +       (modify-phases %standard-phases
     +         (add-after 'strip 'move-to-utils
     +           (lambda _
     +             (for-each
     +              (lambda (file)
     +                (let ((target  (string-append (assoc-ref %outputs "utils") file))
     +                      (src  (string-append (assoc-ref %outputs "out") file)))
     +                  (mkdir-p (dirname target))
     +                  (link src target)
     +                  (delete-file src)))
     +              '("/bin/dig" "/bin/delv" "/bin/nslookup" "/bin/host" "/bin/nsupdate"
     +                "/share/man/man1/dig.1"
     +                "/share/man/man1/host.1"
     +                "/share/man/man1/nslookup.1"
     +                "/share/man/man1/nsupdate.1"))))
     +         (replace 'check
     +           (lambda _
     +             (zero? (system* "make" "force-test")))))))
     +    (outputs `("out" "utils"))
     +    (inputs
     +     ;; it would be nice to add GeoIP and gssapi once there is package
     +     `(("libcap" ,libcap)
     +       ("libxml2" ,libxml2)
     +       ("mysql" ,mysql)
     +       ("openssl" ,openssl)
     +       ("p11-kit" ,p11-kit)))
     +    (native-inputs `(("perl" ,perl)
     +                     ("net-tools" ,net-tools)))
     +    (synopsis "An implementation of the Domain Name System")
     +    (description "BIND is an implementation of the Domain Name System (DNS)
     +protocols for the Internet.  It is a reference implementation of those
     +protocols, but it is also production-grade software, suitable for use in
     +high-volume and high-reliability applications. The name BIND stands for
     +\"Berkeley Internet Name Domain\", because the software originated in the early
     +1980s at the University of California at Berkeley.")
     +    (home-page "https://www.isc.org/downloads/bind")
     +    (license (list license:isc))))
     +
      (define-public bind-utils
        (package
          (name "bind-utils")
     -- 
     2.1.4
     
     

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


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-09-10 22:08         ` John Darrington
@ 2016-09-18 13:57           ` John Darrington
  2016-09-18 15:03             ` Hartmut Goebel
  0 siblings, 1 reply; 11+ messages in thread
From: John Darrington @ 2016-09-18 13:57 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel, John Darrington

[-- Attachment #1: Type: text/plain, Size: 5694 bytes --]

Does anyone have any opinions/objections before I make this commit?

J'

On Sun, Sep 11, 2016 at 12:08:17AM +0200, John Darrington wrote:
     I suggest that we use this version and remove the existing bind-utils.
     
     J'
     
     On Sun, Sep 11, 2016 at 12:06:26AM +0200, John Darrington wrote:
          * gnu/packags/dns.scm (bind): New variable
          ---
           gnu/packages/dns.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++
           1 file changed, 69 insertions(+)
          
          diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
          index 819343a..dad8079 100644
          --- a/gnu/packages/dns.scm
          +++ b/gnu/packages/dns.scm
          @@ -3,6 +3,7 @@
           ;;; Copyright ?? 2016 Mark H Weaver <mhw@netris.org>
           ;;; Copyright ?? 2016 Ricardo Wurmus <rekado@elephly.net>
           ;;; Copyright ?? 2016 Efraim Flashner <efraim@flashner.co.il>
          +;;; Copyright ?? 2016 John Darrington <jmd@gnu.org>
           ;;;
           ;;; This file is part of GNU Guix.
           ;;;
          @@ -63,6 +64,74 @@ and BOOTP/TFTP for network booting of diskless machines.")
               ;; Source files only say GPL2 and GPL3 are allowed.
               (license (list license:gpl2 license:gpl3))))
           
          +(define-public bind
          +  (package
          +    (name "bind")
          +    (version "9.10.4-P2")
          +    (source (origin
          +              (method url-fetch)
          +              (uri (string-append
          +                    "ftp://ftp.isc.org/isc/bind9/" version "/" name "-"
          +                    version ".tar.gz"))
          +              (sha256
          +               (base32
          +                "08s48h5p916ixjiwgar4w6skc20crmg7yj1y7g89c083zvw8lnxk"))))
          +    (build-system gnu-build-system)
          +    (arguments
          +     `(#:configure-flags
          +       (list (string-append "--with-openssl="
          +                            (assoc-ref %build-inputs "openssl"))
          +             (string-append "--with-dlz-mysql="
          +                            (assoc-ref %build-inputs "mysql"))
          +             (string-append "--with-pkcs11="
          +                            (assoc-ref %build-inputs "p11-kit")))
          +       #:phases
          +       ;; When and if guix provides user namespaces for the build process,
          +       ;; then the following can be uncommented and the subsequent "force-test"
          +       ;; will not be necessary.
          +       ;;
          +       ;; (modify-phases %standard-phases
          +       ;;   (add-before 'check 'set-up-loopback
          +       ;;     (lambda _
          +       ;;          (system "bin/tests/system/ifconfig.sh up"))))
          +       (modify-phases %standard-phases
          +         (add-after 'strip 'move-to-utils
          +           (lambda _
          +             (for-each
          +              (lambda (file)
          +                (let ((target  (string-append (assoc-ref %outputs "utils") file))
          +                      (src  (string-append (assoc-ref %outputs "out") file)))
          +                  (mkdir-p (dirname target))
          +                  (link src target)
          +                  (delete-file src)))
          +              '("/bin/dig" "/bin/delv" "/bin/nslookup" "/bin/host" "/bin/nsupdate"
          +                "/share/man/man1/dig.1"
          +                "/share/man/man1/host.1"
          +                "/share/man/man1/nslookup.1"
          +                "/share/man/man1/nsupdate.1"))))
          +         (replace 'check
          +           (lambda _
          +             (zero? (system* "make" "force-test")))))))
          +    (outputs `("out" "utils"))
          +    (inputs
          +     ;; it would be nice to add GeoIP and gssapi once there is package
          +     `(("libcap" ,libcap)
          +       ("libxml2" ,libxml2)
          +       ("mysql" ,mysql)
          +       ("openssl" ,openssl)
          +       ("p11-kit" ,p11-kit)))
          +    (native-inputs `(("perl" ,perl)
          +                     ("net-tools" ,net-tools)))
          +    (synopsis "An implementation of the Domain Name System")
          +    (description "BIND is an implementation of the Domain Name System (DNS)
          +protocols for the Internet.  It is a reference implementation of those
          +protocols, but it is also production-grade software, suitable for use in
          +high-volume and high-reliability applications. The name BIND stands for
          +\"Berkeley Internet Name Domain\", because the software originated in the early
          +1980s at the University of California at Berkeley.")
          +    (home-page "https://www.isc.org/downloads/bind")
          +    (license (list license:isc))))
          +
           (define-public bind-utils
             (package
               (name "bind-utils")
          -- 
          2.1.4
          
          
     
     -- 
     Avoid eavesdropping.  Send strong encrypted email.
     PGP Public key ID: 1024D/2DE827B3 
     fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
     See http://sks-keyservers.net or any PGP keyserver for public key.
     



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


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-09-18 13:57           ` John Darrington
@ 2016-09-18 15:03             ` Hartmut Goebel
  2016-09-18 17:52               ` John Darrington
  0 siblings, 1 reply; 11+ messages in thread
From: Hartmut Goebel @ 2016-09-18 15:03 UTC (permalink / raw)
  To: guix-devel

Am 18.09.2016 um 15:57 schrieb John Darrington:
> Does anyone have any opinions/objections before I make this commit?

>           +             (string-append "--with-dlz-mysql="
>           +                            (assoc-ref %build-inputs "mysql"))

I don't think, this should be build with DLZ mysql per default. While
DLZ is an important feature, this would urgh GuixSD users to use mysql.
They mayprefer postgresql, though. Thus DLZ MySQL should not part of the
default setup IMHO.


>           +    (outputs `("out" "utils"))

Please muve this above the phases defintions. I missed this and thought
the utils are going into the same package as the server.

-- 
Regards
Hartmut Goebel

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] gnu: Add bind
  2016-09-18 15:03             ` Hartmut Goebel
@ 2016-09-18 17:52               ` John Darrington
  0 siblings, 0 replies; 11+ messages in thread
From: John Darrington @ 2016-09-18 17:52 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1129 bytes --]

On Sun, Sep 18, 2016 at 05:03:14PM +0200, Hartmut Goebel wrote:
     Am 18.09.2016 um 15:57 schrieb John Darrington:
     > Does anyone have any opinions/objections before I make this commit?
     
     >           +             (string-append "--with-dlz-mysql="
     >           +                            (assoc-ref %build-inputs "mysql"))
     
     I don't think, this should be build with DLZ mysql per default. While
     DLZ is an important feature, this would urgh GuixSD users to use mysql.
     They mayprefer postgresql, though. Thus DLZ MySQL should not part of the
     default setup IMHO.

Ok.  I buy that argument.
     
     
     >           +    (outputs `("out" "utils"))
     
     Please muve this above the phases defintions. I missed this and thought
     the utils are going into the same package as the server.
     

I will do that.
     
     

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


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-09-18 17:52 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-30 16:36 [PATCH] gnu: Add bind John Darrington
2016-08-31 17:52 ` Leo Famulari
2016-08-31 18:38   ` John Darrington
2016-09-10 19:25     ` Leo Famulari
2016-09-10 22:06       ` John Darrington
2016-09-10 22:08         ` John Darrington
2016-09-18 13:57           ` John Darrington
2016-09-18 15:03             ` Hartmut Goebel
2016-09-18 17:52               ` John Darrington
  -- strict thread matches above, loose matches on Subject: below --
2016-08-29 19:56 John Darrington
2016-08-29 20:08 ` John Darrington

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).