1{
2 llvmPackages,
3 lib,
4 fetchFromGitHub,
5 cmake,
6}:
7
8llvmPackages.stdenv.mkDerivation rec {
9 pname = "cone";
10 version = "unstable-2022-12-12";
11
12 src = fetchFromGitHub {
13 owner = "jondgoodwin";
14 repo = pname;
15 rev = "698bd6afc75777eabbc8ef576d64d683c6a1c5ab";
16 sha256 = "0y2s9xgkci8n72v6gnc1i7shr2y3g2sa8fbr25gpxa9ipiq9khg7";
17 };
18
19 nativeBuildInputs = [ cmake ];
20
21 buildInputs = [
22 llvmPackages.llvm
23 ];
24
25 # M68k is an experimental target, so not enabled by default
26 postPatch = ''
27 sed -i CMakeLists.txt \
28 -e '/M68k/d'
29 '';
30
31 installPhase = ''
32 install -Dm755 conec $out/bin/conec
33 install -Dm644 libconestd.a $out/lib/libconestd.a
34 '';
35
36 meta = with lib; {
37 description = "Cone Programming Language";
38 mainProgram = "conec";
39 homepage = "https://cone.jondgoodwin.com";
40 license = licenses.mit;
41 maintainers = with maintainers; [ ];
42 platforms = platforms.all;
43 };
44}