summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/autotools.scm2
-rw-r--r--gnu/packages/base.scm36
-rw-r--r--gnu/packages/bootstrap.scm4
-rw-r--r--gnu/packages/cross-base.scm4
-rw-r--r--gnu/packages/file.scm26
-rw-r--r--gnu/packages/games.scm2
-rw-r--r--gnu/packages/gawk.scm12
-rw-r--r--gnu/packages/gcc.scm9
-rw-r--r--gnu/packages/gettext.scm4
-rw-r--r--gnu/packages/glib.scm4
-rw-r--r--gnu/packages/gnome.scm11
-rw-r--r--gnu/packages/gps.scm12
-rw-r--r--gnu/packages/guile.scm6
-rw-r--r--gnu/packages/linux.scm4
-rw-r--r--gnu/packages/m4.scm3
-rw-r--r--gnu/packages/man.scm2
-rw-r--r--gnu/packages/mit-krb5.scm2
-rw-r--r--gnu/packages/patches/file-CVE-2014-3587.patch16
-rw-r--r--gnu/packages/patches/gcc-fix-pr61801.patch25
-rw-r--r--gnu/packages/patches/m4-readlink-EINVAL.patch18
-rw-r--r--gnu/packages/patchutils.scm2
-rw-r--r--gnu/packages/perl.scm2
-rw-r--r--gnu/packages/pkg-config.scm7
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/ruby.scm7
-rw-r--r--gnu/packages/version-control.scm2
-rw-r--r--gnu/packages/web.scm11
-rw-r--r--gnu/packages/xfce.scm2
-rw-r--r--gnu/packages/xml.scm12
29 files changed, 84 insertions, 167 deletions
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 0094577210..a3afcdcfff 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -178,7 +178,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
     (native-search-paths
      (list (search-path-specification
             (variable "ACLOCAL_PATH")
-            (directories '("share/aclocal")))))
+            (files '("share/aclocal")))))
     (arguments
      '(#:modules ((guix build gnu-build-system)
                   (guix build utils)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 85e92aad3b..5bf27c9ef1 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -65,14 +65,14 @@ command-line arguments, multiple languages, and so on.")
 (define-public grep
   (package
    (name "grep")
-   (version "2.20")
+   (version "2.21")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/grep/grep-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh"))))
+              "1pp5n15qwxrw1pibwjhhgsibyv5cafhamf8lwzjygs6y00fa2i2j"))))
    (build-system gnu-build-system)
    (synopsis "Print lines matching a pattern")
    (description
@@ -312,14 +312,14 @@ change.  GNU make offers many powerful extensions over the standard utility.")
 (define-public binutils
   (package
    (name "binutils")
-   (version "2.24")
+   (version "2.25")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/binutils/binutils-"
                                 version ".tar.bz2"))
             (sha256
              (base32
-              "0ds1y7qa0xqihw4ihnsgg6bxanmb228r228ddvwzgrv4jszcbs75"))
+              "08r9i26b05zcwb9zxb6zllpfdiiicdfsgbpsjlrjmvx3rxjzrpi2"))
             (patches (list (search-patch "binutils-ld-new-dtags.patch")
                            (search-patch "binutils-loongson-workaround.patch")))))
    (build-system gnu-build-system)
@@ -382,25 +382,27 @@ included.")
    ;; users should automatically pull Linux headers as well.
    (propagated-inputs `(("linux-headers" ,linux-libre-headers)))
 
-   ;; Store the locales separately (~100 MiB).  Note that "out" retains a
-   ;; reference to them anyway, so there's no space savings here.
-   ;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like
-   ;; Nixpkgs does.
-   (outputs '("out" "locales" "debug"))
+   (outputs '("out" "debug"))
 
    (arguments
     `(#:out-of-source? #t
       #:configure-flags
       (list "--enable-add-ons"
             "--sysconfdir=/etc"
-            (string-append "--localedir=" (assoc-ref %outputs "locales")
-                           "/share/locale")
 
+            ;; Installing a locale archive with all the locales is to
+            ;; expensive (~100 MiB), so we rely on users to install the
+            ;; locales they really want.
+            ;;
+            ;; Set the default locale path.  In practice, $LOCPATH may be
+            ;; defined to point whatever locales users want.  However, setuid
+            ;; binaries don't honor $LOCPATH, so they'll instead look into
+            ;; $libc_cv_localedir; we choose /run/current-system/locale, with
+            ;; the idea that it is going to be populated by the sysadmin.
+            ;;
             ;; `--localedir' is not honored, so work around it.
             ;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
-            (string-append "libc_cv_localedir="
-                           (assoc-ref %outputs "locales")
-                           "/share/locale")
+            (string-append "libc_cv_localedir=/run/current-system/locale")
 
             (string-append "--with-headers="
                            (assoc-ref %build-inputs "linux-headers")
@@ -477,11 +479,7 @@ included.")
                        "")
                       (("exec @PERL@")
                        "exec perl"))))
-                (alist-cons-after
-                 'install 'install-locales
-                 (lambda _
-                   (zero? (system* "make" "localedata/install-locales")))
-                 %standard-phases))))
+                %standard-phases)))
 
    (inputs `(("static-bash" ,(static-package bash-light))))
 
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 854d97bcfb..5a19783bb6 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -409,10 +409,10 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
     (native-search-paths
      (list (search-path-specification
             (variable "CPATH")
-            (directories '("include")))
+            (files '("include")))
            (search-path-specification
             (variable "LIBRARY_PATH")
-            (directories '("lib" "lib64")))))
+            (files '("lib" "lib64")))))
     (synopsis "Bootstrap binaries of the GNU Compiler Collection")
     (description #f)
     (home-page #f)
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index 74809d08f9..0f32c9fab9 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -234,10 +234,10 @@ GCC that does not target a libc; otherwise, target that libc."
     (search-paths
      (list (search-path-specification
             (variable "CROSS_CPATH")
-            (directories '("include")))
+            (files '("include")))
            (search-path-specification
             (variable "CROSS_LIBRARY_PATH")
-            (directories '("lib" "lib64")))))
+            (files '("lib" "lib64")))))
     (native-search-paths '())))
 
 (define* (cross-libc target
diff --git a/gnu/packages/file.scm b/gnu/packages/file.scm
index 070695ec2c..7d8504b74a 100644
--- a/gnu/packages/file.scm
+++ b/gnu/packages/file.scm
@@ -27,14 +27,14 @@
 (define-public file
   (package
    (name "file")
-   (version "5.19")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "ftp://ftp.astron.com/pub/file/file-"
-                   version ".tar.gz"))
-            (sha256 (base32
-                     "0z1sgrcfy6d285kj5izy1yypf371bjl3247plh9ppk0svaxv714l"))
-            (patches (list (search-patch "file-CVE-2014-3587.patch")))))
+    (version "5.20")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://ftp.astron.com/pub/file/file-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0iyjs9z8kp43gz7gva4j67h4p0n53f7q8x3ibai9s01sp3xnphsv"))))
    (build-system gnu-build-system)
 
    ;; When cross-compiling, this package depends upon a native install of
@@ -50,13 +50,3 @@ of the file.")
    (license bsd-2)
    (home-page "http://www.darwinsys.com/file/")))
 
-(define-public file-5.20                          ;fix for CVE-2014-3710
-  (package (inherit file)
-    (version "5.20")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "ftp://ftp.astron.com/pub/file/file-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0iyjs9z8kp43gz7gva4j67h4p0n53f7q8x3ibai9s01sp3xnphsv"))))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 066e0e6c46..5261c192eb 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -717,7 +717,7 @@ for common mesh file formats, and collision detection.")
     (native-search-paths
      (list (search-path-specification
             (variable "MINETEST_SUBGAME_PATH")
-            (directories '("share/minetest/games")))))
+            (files '("share/minetest/games")))))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm
index 10506197f3..996be7af4a 100644
--- a/gnu/packages/gawk.scm
+++ b/gnu/packages/gawk.scm
@@ -64,7 +64,17 @@
                           '((substitute* "extension/configure"
                               (("/usr/bin/file") (which "file"))))
                           '())))
-                %standard-phases)))
+
+                (alist-cons-before
+                 'check 'install-locales
+                 (lambda _
+                   ;; A bunch of tests require the availability of a UTF-8
+                   ;; locale and otherwise fail.  Give them what they want.
+                   (setenv "LOCPATH" (getcwd))
+                   (zero? (system* "localedef" "--no-archive"
+                                   "--prefix" (getcwd) "-i" "en_US"
+                                   "-f" "UTF-8" "./en_US.UTF-8")))
+                 %standard-phases))))
    (inputs `(("libsigsegv" ,libsigsegv)
 
              ,@(if (%current-target-system)
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 6dfdcea131..e795f9749f 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -245,10 +245,10 @@ where the OS part is overloaded to denote a specific ABI---into GCC
       (native-search-paths
        (list (search-path-specification
               (variable "CPATH")
-              (directories '("include")))
+              (files '("include")))
              (search-path-specification
               (variable "LIBRARY_PATH")
-              (directories '("lib" "lib64")))))
+              (files '("lib" "lib64")))))
 
       (properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
       (synopsis "GNU Compiler Collection")
@@ -261,15 +261,14 @@ Go.  It also includes runtime support libraries for these languages.")
 
 (define-public gcc-4.8
   (package (inherit gcc-4.7)
-    (version "4.8.3")
+    (version "4.8.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gcc/gcc-"
                                  version "/gcc-" version ".tar.bz2"))
              (sha256
               (base32
-               "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka"))
-             (patches (list (search-patch "gcc-fix-pr61801.patch")))))))
+               "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a"))))))
 
 (define-public gcc-4.9
   (package (inherit gcc-4.7)
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index bbdf0c5862..dd86fe4c5b 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -35,14 +35,14 @@
 (define-public gnu-gettext
   (package
     (name "gettext")
-    (version "0.19.3")
+    (version "0.19.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gettext/gettext-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1xmkxviqnq60h4wmh3bi6b1zkc9qsk3l1lv91k0iwfrxb982v5ck"))))
+               "0gvz86m4cs8bdf3mwmwsyx6lrq4ydfxgadrgd9jlx32z3bnz3jca"))))
     (build-system gnu-build-system)
     (inputs
      `(("expat" ,expat)))
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 83d55d64ff..5a5b4dfd0a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -189,7 +189,7 @@ shared NFS home directories.")
     ;; by 'glib-compile-schemas'.
     (list (search-path-specification
            (variable "XDG_DATA_DIRS")
-           (directories '("share")))))
+           (files '("share")))))
    (search-paths native-search-paths)
 
    (synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
@@ -231,7 +231,7 @@ dynamic loading, and an object system.")
     (native-search-paths
      (list (search-path-specification
             (variable "GI_TYPELIB_PATH")
-            (directories '("lib/girepository-1.0")))))
+            (files '("lib/girepository-1.0")))))
     (search-paths native-search-paths)
     (arguments
      `(#:phases
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 1ff9e85957..ab988cd70d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -143,17 +143,6 @@ The gnome-about program helps find which version of GNOME is installed.")
        (base32
         "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (alist-cons-before
-        'check 'pre-check
-        (lambda* (#:key inputs #:allow-other-keys #:rest args)
-          ;; This is needed, because without it, xmlint etc tries
-          ;; to download docbookx.dtd from the net
-          (setenv "XML_CATALOG_FILES" 
-                  (string-append (assoc-ref inputs "docbook-xml") 
-                                 "/xml/dtd/docbook/catalog.xml")))
-        %standard-phases)))
     (native-inputs
      `(("intltool" ,intltool)
        ("docbook-xml" ,docbook-xml-4.4)
diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index 1fbf38f125..231b1d1b04 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -100,17 +100,7 @@ manipulate maps.")
                      (substitute* "Makefile"
                        (("prefix[[:blank:]]*=.*$")
                         (string-append "prefix = " (assoc-ref outputs "out")
-                                       "\n")))
-
-                     ;; Make sure the DocBook XML and XSL files are found.
-                     ;; Note: this is a space-separated list.
-                     (setenv "XML_CATALOG_FILES"
-                             (string-append (assoc-ref inputs "docbook-xml")
-                                            "/xml/dtd/docbook/catalog.xml "
-                                            (assoc-ref inputs "docbook-xsl")
-                                            "/xml/xsl/"
-                                            ,(package-full-name docbook-xsl)
-                                            "/catalog.xml")))
+                                       "\n"))))
                    %standard-phases)
          #:tests? #f))
       (inputs
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 6a76bafe84..7e3b5f847d 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -95,7 +95,7 @@
    (native-search-paths
     (list (search-path-specification
            (variable "GUILE_LOAD_PATH")
-           (directories '("share/guile/site")))))
+           (files '("share/guile/site")))))
 
    (synopsis "Scheme implementation intended especially for extensions")
    (description
@@ -155,10 +155,10 @@ without requiring the source code to be rewritten.")
    (native-search-paths
     (list (search-path-specification
            (variable "GUILE_LOAD_PATH")
-           (directories '("share/guile/site/2.0")))
+           (files '("share/guile/site/2.0")))
           (search-path-specification
            (variable "GUILE_LOAD_COMPILED_PATH")
-           (directories '("share/guile/site/2.0")))))
+           (files '("share/guile/site/2.0")))))
 
    (synopsis "Scheme implementation intended especially for extensions")
    (description
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a2708a290f..9dc5f5cd40 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -196,7 +196,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
          (build-phase
           '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
              ;; Apply the neat patch.
-             (system* "patch" "-p1" "--batch"
+             (system* "patch" "-p1" "--force"
                       "-i" (assoc-ref inputs "patch/freedo+gnu"))
 
              (let ((arch (car (string-split system #\-))))
@@ -774,7 +774,7 @@ manpages.")
                  'unpack 'patch
                  (lambda* (#:key inputs #:allow-other-keys)
                    (define (apply-patch file)
-                     (zero? (system* "patch" "-p1" "--batch"
+                     (zero? (system* "patch" "-p1" "--force"
                                      "--input" file)))
 
                    (let ((patch.gz (assoc-ref inputs "patch")))
diff --git a/gnu/packages/m4.scm b/gnu/packages/m4.scm
index 0915fde4f2..b3b3a00fde 100644
--- a/gnu/packages/m4.scm
+++ b/gnu/packages/m4.scm
@@ -33,8 +33,7 @@
                                 version ".tar.bz2"))
             (sha256
              (base32
-              "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"))
-            (patches (list (search-patch "m4-readlink-EINVAL.patch")))))
+              "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"))))
    (build-system gnu-build-system)
    (arguments
     ;; XXX: Disable tests on those platforms with know issues.
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 028403ce74..712622aee8 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -105,7 +105,7 @@ a flexible and convenient way.")
     (native-search-paths
      (list (search-path-specification
             (variable "MANPATH")
-            (directories '("share/man")))))
+            (files '("share/man")))))
     (home-page "http://man-db.nongnu.org/")
     (synopsis "Standard Unix documentation system")
     (description
diff --git a/gnu/packages/mit-krb5.scm b/gnu/packages/mit-krb5.scm
index 2528f46157..3f3e85773e 100644
--- a/gnu/packages/mit-krb5.scm
+++ b/gnu/packages/mit-krb5.scm
@@ -62,7 +62,7 @@
                  ;; XXX The current patch system does not support unusual
                  ;; source unpack methods, so we have to apply this patch in a
                  ;; non-standard way.
-                 (zero? (system* "patch" "-p1" "--batch" "-i"
+                 (zero? (system* "patch" "-p1" "--force" "-i"
                                  (assoc-ref %build-inputs "patch/init-fix"))))))
         (alist-replace
          'check
diff --git a/gnu/packages/patches/file-CVE-2014-3587.patch b/gnu/packages/patches/file-CVE-2014-3587.patch
deleted file mode 100644
index cf88bf5f3e..0000000000
--- a/gnu/packages/patches/file-CVE-2014-3587.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fixes CVE-2014-3587.  Copied from upstream commit
-0641e56be1af003aa02c7c6b0184466540637233.
-
---- file-5.19/src/cdf.c.orig	2014-06-09 09:04:37.000000000 -0400
-+++ file-5.19/src/cdf.c	2014-08-26 11:55:23.887118898 -0400
-@@ -824,6 +824,10 @@
- 		q = (const uint8_t *)(const void *)
- 		    ((const char *)(const void *)p + ofs
- 		    - 2 * sizeof(uint32_t));
-+		if (q < p) {
-+			DPRINTF(("Wrapped around %p < %p\n", q, p));
-+			goto out;
-+		}
- 		if (q > e) {
- 			DPRINTF(("Ran of the end %p > %p\n", q, e));
- 			goto out;
diff --git a/gnu/packages/patches/gcc-fix-pr61801.patch b/gnu/packages/patches/gcc-fix-pr61801.patch
deleted file mode 100644
index e9cd92aa1c..0000000000
--- a/gnu/packages/patches/gcc-fix-pr61801.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-GCC bug fix for <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801>.
-Initially discussed at
- <http://lists.gnu.org/archive/html/guix-devel/2014-09/msg00283.html>.
-Patch from <https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=212740>.
-
-2014-07-17  Richard Biener  <rguenther@suse.de>
-
-        PR rtl-optimization/61801
-
-        * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
-        ASM_INPUT don't set reg_pending_barrier if it appears in a
-        debug-insn.
-
---- gcc-4_8-branch/gcc/sched-deps.c	2014/07/17 07:48:49	212739
-+++ gcc-4_8-branch/gcc/sched-deps.c	2014/07/17 07:49:44	212740
-@@ -2744,7 +2744,8 @@
- 	   Consider for instance a volatile asm that changes the fpu rounding
- 	   mode.  An insn should not be moved across this even if it only uses
- 	   pseudo-regs because it might give an incorrectly rounded result.  */
--	if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
-+	if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
-+	    && !DEBUG_INSN_P (insn))
- 	  reg_pending_barrier = TRUE_BARRIER;
- 
- 	/* For all ASM_OPERANDS, we must traverse the vector of input operands.
diff --git a/gnu/packages/patches/m4-readlink-EINVAL.patch b/gnu/packages/patches/m4-readlink-EINVAL.patch
deleted file mode 100644
index dd371584a7..0000000000
--- a/gnu/packages/patches/m4-readlink-EINVAL.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Newer Linux kernels would return EINVAL instead of ENOENT.
-The patch below, taken from Gnulib, allows the test to pass when
-these Linux versions are in use:
-https://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00308.html .
-
-diff --git a/tests/test-readlink.h b/tests/test-readlink.h
-index 08d5662..7247fc4 100644
---- a/tests/test-readlink.h
-+++ b/tests/test-readlink.h
-@@ -38,7 +38,7 @@ test_readlink (ssize_t (*func) (char const *, char *, size_t), bool print)
-   ASSERT (errno == ENOENT);
-   errno = 0;
-   ASSERT (func ("", buf, sizeof buf) == -1);
--  ASSERT (errno == ENOENT);
-+  ASSERT (errno == ENOENT || errno == EINVAL);
-   errno = 0;
-   ASSERT (func (".", buf, sizeof buf) == -1);
-   ASSERT (errno == EINVAL);
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 3dbf72435e..48f4d29584 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -96,7 +96,7 @@ listing the files modified by a patch.")
     (build-system gnu-build-system)
     (inputs `(("perl" ,perl)
               ("less" ,less)
-              ("file" ,file-5.20)                 ;work around CVE-2014-3710
+              ("file" ,file)
               ("ed" ,ed)))
     (arguments
      '(#:parallel-tests? #f
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 03cad3e25f..699fe751de 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -66,7 +66,7 @@
         %standard-phases)))
     (native-search-paths (list (search-path-specification
                                 (variable "PERL5LIB")
-                                (directories '("lib/perl5/site_perl")))))
+                                (files '("lib/perl5/site_perl")))))
     (synopsis "Implementation of the Perl programming language")
     (description
      "Perl 5 is a highly capable, feature-rich programming language with over
diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm
index 62b0d5f65c..dd5120c474 100644
--- a/gnu/packages/pkg-config.scm
+++ b/gnu/packages/pkg-config.scm
@@ -30,7 +30,7 @@
 (define-public %pkg-config
   (package
    (name "pkg-config")
-   (version "0.27.1")
+   (version "0.28")
    (source (origin
             (method url-fetch)
             (uri (string-append
@@ -38,14 +38,13 @@
                   version ".tar.gz"))
             (sha256
              (base32
-              "05wc5nwkqz7saj2v33ydmz1y6jdg659dll4jjh91n41m63gx0qsg"))))
+              "0igqq5m204w71m11y0nipbdf5apx87hwfll6axs12hn4dqfb6vkb"))))
    (build-system gnu-build-system)
    (arguments `(#:configure-flags '("--with-internal-glib")))
    (native-search-paths
     (list (search-path-specification
            (variable "PKG_CONFIG_PATH")
-           (directories '("lib/pkgconfig" "lib64/pkgconfig"
-                          "share/pkgconfig")))))
+           (files '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig")))))
    (home-page "http://www.freedesktop.org/wiki/Software/pkg-config")
    (license gpl2+)
    (synopsis "Helper tool used when compiling applications and libraries")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 162acec639..c2eab7dc6d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -198,7 +198,7 @@
     (native-search-paths
      (list (search-path-specification
             (variable "PYTHONPATH")
-            (directories '("lib/python2.7/site-packages")))))
+            (files '("lib/python2.7/site-packages")))))
     (home-page "http://python.org")
     (synopsis
      "High-level, dynamically-typed programming language")
@@ -237,7 +237,7 @@ data types.")
     (native-search-paths
      (list (search-path-specification
             (variable "PYTHONPATH")
-            (directories '("lib/python3.3/site-packages")))))))
+            (files '("lib/python3.3/site-packages")))))))
 
 (define-public python-wrapper
   (package (inherit python)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 4b6665cb6b..f8276db698 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -77,10 +77,9 @@
     (native-search-paths
      (list (search-path-specification
             (variable "GEM_PATH")
-            (directories
-             (list (string-append "lib/ruby/gems/"
-                                  (version-major+minor version)
-                                  ".0"))))))
+            (files (list (string-append "lib/ruby/gems/"
+                                        (version-major+minor version)
+                                        ".0"))))))
     (synopsis "Programming language interpreter")
     (description "Ruby is a dynamic object-oriented programming language with
 a focus on simplicity and productivity.")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index f5e9a27736..4f9ed54d56 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -649,7 +649,7 @@ accessed and migrated on modern systems.")
     (inputs
      `(("e2fsprogs" ,e2fsprogs)
        ("curl" ,curl)
-       ("file" ,file-5.20)                        ;work around CVE-2014-3710
+       ("file" ,file)
        ("libxml2" ,libxml2)
        ("zlib" ,zlib)
        ("gettext" ,gnu-gettext)))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 1ff3dfb5a5..8a64211697 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -644,16 +644,7 @@ help you implement simple HTTP servers.")
           ;; Uncommenting the next two lines may assist in debugging
           ;; (substitute* "docs/man5/Makefile" (("a2x") "a2x -v"))
           ;; (setenv "XML_DEBUG_CATALOG" "1")
-
-          (setenv "XML_CATALOG_FILES" 
-                  (string-append
-                   (assoc-ref inputs "docbook-xsl") 
-                   "/xml/xsl/docbook-xsl-1.78.1/catalog.xml"
-                   ;; Contrary to the documentation, the file names must
-                   ;; be separated by a space, not a colon.
-                   " " 
-                   (assoc-ref inputs "docbook-xml") 
-                   "/xml/dtd/docbook/catalog.xml")))
+          #t)
         %standard-phases)))
     ;; All of the below are used to generate the documentation
     ;; (Should they be propagated inputs of asciidoc ??)
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 2b15c3e35c..17b2b4d9f7 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -267,7 +267,7 @@ management D-Bus specification.")
     (native-search-paths
      (list (search-path-specification
             (variable "X_XFCE4_LIB_DIRS")
-            (directories '("lib/xfce4")))))
+            (files '("lib/xfce4")))))
     (home-page "http://www.xfce.org/")
     (synopsis "Xfce desktop panel")
     (description
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 63d0ef2132..62f8c3c376 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -68,6 +68,18 @@ things the parser might find in the XML document (like start tags).")
     (inputs `(("zlib" ,zlib)))
     (native-inputs `(("perl" ,perl)
                      ("python" ,python-2))) ; incompatible with Python 3 (print syntax)
+
+
+    ;; $XML_CATALOG_FILES lists 'catalog.xml' files found in under the 'xml'
+    ;; sub-directory of any given package.
+    (native-search-paths (search-path-specification
+                          (variable "XML_CATALOG_FILES")
+                          (separator " ")
+                          (files '("xml"))
+                          (file-pattern "^catalog\\.xml$")
+                          (file-type 'regular)))
+    (search-paths native-search-paths)
+
     (arguments
      `(#:phases
         (alist-replace