mirror of
https://github.com/urbit/shrub.git
synced 2024-12-21 01:41:37 +03:00
ce3cbf0857
This also removes nixcrpkgs and OSX cross compilation in favour of compiling on the target. x86_64/musl targets are still supported on Linux. All sources are now managed via niv (see nix/sources.json) and Haskell package sets are provided/organised via IOHK's haskell.nix. Some effort has been made to expose similar top-level attributes for development, but in some cases there have been changes. Please see the comments in the top-level default.nix and ci.nix files for usage.
36 lines
693 B
Nix
36 lines
693 B
Nix
{ stdenv, sources }:
|
|
|
|
stdenv.mkDerivation {
|
|
pname = "libscrypt";
|
|
version = sources.libscrypt.rev;
|
|
src = sources.libscrypt;
|
|
|
|
buildPhase = ''
|
|
sources=" \
|
|
crypto_scrypt-check \
|
|
crypto_scrypt-hash \
|
|
crypto_scrypt-hexconvert \
|
|
crypto_scrypt-nosse \
|
|
crypto-mcf \
|
|
crypto-scrypt-saltgen \
|
|
slowequals \
|
|
sha256 \
|
|
b64 \
|
|
"
|
|
|
|
CFLAGS="-I$src -Wall -ffast-math -O3 -D_FORTIFY_SOURCE=2 -fstack-protector"
|
|
|
|
for s in $sources; do
|
|
$CC $CFLAGS -c $src/$s.c -o $s.o
|
|
done
|
|
|
|
$AR rcs libscrypt.a *.o
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/{lib,include}
|
|
cp libscrypt.a $out/lib
|
|
cp $src/*.h $out/include/
|
|
'';
|
|
}
|