From 142e0c9fac9896f8cb134fd1e1b010753402e7b8 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 2 Feb 2019 17:14:33 +0100 Subject: Make it works and add “galette” recipe --- nix/purescript.nix | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 nix/purescript.nix (limited to 'nix') diff --git a/nix/purescript.nix b/nix/purescript.nix new file mode 100644 index 0000000..5b757b4 --- /dev/null +++ b/nix/purescript.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchurl, makeWrapper, patchelf, gmpxx, ncurses5, zlib }: + +with stdenv; with lib; + +mkDerivation rec { + name = "purescript-binary-${version}"; + version = "0.12.0"; + platform = { + "x86_64-linux" = "linux64"; + }.${hostPlatform.system}; + src = fetchurl { + url = + "https://github.com/" + + "purescript/purescript/releases/download/" + + "v${version}/${platform}.tar.gz"; + sha256 = { + "x86_64-linux" = "1wf7n5y8qsa0s2p0nb5q81ck6ajfyp9ijr72bf6j6bhc6pcpgmyc"; + }.${hostPlatform.system}; + name = "purescript.tar.gz"; + }; + + buildInputs = [ makeWrapper ]; + unpackCmd = "tar -xzf $curSrc"; + + installPhase = '' + mkdir -p $out/bin $out/lib + cp purs $out/bin/ + runHook postInstall + ''; + + postInstall = let + libs = makeLibraryPath [ cc.cc gmpxx ncurses5 zlib ]; + in '' + interpreter="$(cat $NIX_CC/nix-support/dynamic-linker)" + ${patchelf}/bin/patchelf \ + --set-interpreter $interpreter \ + $out/bin/purs + wrapProgram $out/bin/purs \ + --prefix LD_LIBRARY_PATH : ${libs} + ''; + + meta = { + description = "A small strongly typed programming language with expressive + types that compiles to JavaScript, written in and inspired by Haskell."; + homepage = http://www.purescript.org/; + license = licenses.bsd3; + platforms = [ "x86_64-linux" ]; + }; +} -- cgit v1.2.3