cairo-native 0.9.0-rc.5

A compiler to convert Cairo's IR Sierra code to MLIR and execute it.
import tempfile
import subprocess
import sys
import shutil
import os

if len(sys.argv) < 2:
    print("Expected Cairo branch or tag as first argument")
    sys.exit(1)
ref = sys.argv[1]

with tempfile.TemporaryDirectory() as root:
    subprocess.run(
        [
            "git",
            "clone",
            "https://github.com/starkware-libs/cairo",
            "--branch",
            ref,
            root,
        ],
        check=True,
        stdout=sys.stdout,
        stderr=sys.stderr,
    )

    shutil.rmtree("corelib", ignore_errors=True)
    shutil.copytree(
        os.path.join(root, "corelib"),
        "corelib",
    )
    shutil.rmtree("test_data/tests_starknet/bug_samples", ignore_errors=True)
    shutil.copytree(
        os.path.join(root, "tests/bug_samples"),
        "test_data/tests_starknet/bug_samples",
    )
    shutil.rmtree("test_data/tests_starknet/cairo_level_tests", ignore_errors=True)
    shutil.copytree(
        os.path.join(root, "crates/cairo-lang-starknet/cairo_level_tests"),
        "test_data/tests_starknet/cairo_level_tests",
    )