1{ stdenv
2, fetchFromGitHub
3, cmake
4, pkgconfig
5, libffi
6, llvm_35
7, doCheck ? false
8, perl
9}:
10
11let version = "20170519";
12
13in stdenv.mkDerivation {
14 name = "dale-${version}";
15
16 src = fetchFromGitHub {
17 owner = "tomhrr";
18 repo = "dale";
19 rev = "39e16d8e89fa070de65a673d4462e783d530f95a";
20 sha256 = "0dc5cjahv7lzlp92hidlh83rwgrpgb6xz2pnba2pm5xrv2pnsskl";
21 };
22
23 nativeBuildInputs = [ pkgconfig ];
24 buildInputs = [ cmake libffi llvm_35 ]
25 ++ stdenv.lib.optional doCheck perl;
26
27 patches = [ ./link-llvm.patch ];
28
29 inherit doCheck;
30
31 checkTarget = "tests";
32
33 enableParallelBuilding = true;
34
35 meta = with stdenv.lib; {
36 description = "Lisp-flavoured C";
37 longDescription = ''
38 Dale is a system (no GC) programming language that uses
39 S-expressions for syntax and supports syntactic macros.
40 '';
41 homepage = https://github.com/tomhrr/dale;
42 license = licenses.bsd3;
43 maintainers = with maintainers; [ amiloradovsky ];
44 platforms = with platforms; [ "i686-linux" "x86_64-linux" ];
45 # failed on Darwin: linker couldn't find the FFI lib
46 # failed on AArch64: because LLVM 3.5 is failed there
47 };
48}