channels:
    - ucb-bar
    - conda-forge
    - litex-hub
    - nodefaults

platforms:
    - linux-64

dependencies:
    # https://conda-forge.org/feedstock-outputs/
    #   filterable list of all conda-forge packages
    # https://conda-forge.org/#contribute
    #   instructions on adding a recipe
    # https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications
    #   documentation on package_spec syntax for constraining versions


    # handy tool for introspecting package relationships and file ownership
    # see https://github.com/rvalieris/conda-tree
    - conda-tree

    # bundle FireSim driver with deps into installer shell-script
    - constructor

    - gcc
    - gxx
    - sysroot_linux-64>=2.17 # needed to match pre-built CI XRT glibc version
    - conda-gcc-specs
    - binutils

    - dromajo # from ucb-bar channel - https://github.com/riscv-boom/dromajo
    - firtool==1.30.0 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock

    # misc
    - autoconf
    - pre-commit
    - readline
    - coreutils
    - jq
    - pip

    # firemarshal deps
    - qemu # from ucb-bar channel - https://github.com/ucb-bar/qemu-feedstock
    - rsync
    - psutil
    - doit>=0.34.0
    - gitpython
    - humanfriendly
    - ctags
    - bison
    - flex
    - expat
    - python>=3.9
    - bc
    - unzip
    - patch
    - which
    - sed
    - diffutils
    - bash
    - gzip
    - bzip2
    - perl
    - tar
    - file
    - wget
    - findutils
    - lzop

    - make
    - bash-completion
    - sbt
    - ca-certificates
    - mosh
    - gmp
    - mpfr
    - mpc
    - zlib
    - vim
    - git
    - openjdk
    - gengetopt
    - libffi
    - expat
    - libusb1
    - ncurses
    - cmake
    - graphviz
    - expect
    - dtc
    - verilator==5.008
    - screen
    - elfutils
    - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock
    - conda-lock=1

    # clang-format for driver coding style enforcement.
    - clang-format
    - clang-tools

    # hammer packages
    - sty
    - open_pdks.sky130a
    - pip:
        - hammer-vlsi[asap7]==1.1.1

    # doc requirements
    - sphinx
    - pygments
    - sphinx-autobuild
    - sphinx_rtd_theme
    - docutils

    # firesim python packages
    # While it is possible to install using pip after creating the
    # conda environment, pip's dependency resolution can conflict with
    # conda and create broken environments.  It's best to use the conda
    # packages so that the environment is consistent
    - colorama
    - argcomplete
    - python-graphviz
    - pyparsing
    - numpy
    - kiwisolver
    - matplotlib-base
    - pandas
    - awscli
    - pytest
    - pytest-dependency
    - pytest-mock
    - moto
    - mypy
    - s3fs==0.4.2
    - aiohttp
    - pip:
        - sure
        - pylddwrap

    # firesim ci shared packages
    - boto3
    - boto3-stubs
    - mypy-boto3-s3
    - mypy_boto3_ec2
    - botocore-stubs
    - pytz
    - types-pytz
    - pyyaml
    - types-pyyaml
    - requests
    - types-requests
    - azure-identity
    - fsspec
    - pip:
        - fab-classic>=1.19.2
