anchor.diff:      maintainers = [
         stdenv.lib.maintainers.raskin
       ];
  -    platforms = with stdenv.lib.platforms; 
  +    platforms = with stdenv.lib.platforms;
         linux ++ freebsd;
     };
   }
  
positive.code:  autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite
   , liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which
  }:
  let 
    s =
    rec {
      baseName="glusterfs";
      version = "3.10.1";
      name="${baseName}-${version}";
      url="http://download.gluster.org/pub/gluster/glusterfs/3.10/${version}/glusterfs-${version}.tar.gz";
      sha256 = "05qmn85lg3d1gz0fhn1v2z7nwl2qwbflvjc8nvkfyr4r57rkvhnk";
    };
    buildInputs = [
      fuse bison flex_2_5_35 openssl python2 ncurses readline
  
negative.code:   inherit (s) name version;
    inherit buildInputs propagatedBuildInputs;
  
     # Note that the VERSION file is something that is present in release tarballs
     # but not in git tags (at least not as of writing in v3.10.1).
     # That's why we have to create it.
     # Without this, gluster (at least 3.10.1) will fail very late and cryptically,
     # for example when setting up geo-replication, with a message like
     #   Staging of operation 'Volume Geo-replication Create' failed on localhost : Unable to fetch master volume details. Please check the master cluster and master volume.
     # What happens here is that the gverify.sh script tries to compare the versions,
     # but fails when the version is empty.
     # See upstream GlusterFS bug https://bugzilla.redhat.com/show_bug.cgi?id=1452705
     preConfigure = ''
       echo "v${s.version}" > VERSION
      ./autogen.sh
      '';
  
  