Merge branch 'master' into staging-next

Hydra nixpkgs: ?compare=1523575
This commit is contained in:
Vladimír Čunát
2019-06-05 11:06:44 +02:00
234 changed files with 2709 additions and 1956 deletions

View File

@@ -173,16 +173,11 @@ stdenv.mkDerivation rec {
"USE_SYSTEM_ZLIB=1"
];
NIX_CFLAGS_COMPILE = [ "-fPIC" ];
LD_LIBRARY_PATH = makeLibraryPath [
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
openspecfun pcre2
];
dontStrip = true;
dontPatchELF = true;
enableParallelBuilding = true;
doCheck = !stdenv.isDarwin;

View File

@@ -1,8 +1,8 @@
import ./generic.nix {
major_version = "4";
minor_version = "08";
patch_version = "0+beta3";
sha256 = "02pk4bxrgqb12hvpbxyqnl4nwr4g2h96wsfzfd1k8vj8h0jmxzc4";
patch_version = "0+rc1";
sha256 = "014yincnkfg0j2jy0cn30l5hb1y4sf2qf1gy9ix9ghgn32iw5ndk";
# If the executable is stripped it does not work
dontStrip = true;

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, zlib, gmp, ncurses5, lib }:
{ stdenv, pkgs, fetchurl, zlib, gmp, ncurses5, lib }:
# from justinwoo/easy-purescript-nix
# https://github.com/justinwoo/easy-purescript-nix/blob/d383972c82620a712ead4033db14110497bc2c9c/purs.nix
@@ -18,19 +18,19 @@ let
in stdenv.mkDerivation rec {
pname = "purescript";
version = "0.12.5";
version = "0.13.0";
src =
if stdenv.isDarwin
then
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
sha256 = "15j9lkrl15dicx37bmh0199b3qdixig7w24wvdzi20jqbacz8nkn";
sha256 = "0xpisy38gj6fgyyzm6fdl0v819dhjmil4634xxangvhvs7jf5il0";
}
else
fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
sha256 = "07dva5gxq77g787krscv4dsz5088fzkvpmm9fwxw9a59jszzs7kq";
sha256 = "06g5q69yv6c3alq9vr8zjqqzamlii7xf6vj9j52akjq5lww214ba";
};
@@ -50,6 +50,11 @@ in stdenv.mkDerivation rec {
mkdir -p $out/etc/bash_completion.d/
$PURS --bash-completion-script $PURS > $out/etc/bash_completion.d/purs-completion.bash
'';
passthru.tests = {
minimal-module = pkgs.callPackage ./test-minimal-module {};
};
meta = with stdenv.lib; {
description = "A strongly-typed functional programming language that compiles to JavaScript";
homepage = http://www.purescript.org/;

View File

@@ -0,0 +1,8 @@
"use strict"
exports.log = function (s) {
return function () {
console.log(s);
return {};
};
};

View File

@@ -0,0 +1,9 @@
module Main where
foreign import data Effect :: Type -> Type
data Unit = Unit
foreign import log :: String -> Effect Unit
main :: Effect Unit
main = log "hello world"

View File

@@ -0,0 +1,11 @@
{ runCommand, purescript, nodejs }:
runCommand "purescript-test-minimal-module" {} ''
${purescript}/bin/purs compile -o ./output ${./.}/Main.purs
echo 'require("./output/Main/index.js").main()' > node.js
${nodejs}/bin/node node.js | grep "hello world" || echo "did not output hello world"
touch $out
''