aboutsummaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
authorGabor X Toth <*@tg-x.net>2016-10-17 15:46:51 +0000
committerGabor X Toth <*@tg-x.net>2016-10-17 15:46:51 +0000
commitac2ddf1b41bca8c031dd19a1750355722839a5bb (patch)
treefab2b200660761bfda8f8e943f19b26b979837a8 /default.nix
parent7ef7cbb7b12b1f78dd06c533d90f5c4a773df8f8 (diff)
downloadgnunet-ac2ddf1b41bca8c031dd19a1750355722839a5bb.tar.gz
gnunet-ac2ddf1b41bca8c031dd19a1750355722839a5bb.zip
gnunet-dev.nix
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix73
1 files 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
71 import pkgs {}; 71 import pkgs {};
72 stdenv = usepkgs.stdenvAdapters.keepDebugInfo usepkgs.stdenv; 72 stdenv = usepkgs.stdenvAdapters.keepDebugInfo usepkgs.stdenv;
73 73
74in with usepkgs; stdenv.mkDerivation rec { 74in {
75 src = ./.; 75 gnunet-dev = usepkgs.callPackage ./gnunet-dev.nix {
76 name = "gnunet-dev"; 76 inherit ccache_dir;
77
78 buildInputs = [
79 makeWrapper pkgconfig autoconf automake ccache
80 adns curl gettext gmp gnutls gss ncurses openldap zlib sqlite mariadb postgresql
81 libextractor libgcrypt libgnurl libidn libmicrohttpd
82 libpsl libtool libunistring libxml2
83 ];
84
85 patchPhase = ''
86 test -e Makefile && make distclean
87 '';
88
89 NIX_CFLAGS_COMPILE = "-ggdb -O0";
90
91 configureFlags = [
92 "--enable-gcc-hardening"
93 "--enable-linker-hardening"
94
95 "--enable-experimental"
96 "--enable-logging=verbose"
97 "--enable-poisoning"
98 ];
99
100 preConfigure = ''
101 ./bootstrap
102 configureFlags="$configureFlags --with-nssdir=$out/lib"
103
104 if [ -n "${ccache_dir}" ]; then
105 export CC='ccache gcc'
106 export CCACHE_COMPRESS=1
107 export CCACHE_DIR="${ccache_dir}"
108 export CCACHE_UMASK=007
109 fi
110 '';
111
112 doCheck = false;
113
114 postInstall = ''
115 # Tests can be run this way
116 #export GNUNET_PREFIX="$out"
117 #export PATH="$out/bin:$PATH"
118 #make -k check
119 '';
120
121 meta = with stdenv.lib; {
122 description = "GNU's decentralized anonymous and censorship-resistant P2P framework";
123
124 longDescription = ''
125 GNUnet is a framework for secure peer-to-peer networking that
126 does not use any centralized or otherwise trusted services. A
127 first service implemented on top of the networking layer
128 allows anonymous censorship-resistant file-sharing. Anonymity
129 is provided by making messages originating from a peer
130 indistinguishable from messages that the peer is routing. All
131 peers act as routers and use link-encrypted connections with
132 stable bandwidth utilization to communicate with each other.
133 GNUnet uses a simple, excess-based economic model to allocate
134 resources. Peers in GNUnet monitor each others behavior with
135 respect to resource usage; peers that contribute to the
136 network are rewarded with better service.
137 '';
138
139 homepage = http://gnunet.org/;
140
141 license = licenses.gpl3Plus;
142 platforms = platforms.gnu;
143 maintainers = with maintainers; [ ];
144 }; 77 };
145} 78}