summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorLuca Bruno <lucabru@src.gnome.org>2014-08-14 23:09:59 +0200
committerLuca Bruno <lucabru@src.gnome.org>2014-08-14 23:09:59 +0200
commitb83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04 (patch)
tree845793c328feaa6a8c5ee54483b27b453da1c7cd /pkgs/tools
parentd1ed0f44cd154926e761cedee1cee72e55345807 (diff)
parentdfbc9ff78123f750e8c8782d10b2271a8062bc4a (diff)
downloadnixpkgs-b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04.tar
nixpkgs-b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04.tar.gz
nixpkgs-b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04.tar.bz2
nixpkgs-b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04.tar.lz
nixpkgs-b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04.tar.xz
nixpkgs-b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04.tar.zst
nixpkgs-b83aceaecb7e2d5150a1ba62b9c4bed50dd7fb04.zip
Merge branch 'master' into staging
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/backup/obnam/default.nix4
-rw-r--r--pkgs/tools/compression/kzipmix/default.nix25
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix27
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix36
-rw-r--r--pkgs/tools/graphics/pngout/default.nix33
-rw-r--r--pkgs/tools/misc/sutils/default.nix20
-rw-r--r--pkgs/tools/misc/xdo/default.nix22
-rw-r--r--pkgs/tools/misc/xtitle/default.nix23
-rw-r--r--pkgs/tools/networking/dhcp/default.nix22
-rw-r--r--pkgs/tools/networking/isync/default.nix6
-rw-r--r--pkgs/tools/security/muscleframework/default.nix3
-rw-r--r--pkgs/tools/security/muscletool/default.nix3
-rw-r--r--pkgs/tools/security/tboot/default.nix33
-rw-r--r--pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch50
-rw-r--r--pkgs/tools/security/tpm-quote-tools/default.nix22
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix26
-rw-r--r--pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch19
-rw-r--r--pkgs/tools/security/trousers/default.nix33
-rw-r--r--pkgs/tools/security/trousers/disable-install-rule.patch27
-rw-r--r--pkgs/tools/security/trousers/double-installed-man-page.patch32
-rw-r--r--pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix32
22 files changed, 465 insertions, 37 deletions
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 854801a3edd..bf71f9397cb 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "obnam-${version}";
-  version = "1.6.1";
+  version = "1.8";
 
   namePrefix = "";
 
   src = fetchurl rec {
     url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.gz";
-    sha256 = "0415njniqpy3xhvibpm82i9alrp2fw3lsnm15h7vqkkvgp8s5g39";
+    sha256 = "0190yz65hfdq69xws4h1izxz59by0b437d7z1l4cf5ixkv16j17p";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/compression/kzipmix/default.nix b/pkgs/tools/compression/kzipmix/default.nix
new file mode 100644
index 00000000000..bff8068db60
--- /dev/null
+++ b/pkgs/tools/compression/kzipmix/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "kzipmix-20091108";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/kzipmix-20091108-linux.tar.gz;
+    sha256 = "19gyn8pblffdz1bf3xkbpzx8a8wn3xb0v411pqzmz5g5l6pm5gph";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp kzip zipmix $out/bin
+    
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/kzip
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/zipmix
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of Zip archives";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 2d1a6472205..6b65d3df0d3 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,33 +1,20 @@
-{stdenv, fetchurl, libtiff, libpng, lcms, libxmi, boost, mesa, freeglut
-, pkgconfig, perl, glew }:
+{ stdenv, fetchurl
+, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra
+, pkgconfig, perl }:
 
 stdenv.mkDerivation rec {
-  name = "enblend-enfuse-4.0";
+  name = "enblend-enfuse-4.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/enblend/${name}.tar.gz";
-    sha256 = "1i2kq842zrncpadarhcikg447abmh5r7a5js3mzg553ql3148am1";
+    sha256 = "1b7r1nnwaind0344ckwggy0ghl0ipbk9jzylsxcjfl05rnasw00w";
   };
 
-  buildInputs = [ libtiff libpng lcms libxmi boost mesa freeglut glew ];
+  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
 
   nativeBuildInputs = [ perl pkgconfig ];
 
-  patches =
-    let
-      prefix = "http://enblend.hg.sourceforge.net/hgweb/enblend/enblend/raw-diff";
-    in map fetchurl [
-      {
-        url = "${prefix}/9d9b5f3a97cd/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "1nqhbbgphwi087qpazngg04c1whc1p4fwq19fx36jrir96xywgzg";
-      }
-      {
-        url = "${prefix}/101796703d73/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "14frqg4hab9ab6pdypkrmji43fmxjj918j7565rdwmifbm9i3005";
-      }
-    ];
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://enblend.sourceforge.net/;
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
new file mode 100644
index 00000000000..97fcd1addd0
--- /dev/null
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libjpeg, libpng12, xlibs, libX11, mesa, libdrm, python27 }:
+stdenv.mkDerivation rec {
+  name = "glmark2-${version}";
+  version = "2014.03";
+
+  src = fetchurl {
+    url = "https://launchpad.net/glmark2/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1dgn7ln115ivk13d1yagpj06lgllpv2jrr41kcnhdkhqz6m43vdx";
+  };
+
+  buildInputs = [
+    pkgconfig libjpeg libpng12 xlibs.libxcb libX11 mesa libdrm python27
+  ];
+
+  buildPhase = ''
+    python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2
+    python2 ./waf
+  '';
+
+  installPhase = ''
+    python2 ./waf install --destdir="$pkgdir/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL (ES) 2.0 benchmark";
+    homepage = https://launchpad.net/glmark2;
+    license = licenses.gpl3Plus;
+    longDescription = ''
+      glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only the subset of
+      the OpenGL 2.0 API that is compatible with OpenGL ES 2.0.
+    '';
+    platforms = platforms.linux;
+    maintainers = [ maintainers.wmertens ];
+  };
+}
+
diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix
new file mode 100644
index 00000000000..ff2a18c9fed
--- /dev/null
+++ b/pkgs/tools/graphics/pngout/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl}:
+
+let
+  folder = if stdenv.system == "i686-linux" then "i686"
+  else if stdenv.system == "x86_64-linux" then "x86_64"
+  else throw "Unsupported system: ${stdenv.system}";
+in
+stdenv.mkDerivation {
+  name = "pngout-20130221";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/pngout-20130221-linux.tar.gz;
+    sha256 = "1qdzmgx7si9zr7wjdj8fgf5dqmmqw4zg19ypg0pdz7521ns5xbvi";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${folder}/pngout $out/bin
+    
+    ${if stdenv.system == "i686-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/pngout
+      '' else if stdenv.system == "x86_64-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/pngout
+      '' else ""}
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of PNG images";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/misc/sutils/default.nix b/pkgs/tools/misc/sutils/default.nix
new file mode 100644
index 00000000000..6d2bee23813
--- /dev/null
+++ b/pkgs/tools/misc/sutils/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+   name = "sutils-0.1";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/sutils/archive/0.1.tar.gz";
+     sha256 = "0xqk42vl82chy458d64fj68a4md4bxaip8n3xw9skxz0a1sgvks8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Small command-line utilities.";
+     homepage = "https://github.com/baskerville/sutils";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
new file mode 100644
index 00000000000..9a059c9dbb5
--- /dev/null
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libxcb, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+   name = "xdo-0.3";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xdo/archive/0.3.tar.gz";
+     sha256 = "128flaydag9ixsai87p85r84arg2pn1j9h3zgdjwlmbcpb8d4ia8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   buildInputs = [ libxcb xcbutilwm ];
+
+   meta = {
+     description = "Small X utility to perform elementary actions on windows";
+     homepage = "https://github.com/baskerville/xdo";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
new file mode 100644
index 00000000000..ca8be4c08ea
--- /dev/null
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }:
+
+stdenv.mkDerivation rec {
+   name = "xtitle-0.2";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xtitle/archive/0.2.tar.gz";
+     sha256 = "1wyhfwbwqnq4rn6i789gydxlg25ylc37xjrkq758bp55sdgb8fk2";
+   };
+
+
+   buildInputs = [ libxcb git xcbutil xcbutilwm ];
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Outputs X window titles";
+     homepage = "https://github.com/baskerville/xtitle";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 2dac54577b8..07925ca110d 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
+{ stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
 
 stdenv.mkDerivation rec {
-  name = "dhcp-4.1-ESV-R6";
+  name = "dhcp-${version}";
+  version = "4.3.0";
   
   src = fetchurl {
-    url = http://ftp.isc.org/isc/dhcp/4.1-ESV-R6/dhcp-4.1-ESV-R6.tar.gz;
-    sha256 = "17md1vml07szl9dx4875gfg4sgnb3z73glpbq1si7p82mfhnddny";
+    url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz";
+    sha256 = "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7";
   };
 
   patches =
@@ -23,13 +24,15 @@ stdenv.mkDerivation rec {
   # Fixes "socket.c:591: error: invalid application of 'sizeof' to
   # incomplete type 'struct in6_pktinfo'".  See
   # http://www.mail-archive.com/blfs-book@linuxfromscratch.org/msg13013.html
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+  #
+  # Also adds the ability to run dhcpd as a non-root user / group
+  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE -DPARANOIA";
 
   # It would automatically add -Werror, which disables build in gcc 4.4
   # due to an uninitialized variable.
   CFLAGS = "-g -O2 -Wall";
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ perl makeWrapper ];
 
   postInstall =
     ''
@@ -42,11 +45,12 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
+      substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
       sed -i "includes/dhcpd.h" \
 	-"es|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Dynamic Host Configuration Protocol (DHCP) tools";
 
     longDescription = ''
@@ -57,6 +61,8 @@ stdenv.mkDerivation rec {
    '';
 
     homepage = http://www.isc.org/products/DHCP/;
-    license = "http://www.isc.org/sw/dhcp/dhcp-copyright.php";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index ed01ccacd79..2d3ffb2cb0a 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, openssl, pkgconfig, db }:
 
 stdenv.mkDerivation rec {
-  name = "isync-1.1.0";
+  name = "isync-1.1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${name}.tar.gz";
-    sha256 = "51f5618c239013fb770f98ae269f24ee417214efaaf7e22821b4a27cf9a9213c";
+    sha256 = "14blgxhpl78bpr1291zb7n3y9g8jpgmnpdnbl0vp2qplw76zv9f3";
   };
 
   buildInputs = [ openssl pkgconfig db ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Free IMAP and MailDir mailbox synchronizer";
     license = [ "GPLv2+" ];
 
-    maintainers = [ stdenv.lib.maintainers.viric ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny viric ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/muscleframework/default.nix b/pkgs/tools/security/muscleframework/default.nix
index e2a87119dd9..97b0617d396 100644
--- a/pkgs/tools/security/muscleframework/default.nix
+++ b/pkgs/tools/security/muscleframework/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://muscleplugins.alioth.debian.org/;
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/muscletool/default.nix b/pkgs/tools/security/muscletool/default.nix
index ac9ccc59205..cc369835f25 100644
--- a/pkgs/tools/security/muscletool/default.nix
+++ b/pkgs/tools/security/muscletool/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation {
     homepage = http://muscleapps.alioth.debian.org/;
     license = "BSD"; # http://anonscm.debian.org/viewvc/muscleapps/trunk/muscleTool/COPYING?view=markup
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix
new file mode 100644
index 00000000000..1c9967edc47
--- /dev/null
+++ b/pkgs/tools/security/tboot/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, trousers, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "tboot-1.8.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tboot/${name}.tar.gz";
+    sha256 = "1l9ccm7ik9fs7kzg1bjc5cjh0pcf4v0k1c84dmyr51r084i7p31m";
+  };
+
+  buildInputs = [ trousers openssl zlib ];
+
+  patches = [ ./tboot-add-well-known-secret-option-to-lcp_writepol.patch ];
+
+  configurePhase = ''
+    for a in lcptools utils tb_polgen; do
+      substituteInPlace $a/Makefile --replace /usr/sbin /sbin
+    done
+    substituteInPlace docs/Makefile --replace /usr/share /share
+  '';
+  installFlags = "DESTDIR=$(out)";
+
+  meta = with stdenv.lib; {
+    description = ''Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses
+                    Intel(R) Trusted Execution Technology (Intel(R) TXT) to perform a measured
+                    and verified launch of an OS kernel/VMM.'';
+    homepage    = http://sourceforge.net/projects/tboot/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
+
diff --git a/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
new file mode 100644
index 00000000000..a16ba9f4fba
--- /dev/null
+++ b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
@@ -0,0 +1,50 @@
+diff -urp tboot-1.8.0.orig/lcptools/writepol.c tboot-1.8.0/lcptools/writepol.c
+--- tboot-1.8.0.orig/lcptools/writepol.c	2014-01-30 10:34:57.000000000 +0100
++++ tboot-1.8.0/lcptools/writepol.c	2014-02-12 01:48:51.523581057 +0100
+@@ -40,6 +40,7 @@
+ #include <getopt.h>
+ #include <trousers/tss.h>
+ #include <trousers/trousers.h>
++#include <tss/tss_defines.h>
+ 
+ #define PRINT   printf
+ #include "../include/uuid.h"
+@@ -51,14 +52,15 @@ static uint32_t index_value = 0;
+ static char *file_arg=NULL;
+ static uint32_t fLeng;
+ static unsigned char *policy_data = NULL;
+-static char *password = NULL;
++static const char *password = NULL;
+ static uint32_t passwd_length = 0;
++static const char well_known_secret[] = TSS_WELL_KNOWN_SECRET;
+ static int help_input = 0;
+ static unsigned char empty_pol_data[] = {0};
+ 
+-static const char *short_option = "ehi:f:p:";
++static const char *short_option = "ehi:f:p:Z";
+ static const char *usage_string = "lcp_writepol -i index_value "
+-                                  "[-f policy_file] [-e] [-p passwd] [-h]";
++                                  "[-f policy_file] [-e] [-p passwd|-Z] [-h]";
+ 
+ static const char *option_strings[] = {
+     "-i index value: uint32/string.\n"
+@@ -67,6 +69,7 @@ static const char *option_strings[] = {
+     "\tINDEX_AUX:0x50000002 or \"aux\"\n",
+     "-f file_name: string. File name of the policy data is stored. \n",
+     "-p password: string. \n",
++    "-Z use well known secret as password. \n",
+     "-e write 0 length data to the index.\n"
+     "\tIt will be used for some special index.\n"
+     "\tFor example, the index with permission WRITEDEFINE.\n",
+@@ -119,6 +122,11 @@ parse_cmdline(int argc, const char * arg
+                 fLeng = 0;
+                 break;
+ 
++            case 'Z':
++                password = well_known_secret;
++                passwd_length = sizeof(well_known_secret);
++                break;
++
+             case 'h':
+                 help_input = 1;
+                 break;
diff --git a/pkgs/tools/security/tpm-quote-tools/default.nix b/pkgs/tools/security/tpm-quote-tools/default.nix
new file mode 100644
index 00000000000..c178d401154
--- /dev/null
+++ b/pkgs/tools/security/tpm-quote-tools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+stdenv.mkDerivation {
+  name = "tpm-quote-tools-1.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/tpmquotetools/1.0.2/tpm-quote-tools-1.0.2.tar.gz";
+    sha256 = "17bf9d1hiiaybx6rgl0sqcb0prjz6d2mv8fwp4bj1c0rsfw5dbk8";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''The TPM Quote Tools is a collection of programs that provide support
+                    for TPM based attestation using the TPM quote mechanism.  The manual
+                    page for tpm_quote_tools provides a usage overview.'';
+    homepage    = http://tpmquotetools.sourceforge.net/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
new file mode 100644
index 00000000000..95b3b6b51f7
--- /dev/null
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+let
+  version = "1.3.8";
+in
+stdenv.mkDerivation rec {
+  name = "tpm-tools-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/tpm-tools/${version}/${name}.tar.gz";
+    sha256 = "10za1gi89vi9m2lmm7jfzs281h55x1sbbm2bdgdh692ljpq4zsv6";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''tpm-tools is an open-source package designed to enable user and application
+                    enablement of Trusted Computing using a Trusted Platform Module (TPM),
+                    similar to a smart card environment.'';
+    homepage    = http://sourceforge.net/projects/trousers/files/tpm-tools/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
new file mode 100644
index 00000000000..774a14f72ba
--- /dev/null
+++ b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
@@ -0,0 +1,19 @@
+diff -ur trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c trousers-0.3.11.2/src/tcsd/tcsd_conf.c
+--- trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c	2013-07-12 18:27:37.000000000 +0200
++++ trousers-0.3.11.2/src/tcsd/tcsd_conf.c	2013-08-21 14:29:42.917231648 +0200
+@@ -763,6 +763,7 @@
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
+ 
++#ifndef ALLOW_NON_TSS_CONFIG_FILE
+ 	/* make sure user/group TSS owns the conf file */
+ 	if (pw->pw_uid != stat_buf.st_uid || grp->gr_gid != stat_buf.st_gid) {
+ 		LogError("TCSD config file (%s) must be user/group %s/%s", tcsd_config_file,
+@@ -775,6 +776,7 @@
+ 		LogError("TCSD config file (%s) must be mode 0600", tcsd_config_file);
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
++#endif
+ #endif /* SOLARIS */
+ 
+ 	if ((f = fopen(tcsd_config_file, "r")) == NULL) {
diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix
new file mode 100644
index 00000000000..4c2af359b96
--- /dev/null
+++ b/pkgs/tools/security/trousers/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, openssl }:
+
+let
+  ver_maj = "0.3.11";
+  ver_min = "2";
+in
+stdenv.mkDerivation rec {
+  name = "trousers-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/trousers/${ver_maj}/${name}.tar.gz";
+    sha256 = "1m9qi4452jr5yy4y9zyfi5ndwam5krq7ny8z2q3f91v1hcjgk5la";
+  };
+
+  buildInputs = [ openssl ];
+
+  patches = [ # ./double-installed-man-page.patch
+              ./disable-install-rule.patch
+              ./allow-non-tss-config-file-owner.patch
+            ];
+
+  NIX_CFLAGS_COMPILE = "-DALLOW_NON_TSS_CONFIG_FILE";
+  NIX_LDFLAGS = "-lgcc_s";
+
+  meta = with stdenv.lib; {
+    description = "TrouSerS is an CPL (Common Public License) licensed Trusted Computing Software Stack.";
+    homepage    = http://trousers.sourceforge.net/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/disable-install-rule.patch b/pkgs/tools/security/trousers/disable-install-rule.patch
new file mode 100644
index 00000000000..698beac9ffd
--- /dev/null
+++ b/pkgs/tools/security/trousers/disable-install-rule.patch
@@ -0,0 +1,27 @@
+--- trousers-0.3.11/dist/Makefile.in	2013-08-14 06:49:37.597558787 +0200
++++ trousers-0.3.11/dist/Makefile.in	2013-08-14 06:50:07.134510774 +0200
+@@ -363,16 +363,16 @@
+ 	uninstall uninstall-am uninstall-hook
+ 
+ install: install-exec-hook
+-	if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
+-	/bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
+-	/bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
++#	echo if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
++	echo /bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
++	echo /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
+ 
+ install-exec-hook:
+-	/usr/sbin/groupadd tss || true
+-	/usr/sbin/useradd -r tss -g tss || true
+-	/bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+-	/bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
+-	/bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
++	echo /usr/sbin/groupadd tss || true
++	echo /usr/sbin/useradd -r tss -g tss || true
++	echo /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
++	echo /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
++	echo /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
+ 
+ uninstall-hook:
+ 	/usr/sbin/userdel tss || true
diff --git a/pkgs/tools/security/trousers/double-installed-man-page.patch b/pkgs/tools/security/trousers/double-installed-man-page.patch
new file mode 100644
index 00000000000..6b40716120e
--- /dev/null
+++ b/pkgs/tools/security/trousers/double-installed-man-page.patch
@@ -0,0 +1,32 @@
+--- trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:57:47.018494495 +0200
++++ trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:58:10.353453471 +0200
+@@ -75,7 +75,6 @@
+ 	    Tspi_TPM_TakeOwnership.3 \
+ 	    Tspi_TPM_GetAuditDigest.3 \
+ 	    Tspi_TPM_OwnerGetSRKPubKey.3 \
+-	    Tspi_TPM_Quote.3 \
+ 	    Tspi_TPM_CMKSetRestrictions.3
+ if TSS_BUILD_DAA
+ man3_MANS += Tspi_DAA_IssueCredential.3 \
+--- trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:25.029490899 +0200
++++ trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:43.153457942 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
+--- trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:05.686414845 +0200
++++ trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:23.233381327 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index eeac7b7f63f..eb8db0a44a5 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, cmake, kdelibs, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kdiff3-0.9.97";
+  name = "kdiff3-0.9.98";
   src = fetchurl {
     url = "mirror://sourceforge/kdiff3/${name}.tar.gz";
-    sha256 = "0ajsnzfr0aqzdiv5wqssxsgfv87v4g5c2zl16264v0cw8jxiddz3";
+    sha256 = "0s6n1whkf5ck2r8782a9l8b736cj2p05and1vjjh7d02pax1lb40";
   };
 
   buildInputs = [ kdelibs ];
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
new file mode 100644
index 00000000000..e05e4d16a06
--- /dev/null
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -0,0 +1,32 @@
+{ fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "pdfgrep-${version}";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/pdfgrep/${version}/${name}.tar.gz";
+    sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437";
+  };
+
+  buildInputs = [ pkgconfig poppler poppler_data makeWrapper ];
+
+  patchPhase = ''
+    sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc
+    sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc
+  '';
+
+  # workarround since it can't be hardcoded in pdfgrep
+  preFixup = ''
+    wrapProgram "$out/bin/pdfgrep" \
+      --set POPPLER_DATADIR "${poppler_data}/share/poppler"
+  '';
+
+  meta = {
+    description = "a tool to search text in PDF files";
+    homepage = http://pdfgrep.sourceforge.net/;
+    license = "free";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}