From ac2ddf1b41bca8c031dd19a1750355722839a5bb Mon Sep 17 00:00:00 2001 From: Gabor X Toth <*@tg-x.net> Date: Mon, 17 Oct 2016 15:46:51 +0000 Subject: [PATCH] gnunet-dev.nix --- default.nix | 73 +++-------------------------------------------------- 1 file changed, 3 insertions(+), 70 deletions(-) diff --git a/default.nix b/default.nix index ef3ed2c6d..ffbcd4c44 100644 --- a/default.nix +++ b/default.nix @@ -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; }; } -- 2.25.1