diff --git a/pkgs/development/compilers/c3c/default.nix b/pkgs/development/compilers/c3c/default.nix new file mode 100644 index 000000000000..2fa280fc898c --- /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 107722e6e102..a197e9e57763 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14337,6 +14337,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 {