From dccc3f83b3390db80bab0853b295cbf81eb2b376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 4 Dec 2011 13:49:03 +0000 Subject: [PATCH] GNUnet 0.9.0. svn path=/nixpkgs/trunk/; revision=30725 --- .../p2p/gnunet/{0.9.nix => 0.8.nix} | 32 +++-- .../networking/p2p/gnunet/default.nix | 129 ++++++++---------- pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 79 insertions(+), 86 deletions(-) rename pkgs/applications/networking/p2p/gnunet/{0.9.nix => 0.8.nix} (76%) diff --git a/pkgs/applications/networking/p2p/gnunet/0.9.nix b/pkgs/applications/networking/p2p/gnunet/0.8.nix similarity index 76% rename from pkgs/applications/networking/p2p/gnunet/0.9.nix rename to pkgs/applications/networking/p2p/gnunet/0.8.nix index 221640930d70..586146bdd9dd 100644 --- a/pkgs/applications/networking/p2p/gnunet/0.9.nix +++ b/pkgs/applications/networking/p2p/gnunet/0.8.nix @@ -1,30 +1,25 @@ -{ stdenv, fetchsvn, libextractor, libmicrohttpd, libgcrypt -, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig +{ stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt +, zlib, gmp, curl, libtool, guile, adns, sqlite, pkgconfig , libxml2, ncurses, gettext, findutils -, autoconf, automake , gtkSupport ? false, gtk ? null, libglade ? null , makeWrapper }: assert gtkSupport -> (gtk != null) && (libglade != null); -let - rev = "17000"; - version = "0.9-svn-${rev}"; +let version = "0.8.1b"; in stdenv.mkDerivation { name = "gnunet-${version}"; - src = fetchsvn { - url = "https://gnunet.org/svn/gnunet"; - sha256 = "17nkvykg3xb5m1y86i9lahgsic9jpj6h0nr73ywzpxpp7ql45cm4"; - inherit rev; + src = fetchurl { + url = "mirror://gnu/gnunet/GNUnet-${version}.tar.gz"; + sha256 = "0k6nrsxz5s52z6hlahb7d3sj1z0gidm79n04pf9j2ngfylp4v1bw"; }; buildInputs = [ libextractor libmicrohttpd libgcrypt gmp curl libtool - zlib adns sqlite libxml2 ncurses + zlib guile adns sqlite libxml2 ncurses pkgconfig gettext findutils - autoconf automake makeWrapper ] ++ (if gtkSupport then [ gtk libglade ] else []); @@ -47,8 +42,19 @@ in echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..." substituteInPlace "$i" --replace "/tmp" "$TMPDIR" done + ''; - autoreconf -vfi + doCheck = false; + + # 1. Run tests have once GNUnet is installed. + # 2. Help programs find the numerous modules that sit under + # `$out/lib/GNUnet'. + + # FIXME: `src/transports/test_udp' hangs forever. + postInstall = '' + #GNUNET_PREFIX="$out" make check + wrapProgram "$out/bin/gnunetd" \ + --prefix LTDL_LIBRARY_PATH ":" "$out/lib/GNUnet" ''; meta = { diff --git a/pkgs/applications/networking/p2p/gnunet/default.nix b/pkgs/applications/networking/p2p/gnunet/default.nix index 586146bdd9dd..1219c1763549 100644 --- a/pkgs/applications/networking/p2p/gnunet/default.nix +++ b/pkgs/applications/networking/p2p/gnunet/default.nix @@ -1,85 +1,72 @@ { stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt -, zlib, gmp, curl, libtool, guile, adns, sqlite, pkgconfig -, libxml2, ncurses, gettext, findutils +, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig +, libxml2, ncurses, gettext , gtkSupport ? false, gtk ? null, libglade ? null , makeWrapper }: assert gtkSupport -> (gtk != null) && (libglade != null); -let version = "0.8.1b"; -in - stdenv.mkDerivation { - name = "gnunet-${version}"; +stdenv.mkDerivation rec { + name = "gnunet-0.9.0"; - src = fetchurl { - url = "mirror://gnu/gnunet/GNUnet-${version}.tar.gz"; - sha256 = "0k6nrsxz5s52z6hlahb7d3sj1z0gidm79n04pf9j2ngfylp4v1bw"; - }; + src = fetchurl { + url = "mirror://gnu/gnunet/${name}.tar.gz"; + sha256 = "1a0faq2j20dxhpdq0lpi8mjhddwmscbaa1bsxk460p5mj8n55i3p"; + }; - buildInputs = [ - libextractor libmicrohttpd libgcrypt gmp curl libtool - zlib guile adns sqlite libxml2 ncurses - pkgconfig gettext findutils - makeWrapper - ] ++ (if gtkSupport then [ gtk libglade ] else []); + buildInputs = [ + libextractor libmicrohttpd libgcrypt gmp curl libtool + zlib adns sqlite libxml2 ncurses + pkgconfig gettext makeWrapper + ] ++ (if gtkSupport then [ gtk libglade ] else []); - preConfigure = '' - # Brute force: since nix-worker chroots don't provide - # /etc/{resolv.conf,hosts}, replace all references to `localhost' - # by their IPv4 equivalent. - for i in $(find . \( -name \*.c -or -name \*.conf \) \ - -exec grep -l localhost {} \;) - do - echo "$i: substituting \`127.0.0.1' to \`localhost'..." - substituteInPlace "$i" --replace "localhost" "127.0.0.1" - done + preConfigure = '' + # Brute force: since nix-worker chroots don't provide + # /etc/{resolv.conf,hosts}, replace all references to `localhost' + # by their IPv4 equivalent. + for i in $(find . \( -name \*.c -or -name \*.conf \) \ + -exec grep -l '\' {} \;) + do + echo "$i: substituting \`127.0.0.1' to \`localhost'..." + sed -i "$i" -e's/\/127.0.0.1/g' + done - # Make sure the tests don't rely on `/tmp', for the sake of chroot - # builds. - for i in $(find . \( -iname \*test\*.c -or -name \*.conf \) \ - -exec grep -l /tmp {} \;) - do - echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..." - substituteInPlace "$i" --replace "/tmp" "$TMPDIR" - done + # Make sure the tests don't rely on `/tmp', for the sake of chroot + # builds. + for i in $(find . \( -iname \*test\*.c -or -name \*.conf \) \ + -exec grep -l /tmp {} \;) + do + echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..." + substituteInPlace "$i" --replace "/tmp" "$TMPDIR" + done + ''; + + # XXX: There are several test failures, forwarded to bug-gnunet@gnu.org. + doCheck = false; + + meta = { + description = "GNUnet, 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. ''; - doCheck = false; + homepage = http://gnunet.org/; - # 1. Run tests have once GNUnet is installed. - # 2. Help programs find the numerous modules that sit under - # `$out/lib/GNUnet'. + license = "GPLv2+"; - # FIXME: `src/transports/test_udp' hangs forever. - postInstall = '' - #GNUNET_PREFIX="$out" make check - wrapProgram "$out/bin/gnunetd" \ - --prefix LTDL_LIBRARY_PATH ":" "$out/lib/GNUnet" - ''; - - meta = { - description = "GNUnet, 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 = "GPLv2+"; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.gnu; - }; - } + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.gnu; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc291d23fdf9..612168b575a0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6773,13 +6773,13 @@ let inherit (gnome) GConf; }; - gnunet = callPackage ../applications/networking/p2p/gnunet { + gnunet08 = callPackage ../applications/networking/p2p/gnunet/0.8.nix { inherit (gnome) gtk libglade; guile = guile_1_8; gtkSupport = getConfig [ "gnunet" "gtkSupport" ] true; }; - gnunet09 = lowPrio (callPackage ../applications/networking/p2p/gnunet/0.9.nix { }); + gnunet = callPackage ../applications/networking/p2p/gnunet { }; gocr = callPackage ../applications/graphics/gocr { };