nixpkgs-suyu/pkgs/development/libraries/libb2/default.nix
Tuomas Tynkkynen d45d243749 libbb2: Use "--enable-fat=yes" to avoid build nondeterminism
Otherwise it would pick various -march flags based on the CPU of the
compiling system, using beautiful code like this:

````
 63 AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1,
 64  [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>], [
 65      int op = $1, eax, ebx, ecx, edx;
 66      FILE *f;
 67       __asm__("cpuid"
 68         : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
 69         : "a" (op));
 70      f = fopen("conftest_cpuid", "w"); if (!f) return 1;
 71      fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
 72      fclose(f);
 73      return 0;
 74 ])],

...

121       AC_CACHE_CHECK([whether avx is supported], [ax_cv_have_avx_ext],
122       [
123         ax_cv_have_avx_ext=no
124         if test "$((0x$ecx>>28&0x01))" = 1; then
125           ax_cv_have_avx_ext=yes
126         fi
127       ])
````
2016-08-30 23:00:13 +03:00

20 lines
516 B
Nix

{stdenv, fetchurl}:
with stdenv; with lib;
mkDerivation rec {
name = "libb2-${meta.version}";
src = fetchurl {
url = "https://blake2.net/${name}.tar.gz";
sha256 = "7829c7309347650239c76af7f15d9391af2587b38f0a65c250104a2efef99051";
};
configureFlags = [ "--enable-fat=yes" ];
meta = {
version = "0.97";
description = "The BLAKE2 family of cryptographic hash functions";
platforms = platforms.all;
maintainers = with maintainers; [ dfoxfranke ];
license = licenses.cc0;
};
}