Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
  orchestra configuration

This repository contains the orchestra configuration for


  • Install orchestra script
    pip3 cache remove orchestra
    pip3 install --user --force-reinstall
  • Make sure orc is in PATH
    export PATH="$HOME/.local/bin:$PATH"
  • Clone orchestra
    git clone
    cd orchestra
  • Initialize default configuration (and list components)
    orc components

Configuration for the public

The default configuration gives you read-only access to the open source components.

If you want to work a fork of certain components the suggested workflow is to add your remote to the repository as cloned by orchestra. For example, to fork the revng project do the following:

# Ensure the revng component is cloned
orchestra clone revng
cd sources/revng
git remote add myremote <your-remote-url>

Configuration for developers

If you have access to GitLab, in order to access private components, your configuration should be similar to the following:

#@overlay/match missing_ok=True
  - public: ""
  - private: ""

#@overlay/match missing_ok=True
  - origin: ""
  - private: ""

Installing from binary-archives

  • Update binary-archives and information about remote repositories:
    orc update
  • Install revng
    orc install revng

Building from source

In order to build from source certain components, as opposed to fetch them from binary-archives, you need to list them in .orchestra/config/user_options.yml:

  - revng
  • Install and test revng
    orc install --test revng
  • Manually build:
    orc shell revng
    ctest -j$(nproc)

Building from a fork

The recommended workflow is:

  • Clone the component you want to fork
    orc clone <component>
  • Add a remote to the component
    cd sources/<component>
    git remote add <myremotename> <remote-url>
    git fetch --all <myremotename>
  • Switch to your branch
    cd sources/<component>
    git switch <myremotename>/<branch>
    git checkout -b <branch> <myremotename>/<branch>
  • Update orchestra
    orc update

How do I...

  • Q: How do I set the number of parallel jobs for make/ninja?

    A: In .orchestra/config/user_options.yml:

    parallelism: 4
  • Q: How do I print the dependency graph to build a component?

    A: orc graph $COMPONENT | xdot -

  • Q: How do I uninstall a component?

    A: orc uninstall $COMPONENT

  • Q: Does orchestra leave files around my $HOME or elsewhere?

    A: No! By default orchestra places everything inside the folder containing the configuration

Writing components

See docs/

About configuration for orchestra. The starting point for any development.



No releases published


No packages published