gnunet-dev.nix
authorGabor X Toth <*@tg-x.net>
Mon, 17 Oct 2016 15:46:51 +0000 (15:46 +0000)
committerGabor X Toth <*@tg-x.net>
Mon, 17 Oct 2016 15:46:51 +0000 (15:46 +0000)
default.nix

index ef3ed2c6d9e919e2eda58e11fc3c45f9a8d804a7..ffbcd4c4475a29180301e89d42fcc8bb38082c62 100644 (file)
@@ -71,75 +71,8 @@ let
                 import pkgs {};
   stdenv = usepkgs.stdenvAdapters.keepDebugInfo usepkgs.stdenv;
 
-in with usepkgs; stdenv.mkDerivation rec {
-  src = ./.;
-  name = "gnunet-dev";
-
-  buildInputs = [
-    makeWrapper pkgconfig autoconf automake ccache
-    adns curl gettext gmp gnutls gss ncurses openldap zlib sqlite mariadb postgresql
-    libextractor libgcrypt libgnurl libidn libmicrohttpd
-    libpsl libtool libunistring libxml2
-  ];
-
-  patchPhase = ''
-    test -e Makefile && make distclean
-  '';
-
-  NIX_CFLAGS_COMPILE = "-ggdb -O0";
-
-  configureFlags = [
-    "--enable-gcc-hardening"
-    "--enable-linker-hardening"
-
-    "--enable-experimental"
-    "--enable-logging=verbose"
-    "--enable-poisoning"
-  ];
-
-  preConfigure = ''
-    ./bootstrap
-    configureFlags="$configureFlags --with-nssdir=$out/lib"
-
-    if [ -n "${ccache_dir}" ]; then
-      export CC='ccache gcc'
-      export CCACHE_COMPRESS=1
-      export CCACHE_DIR="${ccache_dir}"
-      export CCACHE_UMASK=007
-    fi
-  '';
-
-  doCheck = false;
-
-  postInstall = ''
-    # Tests can be run this way
-    #export GNUNET_PREFIX="$out"
-    #export PATH="$out/bin:$PATH"
-    #make -k check
-  '';
-
-  meta = with stdenv.lib; {
-    description = "GNU's decentralized anonymous and censorship-resistant P2P framework";
-
-    longDescription = ''
-      GNUnet is a framework for secure peer-to-peer networking that
-      does not use any centralized or otherwise trusted services.  A
-      first service implemented on top of the networking layer
-      allows anonymous censorship-resistant file-sharing.  Anonymity
-      is provided by making messages originating from a peer
-      indistinguishable from messages that the peer is routing.  All
-      peers act as routers and use link-encrypted connections with
-      stable bandwidth utilization to communicate with each other.
-      GNUnet uses a simple, excess-based economic model to allocate
-      resources.  Peers in GNUnet monitor each others behavior with
-      respect to resource usage; peers that contribute to the
-      network are rewarded with better service.
-    '';
-
-    homepage = http://gnunet.org/;
-
-    license = licenses.gpl3Plus;
-    platforms = platforms.gnu;
-    maintainers = with maintainers; [ ];
+in {
+  gnunet-dev = usepkgs.callPackage ./gnunet-dev.nix {
+    inherit ccache_dir;
   };
 }