anchor.diff:      };
     };
   
  -  thumbor = (import ./thumbor { inherit pkgs newrelic-python statsd; }).thumbor;
  -
  -  #
  -  # haskell
  -  #
  -
  -  angel = pkgs.haskellPackages.callPackage ./angel {};
  -
  -  myrapi = pkgs.haskellPackages.callPackage ./myrapi { inherit servant servantClient; };
  +  #
  +  # haskell libraries
  +  #
  +
     servant = pkgs.haskellPackages.callPackage ./servant {};
     servantClient = pkgs.haskellPackages.callPackage ./servant-client { inherit servant servantServer; };
     servantServer = pkgs.haskellPackages.callPackage ./servant-server { inherit servant waiAppStatic; };
     waiAppStatic = pkgs.haskellPackages.callPackage ./wai-app-static {};
  +
  +  #
  +  # clojure/java libraries
  +  #
  +
  +  clj-json = fetchurl {
  +    url = https://clojars.org/repo/clj-json/clj-json/0.5.3/clj-json-0.5.3.jar;
  +    sha256 = "1rwmmsvyvpqadv94zxzgn07qj0nf5jh0nhd218mk94y23l5mksxs";
  +  };
  +
  +  elastisch = fetchurl {
  +    url = https://clojars.org/repo/clojurewerkz/elastisch/1.4.0/elastisch-1.4.0.jar;
  +    sha256 = "17nwcqh9wqvw0avi4lqgdma8qxfylif8ngv6sjdp84c8dn2i9rpf";
  +  };
  +
  +  jackson-core-asl = fetchurl {
  +    url = "http://search.maven.org/remotecontent?filepath=org/codehaus/jackson/jackson-core-asl/1.9.9/jackson-core-asl-1.9.9.jar";
  +    sha256 = "15wq8g2qhix93f2gq6006fwpi75diqkx6hkcbdfbv0vw5y7ibi2z";
  +  };
  +
  +  kiries = pkgs.fetchgit {
  +    url = https://github.com/threatgrid/kiries.git;
  +    rev = "dc9a6c76577f8dbfea6acdb6e43d9da13472a9a7";
  +    sha256 = "bf1b3a24e4c8e947c431e4a53d9a722383344e6c669eb5f86beb24539a25e880";
  +  };
  +
  +  #
  +  # php libraries
  +  #
  +
  +  imagick = fns.buildPecl {
  +    name = "imagick-3.1.2";
  +    sha256 = "14vclf2pqcgf3w8nzqbdw0b9v30q898344c84jdbw2sa62n6k1sj";
  +    buildInputs = [ pkgs.pkgconfig ];
  +    configureFlags = [
  +      "--with-imagick=${imagemagick}"
  +    ];
  +
  +    NIX_CFLAGS_COMPILE = "-I${imagemagick}/include/ImageMagick-6";
  +  };
   }
  
positive.code:       ${pkgs.perl}/bin/perl ${./memcached/damemtop} "$@"
    '';
  
    curl-loader = pkgs.callPackage ./curl-loader {};
  
    erlang = pkgs.callPackage ./erlang {};
  
  
negative.code:     pythonPackages perlPackages haskellPackages
      stdenv fetchurl;
    inherit (lib) overrideDerivation;
  
    fns = {
      # make a statically linked version of a haskell package
      staticHaskellCallPackage = path: { cabal ? pkgs.haskellPackages.cabal
                                       , ...
                                       }@args:
        pkgs.haskellPackages.callPackage path (args // {
          cabal = cabal.override {
            enableSharedExecutables = false;
            enableSharedLibraries = false;
          };
        });
  
      buildPecl = import <nixpkgs/pkgs/build-support/build-pecl.nix> {
        inherit (pkgs) php stdenv autoreconfHook fetchurl;
      };
    };
  
  in rec {
    inherit fns; # export functions as well
  
    angel = fns.staticHaskellCallPackage ./angel {};
  
    couchbase = pkgs.callPackage ./couchbase {};
  
    curl-loader = pkgs.callPackage ./curl-loader {};
  
    damemtop = pkgs.writeScriptBin "damemtop" ''
      #!${pkgs.bash}/bin/bash
  