summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-03-07 21:59:32 +0100
committerVladimír Čunát <vcunat@gmail.com>2017-03-07 21:59:32 +0100
commitb86b7c04a30856e15391df1f5e7c901ae350fe78 (patch)
tree953fe308c0e11eed87d383c83b10e3c9cfd03989 /pkgs/development/libraries
parent9eb2f4cb9ea7afb8f5c623bf0d4d0e22b8e8afec (diff)
parentac0021ce53d2f9d8b26aa5374ccac1cc3e4b270d (diff)
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/gnutls-kdh/3.5.nix12
-rw-r--r--pkgs/development/libraries/gnutls-kdh/generic.nix92
-rw-r--r--pkgs/development/libraries/gpgme/default.nix3
-rw-r--r--pkgs/development/libraries/gss/default.nix12
-rwxr-xr-xpkgs/development/libraries/java/javasvn/builder.sh6
-rw-r--r--pkgs/development/libraries/java/javasvn/default.nix17
-rw-r--r--pkgs/development/libraries/libchop/default.nix19
-rw-r--r--pkgs/development/libraries/libchop/size_t.patch11
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix61
-rw-r--r--pkgs/development/libraries/nlopt/default.nix6
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix4
-rw-r--r--pkgs/development/libraries/sqlite/sqlite3_analyzer.nix30
-rw-r--r--pkgs/development/libraries/unittest-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/uriparser/default.nix26
-rw-r--r--pkgs/development/libraries/ustr/default.nix2
-rw-r--r--pkgs/development/libraries/wxSVG/default.nix34
-rw-r--r--pkgs/development/libraries/xapian/default.nix35
-rw-r--r--pkgs/development/libraries/zimlib/default.nix33
19 files changed, 295 insertions, 114 deletions
diff --git a/pkgs/development/libraries/gnutls-kdh/3.5.nix b/pkgs/development/libraries/gnutls-kdh/3.5.nix
new file mode 100644
index 0000000000000..e245496c63acd
--- /dev/null
+++ b/pkgs/development/libraries/gnutls-kdh/3.5.nix
@@ -0,0 +1,12 @@
+{ callPackage, fetchFromGitHub, autoreconfHook, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "arpa2";
+    repo = "gnutls-kdh";
+    rev = "ff3bb36f70a746f28554641d466e124098dfcb25";
+    sha256 = "1rr3p4r145lnprxn8hqyyzh3qkj3idsbqp08g07ndrhqnxq0k0sw";
+  };
+})
diff --git a/pkgs/development/libraries/gnutls-kdh/generic.nix b/pkgs/development/libraries/gnutls-kdh/generic.nix
new file mode 100644
index 0000000000000..0e8457a8c54b8
--- /dev/null
+++ b/pkgs/development/libraries/gnutls-kdh/generic.nix
@@ -0,0 +1,92 @@
+{ lib, fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
+, guileBindings, guile, perl, gmp, autogen, libidn, p11_kit, unbound, libiconv
+, tpmSupport ? true, trousers, nettools, bash, gperftools, gperf, gettext, automake
+, yacc, texinfo
+
+# Version dependent args
+, version, src, patches ? [], postPatch ? "", nativeBuildInputs ? []
+, ...}:
+
+assert guileBindings -> guile != null;
+let
+  # XXX: Gnulib's `test-select' fails on FreeBSD:
+  # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
+  doCheck = !stdenv.isFreeBSD && !stdenv.isDarwin && lib.versionAtLeast version "3.4";
+in
+stdenv.mkDerivation {
+  name = "gnutls-kdh-${version}";
+
+  inherit src patches;
+
+  outputs = [ "bin" "dev" "out" ];
+
+  patchPhase = ''
+      # rm -fR ./po
+      # substituteInPlace configure "po/Makefile.in" " "
+      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_cipher_list.3" " "
+      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_cipher_self_test.3" " "
+      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_digest_self_test.3" " "
+      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_mac_self_test.3" " "
+      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_pk_self_test.3" " "
+      printf "all: ;\n\ninstall: ;" > "po/Makefile.in"
+      printf "all: ;\n\ninstall: ;" > "po/Makefile.in.in"
+      '';
+
+  postPatch = lib.optionalString (lib.versionAtLeast version "3.4") ''
+    sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' \
+      -i tests/cert-tests/name-constraints
+  '' + postPatch;
+
+  preConfigure = "patchShebangs .";
+  configureFlags =
+    lib.optional stdenv.isLinux "--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt"
+  ++ [
+    "--disable-dependency-tracking"
+    "--enable-fast-install"
+  ] ++ lib.optional guileBindings
+    [ "--enable-guile" "--with-guile-site-dir=\${out}/share/guile/site" ];
+
+  # Build of the Guile bindings is not parallel-safe.  See
+  # <http://git.savannah.gnu.org/cgit/gnutls.git/commit/?id=330995a920037b6030ec0282b51dde3f8b493cad>
+  # for the actual fix.  Also an apparent race in the generation of
+  # systemkey-args.h.
+  enableParallelBuilding = false;
+
+  buildInputs = [ lzo lzip nettle libtasn1 libidn p11_kit zlib gmp
+  autogen gperftools gperf gettext automake yacc texinfo ]
+    ++ lib.optional doCheck nettools
+    ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
+    ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
+    ++ [ unbound ]
+    ++ lib.optional guileBindings guile;
+
+  nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs;
+
+  #inherit doCheck;
+  doCheck = false;
+
+  # Fixup broken libtool and pkgconfig files
+  preFixup = lib.optionalString (!stdenv.isDarwin) ''
+    sed ${lib.optionalString tpmSupport "-e 's,-ltspi,-L${trousers}/lib -ltspi,'"} \
+        -e 's,-lz,-L${zlib.out}/lib -lz,' \
+        -e 's,-L${gmp.dev}/lib,-L${gmp.out}/lib,' \
+        -e 's,-lgmp,-L${gmp.out}/lib -lgmp,' \
+        -i $out/lib/*.la "$dev/lib/pkgconfig/gnutls.pc"
+  '';
+
+  meta = with lib; {
+    description = "GnuTLS with additional TLS-KDH ciphers: Kerberos + Diffie-Hellman";
+
+    longDescription = ''
+       The ARPA2 project aims to add security. This is an enhanced
+       version of GnuTLS,  a project that aims to develop a library which
+       provides a secure layer, over a reliable transport
+       layer. It adds TLS-KDH ciphers: Kerberos + Diffie-Hellman.
+    '';
+
+    homepage = http://www.gnu.org/software/gnutls://github.com/arpa2/gnutls-kdh;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ leenaars ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 307fde4e5c277..2ab0977004c4c 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE =
     with stdenv; lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64";
 
+  AM_CXXFLAGS =
+    with stdenv; lib.optional (isDarwin) "-D_POSIX_C_SOURCE=200809L";
+
   meta = with stdenv.lib; {
     homepage = "http://www.gnupg.org/related_software/gpgme";
     description = "Library for making GnuPG easier to use";
diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix
index a748d9582695c..0cc6a07e08394 100644
--- a/pkgs/development/libraries/gss/default.nix
+++ b/pkgs/development/libraries/gss/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl
-
-# Optional Dependencies
-, shishi ? null
+, withShishi ? !stdenv.isDarwin, shishi ? null
 }:
 
+assert withShishi -> shishi != null;
+
 stdenv.mkDerivation rec {
   name = "gss-1.0.3";
 
@@ -12,16 +12,16 @@ stdenv.mkDerivation rec {
     sha256 = "1syyvh3k659xf1hdv9pilnnhbbhs6vfapayp4xgdcc8mfgf9v4gz";
   };
 
-  buildInputs = [ shishi ];
+  buildInputs = stdenv.lib.optional withShishi shishi;
 
   configureFlags = [
-    "--${if shishi != null then "enable" else "disable"}-kereberos5"
+    "--${if withShishi != null then "enable" else "disable"}-kereberos5"
   ];
 
   doCheck = true;
 
   # Fixup .la files
-  postInstall = stdenv.lib.optionalString (!stdenv.isDarwin && shishi != null) ''
+  postInstall = stdenv.lib.optionalString withShishi ''
     sed -i 's,\(-lshishi\),-L${shishi}/lib \1,' $out/lib/libgss.la
   '';
 
diff --git a/pkgs/development/libraries/java/javasvn/builder.sh b/pkgs/development/libraries/java/javasvn/builder.sh
deleted file mode 100755
index 5eaed4c88425a..0000000000000
--- a/pkgs/development/libraries/java/javasvn/builder.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-set -e
-source $stdenv/setup
-
-$unzip/bin/unzip $src
-mkdir -p $out
-mv $name*/* $out
diff --git a/pkgs/development/libraries/java/javasvn/default.nix b/pkgs/development/libraries/java/javasvn/default.nix
deleted file mode 100644
index 2ad9a33879cab..0000000000000
--- a/pkgs/development/libraries/java/javasvn/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl, unzip} :
-
-stdenv.mkDerivation {
-  name = "javasvn-1.0.6";
-  builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://tmate.org/svn/org.tmatesoft.svn_1.0.6.standalone.zip;
-    sha256 = "0l2s3jqi5clzj5jz962i7gmy8ims51ma60mm5iflsl00dwbmgrqf";
-  };
-  
-  inherit unzip;
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index 7ff992ccc5546..1be3a74fbff57 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -1,5 +1,7 @@
-{ fetchurl, stdenv, zlib, bzip2, libgcrypt, gdbm, gperf, tdb, gnutls, db
-, libuuid, lzo, pkgconfig, guile }:
+{ fetchurl, stdenv, zlib, bzip2, libgcrypt
+, gdbm, gperf, tdb, gnutls, db, libuuid
+, lzo, pkgconfig, guile
+}:
 
 stdenv.mkDerivation rec {
   name = "libchop-0.5.2";
@@ -9,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0fpdyxww41ba52d98blvnf543xvirq1v9xz1i3x1gm9lzlzpmc2g";
   };
 
-  patches = [ ./gets-undeclared.patch ];
+  patches = [ ./gets-undeclared.patch ./size_t.patch ];
 
   nativeBuildInputs = [ pkgconfig gperf ];
   
@@ -21,13 +23,13 @@ stdenv.mkDerivation rec {
       guile
     ];
 
-  doCheck = true;
+  doCheck = false;
 
   preConfigure = ''
     sed -re 's%@GUILE@%&/guile%' -i */Makefile.* Makefile.*
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Tools & library for data backup and distributed storage";
 
     longDescription =
@@ -46,9 +48,8 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = http://nongnu.org/libchop/;
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    maintainers = with stdenv.lib.maintainers; [ viric ];
-    platforms = stdenv.lib.platforms.gnu;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.gnu;
   };
 }
diff --git a/pkgs/development/libraries/libchop/size_t.patch b/pkgs/development/libraries/libchop/size_t.patch
new file mode 100644
index 0000000000000..82b6cb995ef36
--- /dev/null
+++ b/pkgs/development/libraries/libchop/size_t.patch
@@ -0,0 +1,11 @@
+--- a/src/chop.c
++++ b/src/chop.c
+@@ -539,7 +539,7 @@ extern const chop_class_t chop_gdbm_bloc
+   chop_qdbm_block_iterator_class;
+ 
+ const struct chop_class_entry *
+-chop_lookup_class_entry (const char *str, unsigned int len);
++chop_lookup_class_entry (const char *str, size_t len);
+ 
+ /* Include the gperf-generated perfect hash table.  */
+ #include "class-lookup.c"
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index fe4ed6e410ecd..0b3b86e66a24a 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
       "spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces
       "getaddrinfo_fail" "getaddrinfo_fail_sync"
     ]
-      # sometimes: timeout (no output)
-      ++ stdenv.lib.optional stdenv.isDarwin "process_title";
+      # sometimes: timeout (no output), failed uv_listen
+      ++ stdenv.lib.optionals stdenv.isDarwin [ "process_title" "emfile" ];
     tdRegexp = lib.concatStringsSep "\\|" toDisable;
     in lib.optionalString doCheck ''
       sed '/${tdRegexp}/d' -i test/test-list.h
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 7bedc189f0303..1987bbd323ee1 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch
+{ stdenv, fetchurl, fetchpatch, lib
 , pkgconfig, intltool, autoreconfHook, substituteAll
 , file, expat, libdrm, xorg, wayland, openssl
 , llvmPackages, libffi, libomxil-bellagio, libva
@@ -6,9 +6,11 @@
 , grsecEnabled ? false
 , enableRadv ? false
 , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
+, galliumDrivers ? null
+, driDrivers ? null
+, vulkanDrivers ? null
 }:
 
-
 /** Packaging design:
   - The basic mesa ($out) contains headers and libraries (GLU is in mesa_glu now).
     This or the mesa attribute (which also contains GLU) are small (~ 2 MB, mostly headers)
@@ -27,6 +29,40 @@ if ! lists.elem stdenv.system platforms.mesaPlatforms then
 else
 
 let
+  defaultGalliumDrivers =
+    if (stdenv.isArm || stdenv.isAarch64)
+    then ["nouveau" "freedreno" "vc4" "etnaviv"]
+    else ["i915" "ilo" "r300" "r600" "radeonsi" "nouveau"];
+  defaultDriDrivers =
+    if (stdenv.isArm || stdenv.isAarch64)
+    then ["nouveau"]
+    else ["i915" "i965" "nouveau" "radeon" "r200"];
+  defaultVulkanDrivers =
+    if (stdenv.isArm || stdenv.isAarch64)
+    then []
+    else ["intel"] ++ lib.optional enableRadv "radeon";
+in
+
+let gallium_ = galliumDrivers; dri_ = driDrivers; vulkan_ = vulkanDrivers; in
+
+let
+  galliumDrivers =
+    ["svga"]
+    ++ (if gallium_ == null
+          then defaultGalliumDrivers
+          else gallium_)
+    ++ ["swrast"];
+  driDrivers =
+    (if dri_ == null
+      then defaultDriDrivers
+      else dri_) ++ ["swrast"];
+  vulkanDrivers =
+    if vulkan_ == null
+    then defaultVulkanDrivers
+    else vulkan_;
+in
+
+let
   version = "17.0.1";
   branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
@@ -64,14 +100,17 @@ stdenv.mkDerivation {
     "--with-dri-driverdir=$(drivers)/lib/dri"
     "--with-dri-searchpath=${driverLink}/lib/dri"
     "--with-egl-platforms=x11,wayland,drm"
-  ] ++ (if stdenv.isArm || stdenv.isAarch64 then [
-      "--with-gallium-drivers=nouveau,freedreno,vc4,etnaviv,swrast"
-      "--with-dri-drivers=nouveau,swrast"
-  ] else [
-      "--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,swrast"
-      "--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast"
-      ("--with-vulkan-drivers=intel" + optionalString enableRadv ",radeon")
-  ]) ++ [
+  ]
+  ++ (optional (galliumDrivers != [])
+      ("--with-gallium-drivers=" +
+        builtins.concatStringsSep "," galliumDrivers))
+  ++ (optional (driDrivers != [])
+      ("--with-dri-drivers=" +
+        builtins.concatStringsSep "," driDrivers))
+  ++ (optional (vulkanDrivers != [])
+      ("--with-vulkan-drivers=" +
+        builtins.concatStringsSep "," vulkanDrivers))
+  ++ [
     (enableFeature enableTextureFloats "texture-float")
     (enableFeature grsecEnabled "glx-rts")
     (enableFeature stdenv.isLinux "dri3")
@@ -144,7 +183,7 @@ stdenv.mkDerivation {
 
     # set the default search path for DRI drivers; used e.g. by X server
     substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
-  '' + optionalString (!(stdenv.isArm || stdenv.isAarch64)) ''
+  '' + optionalString (builtins.elem "intel" vulkanDrivers) ''
     # move share/vulkan/icd.d/
     mv $out/share/ $drivers/
     # Update search path used by Vulkan (it's pointing to $out but
diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix
index 4e3db9b0d4017..7561f3b322b5f 100644
--- a/pkgs/development/libraries/nlopt/default.nix
+++ b/pkgs/development/libraries/nlopt/default.nix
@@ -16,16 +16,12 @@ stdenv.mkDerivation rec {
         "M_INSTALL_DIR=$(out)/${octave.sitePath}/m " +
         "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct ");
 
-  preConfigure = ''
-    find octave -name '*.cc' | xargs sed -i 's|Octave_map|octave_map|g'
-  '';
-
   meta = {
     homepage = "http://ab-initio.mit.edu/nlopt/";
     description = "Free open-source library for nonlinear optimization";
     license = stdenv.lib.licenses.lgpl21Plus;
     hydraPlatforms = stdenv.lib.platforms.linux;
-    broken = true;              # cannot cope with Octave 4.x
+    broken = (octave != null);              # cannot cope with Octave 4.x
   };
 
 }
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index 56d40f8183384..d8358757094df 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -38,6 +38,10 @@ stdenv.mkDerivation rec {
     "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include"
   ];
 
+  # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix)
+  # if DESTDIR is unset
+  DESTDIR="/";
+
   nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 extra-cmake-modules;
 
   cmakeFlags =
diff --git a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
index d3e1a6dc17e77..d450cd21aecda 100644
--- a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
+++ b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
@@ -1,35 +1,27 @@
 { lib, stdenv, fetchurl, unzip, tcl }:
 
 stdenv.mkDerivation {
-  name = "sqlite3_analyzer-3.8.10.1";
+  name = "sqlite3_analyzer-3.17.0";
 
   src = fetchurl {
-    url = "https://www.sqlite.org/2015/sqlite-src-3081001.zip";
-    sha1 = "6z7w8y69jxr0xwxbhs8z3zf56zfs5x7z";
+    url = "https://www.sqlite.org/2017/sqlite-src-3170000.zip";
+    sha256 = "1hs8nzk2pjr4fhhrwcyqwpa24gd4ndp6f0japykg5wfadgp4nxc6";
   };
 
-  buildInputs = [ unzip tcl ];
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ tcl ];
 
-  # A bug in the latest release of sqlite3 prevents bulding sqlite3_analyzer.
-  # Hopefully this work-around can be removed for future releases.
-  postConfigure = ''
-    substituteInPlace Makefile \
-      --replace '"#define SQLITE_ENABLE_DBSTAT_VTAB"' '"#define SQLITE_ENABLE_DBSTAT_VTAB 1"'
-  '';
-
-  buildPhase = ''
-    make sqlite3_analyzer
-  '';
+  makeFlags = [ "sqlite3_analyzer" ];
 
   installPhase = ''
-    mkdir -p "$out/bin"
-    mv sqlite3_analyzer "$out/bin"
+    install -Dm755 sqlite3_analyzer \
+      "$out/bin/sqlite3_analyzer"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.sqlite.org/;
     description = "A tool that shows statistics about sqlite databases";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ pesterhazy ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ pesterhazy ];
   };
 }
diff --git a/pkgs/development/libraries/unittest-cpp/default.nix b/pkgs/development/libraries/unittest-cpp/default.nix
index bc9035d479b58..cee71df4849a8 100644
--- a/pkgs/development/libraries/unittest-cpp/default.nix
+++ b/pkgs/development/libraries/unittest-cpp/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/unittest-cpp/unittest-cpp";
     description = "Lightweight unit testing framework for C++";
     license = licenses.mit;
-    maintainers = [maintainers.tohl];
+    maintainers = [];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index 9089889f4dd21..6b5c48a6105da 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -1,19 +1,35 @@
 { stdenv, fetchurl, cpptest, pkgconfig, doxygen, graphviz }:
 
 stdenv.mkDerivation rec {
-  name = "uriparser-0.8.2";
+  name = "uriparser-${version}";
+  version = "0.8.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/uriparser/Sources/0.8.2/${name}.tar.bz2";
-    sha256 = "13sh7slys3y5gfscc40g2r3hkjjywjvxlcqr77ifjrazc6q6cvkd";
+    url = "mirror://sourceforge/project/uriparser/Sources/${version}/${name}.tar.bz2";
+    sha256 = "08vvcmg4mcpi2gyrq043c9mfcy3mbrw6lhp86698hx392fjcsz6f";
   };
 
-  buildInputs = [ cpptest pkgconfig doxygen graphviz ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ cpptest doxygen graphviz ];
+
+  # There is actually no .map files to install in doc for v0.8.4
+  # (dot outputs only SVG and PNG in this release)
+  preBuild = ''
+    substituteInPlace doc/Makefile.am --replace " html/*.map" ""
+    substituteInPlace doc/Makefile.in --replace " html/*.map" ""
+  '';
+
 
   meta = with stdenv.lib; {
     homepage = http://uriparser.sourceforge.net/;
     description = "Strictly RFC 3986 compliant URI parsing library";
+    longDescription = ''
+      uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C.
+      API documentation is available on uriparser website.
+    '';
+    license = licenses.bsd3;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ bosu ];
-    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/ustr/default.nix b/pkgs/development/libraries/ustr/default.nix
index b0a4cc07bc63d..c15259c585adc 100644
--- a/pkgs/development/libraries/ustr/default.nix
+++ b/pkgs/development/libraries/ustr/default.nix
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
     sed -i 's,\(USTR_CONF_HAVE_STDINT_H\) 0,\1 1,g' ustr-import.in
   '';
 
-  buildTargets = [ "all-shared" ];
-
   preBuild = ''
     makeFlagsArray+=("prefix=$out")
     makeFlagsArray+=("LDCONFIG=echo")
diff --git a/pkgs/development/libraries/wxSVG/default.nix b/pkgs/development/libraries/wxSVG/default.nix
new file mode 100644
index 0000000000000..b991590924db3
--- /dev/null
+++ b/pkgs/development/libraries/wxSVG/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl
+, pkgconfig, wxGTK
+, ffmpeg, libexif
+, cairo, pango }:
+
+stdenv.mkDerivation rec {
+
+  name = "wxSVG-${version}";
+  srcName = "wxsvg-${version}";
+  version = "1.5.11";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/wxsvg/wxsvg/${version}/${srcName}.tar.bz2";
+    sha256 = "0m3ff8mjiq4hvy8rmxyc9fkpf24xwxhvr3a6jmvr2q5zc41xhz7x";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  propagatedBuildInputs = [ wxGTK ffmpeg libexif ];
+
+  buildInputs = [ cairo pango ];
+
+  meta = with stdenv.lib; {
+    description = "A SVG manipulation library built with wxWidgets";
+    longDescription = ''
+    wxSVG is C++ library to create, manipulate and render
+    Scalable Vector Graphics (SVG) files with the wxWidgets toolkit.
+    '';
+    homepage = http://wxsvg.sourceforge.net/;
+    license = with licenses; gpl2;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index 36b55c59c2455..e461ce858cfd4 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -1,23 +1,28 @@
 { stdenv, fetchurl, libuuid, zlib }:
 
-stdenv.mkDerivation rec {
-  name = "xapian-${version}";
-  version = "1.4.0";
+let
+  generic = version: sha256: stdenv.mkDerivation rec {
+    name = "xapian-${version}";
 
-  src = fetchurl {
-    url = "http://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz";
-    sha256 = "0xv4da5rmqqzkkkzx2v3jwh5hz5zxhd2b7m8x30fk99a25blyn0h";
-  };
+    src = fetchurl {
+      url = "http://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz";
+      inherit sha256;
+    };
 
-  outputs = [ "out" "doc" ];
+    outputs = [ "out" "doc" ];
 
-  buildInputs = [ libuuid zlib ];
+    buildInputs = [ libuuid zlib ];
 
-  meta = {
-    description = "Search engine library";
-    homepage = http://xapian.org/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.chaoflow ];
-    platforms = stdenv.lib.platforms.unix;
+    meta = {
+      description = "Search engine library";
+      homepage = http://xapian.org/;
+      license = stdenv.lib.licenses.gpl2Plus;
+      maintainers = [ stdenv.lib.maintainers.chaoflow ];
+      platforms = stdenv.lib.platforms.unix;
+    };
   };
+in {
+  # used by xapian-ruby
+  xapian_1_2_22 = generic "1.2.22" "0zsji22n0s7cdnbgj0kpil05a6bgm5cfv0mvx12d8ydg7z58g6r6";
+  xapian_1_4_0 = generic "1.4.0" "0xv4da5rmqqzkkkzx2v3jwh5hz5zxhd2b7m8x30fk99a25blyn0h";
 }
diff --git a/pkgs/development/libraries/zimlib/default.nix b/pkgs/development/libraries/zimlib/default.nix
index 77a7989baab4e..9b7a90266284a 100644
--- a/pkgs/development/libraries/zimlib/default.nix
+++ b/pkgs/development/libraries/zimlib/default.nix
@@ -1,22 +1,23 @@
-{ stdenv, fetchgit, automake, autoconf, libtool, lzma }:
+{ stdenv, fetchurl, lzma }:
 
-stdenv.mkDerivation {
-  name = "zimlib";
-  version = "20150710";
-  src = fetchgit {
-    url = https://gerrit.wikimedia.org/r/p/openzim.git;
-    rev = "165eab3e154c60b5b6436d653dc7c90f56cf7456";
-    sha256 = "076ixsq4lis0rkk7p049g02bidc7bggl9kf2wzmgmsnx396mqymf";
+stdenv.mkDerivation rec {
+  name = "zimlib-${version}";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "http://www.openzim.org/download/${name}.tar.gz";
+    sha256 = "14ra3iq42x53k1nqxb5lsg4gadlkpkgv6cbjjl6305ajmbrghcdq";
   };
-  buildInputs = [ automake autoconf libtool lzma ];
-  setSourceRoot = "cd openzim-*/zimlib; export sourceRoot=`pwd`";
-  preConfigure = "./autogen.sh";
 
-  meta = {
-    description = "Library for reading and writing ZIM files (file format for storing Web content offline)";
+  buildInputs = [ lzma ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Library for reading and writing ZIM files";
     homepage =  http://www.openzim.org/wiki/Zimlib;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ robbinch ];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ robbinch ];
+    platforms = platforms.linux;
   };
 }