Change:
Project description Codon is a high-performance Python compiler that compiles Python code to native machine code without any runtime overhead. Typical speedups over Python are on the order of 10-100x or more, on a single thread. Codon's performance is typically on par with (and sometimes better than) that of C/C++. Unlike Python, Codon supports native multithreading, which can lead to speedups many times higher still. Codon grew out of the . Metadata homepage URL: source URL: license: Business Source License 1.1 platforms: unix, linux, darwin
I didn't compile it properly, but if you want to run the official binaries on NixOS, this does the job:

Discussion:
<ins> From 5c158213fc3afe39ee96be84e255c12d5886ca18 Mon Sep 17 00:00:00 2001 From: Pavel Sobolev <paveloom@riseup.net> Date: Sat, 1 Apr 2023 17:38:37 +0300 Subject: [PATCH] Add a hash to the `googletest` binary. --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a06e6f..a614025 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -434,6 +434,7 @@ include(FetchContent) FetchContent_Declare( googletest URL https://github.com/google/googletest/archive/609281088cfefc76f9d0ce82e1ff6c30cc3591e5.zip +  URL_HASH SHA256=5cf189eb6847b4f8fc603a3ffff3b0771c08eec7dd4bd961bfd45477dd13eb73 ) # For Windows: Prevent overriding the parent project's compiler/linker settings set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -- 2.39.2 </ins>

<ins> { cacert , cmake , fetchFromGitHub , git , lib , lld , ninja , nix-update-script , perl , python3 , stdenv }: let version = "0.15.5"; src = fetchFromGitHub { owner = "exaloop"; repo = "codon"; rev = "v${version}"; sha256 = "sha256-/IUGX5iSRvZzwyRdkGe0IVHp44D+GXZtbkdtswekwSU="; }; depsDir = "deps"; codon-llvm = stdenv.mkDerivation { pname = "codon-llvm"; version = "unstable-2022-09-23"; src = fetchFromGitHub { owner = "exaloop"; repo = "llvm-project"; rev = "55b0b8fa1c9f9082b535628fc9fa6313280c0b9a"; sha256 = "sha256-03SPQgNdrpR6/JZ5aR/ntoh/FnZvCjT/6bTAcZaFafw="; }; nativeBuildInputs = [ cmake git lld ninja python3 ]; cmakeFlags = [ "-DCMAKE_CXX_COMPILER=clang++" "-DCMAKE_C_COMPILER=clang" "-DLLVM_ENABLE_RTTI=ON" "-DLLVM_ENABLE_TERMINFO=OFF" "-DLLVM_ENABLE_ZLIB=OFF" "-DLLVM_INCLUDE_TESTS=OFF" "-DLLVM_TARGETS_TO_BUILD=all" "-DLLVM_USE_LINKER=lld" "-S ../llvm" ]; }; codon-deps = stdenv.mkDerivation { name = "codon-deps-${version}.tar.gz"; inherit src; nativeBuildInputs = [ cacert cmake git perl python3 ]; dontBuild = true; cmakeFlags = [ "-DCPM_DOWNLOAD_ALL=ON" "-DCPM_SOURCE_CACHE=${depsDir}" "-DLLVM_DIR=${codon-llvm}/lib/cmake/llvm" ]; installPhase = '' # Prune the `.git` directories find ${depsDir} -name .git -type d -prune -exec rm -rf {} ;; # Build a reproducible tar, per instructions at https://reproducible-builds.org/docs/archives/ tar --owner=0 --group=0 --numeric-owner --format=gnu  --sort=name --mtime="@$SOURCE_DATE_EPOCH"  -czf $out  ${depsDir}  cmake  _deps/googletest-subbuild/googletest-populate-prefix/src/*.zip ''; outputHash = "sha256-a1zGSpbMjfQBrcgW/aiIdKX8+uI3p/S9pgZjHe2HtWs="; outputHashAlgo = "sha256"; }; in stdenv.mkDerivation { pname = "codon"; inherit src version; patches = [ # Without the hash, CMake will try to replace the `.zip` file ./Add-a-hash-to-the-googletest-binary.patch ]; nativeBuildInputs = [ cmake git lld ninja perl python3 ]; postUnpack = '' mkdir -p $sourceRoot/build tar -xf ${codon-deps} -C $sourceRoot/build ''; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_CXX_COMPILER=clang++" "-DCMAKE_C_COMPILER=clang" "-DCPM_SOURCE_CACHE=${depsDir}" "-DLLVM_DIR=${codon-llvm}/lib/cmake/llvm" "-DLLVM_USE_LINKER=lld" ]; passthru.updateScript = nix-update-script { }; meta = { description = "A high-performance, zero-overhead, extensible Python compiler using LLVM"; homepage = "https://docs.exaloop.io/codon"; maintainers = [ lib.maintainers.paveloom ]; license = lib.licenses.bsl11; platforms = lib.platforms.all; }; } </ins>

ciao = callPackage ../development/compilers/ciao { }; <ins> codon = callPackage ../development/compilers/codon { inherit (llvmPackages_latest) lld stdenv; }; </ins> colm = callPackage ../development/compilers/colm { }; colmap = libsForQt5.callPackage ../applications/science/misc/colmap { cudaSupport = config.cudaSupport or false; };