about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2021-08-07 02:37:33 +0300
committerGitHub <noreply@github.com>2021-08-07 02:37:33 +0300
commitbd807ed5dec14377f87f63c3f467adf93f03de2e (patch)
treefda6d8aac107e2b260c78e09a04f20c3ed9f07ee
parent8072e71d8ef92e32ee6ce820847fb2b63e2aa237 (diff)
parentfe6caae93df3e26a623cc36d547269ed1626a887 (diff)
Merge pull request #131708 from luc65r/pkg/cxc
c3c: init at unstable-2021-07-30
-rw-r--r--pkgs/development/compilers/c3c/default.nix47
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/development/compilers/c3c/default.nix b/pkgs/development/compilers/c3c/default.nix
new file mode 100644
index 0000000000000..2fa280fc898ca
--- /dev/null
+++ b/pkgs/development/compilers/c3c/default.nix
@@ -0,0 +1,47 @@
+{ llvmPackages
+, lib
+, fetchFromGitHub
+, cmake
+, python3
+}:
+
+llvmPackages.stdenv.mkDerivation rec {
+  pname = "c3c";
+  version = "unstable-2021-07-30";
+
+  src = fetchFromGitHub {
+    owner = "c3lang";
+    repo = pname;
+    rev = "2246b641b16e581aec9059c8358858e10a548d94";
+    sha256 = "VdMKdQsedDQCnsmTxO4HnBj5GH/EThspnotvrAscSqE=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    llvmPackages.llvm
+    llvmPackages.lld
+  ];
+
+  checkInputs = [ python3 ];
+
+  doCheck = true;
+
+  checkPhase = ''
+    ( cd ../resources/testproject; ../../build/c3c build )
+    ( cd ../test; python src/tester.py ../build/c3c test_suite )
+  '';
+
+  installPhase = ''
+    install -Dm755 c3c $out/bin/c3c
+    cp -r lib $out
+  '';
+
+  meta = with lib; {
+    description = "Compiler for the C3 language";
+    homepage = "https://github.com/c3lang/c3c";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 204f3c8b6ef4e..ce4ac523d3a75 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14476,6 +14476,10 @@ in
 
   c2ffi = callPackage ../development/tools/misc/c2ffi { };
 
+  c3c = callPackage ../development/compilers/c3c {
+    llvmPackages = llvmPackages_11;
+  };
+
   swfmill = callPackage ../tools/video/swfmill { };
 
   swftools = callPackage ../tools/video/swftools {