diff --git a/.github/actions/create-conda-env/action.yml b/.github/actions/create-conda-env/action.yml
index e29a06e9..b9fd6066 100644
--- a/.github/actions/create-conda-env/action.yml
+++ b/.github/actions/create-conda-env/action.yml
@@ -11,7 +11,6 @@ runs:
echo "Creating a conda environment for each toolchain with the toolchain installed"
conda activate base
conda-lock install --conda $(which conda) -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools ./conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
- conda-lock install --conda $(which conda) -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools ./conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml
conda deactivate
echo "Add extra toolchain collateral + CIRCT to RISC-V install area"
@@ -25,14 +24,5 @@ runs:
-x ./conda-reqs/circt.json \
-g ${{ github.token }}
conda deactivate
- conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools
- ./scripts/build-toolchain-extra.sh esp-tools -p $CONDA_PREFIX/esp-tools
- ./tools/install-circt/bin/download-release-or-nightly-circt.sh \
- -f circt-full-shared-linux-x64.tar.gz \
- -i $CONDA_PREFIX \
- -v version-file \
- -x ./conda-reqs/circt.json \
- -g ${{ github.token }}
- conda deactivate
fi
shell: bash -leo pipefail {0}
diff --git a/.github/actions/run-tests/action.yml b/.github/actions/run-tests/action.yml
index 1c554ac4..1dd0ce89 100644
--- a/.github/actions/run-tests/action.yml
+++ b/.github/actions/run-tests/action.yml
@@ -23,7 +23,7 @@ runs:
- name: Init submodules (since only the RTL is cached)
run: |
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
- ./scripts/init-submodules-no-riscv-tools.sh --force
+ ./scripts/init-submodules-no-riscv-tools.sh
shell: bash -leo pipefail {0}
# Note: You shouldn't need the other inputs since it shouldn't build RTL from scratch
diff --git a/.github/scripts/check-commit.sh b/.github/scripts/check-commit.sh
index d3b856c8..a4a95611 100755
--- a/.github/scripts/check-commit.sh
+++ b/.github/scripts/check-commit.sh
@@ -45,7 +45,7 @@ search () {
done
}
-submodules=("cva6" "boom" "ibex" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "sifive-blocks" "sifive-cache" "testchipip" "riscv-sodor" "mempress" "bar-fetchers" "shuttle" "constellation" "fft-generator" "hardfloat" "caliptra-aes-acc" "rocc-acc-utils")
+submodules=("cva6" "boom" "ibex" "gemmini" "hwacha" "icenet" "nvdla" "rocket-chip" "sha3" "rocket-chip-blocks" "rocket-chip-inclusive-cache" "testchipip" "riscv-sodor" "mempress" "bar-fetchers" "shuttle" "constellation" "fft-generator" "hardfloat" "caliptra-aes-acc" "rocc-acc-utils")
dir="generators"
branches=("master" "main" "dev")
search
diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh
index d4eb7b56..7384916b 100755
--- a/.github/scripts/defaults.sh
+++ b/.github/scripts/defaults.sh
@@ -29,11 +29,11 @@ REMOTE_COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache
# key value store to get the build groups
declare -A grouping
grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone chipyard-prefetchers chipyard-shuttle"
-grouping["group-peripherals"]="chipyard-dmirocket chipyard-dmiboom chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals chipyard-chiplike chipyard-tethered"
+grouping["group-peripherals"]="chipyard-dmirocket chipyard-dmiboom chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals chipyard-chiplike chipyard-tethered chipyard-symmetric chipyard-llcchiplet"
grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels chipyard-nvdla chipyard-aes256ecb"
grouping["group-constellation"]="chipyard-constellation"
grouping["group-tracegen"]="tracegen tracegen-boom"
-grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar"
+grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar chipyard-clusters"
grouping["group-fpga"]="arty35t arty100t nexysvideo vc707 vcu118"
# key value store to get the build strings
@@ -58,6 +58,8 @@ mapping["chipyard-spiflashwrite"]=" CONFIG=SmallSPIFlashRocketConfig EXTRA_SIM_F
mapping["chipyard-manyperipherals"]=" CONFIG=ManyPeripheralsRocketConfig EXTRA_SIM_FLAGS='+spiflash0=${LOCAL_CHIPYARD_DIR}/tests/spiflash.img'"
mapping["chipyard-chiplike"]=" CONFIG=ChipLikeRocketConfig MODEL=FlatTestHarness MODEL_PACKAGE=chipyard.example verilog"
mapping["chipyard-tethered"]=" CONFIG=VerilatorCITetheredChipLikeRocketConfig"
+mapping["chipyard-symmetric"]=" CONFIG=MultiSimSymmetricChipletRocketConfig"
+mapping["chipyard-llcchiplet"]=" CONFIG=MultiSimLLCChipletRocketConfig"
mapping["chipyard-cloneboom"]=" CONFIG=Cloned64MegaBoomConfig verilog"
mapping["chipyard-nocores"]=" CONFIG=NoCoresConfig verilog"
mapping["tracegen"]=" CONFIG=NonBlockingTraceGenL2Config"
@@ -67,6 +69,7 @@ mapping["chipyard-shuttle"]=" CONFIG=ShuttleConfig"
mapping["chipyard-multiclock-rocket"]=" CONFIG=MulticlockRocketConfig"
mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig"
mapping["chipyard-constellation"]=" CONFIG=SharedNoCConfig"
+mapping["chipyard-clusters"]=" CONFIG=ClusteredRocketConfig verilog"
mapping["chipyard-aes256ecb"]=" CONFIG=AES256ECBRocketConfig"
mapping["constellation"]=" SUB_PROJECT=constellation"
diff --git a/.github/scripts/remote-do-rtl-build.sh b/.github/scripts/remote-do-rtl-build.sh
index 06b47ba2..9cbc8531 100755
--- a/.github/scripts/remote-do-rtl-build.sh
+++ b/.github/scripts/remote-do-rtl-build.sh
@@ -15,7 +15,7 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
source $SCRIPT_DIR/defaults.sh
cd $REMOTE_CHIPYARD_DIR
-./scripts/init-submodules-no-riscv-tools.sh --force
+./scripts/init-submodules-no-riscv-tools.sh
# Constellation can run without espresso, but this improves
# elaboration time drastically
diff --git a/.github/scripts/remote-run-firesim-scala-tests.sh b/.github/scripts/remote-run-firesim-scala-tests.sh
index 080f6d8c..5d9a970d 100755
--- a/.github/scripts/remote-run-firesim-scala-tests.sh
+++ b/.github/scripts/remote-run-firesim-scala-tests.sh
@@ -11,7 +11,7 @@ SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
source $SCRIPT_DIR/defaults.sh
cd $REMOTE_CHIPYARD_DIR
-./scripts/init-submodules-no-riscv-tools.sh --force
+./scripts/init-submodules-no-riscv-tools.sh
# Run Firesim Scala Tests
export FIRESIM_ENV_SOURCED=1
diff --git a/.github/scripts/run-tests.sh b/.github/scripts/run-tests.sh
index ce272737..c3dbd862 100755
--- a/.github/scripts/run-tests.sh
+++ b/.github/scripts/run-tests.sh
@@ -118,6 +118,14 @@ case $1 in
make -C $LOCAL_CHIPYARD_DIR/tests
run_binary BINARY=$LOCAL_CHIPYARD_DIR/tests/hello.riscv LOADMEM=1 EXTRA_SIM_FLAGS="+cflush_addr=0x2010200"
;;
+ chipyard-symmetric)
+ make -C $LOCAL_CHIPYARD_DIR/tests
+ run_binary BINARY=$LOCAL_CHIPYARD_DIR/tests/symmetric.riscv LOADMEM=1
+ ;;
+ chipyard-llcchiplet)
+ make -C $LOCAL_CHIPYARD_DIR/tests
+ run_binary BINARY=$LOCAL_CHIPYARD_DIR/tests/hello.riscv LOADMEM=1
+ ;;
tracegen)
run_tracegen
;;
diff --git a/.github/workflows/chipyard-full-flow.yml b/.github/workflows/chipyard-full-flow.yml
index 3d4a9866..95463928 100644
--- a/.github/workflows/chipyard-full-flow.yml
+++ b/.github/workflows/chipyard-full-flow.yml
@@ -83,7 +83,7 @@ jobs:
eval "$(conda shell.bash hook)"
mkdir ${{ env.JAVA_TMP_DIR }}
export MAKEFLAGS="-j32"
- ./build-setup.sh -f -v
+ ./build-setup.sh -v
run-cfg-finder:
name: run-cfg-finder
diff --git a/.github/workflows/chipyard-run-tests.yml b/.github/workflows/chipyard-run-tests.yml
index 1c0f10d8..750f5bc3 100644
--- a/.github/workflows/chipyard-run-tests.yml
+++ b/.github/workflows/chipyard-run-tests.yml
@@ -377,7 +377,7 @@ jobs:
- name: Build Gemmini FireMarshal
run: |
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
- cd ${{ github.workspace }} && ./scripts/init-submodules-no-riscv-tools.sh --force
+ cd ${{ github.workspace }} && ./scripts/init-submodules-no-riscv-tools.sh
cd ${{ github.workspace }} && source ./scripts/fix-open-files.sh
git submodule update --init software/firemarshal && cd software/firemarshal && ./init-submodules.sh
cd ${{ github.workspace }}/generators/gemmini/software && ${{ github.workspace }}/software/firemarshal/marshal -v -d build gemmini-smoke.json
@@ -708,6 +708,52 @@ jobs:
group-key: "group-peripherals"
project-key: "chipyard-tethered"
+ chipyard-symmetric-run-tests:
+ name: chipyard-symmetric-run-tests
+ needs: prepare-chipyard-peripherals
+ runs-on: as4
+ steps:
+ - name: Delete old checkout
+ run: |
+ ls -alh .
+ rm -rf ${{ github.workspace }}/* || true
+ rm -rf ${{ github.workspace }}/.* || true
+ ls -alh .
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Git workaround
+ uses: ./.github/actions/git-workaround
+ - name: Create conda env
+ uses: ./.github/actions/create-conda-env
+ - name: Run tests
+ uses: ./.github/actions/run-tests
+ with:
+ group-key: "group-peripherals"
+ project-key: "chipyard-symmetric"
+
+ chipyard-llcchiplet-run-tests:
+ name: chipyard-llcchiplet-run-tests
+ needs: prepare-chipyard-peripherals
+ runs-on: as4
+ steps:
+ - name: Delete old checkout
+ run: |
+ ls -alh .
+ rm -rf ${{ github.workspace }}/* || true
+ rm -rf ${{ github.workspace }}/.* || true
+ ls -alh .
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Git workaround
+ uses: ./.github/actions/git-workaround
+ - name: Create conda env
+ uses: ./.github/actions/create-conda-env
+ - name: Run tests
+ uses: ./.github/actions/run-tests
+ with:
+ group-key: "group-peripherals"
+ project-key: "chipyard-llcchiplet"
+
chipyard-sha3-run-tests:
name: chipyard-sha3-run-tests
needs: prepare-chipyard-accels
@@ -1071,6 +1117,8 @@ jobs:
chipyard-spiflashwrite-run-tests,
chipyard-manyperipherals-run-tests,
chipyard-tethered-run-tests,
+ chipyard-symmetric-run-tests,
+ chipyard-llcchiplet-run-tests,
chipyard-sha3-run-tests,
chipyard-gemmini-run-tests,
chipyard-manymmioaccels-run-tests, # chipyard-nvdla-run-tests,
diff --git a/.github/workflows/update-circt.yml b/.github/workflows/update-circt.yml
index 2d52a155..f0c3158b 100644
--- a/.github/workflows/update-circt.yml
+++ b/.github/workflows/update-circt.yml
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update CIRCT
- uses: circt/update-circt@v1.0.0
+ uses: circt/update-circt@v1
with:
user: 'bartender'
email: 'firesimchipyard@gmail.com'
diff --git a/.gitmodules b/.gitmodules
index e1768873..3aacc69d 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,10 +1,10 @@
-[submodule "rocket-chip"]
+[submodule "generators/rocket-chip"]
path = generators/rocket-chip
url = https://github.com/chipsalliance/rocket-chip.git
-[submodule "testchipip"]
+[submodule "generators/testchipip"]
path = generators/testchipip
url = https://github.com/ucb-bar/testchipip.git
-[submodule "barstools"]
+[submodule "tools/barstools"]
path = tools/barstools
url = https://github.com/ucb-bar/barstools.git
[submodule "tools/torture"]
@@ -13,9 +13,6 @@
[submodule "generators/boom"]
path = generators/boom
url = https://github.com/riscv-boom/riscv-boom.git
-[submodule "generators/sifive-blocks"]
- path = generators/sifive-blocks
- url = https://github.com/chipsalliance/rocket-chip-blocks.git
[submodule "generators/hwacha"]
path = generators/hwacha
url = https://github.com/ucb-bar/hwacha.git
@@ -25,9 +22,6 @@
[submodule "generators/icenet"]
path = generators/icenet
url = https://github.com/firesim/icenet.git
-[submodule "generators/block-inclusivecache-sifive"]
- path = generators/sifive-cache
- url = https://github.com/chipsalliance/rocket-chip-inclusive-cache.git
[submodule "tools/dsptools"]
path = tools/dsptools
url = https://github.com/ucb-bar/dsptools.git
@@ -64,6 +58,9 @@
[submodule "software/nvdla-workload"]
path = software/nvdla-workload
url = https://github.com/ucb-bar/nvdla-workload.git
+[submodule "software/baremetal-ide"]
+ path = software/baremetal-ide
+ url = https://github.com/ucb-bar/Baremetal-IDE.git
[submodule "generators/riscv-sodor"]
path = generators/riscv-sodor
url = https://github.com/ucb-bar/riscv-sodor.git
@@ -145,3 +142,12 @@
[submodule "toolchains/riscv-tools/riscv-spike-devices"]
path = toolchains/riscv-tools/riscv-spike-devices
url = https://github.com/ucb-bar/spike-devices.git
+[submodule "generators/rocket-chip-blocks"]
+ path = generators/rocket-chip-blocks
+ url = https://github.com/chipsalliance/rocket-chip-blocks.git
+[submodule "generators/rocket-chip-inclusive-cache"]
+ path = generators/rocket-chip-inclusive-cache
+ url = https://github.com/chipsalliance/rocket-chip-inclusive-cache.git
+[submodule "tools/circt"]
+ path = tools/circt
+ url = https://github.com/llvm/circt.git
diff --git a/.readthedocs.yml b/.readthedocs.yml
index b5b883b5..3fba50e3 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -9,4 +9,4 @@ sphinx:
configuration: docs/conf.py
conda:
- environment: conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
+ environment: conda-reqs/docs.yaml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 233ddbce..ddf3b7a8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,101 @@
This changelog follows the format defined here: https://keepachangelog.com/en/1.0.0/
+## [1.11.0] - 2024-1-22
+
+Adds Ubuntu support for firemarshal, multi-chiptop configuration for chiplets, caliptra accelerator, spike-cosim.
+
+## Added
+- Provide example of tethered-config simulation with MultiHarnessBinders (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1484)
+- Add release note automation (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1548)
+- Improve peripheral config binders (Reapply #1511) (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1527)
+- UPF Generation (by @sriramsridhar23 in https://github.com/ucb-bar/chipyard/pull/1347)
+- Improve: SiFive peripheral device doumentation (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1578)
+- Bump to latest rocket-chip | integrated fixed-point | pull in stage/phase (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1577)
+- Enable precommit | Format files (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1585)
+- KLayout section of Sky130+OpenROAD tutorial (by @nayiri-k in https://github.com/ucb-bar/chipyard/pull/1514)
+- Added useful "Build script exited at step X" errors for each step in build-setup.sh (by @JL102 in https://github.com/ucb-bar/chipyard/pull/1614)
+- Adds support for Digilent Nexys Video FPGA board. (by @milovanovic in https://github.com/ucb-bar/chipyard/pull/1616)
+- Add NarrowRocketCache config fragment (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1603)
+- Add Caliptra AES256 ECB engine as RoCC accelerator (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1642)
+- Support using HarnessBinders without IOBinders (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1636)
+- Add Bringup on Arty100T config, using PMOD-gpio for ser-tl (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1657)
+- Install uart_tsi utility as part of build-toolchain-extra (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1670)
+- Add spike devices (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1692)
+- Bump testchipip to support multi-serial-tl (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1630)
+- ADD: bump fpga-shell (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1703)
+- Add UART device/JTAG to Arty100T default design (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1712)
+- Add generators/ submodule status check to all Make targets (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1718)
+- Add clearer --skip flags to build-setup (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1724)
+- Add Baremetal IDE support (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1534)
+- ADD: add information on Baremetal-IDE in docs (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1730)
+- Support clustered-cores (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1629)
+- Add debug clock tap port to all default designs (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1697)
+- Add support for symmetric serial-tilelink (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1716)
+- Add Chip ID Pin and Port (by @schwarz-em in https://github.com/ucb-bar/chipyard/pull/1721)
+- FastSimRocketConfig with no TLMonitors (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1752)
+- Use lean conda for faster initial setup (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1750)
+- Add BroadcastCoherence rocket config (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1755)
+
+## Changed
+- Bump FireMarshal (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1556)
+- Bump spike | support M-mode only cosim (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1530)
+- Bump to chisel3.6 (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1531)
+- Replace Dromajo FireSim bridge with Cospike (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1588)
+- Add PortAPI between IO and Harness blocks (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1610)
+- REFACTOR: change bootaddr register address and PC reset vector address (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1605)
+- REFACTOR: rename arty35t explicitly (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1682)
+- Add HasHarnessInstantiators into MultiHarnessBinder (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1674)
+- Install CIRCT out of Conda (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1675)
+- [cd] Bump CIRCT from firtool-1.58.0 to firtool-1.60.0 (copy #1688) (by @mergify[bot] in https://github.com/ucb-bar/chipyard/pull/1689)
+- Bump constellation with improved TL-noc (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1633)
+- Update testchipip imports with new testchipip organization (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1710)
+- CHANGE: Set scratchpad as default config (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1719)
+- Rename blocks/cache submodules to match new chipsalliance ownership (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1726)
+- Rename timeout_cycles to TIMEOUT_CYCLES to match convention (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1706)
+- [cd] Bump CIRCT from firtool-1.60.0 to firtool-1.61.0 (copy #1691) (by @mergify[bot] in https://github.com/ucb-bar/chipyard/pull/1699)
+- Bump tcip/barf/marshal/fsim (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1748)
+- Remove skip-validate option (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1749)
+- Add .gitignore for Embench Build Folder (by @vighneshiyer in https://github.com/ucb-bar/chipyard/pull/1754)
+
+## Fixed
+- Bump lockfiles | Force user-installed conda during conda-lock (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1555)
+- Fix FIFO-fixing for PRCI bus (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1563)
+- Fix VCU118 freq adjustment configs (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1597)
+- Fix Arty100T verilog build (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1608)
+- Make scripts/insert-includes.py use Python from conda env (by @hansungk in https://github.com/ucb-bar/chipyard/pull/1615)
+- Fix icenet-loopback clock and reset domain (by @joey0320 in https://github.com/ucb-bar/chipyard/pull/1612)
+- Bump FireMarshal for linux rng init fix (by @raghav-g13 in https://github.com/ucb-bar/chipyard/pull/1620)
+- Bump barstools (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1625)
+- [vlsi][ci skip] Fix tutorial.mk so that INPUT_CONFS override only affects tutorials (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1631)
+- Fix regex for similar module names that are uniquified (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1640)
+- Rebuild `jar`s when `sv`/`v` files are changed + Add documentation on blackboxes (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1639)
+- Use TARGET instead of PREFIX in /tests Makefile(s) (by @raghav-g13 in https://github.com/ucb-bar/chipyard/pull/1647)
+- Fix IO direction for host Serial-TL port (by @ethanwu10 in https://github.com/ucb-bar/chipyard/pull/1654)
+- More robust env.sh | Fix conda activate if in subshell (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1653)
+- Always generate MFC Blackbox filelist (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1668)
+- Remove references to ENABLE_YOSYS (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1695)
+- FIX: fix vcu118 sd card frequency (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1685)
+- FIX: fix conda-lock version, >1.4.0 does not work! (by @T-K-233 in https://github.com/ucb-bar/chipyard/pull/1714)
+- docs: correct to TOP_MACROCOMPILER_MODE (by @oharboe in https://github.com/ucb-bar/chipyard/pull/1744)
+- Use non-lock-file conda requirements in RTD (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1742)
+- Fix GCD MMIO example (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1753)
+
+## Removed
+- Remove pre-commit from env.sh (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1587)
+- Remove Dromajo (by @abejgonzalez in https://github.com/ucb-bar/chipyard/pull/1598)
+- Remove MultiClockHarnessAXIMem (by @jerryz123 in https://github.com/ucb-bar/chipyard/pull/1601)
+
+## Uncategorized
+- Documentation: Change "don't use Windows" to "if using Windows, use WSL" (by @JL102 in https://github.com/ucb-bar/chipyard/pull/1572)
+- docs: Add info on chipyard's tests directory and how to do multithreading in RTL simulations (by @JL102 in https://github.com/ucb-bar/chipyard/pull/1646)
+- Reduce CDE lookups for IOBinders (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1720)
+- Update deprecated APIs to prepare for Chisel 5 (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1723)
+- Allow sed override in uniquify-module-names.py (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1729)
+- Update deprecated/unused Chisel APIs (by @tymcauley in https://github.com/ucb-bar/chipyard/pull/1743)
+
+**Full Changelog:** https://github.com/ucb-bar/chipyard/compare/1.10.0...main
+
## [1.10.0] - 2023-6-16
Adds superscalar in-order core, prefetchers, architectural checkpointing, examples for custom-chiptop/tapeout-chip/flat-chiptop. FireSim bumped with new local FPGA support: Xilinx VCU118 (w/XDMA), Xilinx Alveo U250/U280 (w/XDMA, in addition to previous Vitis support), RHSResearch NiteFury II (w/XDMA). FireSim now also supports Xcelium for metasims.
diff --git a/build.sbt b/build.sbt
index c3be6161..2288cded 100644
--- a/build.sbt
+++ b/build.sbt
@@ -95,7 +95,7 @@ lazy val chiselSettings = Seq(
// -- Rocket Chip --
-lazy val hardfloat = freshProject("hardfloat", rocketChipDir / "hardfloat/hardfloat")
+lazy val hardfloat = freshProject("hardfloat", file("generators/hardfloat/hardfloat"))
.settings(chiselSettings)
.dependsOn(midasTargetUtils)
.settings(commonSettings)
@@ -141,12 +141,12 @@ lazy val rocketLibDeps = (rocketchip / Keys.libraryDependencies)
lazy val midasTargetUtils = ProjectRef(firesimDir, "targetutils")
lazy val testchipip = (project in file("generators/testchipip"))
- .dependsOn(rocketchip, sifive_blocks)
+ .dependsOn(rocketchip, rocketchip_blocks)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
lazy val chipyard = (project in file("generators/chipyard"))
- .dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
+ .dependsOn(testchipip, rocketchip, boom, hwacha, rocketchip_blocks, rocketchip_inclusive_cache, iocell,
sha3, // On separate line to allow for cleaner tutorial-setup patches
dsptools, rocket_dsp_utils,
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator,
@@ -180,7 +180,7 @@ lazy val fft_generator = (project in file("generators/fft-generator"))
.settings(commonSettings)
lazy val tracegen = (project in file("generators/tracegen"))
- .dependsOn(testchipip, rocketchip, sifive_cache, boom)
+ .dependsOn(testchipip, rocketchip, rocketchip_inclusive_cache, boom)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
@@ -279,12 +279,12 @@ lazy val rocket_dsp_utils = freshProject("rocket-dsp-utils", file("./tools/rocke
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
-lazy val sifive_blocks = (project in file("generators/sifive-blocks"))
+lazy val rocketchip_blocks = (project in file("generators/rocket-chip-blocks"))
.dependsOn(rocketchip)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
-lazy val sifive_cache = (project in file("generators/sifive-cache"))
+lazy val rocketchip_inclusive_cache = (project in file("generators/rocket-chip-inclusive-cache"))
.settings(
commonSettings,
Compile / scalaSource := baseDirectory.value / "design/craft")
@@ -304,7 +304,7 @@ lazy val firechip = (project in file("generators/firechip"))
Test / testOptions += Tests.Argument("-oF")
)
lazy val fpga_shells = (project in file("./fpga/fpga-shells"))
- .dependsOn(rocketchip, sifive_blocks)
+ .dependsOn(rocketchip, rocketchip_blocks)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
diff --git a/common.mk b/common.mk
index f525b526..34c08786 100644
--- a/common.mk
+++ b/common.mk
@@ -57,7 +57,8 @@ HELP_COMMANDS += \
" firrtl = generate intermediate firrtl files from chisel elaboration" \
" run-tests = run all assembly and benchmark tests" \
" launch-sbt = start sbt terminal" \
-" find-config-fragments = list all config. fragments"
+" find-config-fragments = list all config. fragments" \
+" check-submodule-status = check that all submodules in generators/ have been initialized"
#########################################################################################
# include additional subproject make fragments
@@ -83,6 +84,8 @@ endif
# Returns a list of files in directories $1 with *any* of the file extensions in $2
lookup_srcs_by_multiple_type = $(foreach type,$(2),$(call lookup_srcs,$(1),$(type)))
+CHECK_SUBMODULES_COMMAND = echo "Checking all submodules in generators/ are initialized. Uninitialized submodules will be displayed" ; ! git submodule status $(base_dir)/generators | grep ^-
+
SCALA_EXT = scala
VLOG_EXT = sv v
CHIPYARD_SOURCE_DIRS = $(addprefix $(base_dir)/,generators sims/firesim/sim fpga/fpga-shells fpga/src)
@@ -119,6 +122,7 @@ $(BOOTROM_TARGETS): $(build_dir)/bootrom.%.img: $(TESTCHIP_RSRCS_DIR)/testchipip
# compile scala jars
#########################################################################################
$(CHIPYARD_CLASSPATH_TARGETS) &: $(CHIPYARD_SCALA_SOURCES) $(SCALA_BUILDTOOL_DEPS) $(CHIPYARD_VLOG_SOURCES)
+ $(CHECK_SUBMODULES_COMMAND)
mkdir -p $(dir $@)
$(call run_sbt_assembly,$(SBT_PROJECT),$(CHIPYARD_CLASSPATH))
@@ -189,7 +193,7 @@ SFC_MFC_TARGETS = \
$(GEN_COLLATERAL_DIR)
SFC_REPL_SEQ_MEM = --infer-rw --repl-seq-mem -c:$(MODEL):-o:$(SFC_SMEMS_CONF)
-MFC_BASE_LOWERING_OPTIONS ?= emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,locationInfoStyle=wrapInAtSquareBracket
+MFC_BASE_LOWERING_OPTIONS ?= emittedLineLength=2048,noAlwaysComb,disallowLocalVariables,verifLabels,disallowPortDeclSharing,locationInfoStyle=wrapInAtSquareBracket
# DOC include start: FirrtlCompiler
# There are two possible cases for this step. In the first case, SFC
@@ -294,10 +298,12 @@ $(TOP_SMEMS_CONF) $(MODEL_SMEMS_CONF) &: $(MFC_SMEMS_CONF) $(MFC_MODEL_HRCHY_JS
TOP_MACROCOMPILER_MODE ?= --mode synflops
$(TOP_SMEMS_FILE) $(TOP_SMEMS_FIR) &: $(TAPEOUT_CLASSPATH_TARGETS) $(TOP_SMEMS_CONF)
$(call run_jar_scala_main,$(TAPEOUT_CLASSPATH),barstools.macros.MacroCompiler,-n $(TOP_SMEMS_CONF) -v $(TOP_SMEMS_FILE) -f $(TOP_SMEMS_FIR) $(TOP_MACROCOMPILER_MODE))
+ touch $(TOP_SMEMS_FILE) $(TOP_SMEMS_FIR)
MODEL_MACROCOMPILER_MODE = --mode synflops
-$(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR) &: $(TAPEOUT_CLASSPATH_TARGETS) $(MODEL_SMEMS_CONF) | $(TOP_SMEMS_FILE)
+$(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR) &: $(TAPEOUT_CLASSPATH_TARGETS) $(MODEL_SMEMS_CONF)
$(call run_jar_scala_main,$(TAPEOUT_CLASSPATH),barstools.macros.MacroCompiler, -n $(MODEL_SMEMS_CONF) -v $(MODEL_SMEMS_FILE) -f $(MODEL_SMEMS_FIR) $(MODEL_MACROCOMPILER_MODE))
+ touch $(MODEL_SMEMS_FILE) $(MODEL_SMEMS_FIR)
########################################################################################
# remove duplicate files and headers in list of simulation file inputs
@@ -365,14 +371,27 @@ run-binary: check-binary $(BINARY).run
run-binaries: check-binaries $(addsuffix .run,$(BINARIES))
%.run: %.check-exists $(SIM_PREREQ) | $(output_dir)
- (set -o pipefail && $(NUMA_PREFIX) $(sim) $(PERMISSIVE_ON) $(call get_common_sim_flags,$*) $(VERBOSE_FLAGS) $(PERMISSIVE_OFF) $* >(spike-dasm > $(call get_sim_out_name,$*).out) | tee $(call get_sim_out_name,$*).log)
+ (set -o pipefail && $(NUMA_PREFIX) $(sim) \
+ $(PERMISSIVE_ON) \
+ $(call get_common_sim_flags,$*) \
+ $(VERBOSE_FLAGS) \
+ $(PERMISSIVE_OFF) \
+ $* \
+ $(BINARY_ARGS) \
+ >(spike-dasm > $(call get_sim_out_name,$*).out) | tee $(call get_sim_out_name,$*).log)
# run simulator as fast as possible (no insn disassembly)
run-binary-fast: check-binary $(BINARY).run.fast
run-binaries-fast: check-binaries $(addsuffix .run.fast,$(BINARIES))
%.run.fast: %.check-exists $(SIM_PREREQ) | $(output_dir)
- (set -o pipefail && $(NUMA_PREFIX) $(sim) $(PERMISSIVE_ON) $(call get_common_sim_flags,$*) $(PERMISSIVE_OFF) $* $(call get_sim_out_name,$*).dump ; fi
- (set -o pipefail && $(NUMA_PREFIX) $(sim_debug) $(PERMISSIVE_ON) $(call get_common_sim_flags,$*) $(VERBOSE_FLAGS) $(call get_waveform_flag,$(call get_sim_out_name,$*)) $(PERMISSIVE_OFF) $* >(spike-dasm > $(call get_sim_out_name,$*).out) | tee $(call get_sim_out_name,$*).log)
+ (set -o pipefail && $(NUMA_PREFIX) $(sim_debug) \
+ $(PERMISSIVE_ON) \
+ $(call get_common_sim_flags,$*) \
+ $(VERBOSE_FLAGS) \
+ $(call get_waveform_flag,$(call get_sim_out_name,$*)) \
+ $(PERMISSIVE_OFF) \
+ $* \
+ $(BINARY_ARGS) \
+ >(spike-dasm > $(call get_sim_out_name,$*).out) | tee $(call get_sim_out_name,$*).log)
run-fast: run-asm-tests-fast run-bmark-tests-fast
@@ -451,9 +478,24 @@ find-config-fragments:
help:
@for line in $(HELP_LINES); do echo "$$line"; done
+#########################################################################################
+# Check submodule status
+#########################################################################################
+
+.PHONY: check-submodule-status
+check-submodule-status:
+ $(CHECK_SUBMODULES_COMMAND)
+
#########################################################################################
# Implicit rule handling
#########################################################################################
# Disable all suffix rules to improve Make performance on systems running older
# versions of Make
.SUFFIXES:
+
+.PHONY: print-%
+# Print any variable and it's origin. This helps figure out where the
+# variable was defined and to distinguish between empty and undefined.
+print-%:
+ @echo "$*=$($*)"
+ @echo "Origin is: $(origin $*)"
diff --git a/conda-reqs/chipyard-base.yaml b/conda-reqs/chipyard-base.yaml
new file mode 100644
index 00000000..324bdc4c
--- /dev/null
+++ b/conda-reqs/chipyard-base.yaml
@@ -0,0 +1,35 @@
+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
+ - gcc<12
+ - gxx<12
+ - sysroot_linux-64=2.17 # needed to match pre-built CI XRT glibc version
+ - conda-gcc-specs
+ - binutils
+
+ # misc
+ - autoconf
+ - coreutils
+ - jq
+ - pip
+ - make
+ - git
+
+ - sbt
+ - openjdk=20
+ - dtc
+ - verilator==5.022
+ - conda-lock=1.4
diff --git a/conda-reqs/chipyard.yaml b/conda-reqs/chipyard-extended.yaml
similarity index 73%
rename from conda-reqs/chipyard.yaml
rename to conda-reqs/chipyard-extended.yaml
index cc63f613..a1e87d4b 100644
--- a/conda-reqs/chipyard.yaml
+++ b/conda-reqs/chipyard-extended.yaml
@@ -8,14 +8,6 @@ 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
@@ -23,21 +15,9 @@ dependencies:
# bundle FireSim driver with deps into installer shell-script
- constructor
- - gcc<13
- - gxx<13
- - sysroot_linux-64=2.17 # needed to match pre-built CI XRT glibc version
- - conda-gcc-specs
- - binutils
-
- # firtool handled outside of conda
-
# misc
- - autoconf
- pre-commit
- readline
- - coreutils
- - jq
- - pip
# firemarshal deps
- qemu # from ucb-bar channel - https://github.com/ucb-bar/qemu-feedstock
@@ -67,9 +47,7 @@ dependencies:
- findutils
- lzop
- - make
- bash-completion
- - sbt
- ca-certificates
- mosh
- gmp
@@ -77,8 +55,6 @@ dependencies:
- mpc
- zlib
- vim
- - git
- - openjdk
- gengetopt
- libffi
- expat
@@ -87,12 +63,6 @@ dependencies:
- 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.4
# clang-format for driver coding style enforcement.
- clang-format
@@ -104,18 +74,14 @@ dependencies:
- pip:
- hammer-vlsi[asap7]==1.2.0
- # 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
+ - screen
+ - elfutils
+ - libdwarf-dev==0.0.0.20190110_28_ga81397fc4 # from ucb-bar channel - using mainline libdwarf-feedstock
- colorama
- argcomplete
- python-graphviz
diff --git a/conda-reqs/circt.json b/conda-reqs/circt.json
index 42d4fa09..1eb54a43 100644
--- a/conda-reqs/circt.json
+++ b/conda-reqs/circt.json
@@ -1,3 +1,3 @@
{
- "version": "firtool-1.60.0"
+ "version": "firtool-1.66.0"
}
diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64-lean.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
new file mode 100644
index 00000000..a0c405dd
--- /dev/null
+++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
@@ -0,0 +1,2639 @@
+# This lock file was generated by conda-lock (https://github.com/conda-incubator/conda-lock). DO NOT EDIT!
+#
+# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike
+# e.g. `conda env create`, the resulting environment will not change as new package versions become
+# available, unless you explicitly update the lock file.
+#
+# Install this environment as "YOURENV" with:
+# conda-lock install -n YOURENV --file conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
+# To update a single package to the latest version compatible with the version constraints in the source:
+# conda-lock lock --lockfile conda-requirements-esp-tools-linux-64-lean.conda-lock.yml --update PACKAGE
+# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
+# conda-lock -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64-lean.conda-lock.yml
+metadata:
+ channels:
+ - url: ucb-bar
+ used_env_vars: []
+ - url: conda-forge
+ used_env_vars: []
+ - url: litex-hub
+ used_env_vars: []
+ - url: nodefaults
+ used_env_vars: []
+ content_hash:
+ linux-64: b5e730a79fbfb25491971b81972ab974120cc4d05cc08d55be2c864bdeb2470c
+ platforms:
+ - linux-64
+ sources:
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/esp-tools.yaml
+package:
+- category: main
+ dependencies: {}
+ hash:
+ md5: d7c89558ba9fa0495403155b64376d81
+ sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726
+ manager: conda
+ name: _libgcc_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
+ version: '0.1'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 38d211c448a67f12fe693fe25df4da23
+ sha256: 0dbeaddc3d5134b5336c52ac05642533b8d1ba2e1316aa92981f4cf5b5388de0
+ manager: conda
+ name: _sysroot_linux-64_curr_repodata_hack
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_14.conda
+ version: '3'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 2f4327a1cbe7f022401b236e915a5fef
+ sha256: 91d81bfecdbb142c15066df70cc952590ae8991670198f92c66b62019b251aeb
+ manager: conda
+ name: ca-certificates
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.2.2-hbcca054_0.conda
+ version: 2024.2.2
+- category: main
+ dependencies: {}
+ hash:
+ md5: 0c96522c6bdaed4b1566d11387caaf45
+ sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b
+ manager: conda
+ name: font-ttf-dejavu-sans-mono
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2
+ version: '2.37'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 34893075a5c9e55cdafac56607368fc6
+ sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c
+ manager: conda
+ name: font-ttf-inconsolata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2
+ version: '3.000'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 4d59c254e01d9cde7957100457e2d5fb
+ sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139
+ manager: conda
+ name: font-ttf-source-code-pro
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2
+ version: '2.038'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 6185f640c43843e5ad6fd1c5372c3f80
+ sha256: 056c85b482d58faab5fd4670b6c1f5df0986314cca3bc831d458b22e4ef2c792
+ manager: conda
+ name: font-ttf-ubuntu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda
+ version: '0.83'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 7aca3059a1729aa76c597603f10b0dd3
+ sha256: f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd
+ manager: conda
+ name: ld_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda
+ version: '2.40'
+- category: main
+ dependencies: {}
+ hash:
+ md5: fb94f6b17ef1a75faac2e06937dc4223
+ sha256: 86d1e11bf0b8dbc74fec07f3c71bb1b20f83e32b5b9f8625b3dc653ce00e40bd
+ manager: conda
+ name: libgcc-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: a884fe2f11c6167f3dc62d4b1db20ced
+ sha256: 20c4f2b96b8fb57a3cad0bb8f1ce407ee7bc935cb0ce68b430b10b77616c0b16
+ manager: conda
+ name: libstdcxx-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: f6f6600d18a4047b54f803cf708b868a
+ sha256: a56c5b11f1e73a86e120e6141a42d9e935a99a2098491ac9e15347a1476ce777
+ manager: conda
+ name: libstdcxx-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_5.conda
+ version: 13.2.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: bfe4b3259a8ac6cdf0037752904da6a7
+ sha256: 7e0157e35929711e1a986c18a8bfb7a38a2209cfada16b541ebb0481f74376d6
+ manager: conda
+ name: python_abi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-4_cp39.conda
+ version: '3.9'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 161081fc7cec0bfda0d86d7cb595f8d8
+ sha256: 7b2b69c54ec62a243eb6fba2391b5e443421608c3ae5dbff938ad33ca8db5122
+ manager: conda
+ name: tzdata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda
+ version: 2024a
+- category: main
+ dependencies:
+ font-ttf-dejavu-sans-mono: ''
+ font-ttf-inconsolata: ''
+ font-ttf-source-code-pro: ''
+ font-ttf-ubuntu: ''
+ hash:
+ md5: f766549260d6815b0c52253f1fb1bb29
+ sha256: 53f23a3319466053818540bcdf2091f253cbdbab1e0e9ae7b9e509dcaa2a5e38
+ manager: conda
+ name: fonts-conda-forge
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ hash:
+ md5: f6c14886b1695a2462d296176e831080
+ sha256: 604b9345a7a1474b7eb33260e382446754d16eed754b853d7571d0e39bfc7737
+ manager: conda
+ name: kernel-headers_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_14.conda
+ version: 3.10.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ hash:
+ md5: d211c42b9ce49aee3734fdc828731689
+ sha256: 0d3d4b1b0134283ea02d58e8eb5accf3655464cf7159abf098cc694002f8d34e
+ manager: conda
+ name: libgomp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_5.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ libgomp: '>=7.5.0'
+ hash:
+ md5: 73aaf86a425cc6e73fcf236a5a46396d
+ sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22
+ manager: conda
+ name: _openmp_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
+ version: '4.5'
+- category: main
+ dependencies:
+ fonts-conda-forge: ''
+ hash:
+ md5: fee5683a3f04bd15cbd8318b096a27ab
+ sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61
+ manager: conda
+ name: fonts-conda-ecosystem
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ kernel-headers_linux-64: 3.10.0 h4a8ded7_14
+ hash:
+ md5: d5f7a1cca06f56e6ac2b525f199f9b9e
+ sha256: af0f9ed466f97e3910c1d867ab44c974e01383cb408baa38606265964c7f0857
+ manager: conda
+ name: sysroot_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_14.conda
+ version: '2.17'
+- category: main
+ dependencies:
+ ld_impl_linux-64: 2.40 h41732ed_0
+ sysroot_linux-64: ''
+ hash:
+ md5: 33084421a8c0af6aef1b439707f7662a
+ sha256: a7e0ea2b71a5b03d82e5a58fb6b612ab1c44d72ce161f9aa441f7ba467cd4c8d
+ manager: conda
+ name: binutils_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.40-hf600244_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ _openmp_mutex: '>=4.5'
+ hash:
+ md5: d4ff227c46917d3b4565302a2bbb276b
+ sha256: d32f78bfaac282cfe5205f46d558704ad737b8dbf71f9227788a5ca80facaba4
+ manager: conda
+ name: libgcc-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_5.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
+ manager: conda
+ name: alsa-lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.40,<2.41.0a0'
+ hash:
+ md5: ccc940fddbc3fcd3d79cd4c654c4b5c4
+ sha256: 35f3b042f295fd7387de11cf426ca8ee5257e5c98b88560c6c5ad4ef3c85d38c
+ manager: conda
+ name: binutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.40-hdd6e379_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 69b8b6202a07720f448be700e300ccf4
+ sha256: 242c0c324507ee172c0e0dd2045814e746bb303d1eb78870d182ceb0abc726a8
+ manager: conda
+ name: bzip2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: f6afff0e9ee08d2f1b897881a4f38cdb
+ sha256: 2a5866b19d28cb963fab291a62ff1c884291b9d6f59de14643e52f103e255749
+ manager: conda
+ name: c-ares
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.27.0-hd590300_0.conda
+ version: 1.27.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ff6707b0adc04518a452a0340db13a07
+ sha256: 5f5400cb5a27389f78422c9864fa948734989568a3fcfdde8bbee0f92077d056
+ manager: conda
+ name: coreutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.4-hd590300_0.conda
+ version: '9.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 14947d8770185e5153fdd04d4673ed37
+ sha256: 4fcfedc44e4c9a053f0416f9fc6ab6ed50644fca3a761126dbd00d09db1f546a
+ manager: conda
+ name: gettext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2
+ version: 0.21.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 96f3b11872ef6fad973eac856cd2624f
+ sha256: 41ec165704ccce2faa0437f4f53c03c06261a2cc9ff7614828e51427d9261f4b
+ manager: conda
+ name: giflib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda
+ version: 5.2.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 0e33ef437202db431aa5a928248cf2e8
+ sha256: 2a50495b6bbbacb03107ea0b752d8358d4a40b572d124a8cade068c147f344f5
+ manager: conda
+ name: gmp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_0.conda
+ version: 6.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ hash:
+ md5: 8c54672728e8ec6aa6db90cf2806d220
+ sha256: 65da967f3101b737b08222de6a6a14e20e480e7d523a5d1e19ace7b960b5d6b1
+ manager: conda
+ name: graphite2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h58526e2_1001.tar.bz2
+ version: 1.3.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
+ manager: conda
+ name: icu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=10.3.0'
+ hash:
+ md5: 30186d27e2c9fa62b45fb1476b7200e3
+ sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb
+ manager: conda
+ name: keyutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 76bbff344f0134279f225174e9064c8f
+ sha256: cb55f36dcd898203927133280ae1dc643368af041a48bcf7c026acb7c47b0c12
+ manager: conda
+ name: lerc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2
+ version: 4.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
+ manager: conda
+ name: libdeflate
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
+ manager: conda
+ name: libev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
+ version: '4.33'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 6305a3dd2752c76335295da4e581f2fd
+ sha256: 74c98a563777ae2ad71f1f74d458a8ab043cee4a513467c159ccf159d0e461f3
+ manager: conda
+ name: libexpat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b479e94095fbb82702d736b1c100c0e8
+ sha256: a4490042212d56d6a0f13ebd172f6be7524a9229a94820cd7d12c57d95b3f8cd
+ manager: conda
+ name: libfdt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: d645c6d2ac96843a2bfaccd2d62b3ac3
+ sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e
+ manager: conda
+ name: libffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2
+ version: 3.4.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
+ manager: conda
+ name: libiconv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
+ version: '1.17'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
+ manager: conda
+ name: libjpeg-turbo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30fd6e37fe21f86f4bd26d6ee73eeec7
+ sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6
+ manager: conda
+ name: libnsl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
+ version: 2.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=11.4.0'
+ hash:
+ md5: 47a9846c7679f8381b06fc5052ab4a4b
+ sha256: fc00e9a71c07446cf1744bd1d5cd3efa6dfd3a7db6c2c8a82853f19b8b1416f8
+ manager: conda
+ name: libsanitizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 40b61aab5c7ba9ff276c41cfffe6b80b
+ sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18
+ manager: conda
+ name: libuuid
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
+ version: 2.38.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
+ manager: conda
+ name: libwebp-base
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: f36c115f1ee199da648e0597ec2047ad
+ sha256: 370c7c5893b737596fd6ca0d9190c9715d89d888b8c88537ae1ef168c25e82e4
+ manager: conda
+ name: libzlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4abb931c0d08a41583fc637c663e45e2
+ sha256: b8e37b92caab5a64a9e344f3d497b9d3e215d1e6211f6dc7c51b70799aab1da1
+ manager: conda
+ name: m4
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.18-h516909a_1001.tar.bz2
+ version: 1.4.18
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4049ebfd3190b580dffe76daed26155a
+ sha256: 4a5fe7c80bb0de0015328e2d3fc8db1736f528cb1fd53cd0d5527e24269a4f7c
+ manager: conda
+ name: make
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/make-4.3-hd18ef5c_1.tar.bz2
+ version: '4.3'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 7dbaa197d7ba6032caf7ae7f32c1efa0
+ sha256: 91cc03f14caf96243cead96c76fe91ab5925a695d892e83285461fb927dece5e
+ manager: conda
+ name: ncurses
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda
+ version: '6.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 77dab674d16c1525ebe65e67de30de0d
+ sha256: dec1c78df7670d34880f71f75ac716f082d087494b4a2c6a90d5d75a82c933ed
+ manager: conda
+ name: oniguruma
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/oniguruma-6.9.9-hd590300_0.conda
+ version: 6.9.9
+- category: main
+ dependencies:
+ ca-certificates: ''
+ libgcc-ng: '>=12'
+ hash:
+ md5: 51a753e64a3027bd7e23a189b1f6e91e
+ sha256: c02c12bdb898daacf7eb3d09859f93ea8f285fd1a6132ff6ff0493ab52c7fe57
+ manager: conda
+ name: openssl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.1-hd590300_0.conda
+ version: 3.2.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 71004cbf7924e19c02746ccde9fd7123
+ sha256: 366d28e2a0a191d6c535e234741e0cd1d94d713f76073d8af4a5ccb2a266121e
+ manager: conda
+ name: pixman
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda
+ version: 0.43.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 22dad4df6e8630e8dff2428f6f6a7036
+ sha256: 67c84822f87b641d89df09758da498b2d4558d47b920fd1d3fe6d3a871e000ff
+ manager: conda
+ name: pthread-stubs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2
+ version: '0.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: bcd1b3396ec6960cbc1d2855a9e60b2b
+ sha256: 6c8c2803de0f643f8bad16ece3f9a7259e4a49247543239c182d66d5e3a129a7
+ manager: conda
+ name: xorg-inputproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-inputproto-2.3.2-h7f98852_1002.tar.bz2
+ version: 2.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 4b230e8381279d76131116660f5a241a
+ sha256: e90b0a6a5d41776f11add74aa030f789faf4efd3875c31964d6f9cfa63a10dd1
+ manager: conda
+ name: xorg-kbproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2
+ version: 1.0.7
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b462a33c0be1421532f28bfe8f4a7514
+ sha256: 5aa9b3682285bb2bf1a8adc064cb63aff76ef9178769740d855abb42b0d24236
+ manager: conda
+ name: xorg-libice
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda
+ version: 1.1.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2c80dc38fface310c9bd81b17037fee5
+ sha256: 309751371d525ce50af7c87811b435c176915239fc9e132b99a25d5e1703f2d4
+ manager: conda
+ name: xorg-libxau
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda
+ version: 1.0.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: be93aabceefa2fac576e971aef407908
+ sha256: 4df7c5ee11b8686d3453e7f3f4aa20ceef441262b49860733066c52cfd0e4a77
+ manager: conda
+ name: xorg-libxdmcp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2
+ version: 1.1.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 2f835e6c386e73c6faaddfe9eda67e98
+ sha256: 4b91d48fed368c83eafd03891ebfd5bae0a03adc087ebea8a680ae22da99a85f
+ manager: conda
+ name: xorg-recordproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-recordproto-1.14.2-h7f98852_1002.tar.bz2
+ version: 1.14.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 06feff3d2634e3097ce2fe681474b534
+ sha256: 38942930f233d1898594dd9edf4b0c0786f3dbc12065a0c308634c37fd936034
+ manager: conda
+ name: xorg-renderproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2
+ version: 0.11.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: bce9f945da8ad2ae9b1d7165a64d0f87
+ sha256: b8dda3b560e8a7830fe23be1c58cc41f407b2e20ae2f3b6901eb5842ba62b743
+ manager: conda
+ name: xorg-xextproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda
+ version: 7.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: b4a4381d54784606820704f7b5f05a15
+ sha256: f197bb742a17c78234c24605ad1fe2d88b1d25f332b75d73e5ba8cf8fbc2a10d
+ manager: conda
+ name: xorg-xproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2
+ version: 7.0.31
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2161070d867d1b1204ea749c8eec4ef0
+ sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162
+ manager: conda
+ name: xz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2
+ version: 5.2.6
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae
+ sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535
+ manager: conda
+ name: yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2
+ version: 0.2.5
+- category: main
+ dependencies:
+ libfdt: '>=1.6.1,<1.7.0a0'
+ libgcc-ng: '>=12'
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: 22b23b5006eb63ed81af6a84569c930e
+ sha256: 5a056172bd4fee3f6dd21441bfdd3c9960d3a637f48e8dfe16d3a7aa56e883a5
+ manager: conda
+ name: dtc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libexpat: 2.5.0 hcb278e6_1
+ libgcc-ng: '>=12'
+ hash:
+ md5: 8b9b5aca60558d02ddaa09d599e55920
+ sha256: 36dfeb4375059b3bba75ce9b38c29c69fd257342a79e6cf20e9f25c1523f785f
+ manager: conda
+ name: expat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ m4: ''
+ hash:
+ md5: b1029ec81c7e0969e84a8179d039a9ce
+ sha256: 5a6dba5af1127e859eefd68e77b7af062b42f85401efbb43a970da977ba3e344
+ manager: conda
+ name: flex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/flex-2.6.4-h58526e2_1004.tar.bz2
+ version: 2.6.4
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.39'
+ libgcc-devel_linux-64: 11.4.0 h922705a_105
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_5
+ libstdcxx-ng: '>=11.4.0'
+ sysroot_linux-64: ''
+ hash:
+ md5: dd619b391c1c85728a6c70aac733e0a8
+ sha256: b354a25c5eee51c7f2d9bd1232d445302068e55e540eddddf32bf96cc54f48b9
+ manager: conda
+ name: gcc_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ oniguruma: '>=6.9.9,<6.10.0a0'
+ hash:
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
+ manager: conda
+ name: jq
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ ncurses: '>=6.2,<7.0.0a0'
+ hash:
+ md5: 4d331e44109e3f0e19b4cb8f9b82f3e1
+ sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf
+ manager: conda
+ name: libedit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2
+ version: 3.1.20191231
+- category: main
+ dependencies:
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ hash:
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
+ manager: conda
+ name: libnghttp2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
+ version: 1.58.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 009981dd9cfcaa4dbfa25ffaed86bcae
+ sha256: 502f6ff148ac2777cc55ae4ade01a8fc3543b4ffab25c4e0eaa15f94e90dd997
+ manager: conda
+ name: libpng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.43-h2797004_0.conda
+ version: 1.6.43
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: fc4ccadfbf6d4784de88c41704792562
+ sha256: 1b379d1c652b25d0540251d422ef767472e768fd36b77261045e97f9ba6d3faa
+ manager: conda
+ name: libsqlite
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.1-h2797004_0.conda
+ version: 3.45.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.1.1,<4.0a0'
+ hash:
+ md5: 1f5a58e686b13bcfde88b93f547d23fe
+ sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d
+ manager: conda
+ name: libssh2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda
+ version: 1.11.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ pthread-stubs: ''
+ xorg-libxau: ''
+ xorg-libxdmcp: ''
+ hash:
+ md5: 33277193f5b92bad9fdd230eb700929c
+ sha256: a670902f0a3173a466c058d2ac22ca1dd0df0453d3a80e0212815c20a16b0485
+ manager: conda
+ name: libxcb
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda
+ version: '1.15'
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ hash:
+ md5: 4c28f3210b30250037a4a627eeee9e0f
+ sha256: 008230a53ff15cf61966476b44f7ba2c779826825b9ca639a0a2b44d8f7aa6cb
+ manager: conda
+ name: mpfr
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_0.conda
+ version: 4.2.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 679c8961826aa4b50653bce17ee52abe
+ sha256: 3ca54ff0abcda964af7d4724d389ae20d931159ae1881cfe57ad4b0ab9e6a380
+ manager: conda
+ name: pcre2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.42-hcad00b1_0.conda
+ version: '10.42'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcrypt: '>=4.4.36'
+ hash:
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
+ manager: conda
+ name: perl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
+ version: 5.32.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ ncurses: '>=6.3,<7.0a0'
+ hash:
+ md5: 47d31b792659ce70f470b5c82fdfb7a4
+ sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7
+ manager: conda
+ name: readline
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda
+ version: '8.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d453b98d9c83e71da0741bb0ff4d76bc
+ sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e
+ manager: conda
+ name: tk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda
+ version: 8.6.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-xextproto: ''
+ hash:
+ md5: 65ad6e1eb4aed2b0611855aff05e04f6
+ sha256: 5d2af1b40f82128221bace9466565eca87c97726bb80bbfcd03871813f3e1876
+ manager: conda
+ name: xorg-fixesproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-fixesproto-5.0-h7f98852_1002.tar.bz2
+ version: '5.0'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libuuid: '>=2.38.1,<3.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ hash:
+ md5: 93ee23f12bc2e684548181256edd2cf6
+ sha256: 089ad5f0453c604e18985480218a84b27009e9e6de9a0fa5f4a20b8778ede1f1
+ manager: conda
+ name: xorg-libsm
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: 1.2.13 hd590300_5
+ hash:
+ md5: 68c34ec6149623be41a1933ab996a209
+ sha256: 9887a04d7e7cb14bd2b52fa01858f05a6d7f002c890f618d9fcd864adbfecb1b
+ manager: conda
+ name: zlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 04b88013080254850d6c01ed54810589
+ sha256: 607cbeb1a533be98ba96cf5cdf0ddbb101c78019f1fda063261871dad6248609
+ manager: conda
+ name: zstd
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.5-hfc55251_0.conda
+ version: 1.5.5
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ m4: ''
+ perl: 5.*
+ hash:
+ md5: 50cabb1aee157a18082c7c92cc4b3143
+ sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
+ manager: conda
+ name: autoconf
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
+ version: '2.71'
+- category: main
+ dependencies:
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
+ hash:
+ md5: f400dd0a481abdfff466337623081d1a
+ sha256: 33504fd9020cd95f66c1d096112634c12e8bfd813d2bcd52ede90626c4768d3b
+ manager: conda
+ name: conda-gcc-specs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 9ae35c3d96db2c94ce0cef86efdfa2cb
+ sha256: b2e3c449ec9d907dd4656cb0dc93e140f447175b125a3824b31368b06c666bb6
+ manager: conda
+ name: freetype
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda
+ version: 2.12.1
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
+ manager: conda
+ name: gcc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_5
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_105
+ sysroot_linux-64: ''
+ hash:
+ md5: 99ef88bf2364edd566e9bfec9db2bf95
+ sha256: 391b83e5cf7a31f49c3d2147dcc146a62a0a98d2c73e629680b6263b8e2c9df4
+ manager: conda
+ name: gxx_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ keyutils: '>=1.6.1,<2.0a0'
+ libedit: '>=3.1.20191231,<4.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ openssl: '>=3.1.2,<4.0a0'
+ hash:
+ md5: cd95826dbd331ed1be26bdf401432844
+ sha256: 259bfaae731989b252b7d2228c1330ef91b641c9d68ff87dae02cbae682cb3e4
+ manager: conda
+ name: krb5
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda
+ version: 1.21.2
+- category: main
+ dependencies:
+ gettext: '>=0.21.1,<1.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ hash:
+ md5: d86baf8740d1a906b9716f2a0bac2f2d
+ sha256: 3a03a5254d2fd29c1e0ffda7250e22991dfbf2c854301fd56c408d97a647cfbd
+ manager: conda
+ name: libglib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.4-h783c2da_0.conda
+ version: 2.78.4
+- category: main
+ dependencies:
+ lerc: '>=4.0.0,<5.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libstdcxx-ng: '>=12'
+ libwebp-base: '>=1.3.2,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xz: '>=5.2.6,<6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
+ manager: conda
+ name: libtiff
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ mpfr: '>=4.1.0,<5.0a0'
+ hash:
+ md5: 289c71e83dc0daa7d4c81f04180778ca
+ sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29
+ manager: conda
+ name: mpc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda
+ version: 1.3.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ ld_impl_linux-64: '>=2.36.1'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libnsl: '>=2.0.1,<2.1.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
+ libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ ncurses: '>=6.4,<7.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ readline: '>=8.2,<9.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
+ tzdata: ''
+ xz: '>=5.2.6,<6.0a0'
+ hash:
+ md5: 255a7002aeec7a067ff19b545aca6328
+ sha256: c0e800d255a771926007043d2859cbbbdb1387477ec813f085640c8887b391a2
+ manager: conda
+ name: python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.18-h0755675_1_cpython.conda
+ version: 3.9.18
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ xorg-kbproto: ''
+ xorg-xextproto: '>=7.3.0,<8.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: 49e482d882669206653b095f5206c05b
+ sha256: 7a02a7beac472ae2759498550b5fc5261bf5be7a9a2b4648a3f67818a7bfefcf
+ manager: conda
+ name: xorg-libx11
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.7-h8ee46fc_0.conda
+ version: 1.8.7
+- category: main
+ dependencies:
+ python: '>=3.9'
+ hash:
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
+ manager: conda
+ name: alabaster
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: 5f095bc6454094e96f146491fd03633b
+ sha256: ae9fb8f68281f84482f2c234379aa12405a9e365151d43af20b3ae1f17312111
+ manager: conda
+ name: appdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2
+ version: 1.4.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: c48418c8b35f1d59ae9ae1174812b40a
+ sha256: e22afb19527a93da24c1108c3e91532811f9c3df64a9473989faf332c98af082
+ manager: conda
+ name: brotli-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py39h3d6467e_1.conda
+ version: 1.1.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 5dfee17f24e2dfd18d7392b48c9351e2
+ sha256: 9b193a4e483c4d0004bc5b88fac7a02516b6311137ab61b8db85aa9741422e35
+ manager: conda
+ name: cachy
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachy-0.3.0-pyhd8ed1ab_1.tar.bz2
+ version: 0.3.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 0876280e409658fc6f9e75d035960333
+ sha256: f1faca020f988696e6b6ee47c82524c7806380b37cfdd1def32f92c326caca54
+ manager: conda
+ name: certifi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda
+ version: 2024.2.2
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 7f4a9e3fcff3f6356ae99244a014da6a
+ sha256: 20cae47d31fdd58d99c4d2e65fbdcefa0b0de0c84e455ba9d6356a4bdbc4b5b9
+ manager: conda
+ name: charset-normalizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
+ version: 3.3.2
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: f3ad426304898027fc619827ff428eca
+ sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec
+ manager: conda
+ name: click
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda
+ version: 8.1.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 3faab06a954c2a04039983f2c4a50d99
+ sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698
+ manager: conda
+ name: colorama
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.6
+- category: main
+ dependencies:
+ python: '>=3.6,<4.0'
+ hash:
+ md5: 709a2295dd907bb34afb57d54320642f
+ sha256: 2f05954a3faf0700c14c1deddc085385160ee32abe111699c78d9cb277e915cc
+ manager: conda
+ name: crashtest
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/crashtest-0.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.1
+- category: main
+ dependencies:
+ expat: '>=2.4.2,<3.0a0'
+ libgcc-ng: '>=9.4.0'
+ libglib: '>=2.70.2,<3.0a0'
+ hash:
+ md5: ecfff944ba3960ecb334b9a2663d708d
+ sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5
+ manager: conda
+ name: dbus
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2
+ version: 1.13.6
+- category: main
+ dependencies:
+ python: 2.7|>=3.6
+ hash:
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
+ manager: conda
+ name: distlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
+- category: main
+ dependencies:
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 09a48956e1c155907fd0d626f3e80f2e
+ sha256: fe2b7316146a73a33fd16c637e6e82c2638e91d1b8c95560b9c477a6f3082b6d
+ manager: conda
+ name: docutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.20.1-py39hf3d152e_3.conda
+ version: 0.20.1
+- category: main
+ dependencies:
+ expat: '>=2.4.8,<3.0a0'
+ gmp: '>=6.2.1,<7.0a0'
+ libzlib: '>=1.2.12,<1.3.0a0'
+ mpc: '>=1.2.1,<2.0a0'
+ mpfr: '>=4.1.0,<5.0a0'
+ ncurses: '>=6.3,<7.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: ae197de48b202c65efd7a61135ac0ae5
+ manager: conda
+ name: esp-tools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/ucb-bar/linux-64/esp-tools-1.0.1-0_h1234567_g8925bf5.tar.bz2
+ version: 1.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 0c1729b74a8152fde6a38ba0a2ab9f45
+ sha256: 4d742d91412d1f163e5399d2b50c5d479694ebcd309127abb549ca3977f89d2b
+ manager: conda
+ name: filelock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.13.1-pyhd8ed1ab_0.conda
+ version: 3.13.1
+- category: main
+ dependencies:
+ expat: '>=2.5.0,<3.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ libgcc-ng: '>=12'
+ libuuid: '>=2.32.1,<3.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 0f69b688f52ff6da70bccb7ff7001d1d
+ sha256: 155d534c9037347ea7439a2c6da7c24ffec8e5dd278889b4c57274a1d91e0a83
+ manager: conda
+ name: fontconfig
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda
+ version: 2.14.2
+- category: main
+ dependencies:
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
+ manager: conda
+ name: gxx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 1a76f09108576397c41c0b0c5bd84134
+ sha256: 6ee4c986d69ce61e60a20b2459b6f2027baeba153f0a64995fd3cb47c2cc7e07
+ manager: conda
+ name: idna
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/idna-3.6-pyhd8ed1ab_0.conda
+ version: '3.6'
+- category: main
+ dependencies:
+ python: '>=3.4'
+ hash:
+ md5: 7de5386c8fea29e76b303f37dde4c352
+ sha256: c2bfd7043e0c4c12d8b5593de666c1e81d67b83c474a0a79282cc5c4ef845460
+ manager: conda
+ name: imagesize
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 9800ad1699b42612478755a2d26c722d
+ sha256: 16639759b811866d63315fe1391f6fb45f5478b823972f4d3d9f0392b7dd80b8
+ manager: conda
+ name: jeepney
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.8.0-pyhd8ed1ab_0.tar.bz2
+ version: 0.8.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ hash:
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
+ manager: conda
+ name: lcms2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
+- category: main
+ dependencies:
+ krb5: '>=1.21.1,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d4529f4dff3057982a7617c7ac58fde3
+ sha256: bc67b9b21078c99c6bd8595fe7e1ed6da1f721007726e717f0449de7032798c4
+ manager: conda
+ name: libcups
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda
+ version: 2.3.3
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libnghttp2: '>=1.58.0,<2.0a0'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 7144d5a828e2cae218e0e3c98d8a0aeb
+ sha256: 00a6bea5ff90ca58eeb15ebc98e08ffb88bddaff27396bb62640064f59d29cf0
+ manager: conda
+ name: libcurl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 9a9a22eb1f83c44953319ee3b027769f
+ sha256: 855d305ceda4751cdd495923104dd34da5a6be45e4fd50a4e80361d9f95bcb38
+ manager: conda
+ name: markupsafe
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py39hd1e30aa_0.conda
+ version: 2.1.5
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
+ manager: conda
+ name: more-itertools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: f668e146a2ed03a4e62ffbb98b3115fb
+ sha256: a47f46861f206043602b5f8b176e3957dd4a59876b819a2e089d63d52e312412
+ manager: conda
+ name: msgpack-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.7-py39h7633fee_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 79002079284aa895f883c6b7f3f88fd6
+ sha256: 69b3ace6cca2dab9047b2c24926077d81d236bef45329d264b394001e3c3e52f
+ manager: conda
+ name: packaging
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda
+ version: '23.2'
+- category: main
+ dependencies:
+ python: '>=2.7'
+ hash:
+ md5: a4eea5bff523f26442405bc5d1f52adb
+ sha256: 9153f0f38c76a09da7688a61fdbf8f3d7504e2326bef53e4ec20d994311b15bd
+ manager: conda
+ name: pastel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pastel-0.2.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.2.1
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: be1e9f1c65a1ed0f2ae9352fec99db64
+ sha256: 7ea5a5af62a15376d9f4f9f3c134874d0b0710f39be719e849b7fa9ca8870502
+ manager: conda
+ name: pkginfo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda
+ version: 1.9.6
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: a0bc3eec34b0fab84be6b2da94e98e20
+ sha256: 2ebfb971236ab825dd79dd6086ea742a9901008ffb9c6222c1f2b5172a8039d3
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.0-pyhd8ed1ab_0.conda
+ version: 4.2.0
+- category: main
+ dependencies:
+ python: 2.7.*|>=3.4
+ hash:
+ md5: 076becd9e05608f8dc72757d5f3a91ff
+ sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc
+ manager: conda
+ name: pycparser
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2
+ version: '2.21'
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 140a7f159396547e9799aa98f9f0742e
+ sha256: af5f8867450dc292f98ea387d4d8945fc574284677c8f60eaa9846ede7387257
+ manager: conda
+ name: pygments
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.17.2-pyhd8ed1ab_0.conda
+ version: 2.17.2
+- category: main
+ dependencies:
+ python: '>=3.3'
+ hash:
+ md5: edf8651c4379d9d1495ad6229622d150
+ sha256: 50bd91767686bfe769e50a5a1b883e238d944a6163fea43e7c0beaac54ca674f
+ manager: conda
+ name: pylev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pylev-1.4.0-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.0
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: 2a7de29fb590ca14b5243c4c812c8025
+ sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b
+ manager: conda
+ name: pysocks
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2
+ version: 1.7.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 3eeeeb9e4827ace8c0c1419c85d590ad
+ sha256: 1a7d6b233f7e6e3bbcbad054c8fd51e690a67b129a899a056a5e45dd9f00cb41
+ manager: conda
+ name: pytz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda
+ version: '2024.1'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: 37218233bcdc310e4fde6453bc1b40d8
+ sha256: 28b147c50ad48215f9427a52811848223ac0371be7caae88522e661a3bfb1448
+ manager: conda
+ name: pyyaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py39hd1e30aa_1.conda
+ version: 6.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: b1961e70cfe8e1eac243faf933d1813f
+ sha256: 32b7b4f13493eeff0d18de85d58d7b8c2b04234ea737b8769871067189c70d69
+ manager: conda
+ name: ruamel.yaml.clib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.8-py39hd1e30aa_0.conda
+ version: 0.2.8
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 576de899521b7d43674ba3ef6eae9142
+ sha256: 7a6dca60efcaa42d0ebb784950bc16230a968256cb5048a4441cb34653b5ec58
+ manager: conda
+ name: setuptools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.1.1-pyhd8ed1ab_0.conda
+ version: 69.1.1
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: e5f25f8dbc060e9a8d912e432202afc2
+ sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6
+ manager: conda
+ name: six
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2
+ version: 1.16.0
+- category: main
+ dependencies:
+ python: '>=2'
+ hash:
+ md5: 4d22a9315e78c6827f806065957d566e
+ sha256: a0fd916633252d99efb6223b1050202841fa8d2d53dacca564b0ed77249d3228
+ manager: conda
+ name: snowballstemmer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2
+ version: 2.2.0
+- category: main
+ dependencies:
+ python: '>=3.5'
+ hash:
+ md5: da1d979339e2714c30a8e806a33ec087
+ sha256: d4337d83b8edba688547766fc80f1ac86d6ec86ceeeda93f376acc04079c5ce2
+ manager: conda
+ name: sphinxcontrib-jsmath
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda
+ version: 1.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 5844808ffab9ebdb694585b50ba02a96
+ sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f
+ manager: conda
+ name: tomli
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2
+ version: 2.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 074d0ce7a6261ab8b497c3518796ef3e
+ sha256: 53cc436ab92d38683df1320e4468a8b978428e800195bf1c8c2460e90b0bc117
+ manager: conda
+ name: tomlkit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.3-pyha770c72_0.conda
+ version: 0.12.3
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 2fcb582444635e2c402e8569bb94e039
+ sha256: 22b0a9790317526e08609d5dfdd828210ae89e6d444a9e954855fc29012e90c6
+ manager: conda
+ name: toolz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.1-pyhd8ed1ab_0.conda
+ version: 0.12.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 1e865e9188204cdfb1fd2531780add88
+ sha256: 27ab8f208c9a8fef7341d8f603059073f445de39c52eed73218f5823212ca73c
+ manager: conda
+ name: tornado
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4-py39hd1e30aa_0.conda
+ version: '6.4'
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
+ manager: conda
+ name: typing_extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ flex: '>=2.6.4,<3.0a0'
+ gxx_impl_linux-64: ''
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ make: ''
+ perl: ''
+ python: ''
+ hash:
+ md5: d628a7f32222786b70ad81e56dd4a61a
+ sha256: 1648f885c97e5189adb12a70eef72699885a4e9e882ea385c3cd904baed251ce
+ manager: conda
+ name: verilator
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.022-h7cd9344_0.conda
+ version: '5.022'
+- category: main
+ dependencies:
+ python: '>=2.6'
+ hash:
+ md5: daf5160ff9cde3a468556965329085b9
+ sha256: 2adf9bd5482802837bc8814cbe28d7b2a4cbd2e2c52e381329eaa283b3ed1944
+ manager: conda
+ name: webencodings
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda
+ version: 0.5.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 1cdea58981c5cbc17b51973bcaddcea7
+ sha256: 80be0ccc815ce22f80c141013302839b0ed938a2edb50b846cf48d8a8c1cfa01
+ manager: conda
+ name: wheel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda
+ version: 0.42.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.7.2,<2.0a0'
+ xorg-xextproto: ''
+ hash:
+ md5: 82b6df12252e6f32402b96dacc656fec
+ sha256: 73e5cfbdff41ef8a844441f884412aa5a585a0f0632ec901da035a03e1fe1249
+ manager: conda
+ name: xorg-libxext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda
+ version: 1.3.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-fixesproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ hash:
+ md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a
+ sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3
+ manager: conda
+ name: xorg-libxfixes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2
+ version: 5.0.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-renderproto: ''
+ hash:
+ md5: ed67c36f215b310412b2af935bf3e530
+ sha256: 26da4d1911473c965c32ce2b4ff7572349719eaacb88a066db8d968a4132c3f7
+ manager: conda
+ name: xorg-libxrender
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda
+ version: 0.9.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-kbproto: ''
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: ae92aab42726eb29d16488924f7312cb
+ sha256: e7648d1efe2e858c4bc63ccf4a637c841dc971b37ded85a01be97a5e240fecfa
+ manager: conda
+ name: xorg-libxt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.0-hd590300_1.conda
+ version: 1.3.0
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 2e4d6bc0b14e10f895fc6791a7d9b26a
+ sha256: bced1423fdbf77bca0a735187d05d9b9812d2163f60ab426fc10f11f92ecbe26
+ manager: conda
+ name: zipp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda
+ version: 3.17.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ pytz: ''
+ setuptools: ''
+ hash:
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
+ manager: conda
+ name: babel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
+- category: main
+ dependencies:
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.0,<3.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ zlib: ''
+ hash:
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
+ manager: conda
+ name: cairo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
+- category: main
+ dependencies:
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ pycparser: ''
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: ac992767d7f8ed2cb27e71e78f0fb2d7
+ sha256: 1536a2ca65caaf568bbdfe75aff8e12cb0e0507587b25af3b532a8bd22cb3ddb
+ manager: conda
+ name: cffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.16.0-py39h7a31438_0.conda
+ version: 1.16.0
+- category: main
+ dependencies:
+ click: ''
+ python: '>=2.7'
+ hash:
+ md5: 7c2b6931f9b3548ed78478332095c3e9
+ sha256: b36e35d735ddd29d7c592eb3de4b3979e13a9f76f1b4bc939f2cb4402758d6d0
+ manager: conda
+ name: click-default-group
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-default-group-1.2.4-pyhd8ed1ab_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ pastel: '>=0.2.0,<0.3.0'
+ pylev: '>=1.3,<2.0'
+ python: '>=3.7'
+ hash:
+ md5: 02abb7b66b02e8b9f5a9b05454400087
+ sha256: 2d582bc15d9116ec5467b565fb87d9034c8b56f60943e8eb69407f55f1ab5a78
+ manager: conda
+ name: clikit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyhd8ed1ab_2.conda
+ version: 0.6.2
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libcurl: 8.5.0 hca28451_0
+ libgcc-ng: '>=12'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: e5e83fb15e752dbc8f54c4ac7da7d0f1
+ sha256: febf098d6ca901b589d02c58eedcf5cb77d8fa4bfe35a52109f5909980b426db
+ manager: conda
+ name: curl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/curl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ python: ''
+ six: '>=1.9'
+ webencodings: ''
+ hash:
+ md5: b2355343d6315c892543200231d7154a
+ sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4
+ manager: conda
+ name: html5lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2
+ version: '1.1'
+- category: main
+ dependencies:
+ python: '>=3.8'
+ zipp: '>=0.5'
+ hash:
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
+ manager: conda
+ name: importlib-metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ more-itertools: ''
+ python: '>=3.7'
+ hash:
+ md5: c541ae264c9f1f21d83fc30dffb908ee
+ sha256: 232b40de8176fa7fb66a893653f8ae03c29616e04a83dae5a47df94b74e256ca
+ manager: conda
+ name: jaraco.classes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.1-pyhd8ed1ab_0.conda
+ version: 3.3.1
+- category: main
+ dependencies:
+ markupsafe: '>=2.0'
+ python: '>=3.7'
+ hash:
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
+ manager: conda
+ name: jinja2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
+- category: main
+ dependencies:
+ python: ''
+ setuptools: ''
+ six: ''
+ tornado: ''
+ hash:
+ md5: b7190e3ec3eff52839434bf4698e2d62
+ sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765
+ manager: conda
+ name: livereload
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2
+ version: 2.6.3
+- category: main
+ dependencies:
+ python: '>=3.7'
+ setuptools: ''
+ wheel: ''
+ hash:
+ md5: f586ac1e56c8638b64f9c8122a7b8a67
+ sha256: b7c1c5d8f13e8cb491c4bd1d0d1896a4cf80fc47de01059ad77509112b664a4a
+ manager: conda
+ name: pip
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-24.0-pyhd8ed1ab_0.conda
+ version: '24.0'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ ruamel.yaml.clib: '>=0.1.2'
+ hash:
+ md5: 2289054e90cf07e35280bbe798811dc8
+ sha256: 9cfb534d18a1c060d876762806752d6a3d253727f255c65e5473810dd1dd4231
+ manager: conda
+ name: ruamel.yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.18.6-py39hd1e30aa_0.conda
+ version: 0.18.6
+- category: main
+ dependencies:
+ typing_extensions: 4.9.0 pyha770c72_0
+ hash:
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
+ manager: conda
+ name: typing-extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ brotli-python: '>=1.0.9'
+ pysocks: '>=1.5.6,<2.0,!=1.5.7'
+ python: '>=3.7'
+ hash:
+ md5: bf61cfd2a7f212efba378167a07d4a6a
+ sha256: 1cc0bab65a6ad0f5a8bd7657760a4fb4e670d30377f9dab88b792977cb3687e7
+ manager: conda
+ name: urllib3
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.18-pyhd8ed1ab_0.conda
+ version: 1.26.18
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: 8797a4e26be36880a603aba29c785352
+ sha256: 1ced4445cf72cd9dc344ad04bdaf703a08cc428c8c46e4bda928ad79786ee153
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.1-pyhd8ed1ab_0.conda
+ version: 20.25.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxfixes: 5.0.*
+ hash:
+ md5: e77615e5141cad5a2acaa043d1cf0ca5
+ sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68
+ manager: conda
+ name: xorg-libxi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2
+ version: 1.7.10
+- category: main
+ dependencies:
+ python: '>=3.7'
+ typing-extensions: '>=4.0.0'
+ hash:
+ md5: 997c29372bdbe2afee073dff71f35923
+ sha256: 3a2c98154d95cfd54daba6b7d507d31f5ba07ac2ad955c44eb041b66563193cd
+ manager: conda
+ name: annotated-types
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.6.0-pyhd8ed1ab_0.conda
+ version: 0.6.0
+- category: main
+ dependencies:
+ cffi: '>=1.12'
+ libgcc-ng: '>=12'
+ openssl: '>=3.2.1,<4.0a0'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 74adeac31d6368a9dcf1a867a052cffa
+ sha256: dbde9bd3cc0400cdefbdfe7a41ddb7cb33efc472dbd291485308eb5f5830f1a9
+ manager: conda
+ name: cryptography
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-42.0.5-py39hd4f0224_0.conda
+ version: 42.0.5
+- category: main
+ dependencies:
+ curl: ''
+ gettext: ''
+ libexpat: '>=2.5.0,<3.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ perl: 5.*
+ hash:
+ md5: 851970792301b407ba4c35e75e796791
+ sha256: 73a065e160d759e8fb0b169e615955a8fe0c148ed00c7f6ddf076f2e4adfd765
+ manager: conda
+ name: git
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/git-2.43.0-pl5321h7bc287a_0.conda
+ version: 2.43.0
+- category: main
+ dependencies:
+ cairo: '>=1.18.0,<2.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ graphite2: ''
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.1,<3.0a0'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
+ manager: conda
+ name: harfbuzz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
+- category: main
+ dependencies:
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
+ hash:
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
+ manager: conda
+ name: importlib_metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ typing-extensions: '>=4.6.0,!=4.7.0'
+ hash:
+ md5: 35fef239167838ec05bc714a70fbd6d9
+ sha256: c0c9ebdcd812ac6c35e85a37bae966b461b5d390aeecf168611c4abd43c947a8
+ manager: conda
+ name: pydantic-core
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.16.3-py39h9fdd4d6_0.conda
+ version: 2.16.3
+- category: main
+ dependencies:
+ certifi: '>=2017.4.17'
+ charset-normalizer: '>=2,<4'
+ idna: '>=2.5,<4'
+ python: '>=3.7'
+ urllib3: '>=1.21.1,<3'
+ hash:
+ md5: a30144e4156cdbb236f99ebb49828f8b
+ sha256: 9f629d6fd3c8ac5f2a198639fe7af87c4db2ac9235279164bfe0fcb49d8c4bad
+ manager: conda
+ name: requests
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda
+ version: 2.31.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.1,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxi: 1.7.*
+ xorg-recordproto: ''
+ hash:
+ md5: a220b1a513e19d5cb56c1311d44f12e6
+ sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87
+ manager: conda
+ name: xorg-libxtst
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2
+ version: 1.2.3
+- category: main
+ dependencies:
+ msgpack-python: '>=0.5.2'
+ python: '>=3.7'
+ requests: '>=2.16.0'
+ hash:
+ md5: a661c39e223bf3038b38126b0bbf43d9
+ sha256: 3318732d60456c5ecc0db14a7343a320ea88e05ae168aea4164d7f9ec7907142
+ manager: conda
+ name: cachecontrol
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
+- category: main
+ dependencies:
+ appdirs: ''
+ click: '>=5.1'
+ filelock: ''
+ packaging: ''
+ python: '>=3.7'
+ requests: '>=2'
+ hash:
+ md5: e54a91c3a65491b13c68f7696425bac8
+ sha256: a115afdc676c95a17ab63bbda84b7b724bc8817ae54fa34f8991339252424959
+ manager: conda
+ name: ensureconda
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.4-pyhd8ed1ab_0.conda
+ version: 1.4.4
+- category: main
+ dependencies:
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ giflib: '>=5.2.1,<5.3.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
+ lcms2: '>=2.15,<3.0a0'
+ libcups: '>=2.3.3,<2.4.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxi: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ xorg-libxt: '>=1.3.0,<2.0a0'
+ xorg-libxtst: ''
+ hash:
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
+ manager: conda
+ name: openjdk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
+- category: main
+ dependencies:
+ annotated-types: '>=0.4.0'
+ pydantic-core: 2.16.3
+ python: '>=3.7'
+ typing-extensions: '>=4.6.1'
+ hash:
+ md5: b6343b653c5ca8fb18af03f3f5d1cd9f
+ sha256: ff6728ec56f8cc5d0c6dba999de6299f3ce4aa2624b552194dafdb5af1c7fecd
+ manager: conda
+ name: pydantic
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.6.2-pyhd8ed1ab_0.conda
+ version: 2.6.2
+- category: main
+ dependencies:
+ cryptography: ''
+ dbus: ''
+ jeepney: '>=0.6'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 0e6f3ef2dd562ed33d2a18d9c6f78d88
+ sha256: efff009fd24eca4cf1ecdb5010d605db11078f08be7d046d8d23a2e0e63e5015
+ manager: conda
+ name: secretstorage
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py39hf3d152e_2.conda
+ version: 3.3.3
+- category: main
+ dependencies:
+ cachecontrol: 0.14.0 pyhd8ed1ab_0
+ filelock: '>=3.8.0'
+ python: '>=3.7'
+ hash:
+ md5: 4c08fa6e7d1d3f124ad815e21b2210e9
+ sha256: 89a9061aafc28c0e0e2db49a5b99e99797ed3a7127c31deda0cceb4696ae627f
+ manager: conda
+ name: cachecontrol-with-filecache
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
+- category: main
+ dependencies:
+ importlib_metadata: '>=4.11.4'
+ jaraco.classes: ''
+ jeepney: '>=0.4.2'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ secretstorage: '>=3.2'
+ hash:
+ md5: 1426c4f9994cb7e55859b44b98bc7b3e
+ sha256: a7538a914feb54dc3e7ee46431af5f0a40e668b29224998e6d3be044a1a7606e
+ manager: conda
+ name: keyring
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.3.0-py39hf3d152e_0.conda
+ version: 24.3.0
+- category: main
+ dependencies:
+ __unix: ''
+ openjdk: '>=8'
+ hash:
+ md5: b6f6329c1a8a1efaaf16024e545335f5
+ sha256: f5588175723814ad220d6dad75771d7139c293df802ce871ab2b89a629250013
+ manager: conda
+ name: sbt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.9.7-hd8ed1ab_0.conda
+ version: 1.9.7
+- category: main
+ dependencies:
+ cachecontrol-with-filecache: '>=0.12.9'
+ cachy: '>=0.3.0'
+ click: '>=8.0'
+ click-default-group: ''
+ clikit: '>=0.6.2'
+ crashtest: '>=0.3.0'
+ ensureconda: '>=1.3'
+ html5lib: '>=1.0'
+ importlib-metadata: '>=1.7.0'
+ jinja2: ''
+ keyring: '>=21.2.0'
+ packaging: '>=20.4'
+ pkginfo: '>=1.4'
+ pydantic: '>=1.8.1'
+ python: '>=3.6'
+ pyyaml: '>=5.1'
+ requests: '>=2.18'
+ ruamel.yaml: ''
+ tomli: ''
+ tomlkit: '>=0.7.0'
+ toolz: '>=0.12.0,<1.0.0'
+ typing_extensions: ''
+ virtualenv: '>=20.0.26'
+ hash:
+ md5: e9ecdfe3e7d4f76d67afd65b02a621a0
+ sha256: fe66e9970d9ad03e215430f700af994e3ed67d301cd7cf9281f3b8114f50eccc
+ manager: conda
+ name: conda-lock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.4.0-pyhd8ed1ab_2.conda
+ version: 1.4.0
+- category: main
+ dependencies:
+ colorama: ''
+ livereload: ''
+ python: '>=3.9'
+ sphinx: ''
+ hash:
+ md5: 13996799cc0b00919a3c1b9b02e02217
+ sha256: 13e095036649519562f4d1add7eb16004f8ad65efb854b11e836d48bb57e5df9
+ manager: conda
+ name: sphinx-autobuild
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2024.2.4-pyhd8ed1ab_0.conda
+ version: 2024.2.4
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
+ manager: conda
+ name: sphinxcontrib-applehelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
+ manager: conda
+ name: sphinxcontrib-devhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
+ manager: conda
+ name: sphinxcontrib-htmlhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
+- category: main
+ dependencies:
+ python: '>=2.7'
+ sphinx: '>=1.8'
+ hash:
+ md5: 914897066d5873acfb13e75705276ad1
+ sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca
+ manager: conda
+ name: sphinxcontrib-jquery
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda
+ version: '4.1'
+- category: main
+ dependencies:
+ docutils: <0.21
+ python: '>=3.6'
+ sphinx: '>=5,<8'
+ sphinxcontrib-jquery: '>=4,<5'
+ hash:
+ md5: baf6d9a33df1a789ca55e3b404c7ea28
+ sha256: 8545c806d03092fd0236db6663c88036eab2dc99e34c91cd36c0704db03b148a
+ manager: conda
+ name: sphinx_rtd_theme
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-2.0.0-pyha770c72_0.conda
+ version: 2.0.0
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
+ manager: conda
+ name: sphinxcontrib-qthelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ alabaster: '>=0.7,<0.8'
+ babel: '>=2.9'
+ colorama: '>=0.4.5'
+ docutils: '>=0.18.1,<0.21'
+ imagesize: '>=1.3'
+ importlib-metadata: '>=4.8'
+ jinja2: '>=3.0'
+ packaging: '>=21.0'
+ pygments: '>=2.14'
+ python: '>=3.9'
+ requests: '>=2.25.0'
+ snowballstemmer: '>=2.0'
+ sphinxcontrib-applehelp: ''
+ sphinxcontrib-devhelp: ''
+ sphinxcontrib-htmlhelp: '>=2.0.0'
+ sphinxcontrib-jsmath: ''
+ sphinxcontrib-qthelp: ''
+ sphinxcontrib-serializinghtml: '>=1.1.9'
+ hash:
+ md5: bbfd1120d1824d2d073bc65935f0e4c0
+ sha256: 665d1fe6d20c6cc672ff20e6ebb405860f878b487d3d8d86a5952733fb7bbc42
+ manager: conda
+ name: sphinx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-7.2.6-pyhd8ed1ab_0.conda
+ version: 7.2.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
+ manager: conda
+ name: sphinxcontrib-serializinghtml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
+version: 1
diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml
index f5fc3fbf..1f16443c 100644
--- a/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml
+++ b/conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml
@@ -9,7 +9,7 @@
# To update a single package to the latest version compatible with the version constraints in the source:
# conda-lock lock --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml --update PACKAGE
# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
-# conda-lock -f /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-fixes-1/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml
+# conda-lock -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-extended.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/esp-tools.yaml --lockfile conda-requirements-esp-tools-linux-64.conda-lock.yml
metadata:
channels:
- url: ucb-bar
@@ -21,12 +21,14 @@ metadata:
- url: nodefaults
used_env_vars: []
content_hash:
- linux-64: db7fdb1eff05509c5804999acd40af2d5f212a2f7d2eca69702241bfbebef70d
+ linux-64: 511690ace5cbcb51d8cea369b2a764939d7a99afccda2977c1f3aec12292420b
platforms:
- linux-64
sources:
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/esp-tools.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-extended.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/esp-tools.yaml
package:
- category: main
dependencies: {}
@@ -42,13 +44,13 @@ package:
- category: main
dependencies: {}
hash:
- md5: f6ce7955b53ae1ca83144adb3be9c600
- sha256: 546e4eb1cbd822a66b363ec3fbdcc4fcc53853bcab57674cb46b8f3209b856f2
+ md5: 38d211c448a67f12fe693fe25df4da23
+ sha256: 0dbeaddc3d5134b5336c52ac05642533b8d1ba2e1316aa92981f4cf5b5388de0
manager: conda
name: _sysroot_linux-64_curr_repodata_hack
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_13.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_14.conda
version: '3'
- category: main
dependencies: {}
@@ -64,25 +66,25 @@ package:
- category: main
dependencies: {}
hash:
- md5: 01ffc8d36f9eba0ce0b3c1955fa780ee
- sha256: fb4b9f4b7d885002db0b93e22f44b5b03791ef3d4efdc9d0662185a0faafd6b6
+ md5: 2f4327a1cbe7f022401b236e915a5fef
+ sha256: 91d81bfecdbb142c15066df70cc952590ae8991670198f92c66b62019b251aeb
manager: conda
name: ca-certificates
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.11.17-hbcca054_0.conda
- version: 2023.11.17
+ url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.2.2-hbcca054_0.conda
+ version: 2024.2.2
- category: main
dependencies: {}
hash:
- md5: 9936f9d4393c27069e6ee70338f955a5
- sha256: 5098310ea9ec4dae611a658c1ea26436001b2d2a4ed3c8e9468881337e02682f
+ md5: fd2989188c0421b101b12c4ee91a8967
+ sha256: f0cb3d37b2642bf982d497d63f351dcdcd03cea1b0b175d4d3c9d13b3c022d80
manager: conda
name: conda-standalone
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.10.0-ha770c72_0.conda
- version: 23.10.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.11.0-ha770c72_1.conda
+ version: 23.11.0
- category: main
dependencies: {}
hash:
@@ -141,47 +143,47 @@ package:
- category: main
dependencies: {}
hash:
- md5: 1d7f6d1825bd6bf21ee04336ec87a777
- sha256: 92bec8177aacfcd49a8e5bda49c10e4b77e239e9d58a0ca4ef31344a2be1fc82
+ md5: fb94f6b17ef1a75faac2e06937dc4223
+ sha256: 86d1e11bf0b8dbc74fec07f3c71bb1b20f83e32b5b9f8625b3dc653ce00e40bd
manager: conda
name: libgcc-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
- md5: 3f784d2c059e960156d1ab3858cbf200
- sha256: 8a78b0ab9f845a90d3b66a5d83e4e1131a236d1c5badd3660fb7c12daac796bf
+ md5: a884fe2f11c6167f3dc62d4b1db20ced
+ sha256: 20c4f2b96b8fb57a3cad0bb8f1ce407ee7bc935cb0ce68b430b10b77616c0b16
manager: conda
name: libstdcxx-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
- md5: 937eaed008f6bf2191c5fe76f87755e9
- sha256: 6c6c49efedcc5709a66f19fb6b26b69c6a5245310fd1d9a901fd5e38aaf7f882
+ md5: f6f6600d18a4047b54f803cf708b868a
+ sha256: a56c5b11f1e73a86e120e6141a42d9e935a99a2098491ac9e15347a1476ce777
manager: conda
name: libstdcxx-ng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_5.conda
version: 13.2.0
- category: main
dependencies: {}
hash:
- md5: 5b874a5f133b1bd0c5f227eed4758fdb
- sha256: 9aa01c1102811cae6f60efa9d17f8f44365791d53a712dce3fe9a0488b6f6c2f
+ md5: 45965b2693535c0b8a1f8a71f416d22d
+ sha256: 7327eb9b9b343f7c4b8ba0b7dce5a022c72fbbb0f56b9a780f6c90276ef19072
manager: conda
name: open_pdks.sky130a
optional: false
platform: linux-64
- url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.458_0_g8c68aca-20231104_052339.tar.bz2
- version: 1.0.458_0_g8c68aca
+ url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.470_0_g6d4d117-20240223_100318.tar.bz2
+ version: 1.0.470_0_g6d4d117
- category: main
dependencies: {}
hash:
@@ -196,14 +198,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 939e3e74d8be4dac89ce83b20de2492a
- sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55
+ md5: 161081fc7cec0bfda0d86d7cb595f8d8
+ sha256: 7b2b69c54ec62a243eb6fba2391b5e443421608c3ae5dbff938ad33ca8db5122
manager: conda
name: tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda
- version: 2023c
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda
+ version: 2024a
- category: main
dependencies:
font-ttf-dejavu-sans-mono: ''
@@ -223,25 +225,25 @@ package:
dependencies:
_sysroot_linux-64_curr_repodata_hack: 3.*
hash:
- md5: 523bc836a954faf0cca94831971bb85a
- sha256: 67a3caa56e2a59f407f3d290437b865aaf996873006e2fcfca6295d0f0be8db9
+ md5: f6c14886b1695a2462d296176e831080
+ sha256: 604b9345a7a1474b7eb33260e382446754d16eed754b853d7571d0e39bfc7737
manager: conda
name: kernel-headers_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_13.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_14.conda
version: 3.10.0
- category: main
dependencies:
_libgcc_mutex: 0.1 conda_forge
hash:
- md5: 7124cbb46b13d395bdde68f2d215c989
- sha256: 6ebedee39b6bbbc969715d0d7fa4b381cce67e1139862604ffa393f821c08e81
+ md5: d211c42b9ce49aee3734fdc828731689
+ sha256: 0d3d4b1b0134283ea02d58e8eb5accf3655464cf7159abf098cc694002f8d34e
manager: conda
name: libgomp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_5.conda
version: 13.2.0
- category: main
dependencies:
@@ -271,15 +273,15 @@ package:
- category: main
dependencies:
_sysroot_linux-64_curr_repodata_hack: 3.*
- kernel-headers_linux-64: 3.10.0 h4a8ded7_13
+ kernel-headers_linux-64: 3.10.0 h4a8ded7_14
hash:
- md5: 57e5a5191ffe999b9f4dfdbcd0ddcba4
- sha256: f09f2fea4b571dcd225f1e35bd3c851e809cd4c2f5f151438133969ab28478e5
+ md5: d5f7a1cca06f56e6ac2b525f199f9b9e
+ sha256: af0f9ed466f97e3910c1d867ab44c974e01383cb408baa38606265964c7f0857
manager: conda
name: sysroot_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_13.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_14.conda
version: '2.17'
- category: main
dependencies:
@@ -299,26 +301,26 @@ package:
_libgcc_mutex: 0.1 conda_forge
_openmp_mutex: '>=4.5'
hash:
- md5: 23fdf1fef05baeb7eadc2aed5fb0011f
- sha256: 5e88f658e07a30ab41b154b42c59f079b168acfa9551a75bdc972099453f4105
+ md5: d4ff227c46917d3b4565302a2bbb276b
+ sha256: d32f78bfaac282cfe5205f46d558704ad737b8dbf71f9227788a5ca80facaba4
manager: conda
name: libgcc-ng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_5.conda
version: 13.2.0
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: a0c6f0e7e1a467f5678f94dea18c8aa7
- sha256: f177627acdfcead15a28f4a07fcda6a1e26b83f053eaa1efa7cce01c0a3b09a8
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
manager: conda
name: alsa-lib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.9-hd590300_0.conda
- version: 1.2.9
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -371,14 +373,14 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: d459949bc10f64dee1595c176c2e6291
- sha256: 6b0eee827bade11c2964a05867499a50ad2a9d1b14dfe18fb867a3bc9357f56f
+ md5: f6afff0e9ee08d2f1b897881a4f38cdb
+ sha256: 2a5866b19d28cb963fab291a62ff1c884291b9d6f59de14643e52f103e255749
manager: conda
name: c-ares
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.23.0-hd590300_0.conda
- version: 1.23.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.27.0-hd590300_0.conda
+ version: 1.27.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -495,14 +497,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 7c8d20d847bb45f56bd941578fcfa146
- sha256: e44cc00eec068e7f7a6dd117ba17bf5d57658729b7b841945546f82505138292
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
manager: conda
name: icu
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/icu-72.1-hcb278e6_0.conda
- version: '72.1'
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
- category: main
dependencies:
libgcc-ng: '>=10.3.0'
@@ -533,14 +535,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 2785ddf4cb0e7e743477991d64353947
- sha256: 8729021a93e67bb93b4e73ef0a132499db516accfea11561b667635bcd0507e7
+ md5: 382a84d056794384ed6ac72dc434e586
+ sha256: 61009cc1fd9e8fa745aec2427849bcc95f7387c7c3f13780b03b02baa820a3e4
manager: conda
name: libabseil
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20230802.1-cxx17_h59595ed_0.conda
- version: '20230802.1'
+ url: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.1-cxx17_h59595ed_1.conda
+ version: '20240116.1'
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -557,25 +559,25 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 6aa9c9de5542ecb07fdda9ca626252d8
- sha256: 949d84ceea543802c1e085b2aa58f1d6cb5dd8cec5a9abaaf4e8ac65d6094b3a
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
manager: conda
name: libdeflate
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.18-h0b41bf4_0.conda
- version: '1.18'
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
- category: main
dependencies:
- libgcc-ng: '>=7.5.0'
+ libgcc-ng: '>=12'
hash:
- md5: 6f8720dff19e17ce5d48cfe7f3d2f0a3
- sha256: 8c9635aa0ea28922877dc96358f9547f6a55fc7e2eb75a556b05f1725496baf9
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
manager: conda
name: libev
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
version: '4.33'
- category: main
dependencies:
@@ -617,38 +619,38 @@ package:
dependencies:
libgcc-ng: '>=13.2.0'
hash:
- md5: c714d905cdfa0e70200f68b80cc04764
- sha256: 0084a1d29a4f8ee3b8edad80eb6c42e5f0480f054f28cf713fb314bebb347a50
+ md5: 7a6bd7a12a4bd359e2afe6c0fa1acace
+ sha256: ba8d94e8493222ce155bb264d9de4200e41498a458e866fedf444de809bde8b6
manager: conda
name: libgfortran5
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_5.conda
version: 13.2.0
- category: main
dependencies:
- libgcc-ng: '>=10.3.0'
+ libgcc-ng: '>=12'
hash:
- md5: b62b52da46c39ee2bc3c162ac7f1804d
- sha256: 6a81ebac9f1aacdf2b4f945c87ad62b972f0f69c8e0981d68e111739e6720fd7
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
manager: conda
name: libiconv
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
version: '1.17'
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 323e90742f0f48fc22bea908735f55e6
- sha256: 0ef7378818c6d5b407692d02556c32e2f6af31c7542bca5160d0b92a59427fb5
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
manager: conda
name: libjpeg-turbo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.5.1-hd590300_1.conda
- version: 2.1.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -663,16 +665,16 @@ package:
version: 2.0.1
- category: main
dependencies:
- libgcc-ng: '>=12.3.0'
+ libgcc-ng: '>=11.4.0'
hash:
- md5: eda05ab0db8f8490945fd99244183e3a
- sha256: 903c5786e0379da751e297dbe603be19b030994bac3caa74b3a596c1858c0296
+ md5: 47a9846c7679f8381b06fc5052ab4a4b
+ sha256: fc00e9a71c07446cf1744bd1d5cd3efa6dfd3a7db6c2c8a82853f19b8b1416f8
manager: conda
name: libsanitizer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.3.0-h0f45ef3_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_5.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -697,18 +699,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libtasn1-4.19.0-h166bdaf_0.tar.bz2
version: 4.19.0
-- category: main
- dependencies:
- libgcc-ng: '>=12'
- hash:
- md5: f204c8ba400ec475452737094fb81d52
- sha256: 345b3b580ef91557a82425ea3f432a70a8748c040deb14570b9f4dca4af3e3d1
- manager: conda
- name: libtool
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda
- version: 2.4.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -737,26 +727,38 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: d23c76f7e6dcd6243d1b6ef5e62d17d2
- sha256: 4bc4c946e9a532c066442714eeeeb1ffbd03cd89789c4047293f5e782b5fedd7
+ md5: a7a94e1b751a9fe2be88f3934b3a0739
+ sha256: 53bd8f6bebc85555c5dd648072693e37fcdf777f993e9a108c4a7badf2e8810c
manager: conda
name: libuv
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.46.0-hd590300_0.conda
- version: 1.46.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.47.0-hd590300_0.conda
+ version: 1.47.0
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 82bf6f63eb15ef719b556b63feec3a77
- sha256: 66658d5cdcf89169e284488d280b6ce693c98c0319d7eabebcedac0929140a73
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
manager: conda
name: libwebp-base
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.1-hd590300_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -859,14 +861,14 @@ package:
ca-certificates: ''
libgcc-ng: '>=12'
hash:
- md5: 603827b39ea2b835268adb8c821b8570
- sha256: 80efc6f429bd8e622d999652e5cba2ca56fcdb9c16a439d2ce9b4313116e4a87
+ md5: 51a753e64a3027bd7e23a189b1f6e91e
+ sha256: c02c12bdb898daacf7eb3d09859f93ea8f285fd1a6132ff6ff0493ab52c7fe57
manager: conda
name: openssl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.0-hd590300_1.conda
- version: 3.2.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.1-hd590300_0.conda
+ version: 3.2.1
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -884,14 +886,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 700edd63ccd5fc66b70b1c028cea9a68
- sha256: ae917851474eb3b08812b02c9e945d040808523ec53f828aa74a90b0cdf15f57
+ md5: 71004cbf7924e19c02746ccde9fd7123
+ sha256: 366d28e2a0a191d6c535e234741e0cd1d94d713f76073d8af4a5ccb2a266121e
manager: conda
name: pixman
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.42.2-h59595ed_0.conda
- version: 0.42.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda
+ version: 0.43.2
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1128,14 +1130,14 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
hash:
- md5: fe9b3bb0a3961dfb12506d865d818c00
- sha256: 8f3b8f8b7b1f021eac80018d03ff24e2b390627b53eb17f07476f38ea67f4c56
+ md5: a4a83424ad4eab023c6e5b4adf264006
+ sha256: 8696e7023fde7c4588db8aedd08ffc0b4041c8449bd9edd50f237534cbcfac93
manager: conda
name: aws-c-sdkutils
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-h7f92143_6.conda
- version: 0.1.12
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.13-h7f92143_0.conda
+ version: 0.1.13
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -1219,34 +1221,34 @@ package:
- category: main
dependencies:
binutils_impl_linux-64: '>=2.39'
- libgcc-devel_linux-64: 12.3.0 h8bca6fd_103
- libgcc-ng: '>=12.3.0'
- libgomp: '>=12.3.0'
- libsanitizer: 12.3.0 h0f45ef3_3
- libstdcxx-ng: '>=12.3.0'
+ libgcc-devel_linux-64: 11.4.0 h922705a_105
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_5
+ libstdcxx-ng: '>=11.4.0'
sysroot_linux-64: ''
hash:
- md5: 71c68ea75afe6ac7a9c62c08f5d67a5a
- sha256: ab2ea2890f43d45dc49ff59a3c35348e675ba728e088957209fa8f0e40a498e5
+ md5: dd619b391c1c85728a6c70aac733e0a8
+ sha256: b354a25c5eee51c7f2d9bd1232d445302068e55e540eddddf32bf96cc54f48b9
manager: conda
name: gcc_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
oniguruma: '>=6.9.9,<6.10.0a0'
hash:
- md5: c29cbd5ee663325f9bed9a2b2488ef3a
- sha256: e994d4e162a882ed9706f1ce992b5c33419ef425eafcd321252a6f94d3a05ab8
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
manager: conda
name: jq
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7-hd590300_0.conda
- version: '1.7'
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
- category: main
dependencies:
libbrotlicommon: 1.1.0 hd590300_1
@@ -1288,30 +1290,44 @@ package:
version: 3.1.20191231
- category: main
dependencies:
- libgfortran5: 13.2.0 ha4646dd_3
+ libgfortran5: 13.2.0 ha4646dd_5
hash:
- md5: 73031c79546ad06f1fe62e57fdd021bc
- sha256: 5b918950b84605b6865de438757f507b1eff73c96fd562f7022c80028b088c14
+ md5: e73e9cfd1191783392131e6238bdb3e9
+ sha256: 238c16c84124d58307376715839aa152bd4a1bf5a043052938ad6c3137d30245
manager: conda
name: libgfortran-ng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_5.conda
version: 13.2.0
+- category: main
+ dependencies:
+ gettext: '>=0.21.1,<1.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 4d18d86916705d352d5f4adfb7f0edd3
+ sha256: c448c6d86d27e10b9e844172000540e9cbfe9c28f968db87f949ba05add9bd50
+ manager: conda
+ name: libgpg-error
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.48-h71f35ed_0.conda
+ version: '1.48'
- category: main
dependencies:
gettext: '>=0.21.1,<1.0a0'
libgcc-ng: '>=12'
libunistring: '>=0,<1.0a0'
hash:
- md5: 7440fbafd870b8bab68f83a064875d34
- sha256: 888848ae85be9df86f56407639c63bdce8e7651f0b2517be9bc0ac6e38b2d21d
+ md5: 2b7b0d827c6447cc1d85dc06d5b5de46
+ sha256: 253f9be445c58bf07b39d8f67ac08bccc5010c75a8c2070cddfb6c20e1ca4f4f
manager: conda
name: libidn2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.4-h166bdaf_0.tar.bz2
- version: 2.3.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.7-hd590300_0.conda
+ version: 2.3.7
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1327,62 +1343,62 @@ package:
version: '5.39'
- category: main
dependencies:
- c-ares: '>=1.21.0,<2.0a0'
- libev: '>=4.33,<4.34.0a0'
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 9b13d5ee90fc9f09d54fd403247342b4
- sha256: 151b18e4f92dcca263a6d23e4beb0c4e2287aa1c7d0587ff71ef50035ed34aca
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
manager: conda
name: libnghttp2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_0.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
version: 1.58.0
- category: main
dependencies:
libgcc-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: e1c890aebdebbfbf87e2c917187b4416
- sha256: a32b36d34e4f2490b99bddbc77d01a674d304f667f0e62c89e02c961addef462
+ md5: 009981dd9cfcaa4dbfa25ffaed86bcae
+ sha256: 502f6ff148ac2777cc55ae4ade01a8fc3543b4ffab25c4e0eaa15f94e90dd997
manager: conda
name: libpng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda
- version: 1.6.39
+ url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.43-h2797004_0.conda
+ version: 1.6.43
- category: main
dependencies:
- libabseil: '>=20230802.1,<20230803.0a0'
+ libabseil: '>=20240116.1,<20240117.0a0'
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 1a0287ab734591ad63603734f923016b
- sha256: 3e0f6454190abb27edd2aeb724688ee440de133edb02cbb17d5609ba36aa8be0
+ md5: babbc506d2626698412c2e4ade78a20a
+ sha256: 433a82d1fc0d0fe78d93c34e4665bd0c931eb2e528be076875226ddf87e0d80a
manager: conda
name: libprotobuf
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.24.4-hf27288f_0.conda
- version: 4.24.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.2-h08a7969_1.conda
+ version: 4.25.2
- category: main
dependencies:
libgcc-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 3b6a9f225c3dbe0d24f4fedd4625c5bf
- sha256: ee2c4d724a3ed60d5b458864d66122fb84c6ce1df62f735f90d8db17b66cd88a
+ md5: fc4ccadfbf6d4784de88c41704792562
+ sha256: 1b379d1c652b25d0540251d422ef767472e768fd36b77261045e97f9ba6d3faa
manager: conda
name: libsqlite
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda
- version: 3.44.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.1-h2797004_0.conda
+ version: 3.45.1
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1414,20 +1430,20 @@ package:
version: '1.15'
- category: main
dependencies:
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
libiconv: '>=1.17,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
hash:
- md5: 241845899caff54ac1d2b3102ad988cf
- sha256: 624b6e29e23a51353cff2aff7364c42b831139afd131d239e79f60aea4dae887
+ md5: c442ebfda7a475f5e78f1c8e45f1e919
+ sha256: db9bf97e9e367985204331b58a059ebd5a4e0cb9e1c8754e9ecb23046b7b7bc1
manager: conda
name: libxml2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.4-hfdac1af_0.conda
- version: 2.10.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.5-h232c23b_0.conda
+ version: 2.12.5
- category: main
dependencies:
libgcc-ng: '>=7.3.0'
@@ -1485,15 +1501,15 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libnsl: '>=2.0.0,<2.1.0a0'
+ libxcrypt: '>=4.4.36'
hash:
- md5: 3e785bff761095eb7f8676f4694bd1b1
- sha256: 6e18c1488d191cb1a43a483f44fffa75668779a29927319b4adeb10da12ad06b
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
manager: conda
name: perl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-4_hd590300_perl5.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
version: 5.32.1
- category: main
dependencies:
@@ -1524,16 +1540,16 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 04b4845b9e9b5a0ee6eba013ecdbbddb
- sha256: 4c00411d49fefc6a53167c3120e386b3f35510544a44d2e647615b510a622f29
+ md5: 3d1b58d2664d96f9fbc0afe5e1d04632
+ sha256: f6cc2bdcb5d809bbaae218e03bdefef4a309d1fc7ccc9444fda59bd4553a83f8
manager: conda
name: s2n
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.3.56-h06160fa_0.conda
- version: 1.3.56
+ url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.4.0-h06160fa_0.conda
+ version: 1.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1646,29 +1662,29 @@ package:
aws-c-cal: '>=0.6.9,<0.6.10.0a0'
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: d15f4dfeef1d65de9a5283c984981776
- sha256: ca5094093d0f2de9b0b2bd4697088565d0ef930364df8a67c8b79172dc9c209d
+ md5: c930336aa72995f1b5459b51df3ba841
+ sha256: 7426f7444cd43cd7a649670c7330c163b40f40aa832e82be873d9de91e49b05e
manager: conda
name: aws-c-io
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he14a76f_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he0cd244_2.conda
version: 0.13.36
- category: main
dependencies:
libgcc-ng: '>=12'
readline: '>=8.2,<9.0a0'
hash:
- md5: 91824b6e55d580d39050fa4ff8e26edd
- sha256: 20aed66138e13e1906ea925ee9ad661749492fc57762d2b4b6d631635274be7d
+ md5: c3f99059d4c3a2285f3c29c86c462c0f
+ sha256: 7543ca8fc7941974cb012b2ff8d842ff83e0365ff21bd2c7fdbbd468511b6f80
manager: conda
name: bash
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/bash-5.2.15-h7f99829_1.conda
- version: 5.2.15
+ url: https://conda.anaconda.org/conda-forge/linux-64/bash-5.2.21-h7f99829_0.conda
+ version: 5.2.21
- category: main
dependencies:
flex: ''
@@ -1699,16 +1715,16 @@ package:
version: 1.1.0
- category: main
dependencies:
- gcc_impl_linux-64: '>=12.3.0,<12.3.1.0a0'
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
hash:
- md5: 93700ef8b49aebbfb0bf40e0b1448834
- sha256: f361a244a51874065b4d9a2d27089647e7966050abb8a76cad57471776b8ba19
+ md5: f400dd0a481abdfff466337623081d1a
+ sha256: 33504fd9020cd95f66c1d096112634c12e8bfd813d2bcd52ede90626c4768d3b
manager: conda
name: conda-gcc-specs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.3.0-h83fac38_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_5.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1752,16 +1768,16 @@ package:
version: 2.12.1
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0.*
+ gcc_impl_linux-64: 11.4.0.*
hash:
- md5: e2f2f81f367e14ca1f77a870bda2fe59
- sha256: 1bbf077688822993c39518056fb43d83ff0920eb42fef11e8714d2a298cc0f27
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
manager: conda
name: gcc
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1781,18 +1797,18 @@ package:
version: 3.7.9
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0 he2b93b0_3
- libstdcxx-devel_linux-64: 12.3.0 h8bca6fd_103
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_5
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_105
sysroot_linux-64: ''
hash:
- md5: b6ce9868fc6c65a18c22fd983e2d7e6f
- sha256: 63e75858b60fe6d7227cd6026ed7ad0a8df4c5592454f752ff7ffc1e283e66a7
+ md5: 99ef88bf2364edd566e9bfec9db2bf95
+ sha256: 391b83e5cf7a31f49c3d2147dcc146a62a0a98d2c73e629680b6263b8e2c9df4
manager: conda
name: gxx_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
- category: main
dependencies:
keyutils: '>=1.6.1,<2.0a0'
@@ -1813,7 +1829,7 @@ package:
dependencies:
bzip2: '>=1.0.8,<2.0a0'
libgcc-ng: '>=12'
- libxml2: '>=2.9.14,<2.11.0a0'
+ libxml2: '>=2.9.14,<3.0.0a0'
libzlib: '>=1.2.12,<1.3.0a0'
lz4-c: '>=1.9.3,<1.10.0a0'
lzo: '>=2.10,<3.0a0'
@@ -1829,6 +1845,19 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.5.2-hada088e_3.tar.bz2
version: 3.5.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libgpg-error: '>=1.47,<2.0a0'
+ hash:
+ md5: 32d16ad533c59bb0a3c5ffaf16110829
+ sha256: d1bd47faa29fec7288c7b212198432b07f890d3d6f646078da93b059c2e9daff
+ manager: conda
+ name: libgcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.3-hd590300_0.conda
+ version: 1.10.3
- category: main
dependencies:
gettext: '>=0.21.1,<1.0a0'
@@ -1839,81 +1868,81 @@ package:
libzlib: '>=1.2.13,<1.3.0a0'
pcre2: '>=10.42,<10.43.0a0'
hash:
- md5: 70052d6c1e84643e30ffefb21ab6950f
- sha256: 4e6fa28002f834cfc30a64792e95c1701d835cc3d3a4bb18d6e8d16bb8aba05b
+ md5: d86baf8740d1a906b9716f2a0bac2f2d
+ sha256: 3a03a5254d2fd29c1e0ffda7250e22991dfbf2c854301fd56c408d97a647cfbd
manager: conda
name: libglib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-h783c2da_1.conda
- version: 2.78.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.4-h783c2da_0.conda
+ version: 2.78.4
- category: main
dependencies:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 3d942f062d7656168bb42b3439bdfede
- sha256: c52c239b583a1b2d03bdc641afd8cbab0499b0a46ea55b40e1dbed112283a772
+ md5: 94246254aa1699cc154ade6ffda128a4
+ sha256: f0c46a724eeaaf5f45670b8344616e5a0397b7b7ae66ce01fc184fe80e37b0bc
manager: conda
- name: libllvm16
+ name: libllvm17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libllvm16-16.0.3-hbf9e925_1.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libllvm17-17.0.6-hb3ce162_1.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
libgfortran-ng: ''
libgfortran5: '>=12.3.0'
hash:
- md5: d172b34a443b95f86089e8229ddc9a17
- sha256: 628564517895ee1b09cf72c817548bd80ef1acce6a8214a8520d9f7b44c4cfaf
+ md5: 760ae35415f5ba8b15d09df5afe8b23a
+ sha256: b626954b5a1113dafec8df89fa8bf18ce9b4701464d9f084ddd7fc9fac404bbd
manager: conda
name: libopenblas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.25-pthreads_h413a1c8_0.conda
- version: 0.3.25
+ url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.26-pthreads_h413a1c8_0.conda
+ version: 0.3.26
- category: main
dependencies:
lerc: '>=4.0.0,<5.0a0'
- libdeflate: '>=1.18,<1.19.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libstdcxx-ng: '>=12'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 5b09e13d732dda1a2bc9adc711164f4d
- sha256: 631ccfdd460eda9661b6371aa459fe5ce174816365873deb5af955c9e10bf8c2
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
manager: conda
name: libtiff
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.1-h8b53f26_1.conda
- version: 4.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libprotobuf: '>=4.24.4,<4.24.5.0a0'
+ libprotobuf: '>=4.25.2,<4.25.3.0a0'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
- openssl: '>=3.2.0,<4.0a0'
+ openssl: '>=3.2.1,<4.0a0'
perl: '>=5.32.1,<5.33.0a0 *_perl5'
hash:
- md5: 194cc570b66f8726e92eaa58d141b935
- sha256: 30ac68088afe7568df797549a091556cf55ea28154a3f27cb524005ea4be6086
+ md5: cdedc8ae2f54cc9da07c357a18af8adf
+ sha256: 06ba81bbbd4a0399f59941c9580b898b76064d800fb89b68f3ce24fa2624ded7
manager: conda
name: mosh
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h2f1bd5e_5.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h092b9fe_7.conda
version: 1.4.0
- category: main
dependencies:
@@ -1935,24 +1964,25 @@ package:
ld_impl_linux-64: '>=2.36.1'
libffi: '>=3.4,<4.0a0'
libgcc-ng: '>=12'
- libnsl: '>=2.0.0,<2.1.0a0'
- libsqlite: '>=3.43.0,<4.0a0'
+ libnsl: '>=2.0.1,<2.1.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
- openssl: '>=3.1.2,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
readline: '>=8.2,<9.0a0'
- tk: '>=8.6.12,<8.7.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
tzdata: ''
xz: '>=5.2.6,<6.0a0'
hash:
- md5: 3ede353bc605068d9677e700b1847382
- sha256: 18db2220328abee8eb19f51c8df88bcfdf3a557b8181e7f5bda291deb067e40f
+ md5: 255a7002aeec7a067ff19b545aca6328
+ sha256: c0e800d255a771926007043d2859cbbbdb1387477ec813f085640c8887b391a2
manager: conda
name: python
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.18-h0755675_0_cpython.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.9.18-h0755675_1_cpython.conda
version: 3.9.18
- category: main
dependencies:
@@ -1976,19 +2006,19 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libsqlite: 3.44.2 h2797004_0
+ libsqlite: 3.45.1 h2797004_0
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
readline: '>=8.2,<9.0a0'
hash:
- md5: 4f2892c672829693fd978d065db4e8be
- sha256: bae479520fe770fe11996b4c240923ed097f851fbd2401d55540e551c9dbbef7
+ md5: 93acf31b379acebada263b9bce3dc6ed
+ sha256: a7cbde68eff5d2ec9bb1b5f2604a523949048a9b5335588eac2d893fd0dd5200
manager: conda
name: sqlite
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.44.2-h2c6b66d_0.conda
- version: 3.44.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.45.1-h2c6b66d_0.conda
+ version: 3.45.1
- category: main
dependencies:
libgcc-ng: '>=9.4.0'
@@ -2023,16 +2053,16 @@ package:
version: 1.8.7
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.9'
hash:
- md5: 06006184e203b61d3525f90de394471e
- sha256: b2d160a050996950434c6e87a174fc01c4a937cbeffbdd20d1b46126b4478a95
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
manager: conda
name: alabaster
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.13-pyhd8ed1ab_0.conda
- version: 0.7.13
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
- category: main
dependencies:
python: ''
@@ -2061,14 +2091,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: c629a13439d80b37c6a946b098c4ac2b
- sha256: 62c3486961e43fb9b495b7854f48fea9b486b2176a9629c6faf80c445543b1aa
+ md5: 4017741f57d9bbf3cf184ca147859f78
+ sha256: 8a1d1f92d40c6686d10ecce290a42560d023ecc02676f54dcfedfc0ede354f52
manager: conda
name: argcomplete
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.1.6-pyhd8ed1ab_0.conda
- version: 3.1.6
+ url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.2.2-pyhd8ed1ab_0.conda
+ version: 3.2.2
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -2087,14 +2117,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: 3edfead7cedd1ab4400a6c588f3e75f8
- sha256: 063639cd568f5c7a557b0fb1cc27f098598c0d8ff869088bfeb82934674f8821
+ md5: 5e4c0743c70186509d1412e03c2d8dfa
+ sha256: 77c7d03bdb243a048fff398cedc74327b7dc79169ebe3b4c8448b0331ea55fea
manager: conda
name: attrs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.1.0-pyh71513ae_1.conda
- version: 23.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda
+ version: 23.2.0
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -2133,14 +2163,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: be773757df1f0a5f7c783d6c56666ee7
- sha256: 6c1ea83b3a9f7d7ae5681cbd2eb6d4cc770e103c86f303ab3c568a7249383561
+ md5: 171d33a4f1694713e0646dbc98e7f7cf
+ sha256: 72c5a63962463b0d7c7c95db33266c8dbcdd72cd8ae9ca81d42f253f9d80cdf3
manager: conda
name: bcrypt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.1-py39h9fdd4d6_0.conda
- version: 4.1.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.2-py39h9fdd4d6_0.conda
+ version: 4.1.2
- category: main
dependencies:
python: '>=3.8'
@@ -2155,16 +2185,16 @@ package:
version: 1.7.0
- category: main
dependencies:
- python: ==2.7.*|>=3.7
+ python: 2.7.*|>=3.7
hash:
- md5: 033eb25fffd222aceeca6d58cd953680
- sha256: 4ff828cceb8f55cb26d23b1a4c174d22c7cd92350221724bcaf2d6632e33fdee
+ md5: 56febe65315cc388a5d20adf2b39a74d
+ sha256: 0ff5173f6b20a5c95401aa52d10dbdc05c322fc568dc7417c6f76cf68e706d16
manager: conda
name: boltons
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.0.0-pyhd8ed1ab_0.conda
- version: 23.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.1.1-pyhd8ed1ab_0.conda
+ version: 23.1.1
- category: main
dependencies:
brotli-bin: 1.1.0 hd590300_1
@@ -2211,14 +2241,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: 2011bcf45376341dd1d690263fdbc789
- sha256: afa22b77128a812cb57bc707c297d926561bd225a3d9dd74205d87a3b2d14a96
+ md5: 0876280e409658fc6f9e75d035960333
+ sha256: f1faca020f988696e6b6ee47c82524c7806380b37cfdd1def32f92c326caca54
manager: conda
name: certifi
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda
- version: 2023.11.17
+ url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda
+ version: 2024.2.2
- category: main
dependencies:
python: '>=3.6.1'
@@ -2322,14 +2352,14 @@ package:
dependencies:
python: 2.7|>=3.6
hash:
- md5: 12d8aae6994f342618443a8f05c652a0
- sha256: 13c887cb4a29e1e853a118cfc0e42b72a7e1d1c50c66c0974885d37f0db30619
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
manager: conda
name: distlib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.7-pyhd8ed1ab_0.conda
- version: 0.3.7
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
- category: main
dependencies:
python: '>=3.6'
@@ -2376,13 +2406,13 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: f6c211fee3c98229652b60a9a42ef363
- sha256: cf83dcaf9006015c8ccab3fc6770f478464a66a8769e1763ca5d7dff09d11d08
+ md5: 8d652ea2ee8eaee02ed8dc820bc794aa
+ sha256: a6ae416383bda0e3ed14eaa187c653e22bec94ff2aa3b56970cdf0032761e80d
manager: conda
name: exceptiongroup
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_0.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_2.conda
version: 1.2.0
- category: main
dependencies:
@@ -2418,42 +2448,42 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 5ccdccec4ed5576ae7382e33cd343dc2
- sha256: f1d0981597be0e7f78c4454517e16e09f0c7290af30e0e705a5a6a4952cf7bdd
+ md5: 194fa03bd6b1054b8de8d48d335e45b2
+ sha256: a011b537e04ef72d85ff47d7d60ebc815c457a2790a6ab8d77a0956db78b08e1
manager: conda
name: frozenlist
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.0-py39hd1e30aa_1.conda
- version: 1.4.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.1-py39hd1e30aa_0.conda
+ version: 1.4.1
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 5b86cf1ceaaa9be2ec4627377e538db1
- sha256: 1bbdfadb93cc768252fd207dca406cde928f9a81ff985ea1760b6539c55923e6
+ md5: fad86b90138cf5d82c6f5a2ed6e683d9
+ sha256: 3f7e123dd82fe99450d1e0ffa389e8218ef8c9ee257c836e21b489548c039ae6
manager: conda
name: fsspec
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2023.10.0-pyhca7485f_0.conda
- version: 2023.10.0
+ url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.2.0-pyhca7485f_0.conda
+ version: 2024.2.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libglib: '>=2.74.1,<3.0a0'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: ee8220db21db8094998005990418fe5b
- sha256: 7acc699871310e9a89aaa7e90de9ac949e2fa649232c8a8dfcafa67e8f36a266
+ md5: 252a696860674caf7a855e16f680d63a
+ sha256: 884992d0665a0a5c728943d99b5fba30fd6911bb84eee622fa7ad8a4fa9f6cf7
manager: conda
name: gdk-pixbuf
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h6b639ba_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h829c605_4.conda
version: 2.42.10
- category: main
dependencies:
@@ -2488,17 +2518,17 @@ package:
version: 0.7.6
- category: main
dependencies:
- gcc: 12.3.0.*
- gxx_impl_linux-64: 12.3.0.*
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
hash:
- md5: 673bac341be6b90ef9e8abae7e52ca46
- sha256: 5fd65768fb602fd21466831c96e7a2355a4df692507abbd481aa65a777151d85
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
manager: conda
name: gxx
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
__unix: ''
@@ -2630,68 +2660,68 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 3bb122939197cec97f376a56e8dce6ea
- sha256: ec6eec84b5279ea1d099a8a919ff76c9418ebe8cd4302b05fe22a58651fb0e55
+ md5: c078f60a823037c75efeb602d2496e3b
+ sha256: fd3b9387f1edef65c6b82c887e4510ec188f2e2f61d7e9f72795c0bb00dccaa9
manager: conda
name: lazy-object-proxy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.9.0-py39hd1e30aa_1.conda
- version: 1.9.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.10.0-py39hd1e30aa_0.conda
+ version: 1.10.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
hash:
- md5: 980d8aca0bc23ca73fa8caa3e7c84c28
- sha256: 0d88e0e7f8dbf8f01788e21dd63dd49b89433ce7dfd10f53839441396f6481cd
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
manager: conda
name: lcms2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.15-haa2dc70_1.conda
- version: '2.15'
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
- category: main
dependencies:
- libopenblas: '>=0.3.25,<1.0a0'
+ libopenblas: '>=0.3.26,<1.0a0'
hash:
- md5: 2b7bb4f7562c8cf334fc2e20c2d28abc
- sha256: 8a0ee1de693a9b3da4a11b95ec81b40dd434bd01fa1f5f38f8268cd2146bf8f0
+ md5: 0ac9f44fc096772b0aa092119b00c3ca
+ sha256: ebd5c91f029f779fb88a1fcbd1e499559a9c258e3674ff58a2fbb4e375ae56d9
manager: conda
name: libblas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-20_linux64_openblas.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-21_linux64_openblas.conda
version: 3.9.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: e3a70b7bde225412a04c681f5aa094f5
- sha256: 925c2e940a74cdda141b350ee6f6d7dfe5783c1f7575bd95649117c1841908e2
+ md5: 2a85746a47b578eee4618642131345de
+ sha256: 713cad0dbb8530bc627042a01728f2479c4e73f69f440320a0ee421c12cd403c
manager: conda
- name: libclang-cpp16
+ name: libclang-cpp17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 2dd726d3664b57ff32e4ef1965774c02
- sha256: b79181e5d1e3cd80ce5cbc0d0098621413e24c37437e8906b5bca1c398a5ce34
+ md5: 93d59bd3649bba44d182dad3646db9e8
+ sha256: 465504d1fd72a6f6d3c301862ed97bf3247234c7389bd82070bb50ce61c04c92
manager: conda
name: libclang13
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-16.0.3-default_h4d60ac6_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-17.0.6-default_ha2b6cf4_2.conda
+ version: 17.0.6
- category: main
dependencies:
krb5: '>=1.20.1,<1.21.0a0'
@@ -2738,6 +2768,20 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-0.9.77-h97afed2_0.conda
version: 0.9.77
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libgcrypt: '>=1.10.1,<2.0a0'
+ libglib: '>=2.70.2,<3.0a0'
+ hash:
+ md5: 9d6698e3c9585a75156d86f7ef229093
+ sha256: c3ffd1ff0d2fa1626a4270ee50a687d25424e8812024d92f88445a2ac9f13931
+ manager: conda
+ name: libsecret
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsecret-0.18.8-h329b89f_2.tar.bz2
+ version: 0.18.8
- category: main
dependencies:
python: '>=3.4'
@@ -2754,45 +2798,45 @@ package:
dependencies:
giflib: '>=5.2.1,<5.3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
hash:
- md5: 4963f3f12db45a576f2b8fbe9a0b8569
- sha256: b0428f43bb3bc4544b997fcd9dfeb5593ee10701e8895cef22212105a8d8aa8d
+ md5: 0ebb65e8d86843865796c7c95a941f34
+ sha256: cc5e55531d8067ea379b145861aea8c749a545912bc016372f5e3c69cc925efd
manager: conda
name: libwebp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.1-hbf2b3c1_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.2-h658648e_1.conda
+ version: 1.3.2
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: ee2b4665b852ec6ff2758f3c1b91233d
- sha256: 0fb7a5340855c0b3c7c9259eb57ff00abedf36530ba1daae3434016301b0fa36
+ md5: 9a9a22eb1f83c44953319ee3b027769f
+ sha256: 855d305ceda4751cdd495923104dd34da5a6be45e4fd50a4e80361d9f95bcb38
manager: conda
name: markupsafe
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py39hd1e30aa_1.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py39hd1e30aa_0.conda
+ version: 2.1.5
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 8549fafed0351bbfaa1ddaa15fdf9b4e
- sha256: 07ce65497dec537e490992758934ddbc4fb5ed9285b41387a7cca966f1a98a0f
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
manager: conda
name: more-itertools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.1.0-pyhd8ed1ab_0.conda
- version: 10.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.6'
@@ -2826,14 +2870,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 6c87066b599dc8d932437abdc65ed4b9
- sha256: fc292f5174cf9f8669fe144e8ed4c1b79d3061a92e60bca58d189194e65f4959
+ md5: e2005168d5a334f88a1d95d02e139239
+ sha256: 9d07c952bd052b95155942d07d30d95eb0d8dfecfc9b0b40b8ba50323dc719da
manager: conda
name: multidict
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.0.4-py39hd1e30aa_1.conda
- version: 6.0.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.0.5-py39hd1e30aa_0.conda
+ version: 6.0.5
- category: main
dependencies:
python: ''
@@ -2875,16 +2919,16 @@ package:
libgcc-ng: '>=12'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 5ce6a42505c6e9e6151c54c3ec8d68ea
- sha256: 3cbfb1fe9bb492dcb672f98f0ddc7b4e029f51f77101d9c301caa3acaea8cba2
+ md5: 128c25b7fe6a25286a48f3a6a9b5b6f3
+ sha256: 9fe91b67289267de68fda485975bb48f0605ac503414dc663b50d8b5f29bc82a
manager: conda
name: openjpeg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h488ebb8_3.conda
version: 2.5.0
- category: main
dependencies:
@@ -2950,14 +2994,26 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: 2390bd10bed1f3fdc7a537fb5a447d8d
- sha256: 7bf2ad9d747e71f1e93d0863c2c8061dd0f2fe1e582f28d292abfb40264a2eb5
+ md5: a0bc3eec34b0fab84be6b2da94e98e20
+ sha256: 2ebfb971236ab825dd79dd6086ea742a9901008ffb9c6222c1f2b5172a8039d3
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.0-pyhd8ed1ab_0.conda
+ version: 4.2.0
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 139e9feb65187e916162917bb2484976
+ sha256: 6edfd2c41938ea772096c674809bfcf2ebb9bef7e82de6c7ea0b966b86bfb4d0
manager: conda
name: pluggy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.3.0-pyhd8ed1ab_0.conda
- version: 1.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.4.0-pyhd8ed1ab_0.conda
+ version: 1.4.0
- category: main
dependencies:
python: '>=3.9,<3.10.0a0'
@@ -2977,14 +3033,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: c2e412b0f11e5983bcfc35d9beb91ecb
- sha256: 02df40691ebe8632ad18ca641c70b74302b538922ccc86c3afee5de83f4298f0
+ md5: ec86403fde8793ac1c36f8afa3d15902
+ sha256: d0fa2b24b7245483208014e3567ef3aeeb3242b77ba1002c46923a60a3a05c3b
manager: conda
name: psutil
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py39hd1e30aa_1.conda
- version: 5.9.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py39hd1e30aa_0.conda
+ version: 5.9.8
- category: main
dependencies:
python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5'
@@ -3013,7 +3069,7 @@ package:
version: 0.6.6
- category: main
dependencies:
- python: ==2.7.*|>=3.4
+ python: 2.7.*|>=3.4
hash:
md5: 076becd9e05608f8dc72757d5f3a91ff
sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc
@@ -3037,15 +3093,15 @@ package:
version: 2.17.2
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.7'
hash:
- md5: 912c0194f898fdb783021fd25f913c31
- sha256: 88ac94c42ade15113397e30d1831dd341399b5262fb5330b9240f915c33cd232
+ md5: 74f76d4868dbba5870f2cf1d9b12d8f3
+ sha256: d7cb7fbafd767e938db10820c76a9c16d91faf5a081842159cc185787879eb07
manager: conda
name: pyjwt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.8.0-pyhd8ed1ab_0.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.8.0-pyhd8ed1ab_1.conda
version: 2.8.0
- category: main
dependencies:
@@ -3088,26 +3144,26 @@ package:
dependencies:
python: '>=3.6'
hash:
- md5: 2590495f608a63625e165915fb4e2e34
- sha256: 0108888507014fb24573c31e4deceb61c99e63d37776dddcadd7c89b2ecae0b6
+ md5: 98206ea9954216ee7540f0c773f2104d
+ sha256: 9da9a849d53705dee450b83507df1ca8ffea5f83bd21a215202221f1c492f8ad
manager: conda
name: python-tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.3-pyhd8ed1ab_0.conda
- version: '2023.3'
+ url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.1-pyhd8ed1ab_0.conda
+ version: '2024.1'
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.7'
hash:
- md5: c93346b446cd08c169d843ae5fc0da97
- sha256: 6b680e63d69aaf087cd43ca765a23838723ef59b0a328799e6363eb13f52c49e
+ md5: 3eeeeb9e4827ace8c0c1419c85d590ad
+ sha256: 1a7d6b233f7e6e3bbcbad054c8fd51e690a67b129a899a056a5e45dd9f00cb41
manager: conda
name: pytz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pytz-2023.3.post1-pyhd8ed1ab_0.conda
- version: 2023.3.post1
+ url: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda
+ version: '2024.1'
- category: main
dependencies:
__unix: ''
@@ -3142,28 +3198,28 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 4f76a945255f9bae15ca3979e9b129ea
- sha256: 4eed688717096aadabbfb29039d80eb47b659a10a9ec298bef3ff3bd1286a703
+ md5: 775fa081f76b6e6197bd12bd28856546
+ sha256: 9dc5eb83c637131caac6cdc6e48775712475eb02820d0eba30c10605cfde0f89
manager: conda
name: regex
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.10.3-py39hd1e30aa_0.conda
- version: 2023.10.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.12.25-py39hd1e30aa_0.conda
+ version: 2023.12.25
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 75f11bc5ee4f3cf1d12bc17066b6a367
- sha256: f7e4dc74a7c8928edd8bf63316f09443943faf723487310c0f4ab76a5c62a5e6
+ md5: ca1e1ff2be5c41142e412c83b88960e4
+ sha256: 1bc9bdf6f4a14f38f8decf967fc40bfcd1ab069f012ef0f109163d1ef7b7c633
manager: conda
name: rpds-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.13.2-py39h9fdd4d6_0.conda
- version: 0.13.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.18.0-py39h9fdd4d6_0.conda
+ version: 0.18.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3180,16 +3236,16 @@ package:
version: 0.2.7
- category: main
dependencies:
- python: '>=3.7'
+ python: '>=3.8'
hash:
- md5: fc2166155db840c634a1291a5c35a709
- sha256: 851901b1f8f2049edb36a675f0c3f9a98e1495ef4eb214761b048c6f696a06f7
+ md5: 576de899521b7d43674ba3ef6eae9142
+ sha256: 7a6dca60efcaa42d0ebb784950bc16230a968256cb5048a4441cb34653b5ec58
manager: conda
name: setuptools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.2.2-pyhd8ed1ab_0.conda
- version: 68.2.2
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.1.1-pyhd8ed1ab_0.conda
+ version: 69.1.1
- category: main
dependencies:
python: ''
@@ -3276,42 +3332,42 @@ package:
version: 0.12.3
- category: main
dependencies:
- python: '>=3.5'
+ python: '>=3.7'
hash:
- md5: 92facfec94bc02d6ccf42e7173831a36
- sha256: 90229da7665175b0185183ab7b53f50af487c7f9b0f47cf09c184cbc139fd24b
+ md5: 2fcb582444635e2c402e8569bb94e039
+ sha256: 22b0a9790317526e08609d5dfdd828210ae89e6d444a9e954855fc29012e90c6
manager: conda
name: toolz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.0-pyhd8ed1ab_0.tar.bz2
- version: 0.12.0
+ url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.1-pyhd8ed1ab_0.conda
+ version: 0.12.1
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: cbe186eefb0bcd91e8f47c3908489874
- sha256: dc0df742be0e83a4286137d21f60ca829632c2ffd66d3bebb603afe5ce74cc68
+ md5: 1e865e9188204cdfb1fd2531780add88
+ sha256: 27ab8f208c9a8fef7341d8f603059073f445de39c52eed73218f5823212ca73c
manager: conda
name: tornado
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py39hd1e30aa_1.conda
- version: 6.3.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4-py39hd1e30aa_0.conda
+ version: '6.4'
- category: main
dependencies:
python: '>=3.6'
hash:
- md5: 13ce724cb44f7bc0ca0971d76e333c30
- sha256: c1c54f4b2b5b39c420b3a47dd6196355147c798c0a4a2bdaaba80435e9591fb3
+ md5: 14db65dcfc51e3efe97920dd99c5646e
+ sha256: 60f9e4c3a7d4ca50f97c9297ed4ee41d6a8cde213f9618e8364fe456bfcb6efa
manager: conda
name: types-pytz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/types-pytz-2023.3.1.1-pyhd8ed1ab_0.conda
- version: 2023.3.1.1
+ url: https://conda.anaconda.org/conda-forge/noarch/types-pytz-2024.1.0.20240203-pyhd8ed1ab_0.conda
+ version: 2024.1.0.20240203
- category: main
dependencies:
python: '>=3.6'
@@ -3340,14 +3396,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: 5b1be40a26d10a06f6d4f1f9e19fa0c7
- sha256: 38d16b5c53ec1af845d37d22e7bb0e6c934c7f19499123507c5a470f6f8b7dde
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
manager: conda
name: typing_extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3373,26 +3429,26 @@ package:
perl: ''
python: ''
hash:
- md5: efb0e7909f1a41159856e688e216bd26
- sha256: c24f5fc704ee3c0737456e7a4b8f75114b25a51812c6f801a22ed43652e0b211
+ md5: d628a7f32222786b70ad81e56dd4a61a
+ sha256: 1648f885c97e5189adb12a70eef72699885a4e9e882ea385c3cd904baed251ce
manager: conda
name: verilator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.008-h514fc35_1.conda
- version: '5.008'
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.022-h7cd9344_0.conda
+ version: '5.022'
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: bf4a1d1a97ca27b0b65bacd9e238b484
- sha256: ca757d0fc2dbd422af9d3238a8b4b630a6e11df3707a447bd89540656770d1d7
+ md5: 68f0738df502a14213624b288c60c9ad
+ sha256: b6cd2fee7e728e620ec736d8dfee29c6c9e2adbd4e695a31f1d8f834a83e57e3
manager: conda
name: wcwidth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.12-pyhd8ed1ab_0.conda
- version: 0.2.12
+ url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda
+ version: 0.2.13
- category: main
dependencies:
python: '>=2.6'
@@ -3409,14 +3465,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: bdb77b28cf16deac0eef431a068320e8
- sha256: df45b89862edcd7cd5180ec7b8c0c0ca9fb4d3f7d49ddafccdc76afcf50d8da6
+ md5: 50ad31e07d706aae88b14a4ac9c73f23
+ sha256: d9b537d5b7c5aa7a02a4ce4c6b755e458bd8083b67752a73c92d113ccec6c10f
manager: conda
name: websocket-client
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.6.4-pyhd8ed1ab_0.conda
- version: 1.6.4
+ url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.7.0-pyhd8ed1ab_0.conda
+ version: 1.7.0
- category: main
dependencies:
python: '>=3.7'
@@ -3545,16 +3601,16 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
- aws-c-sdkutils: '>=0.1.12,<0.1.13.0a0'
+ aws-c-sdkutils: '>=0.1.13,<0.1.14.0a0'
libgcc-ng: '>=12'
hash:
- md5: 65d47e98af07d5e361707dda2ce44f3a
- sha256: 48c768d96b09396190b717e126d33ca68f3d2786a068af188fd16fa469cbad76
+ md5: d42aebb91e28e2fee2a0218cfbff2c90
+ sha256: b06ef95458fc70af4230c9c6690011235cd25288752ff7aa25492fc6d1c0e028
manager: conda
name: aws-c-auth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h5c941e0_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h538f98c_2.conda
version: 0.7.8
- category: main
dependencies:
@@ -3577,41 +3633,42 @@ package:
pytz: ''
setuptools: ''
hash:
- md5: 3ccff479c246692468f604df9c85ef26
- sha256: 1f955c700db16f65b16c9e9c1613436480d5497970b8030b7a9ebe1620cc2147
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
manager: conda
name: babel
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/babel-2.13.1-pyhd8ed1ab_0.conda
- version: 2.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
- category: main
dependencies:
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- pixman: '>=0.40.0,<1.0a0'
- xorg-libice: ''
- xorg-libsm: ''
- xorg-libx11: '>=1.8.4,<2.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
zlib: ''
hash:
- md5: c1dd96500b9b1a75e9e511931f415cbc
- sha256: 1fffecc684c26e0f1aed6d9857ad0f2abfe3a849977f718ad82366c68c7a9a36
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
manager: conda
name: cairo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-hbbf8b49_1016.conda
- version: 1.16.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
- category: main
dependencies:
libffi: '>=3.4,<4.0a0'
@@ -3630,19 +3687,19 @@ package:
version: 1.16.0
- category: main
dependencies:
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 738a21e17b4d9d846cf96503810c9b45
- sha256: 2d0c4ecdf647bf0bf3602495f0a3b85aa1985d0027cc787aa43e0c810ebbc704
+ md5: 714849d4f3034fff0663b005b9b657d8
+ sha256: 8ad2310be45c84ab2fec72eb23d1a57d961770a803f44ff850c0b9f3c8c56b74
manager: conda
- name: clang-format-16
+ name: clang-format-17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
click: ''
@@ -3756,14 +3813,14 @@ package:
python_abi: 3.9.* *_cp39
unicodedata2: '>=14.0.0'
hash:
- md5: 616bc0b442acefebdbe97c7b885d771e
- sha256: f908a09abb6c53e65dcd36d6c269fae3f9d6fa41ddb90bd8382e9e8da18005a1
+ md5: dd1b02484cc8c31d4093111a82b6efb2
+ sha256: 142a8d3288855101804d0c0d2a998dbca1b56c0d9e0e745cbee86878baaac2ea
manager: conda
name: fonttools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.45.1-py39hd1e30aa_0.conda
- version: 4.45.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.49.0-py39hd1e30aa_0.conda
+ version: 4.49.0
- category: main
dependencies:
python: '>=3.7'
@@ -3809,14 +3866,14 @@ package:
python: '>=3.8'
zipp: '>=0.5'
hash:
- md5: 4e9f59a060c3be52bc4ddc46ee9b6946
- sha256: 2797ed927d65324309b6c630190d917b9f2111e0c217b721f80429aeb57f9fcf
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
manager: conda
name: importlib-metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.8.0-pyha770c72_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
- category: main
dependencies:
python: '>=3.8'
@@ -3835,27 +3892,27 @@ package:
more-itertools: ''
python: '>=3.7'
hash:
- md5: e9f79248d30e942f7c358ff21a1790f5
- sha256: 14f5240c3834e1b784dd41a5a14392d9150dff62a74ae851f73e65d2e2bbd891
+ md5: c541ae264c9f1f21d83fc30dffb908ee
+ sha256: 232b40de8176fa7fb66a893653f8ae03c29616e04a83dae5a47df94b74e256ca
manager: conda
name: jaraco.classes
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.0-pyhd8ed1ab_0.conda
- version: 3.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.1-pyhd8ed1ab_0.conda
+ version: 3.3.1
- category: main
dependencies:
markupsafe: '>=2.0'
python: '>=3.7'
hash:
- md5: c8490ed5c70966d232fdd389d0dbed37
- sha256: b045faba7130ab263db6a8fdc96b1a3de5fcf85c4a607c5f11a49e76851500b5
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
manager: conda
name: jinja2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2
- version: 3.1.2
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
- category: main
dependencies:
jsonpointer: '>=1.9'
@@ -3884,51 +3941,52 @@ package:
version: '1.9'
- category: main
dependencies:
- libblas: 3.9.0 20_linux64_openblas
+ libblas: 3.9.0 21_linux64_openblas
hash:
- md5: 36d486d72ab64ffea932329a1d3729a3
- sha256: 0e34fb0f82262f02fcb279ab4a1db8d50875dc98e3019452f8f387e6bf3c0247
+ md5: 4a3816d06451c4946e2db26b86472cb6
+ sha256: 467bbfbfe1a1aeb8b1f9f6485eedd8ed1b6318941bf3702da72336ccf4dc25a6
manager: conda
name: libcblas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-20_linux64_openblas.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-21_linux64_openblas.conda
version: 3.9.0
- category: main
dependencies:
- expat: '>=2.5.0,<3.0a0'
+ expat: ''
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
+ libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libwebp: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
zlib: ''
hash:
- md5: ef06bee47510a7f5db3c2297a51d6ce2
- sha256: 6335db21afc72f86cf4ee0298acde3af950087db2b24df3d28a81c7d24574244
+ md5: cfebc557e54905dadc355c0e9f003004
+ sha256: b74f95a6e1f3b31a74741b39cba83ed99fc82d17243c0fd3b5ab16ddd48ab89d
manager: conda
name: libgd
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-hfa28ad5_6.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda
version: 2.3.3
- category: main
dependencies:
- libblas: 3.9.0 20_linux64_openblas
+ libblas: 3.9.0 21_linux64_openblas
hash:
- md5: 6fabc51f5e647d09cc010c40061557e0
- sha256: ad7745b8d0f2ccb9c3ba7aaa7167d62fc9f02e45eb67172ae5f0dfb5a3b1a2cc
+ md5: 1a42f305615c3867684e049e85927531
+ sha256: 64b5c35dce00dd6f9f53178b2fe87116282e00967970bd6551a5a42923806ded
manager: conda
name: liblapack
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-20_linux64_openblas.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-21_linux64_openblas.conda
version: 3.9.0
- category: main
dependencies:
@@ -3955,14 +4013,14 @@ package:
tomli: '>=1.1.0'
typing_extensions: '>=4.1.0'
hash:
- md5: aa252e335aa572e5052c4bb54519f1b9
- sha256: e2ccf9efb93065d65337199d6aca1f1ee94f583d3cf78d5998ac3b261b080d1e
+ md5: 1a30eefd87f32b65815198dafe7d16c4
+ sha256: 3f2141bc34b200258c50c3e3dd291903718d92fcf760854a4bbc189e861438df
manager: conda
name: mypy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.1-py39hd1e30aa_0.conda
- version: 1.7.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.8.0-py39hd1e30aa_0.conda
+ version: 1.8.0
- category: main
dependencies:
python: 2.7|>=3.7
@@ -3979,53 +4037,40 @@ package:
- category: main
dependencies:
freetype: '>=2.12.1,<3.0a0'
- lcms2: '>=2.15,<3.0a0'
+ lcms2: '>=2.16,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
openjpeg: '>=2.5.0,<3.0a0'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
- tk: '>=8.6.12,<8.7.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
hash:
- md5: f97a95fab7c69678ebf6b57396b1323e
- sha256: 8182e1782baaef35efdbb80468db7df160af7bd4ec46127d5c284768eca2980b
+ md5: 2972754dc054bb079d1d121918b5126f
+ sha256: 6936d54f9830ac66bee7b26187eb2297d80febe110e978cd9ae6a54e62ec6aaf
manager: conda
name: pillow
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.0-py39haaeba84_0.conda
- version: 10.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.2.0-py39had0adad_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.7'
setuptools: ''
wheel: ''
hash:
- md5: 2400c0b86889f43aa52067161e1fb108
- sha256: 435829a03e1c6009f013f29bb83de8b876c388820bf8cf69a7baeec25f6a3563
+ md5: f586ac1e56c8638b64f9c8122a7b8a67
+ sha256: b7c1c5d8f13e8cb491c4bd1d0d1896a4cf80fc47de01059ad77509112b664a4a
manager: conda
name: pip
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.1-pyhd8ed1ab_0.conda
- version: 23.3.1
-- category: main
- dependencies:
- python: '>=3.7'
- typing_extensions: '>=4.7.1'
- hash:
- md5: 6bb4ee32cd435deaeac72776c001e7ac
- sha256: 67381d3f7cadca7df7699238e0dcce680ad20d7fd28804bab48611fecb084937
- manager: conda
- name: platformdirs
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.0.0-pyhd8ed1ab_0.conda
- version: 4.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-24.0-pyhd8ed1ab_0.conda
+ version: '24.0'
- category: main
dependencies:
python: '>=3.7'
@@ -4045,18 +4090,18 @@ package:
exceptiongroup: '>=1.0.0rc8'
iniconfig: ''
packaging: ''
- pluggy: '>=0.12,<2.0'
- python: '>=3.7'
+ pluggy: <2.0,>=1.3.0
+ python: '>=3.8'
tomli: '>=1.0.0'
hash:
- md5: 5bdca0aca30b0ee62bb84854e027eae0
- sha256: 14e948e620ec87d9e62a8d9c21d40084b4805a939cfee322be7d457379dc96a0
+ md5: 40bd3ef942b9642a3eb20b0bbf92469b
+ sha256: ea81e7efe66cffab5c8316d3a7e125e29dff9cfb19fc3578b72f965e8a876539
manager: conda
name: pytest
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.3-pyhd8ed1ab_0.conda
- version: 7.4.3
+ url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.0.2-pyhd8ed1ab_0.conda
+ version: 8.0.2
- category: main
dependencies:
python: '>=3.6'
@@ -4165,14 +4210,14 @@ package:
colorama: ''
python: '>=3.7'
hash:
- md5: 03c97908b976498dcae97eb4e4f3149c
- sha256: b61c9222af05e8c5ff27e4a4d2eb81870c21ffd7478346be3ef644b7a3759cc4
+ md5: 2b8dfb969f984497f3f98409a9545776
+ sha256: 416d1d9318f3267325ad7e2b8a575df20ff9031197b30c0222c3d3b023877260
manager: conda
name: tqdm
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.1-pyhd8ed1ab_0.conda
- version: 4.66.1
+ url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.2-pyhd8ed1ab_0.conda
+ version: 4.66.2
- category: main
dependencies:
python: '>=3.6'
@@ -4188,16 +4233,16 @@ package:
version: 2.31.0.6
- category: main
dependencies:
- typing_extensions: 4.8.0 pyha770c72_0
+ typing_extensions: 4.9.0 pyha770c72_0
hash:
- md5: 384462e63262a527bda564fa2d9126c0
- sha256: d6e1dddd0c372218ef15912383d351ac8c73465cbf16238017f0269813cafe2d
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
manager: conda
name: typing-extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
- category: main
dependencies:
brotli-python: '>=1.0.9'
@@ -4224,14 +4269,29 @@ package:
xorg-libx11: '>=1.8.7,<2.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
hash:
- md5: 8024965420fb58bb3a7c38bba7843cb7
- sha256: 388c5ad10d126111bb8c6d04d543cd25e2fe96926c0ba20c6a4e01d7a79c8c09
+ md5: 7f5118d10e1d63e10d99e949bf259e31
+ sha256: a3806691033da843cc7a14554db116956c25a67d94290a5d20c83761a393fb00
manager: conda
name: vim
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.2059-py39pl5321hb4338c2_1.conda
- version: 9.0.2059
+ url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.1.0041-py39pl5321hb4338c2_0.conda
+ version: 9.1.0041
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: 8797a4e26be36880a603aba29c785352
+ sha256: 1ced4445cf72cd9dc344ad04bdaf703a08cc428c8c46e4bda928ad79786ee153
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.1-pyhd8ed1ab_0.conda
+ version: 20.25.1
- category: main
dependencies:
markupsafe: '>=2.1.1'
@@ -4269,14 +4329,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: c8654dea9ff4b633fbdfddff7e321bb9
- sha256: 871782b22363b3fb449e2a29a3620045a1c40643e3726767f5b9cd4455ec36c7
+ md5: 7288bccf99dd979dfcf80bb372c3de3f
+ sha256: a0370c724d347103ae1a7c8a49166cc69359d80055c11bc5d7222d259efd8f12
manager: conda
name: yarl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.3-py39hd1e30aa_0.conda
- version: 1.9.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.4-py39hd1e30aa_0.conda
+ version: 1.9.4
- category: main
dependencies:
python: '>=3.7'
@@ -4314,45 +4374,45 @@ package:
libgcc-ng: '>=12'
openssl: '>=3.2.0,<4.0a0'
hash:
- md5: d193ad6b5c2d47c679202afe5b69b371
- sha256: d99862ce623c68dd86225520c08bfe5ff46a0af885530a3faca4d3d54c7480bf
+ md5: f27f792aa83c7be3ee96d09a637a6474
+ sha256: 04142edf1a574e137a9e30a4f4e9b9448e219b6f4216a782ceaed933f27852a6
manager: conda
name: aws-c-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.3-h0448019_0.conda
- version: 0.4.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.4-h0448019_0.conda
+ version: 0.4.4
- category: main
dependencies:
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
+ python: '>=3.8'
python-dateutil: '>=2.1,<3.0.0'
urllib3: '>=1.25.4,<1.27'
hash:
- md5: 352c39ba5cd9ea01996358f0748e102e
- sha256: 56566ea8f3a48c24190c1dcf50681c0a84b26821c335c21b5c3c5d238e4bdb14
+ md5: 21b343f1680225a9267083549f6811d7
+ sha256: 2fff736bb7d425ca38f7855981806d5f92451f6a23c18d0ce116a8260a2eff4a
manager: conda
name: botocore
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.34.49-pyge38_1234567_0.conda
+ version: 1.34.49
- category: main
dependencies:
- clang-format-16: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ clang-format-17: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: c15e6c12bbd093170f1dab9d1ee922a8
- sha256: fe8d04e73e28a844e3513b214ca83a218d6d7115b1a86d5dfe1eb4e80e4bd15a
+ md5: 494178765431e2992fe5619a57b39616
+ sha256: 72a08b56741b14175ce8df86540237c61bf218f7c88b65564b261aa950c96701
manager: conda
name: clang-format
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
cffi: '>=1.12'
@@ -4393,14 +4453,14 @@ package:
python: '>=3.8'
werkzeug: '>=3.0.0'
hash:
- md5: d26105227a24c82fdf160f20ed379400
- sha256: 73dafd8c1ae9ee9e42e5fa78275c8dc3b456879d83dc6d6ed82d92bd498c9184
+ md5: 7f88df670921cc31c309719e30c22021
+ sha256: d5bfe0e74b001572135bef51ffa329fa2f5dfd37fb87b2878ed851025ced9334
manager: conda
name: flask
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.0-pyhd8ed1ab_0.conda
- version: 3.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.2-pyhd8ed1ab_0.conda
+ version: 3.0.2
- category: main
dependencies:
curl: ''
@@ -4427,32 +4487,32 @@ package:
python: '>=3.7'
typing_extensions: '>=3.7.4.3'
hash:
- md5: 6bf74c3b7c13079a91d4bd3da51cefcf
- sha256: 6b85809ffbfe5c1887b674bf0492cc4dd1ac8a25f4d9fa20ef404be92186259b
+ md5: 6bc8e496351bafd761c0922c3ebd989a
+ sha256: a11e1cf4404157467d0f51906d1db80bcb8bfe4bb3d3eba703b28e981ea7e308
manager: conda
name: gitpython
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.40-pyhd8ed1ab_0.conda
- version: 3.1.40
+ url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.42-pyhd8ed1ab_0.conda
+ version: 3.1.42
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
freetype: '>=2.12.1,<3.0a0'
graphite2: ''
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 765bc76c0dfaf24ff9d8a2935b2510df
- sha256: 9d99416e9d4a01ea0915f65ea7fac71dee11916de115fbd0325c0cb82e0b63f8
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
manager: conda
name: harfbuzz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-7.3.0-hdb3a94d_0.conda
- version: 7.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
- category: main
dependencies:
importlib_resources: '>=6.1.1,<6.1.2.0a0'
@@ -4468,16 +4528,16 @@ package:
version: 6.1.1
- category: main
dependencies:
- importlib-metadata: '>=6.8.0,<6.8.1.0a0'
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
hash:
- md5: b279b07ce18058034e5b3606ba103a8b
- sha256: b96e01dc42d547d6d9ceb1c5b52a5232cc04e40153534350f702c3e0418a6b3f
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
manager: conda
name: importlib_metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-6.8.0-hd8ed1ab_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
- category: main
dependencies:
importlib_resources: '>=1.4.0'
@@ -4505,6 +4565,21 @@ package:
platform: linux-64
url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2
version: 0.0.0.20190110_28_ga81397fc4
+- category: main
+ dependencies:
+ cairo: '>=1.16.0,<2.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.0,<3.0a0'
+ hash:
+ md5: 806406c7008aab9b295d0cea4d5f90e0
+ sha256: 1393f41401f5858e12ec77476e844b86c4d11cc0d82150adaca74f0401cd1b87
+ manager: conda
+ name: libgirepository
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgirepository-1.78.1-h003a4f0_1.conda
+ version: 1.78.1
- category: main
dependencies:
libblas: '>=3.9.0,<4.0a0'
@@ -4515,14 +4590,14 @@ package:
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
hash:
- md5: 459a58eda3e74dd5e3d596c618e7f20a
- sha256: da2439d911005c9c83e7586f72014f58958ff0b0dbc7a3c38c14fbbe2841b455
+ md5: aa265f5697237aa13cc10f53fa8acc4f
+ sha256: fa792c330e1d18854e4ca1ea8bf90ffae6787c133ebdc331f1ba6f565d28b599
manager: conda
name: numpy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.2-py39h474f0d3_0.conda
- version: 1.26.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py39h474f0d3_0.conda
+ version: 1.26.4
- category: main
dependencies:
pip: ''
@@ -4550,19 +4625,34 @@ package:
version: 3.0.38
- category: main
dependencies:
+ cairo: '>=1.18.0,<2.0a0'
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
- typing-extensions: '>=4.6.0'
hash:
- md5: edfef0feb17faf35c3d7b6665cf30343
- sha256: 90162f949a7008c8f018e34c2a5e88add11c7c802727b2fd38a53d6e03cce7ab
+ md5: a6296b5f4ef108e5616d65e3c68a83c3
+ sha256: 9e9e4bf4667d964678ef9dfe031b48f803c7e981e60b7095431bc3d1578f3cc2
+ manager: conda
+ name: pycairo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pycairo-1.26.0-py39hc92de75_0.conda
+ version: 1.26.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ typing-extensions: '>=4.6.0,!=4.7.0'
+ hash:
+ md5: 35fef239167838ec05bc714a70fbd6d9
+ sha256: c0c9ebdcd812ac6c35e85a37bae966b461b5d390aeecf168611c4abd43c947a8
manager: conda
name: pydantic-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.5-py39h9fdd4d6_0.conda
- version: 2.14.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.16.3-py39h9fdd4d6_0.conda
+ version: 2.16.3
- category: main
dependencies:
cffi: '>=1.4.1'
@@ -4627,14 +4717,14 @@ package:
pip: ''
python: '>=3.7,<4.0'
hash:
- md5: 1205762a36a808c0976f959caf389e8e
- sha256: 0040b85370375694ae48d21af3e14471f78578fb22cd284c80da3741def0ad4a
+ md5: f671fde867933dbb5b408b33609dc5fb
+ sha256: 9d9c7fbc77963c0c2da6e0d495a049f0540ed94d39e24cd8307d1b6ae0c03bfb
manager: conda
name: types-awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.19-pyhd8ed1ab_0.conda
- version: 0.19.19
+ url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.20.4-pyhd8ed1ab_0.conda
+ version: 0.20.4
- category: main
dependencies:
cffi: ''
@@ -4651,21 +4741,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py39h7633fee_4.conda
version: 1.0.1
-- category: main
- dependencies:
- distlib: <1,>=0.3.7
- filelock: <4,>=3.12.2
- platformdirs: <5,>=3.9.1
- python: '>=3.8'
- hash:
- md5: db990278c2c00b268eed778de44f6057
- sha256: ad661ae59c64bd73c25dfadb00c601659f4d9cafbf428e36a690075e52bac96a
- manager: conda
- name: virtualenv
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.7-pyhd8ed1ab_0.conda
- version: 20.24.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -4711,14 +4786,14 @@ package:
python_abi: 3.9.* *_cp39
yarl: '>=1.0,<2.0'
hash:
- md5: c94f6e40db7d4828430ac0d8efe6a3d7
- sha256: 9ef3be4aed65d22f29a03a1bbc5b36ecab14b279efbe729241270831ff5f17b4
+ md5: 15a521bec784b8903fd6396f234b6aec
+ sha256: f6e9a38256de4641b4aced7efe9d7c2ff75555d7dc3844b6d08c8e285c81d764
manager: conda
name: aiohttp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.9.1-py39hd1e30aa_0.conda
- version: 3.9.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.9.3-py39hd1e30aa_0.conda
+ version: 3.9.3
- category: main
dependencies:
botocore: '>=1.11.3'
@@ -4742,81 +4817,82 @@ package:
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
aws-c-mqtt: '>=0.9.10,<0.9.11.0a0'
- aws-c-s3: '>=0.4.3,<0.4.4.0a0'
+ aws-c-s3: '>=0.4.4,<0.4.5.0a0'
aws-checksums: '>=0.1.17,<0.1.18.0a0'
libgcc-ng: '>=12'
python: '>=3.9,<3.10.0a0'
python_abi: 3.9.* *_cp39
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: b06d5b1342885fa70ce1371b695cc038
- sha256: b30260ea6484450ad8f5e2ad0cc342302ef199d6ee55f57c1c78fbb8c8b7dad6
+ md5: 111dc2570e8dd2eebecbfd8be3bc4616
+ sha256: 22fc0c664015c56fd5d96c93a5abd04a51b76b69b21981afd9ed521c72e64b73
manager: conda
name: awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.18-py39h13f1633_0.conda
- version: 0.19.18
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.19-py39hf0530f4_2.conda
+ version: 0.19.19
- category: main
dependencies:
- python: '>=3.6'
- requests: '>=2.18.4'
+ python: '>=3.7'
+ requests: '>=2.21.0'
six: '>=1.11.0'
- typing-extensions: '>=4.0.1'
+ typing-extensions: '>=4.6.0'
hash:
- md5: 6e97f7d5387626f896515442002ac920
- sha256: 3f3ec0617e825bcabb70722ace9153dfdc02895aebb2179fc20b82eb30f79ec8
+ md5: 71ea9971e9ca725848c0a62a7f69cebf
+ sha256: 8306c733f443d158c0c7d313bebf171d5bd814e1b38ef09b7ed065b4c4253242
manager: conda
name: azure-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.29.5-pyhd8ed1ab_0.conda
- version: 1.29.5
+ url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.30.0-pyhd8ed1ab_0.conda
+ version: 1.30.0
- category: main
dependencies:
- python: '>=3.7,<4.0'
+ python: '>=3.8,<4.0'
types-awscrt: ''
typing_extensions: '>=4.1.0'
hash:
- md5: 3e24267b0fce04a61f7532f3096c45a5
- sha256: 5e0daa0d40c5a6ea3b3798d31e0ae6bdc1d53c487e59153e5e4d9ee8c2ccc47c
+ md5: 3d1805301dac7b46149af5cdebc853dc
+ sha256: 833a0d3b6b9d0be86869fa9cc4eca36febf61951d6195bd8d3d14c1d4719011a
manager: conda
name: botocore-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.34.49-pyhd8ed1ab_0.conda
+ version: 1.34.49
- category: main
dependencies:
msgpack-python: '>=0.5.2'
python: '>=3.7'
requests: '>=2.16.0'
hash:
- md5: 174bd699bb5aa9e2622eb4b288276ff8
- sha256: aae7ab3a54989f9bf9273e4a17c911ba339a8b9354250bc11fb8eff2e3f4be60
+ md5: a661c39e223bf3038b38126b0bbf43d9
+ sha256: 3318732d60456c5ecc0db14a7343a320ea88e05ae168aea4164d7f9ec7907142
manager: conda
name: cachecontrol
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.1-pyhd8ed1ab_0.conda
- version: 0.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
- category: main
dependencies:
- clang-format: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
- libclang13: '>=16.0.3'
+ clang-format: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
+ libclang13: '>=17.0.6'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
+ libxml2: '>=2.12.3,<3.0.0a0'
hash:
- md5: 8910812419605001db20734aad191191
- sha256: 236cd870e4a155d323202961cbcf13b1de84a86dde4ef6bf160b7e05b699b9d8
+ md5: 65fe0c9fbf75eef82b8a2bce629774ec
+ sha256: b9e2c06011261261d873c3d7033df0612a0f61d3a2e25e71323270ac23f79204
manager: conda
name: clang-tools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
python: '>=3.7'
@@ -4851,17 +4927,18 @@ package:
appdirs: ''
click: '>=5.1'
filelock: ''
+ packaging: ''
python: '>=3.7'
requests: '>=2'
hash:
- md5: c99ae3abf501990769047b4b40a98f17
- sha256: b71784b6c24d2320b2f796d074e75e7dd1be7b7fc0f719c5cf3a582270b368d6
+ md5: e54a91c3a65491b13c68f7696425bac8
+ sha256: a115afdc676c95a17ab63bbda84b7b724bc8817ae54fa34f8991339252424959
manager: conda
name: ensureconda
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.3-pyhd8ed1ab_0.tar.bz2
- version: 1.4.3
+ url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.4-pyhd8ed1ab_0.conda
+ version: 1.4.4
- category: main
dependencies:
flask: '>=0.9'
@@ -4881,14 +4958,14 @@ package:
python: '>=3.6'
ukkonen: ''
hash:
- md5: 3ef8e9bab1bfaf900bb0a5db8c0c742c
- sha256: 0783aa58f43d1c113a2ec300a29ba3313184056f9893671c75037fbadaf9e546
+ md5: 9472bfd206a2b7bb8143835e37667054
+ sha256: 971683b13d1b820157bef9993c63dd8b0611d2d60fc4b522da163aee2e70e518
manager: conda
name: identify
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.32-pyhd8ed1ab_0.conda
- version: 2.5.32
+ url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.35-pyhd8ed1ab_0.conda
+ version: 2.5.35
- category: main
dependencies:
importlib_metadata: ''
@@ -4912,14 +4989,14 @@ package:
referencing: '>=0.28.4'
rpds-py: '>=0.7.1'
hash:
- md5: 1116d79def5268414fb0917520b2bbf1
- sha256: 77aae609097d06deedb8ef8407a44b23d5fef95962ba6fe1c959ac7bd6195296
+ md5: 8a3a3d01629da20befa340919e3dd2c4
+ sha256: c5c1b4e08e91fdd697289015be1a176409b4e63942899a43b276f1f250be8129
manager: conda
name: jsonschema
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.20.0-pyhd8ed1ab_0.conda
- version: 4.20.0
+ url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.21.1-pyhd8ed1ab_0.conda
+ version: 4.21.1
- category: main
dependencies:
pathable: '>=0.4.1,<0.5.0'
@@ -4952,49 +5029,49 @@ package:
version: 0.0.0.20190110_28_ga81397fc4
- category: main
dependencies:
- cryptography: <44,>=0.6
+ cryptography: <45,>=0.6
pyjwt: <3,>=1.0.0
python: '>=3.6'
requests: <3,>=2.0.0
hash:
- md5: 4b2d7e21aa309356a9396d54800cd271
- sha256: 8a37a7c3efae510b90669cbae7b4f736477361406028953cd804d09a2d24c53a
+ md5: 95a138b82ec36756dd8c4bd25e564597
+ sha256: e3f5876e8ea2078aba5b34d6dde53910afc8f88bf6d9eec11c0bee9eb9ba6ea8
manager: conda
name: msal
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/msal-1.25.0-pyhd8ed1ab_0.conda
- version: 1.25.0
+ url: https://conda.anaconda.org/conda-forge/noarch/msal-1.27.0-pyhd8ed1ab_0.conda
+ version: 1.27.0
- category: main
dependencies:
- alsa-lib: '>=1.2.9,<1.2.10.0a0'
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
giflib: '>=5.2.1,<5.3.0a0'
- harfbuzz: '>=7.3.0,<8.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
lcms2: '>=2.15,<3.0a0'
libcups: '>=2.3.3,<2.4.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- xorg-libx11: '>=1.8.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
xorg-libxi: ''
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
xorg-libxtst: ''
hash:
- md5: f71bdbfbe2a91520b9b488481f02237f
- sha256: a5b3b870378c505427eb7da7fb61829ed1b4ca1579422f6a1aa9e310dca86bed
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
manager: conda
name: openjdk
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.0-h8e330f5_0.conda
- version: 20.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -5006,14 +5083,14 @@ package:
python_abi: 3.9.* *_cp39
pytz: '>=2020.1'
hash:
- md5: 961b398d8c421a3752e26f01f2dcbdac
- sha256: cb67f58e2a5c3c5f033e5901dbc067fcf8b1caebb8c9afd728471c9e75f2073f
+ md5: 85293a042c24a08e71b7608ee66b6134
+ sha256: 91a2f8062d905f65548a5f3e9cf91e4acd70ac151d9e9fcbb32af9980643c1d7
manager: conda
name: pandas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.3-py39hddac248_0.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.1-py39hddac248_0.conda
+ version: 2.2.1
- category: main
dependencies:
cairo: '>=1.16.0,<2.0a0'
@@ -5021,18 +5098,18 @@ package:
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
fribidi: '>=1.0.10,<2.0a0'
- harfbuzz: '>=7.1.0,<8.0a0'
+ harfbuzz: '>=8.1.1,<9.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
+ libglib: '>=2.76.4,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
hash:
- md5: cde553e0e32389e26595db4eacf859eb
- sha256: 3bb7cf6e826fa6d867318ba4866470b02d2efcc1dcd6b8b6307afaa8ac21aff4
+ md5: 1a66c10f6a0da3dbd2f3a68127e7f6a0
+ sha256: 6ecce306b7ac4acf1184eb5b045e57e613e19e99c27d57f33eb255f8a9120a93
manager: conda
name: pango
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-heaa33ce_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-ha41ecd1_2.conda
version: 1.50.14
- category: main
dependencies:
@@ -5041,29 +5118,49 @@ package:
pynacl: '>=1.5'
python: '>=3.6'
hash:
- md5: 8d4563992b27cdb8e673d1ca16962c9d
- sha256: 9139c13cb7ea5729af862db5fb0523daa5900b9b4fa36637cd7f9c01be665f80
+ md5: a5e792523b028b06d7ce6e65a6cd4a33
+ sha256: 2e66359261954a79b66858c30e69ea6dd4380bf8bd733940527386b25e31dd13
manager: conda
name: paramiko
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.3.1-pyhd8ed1ab_0.conda
- version: 3.3.1
+ url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.4.0-pyhd8ed1ab_0.conda
+ version: 3.4.0
- category: main
dependencies:
annotated-types: '>=0.4.0'
- pydantic-core: 2.14.5
+ pydantic-core: 2.16.3
python: '>=3.7'
typing-extensions: '>=4.6.1'
hash:
- md5: 3f908ebfccbfd09946961862d26bb9af
- sha256: e3baa6424af931d8d7c5a0554b24d85faf3471df8036181d598065beed3096de
+ md5: b6343b653c5ca8fb18af03f3f5d1cd9f
+ sha256: ff6728ec56f8cc5d0c6dba999de6299f3ce4aa2624b552194dafdb5af1c7fecd
manager: conda
name: pydantic
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.2-pyhd8ed1ab_0.conda
- version: 2.5.2
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.6.2-pyhd8ed1ab_0.conda
+ version: 2.6.2
+- category: main
+ dependencies:
+ cairo: '>=1.16.0,<2.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libgirepository: ''
+ libglib: '>=2.78.0,<3.0a0'
+ libiconv: ''
+ pycairo: ''
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
+ hash:
+ md5: 03d34dbe574193122d7aa6576bccd559
+ sha256: f950ac326dc3e4853955bc79f647725b0cbdbeeed95329115013975b61f462b5
+ manager: conda
+ name: pygobject
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pygobject-3.46.0-py39hb25b1be_1.conda
+ version: 3.46.0
- category: main
dependencies:
cryptography: '>=38.0.0,<41'
@@ -5102,27 +5199,27 @@ package:
typing_extensions: ''
urllib3: '>=1.25.10,<3.0'
hash:
- md5: b1b80aaa77d5e83183cd0c9e9025b1fa
- sha256: 35a1cc20beca329bfa2b17feeb5ca66a2741bdccf39621dfe386f48206e73d67
+ md5: 3a3a9d37b275336a17386f80bfcca835
+ sha256: ffda7ac561d4b946dd8e2be9126a0418933340d345f3b96e3c9c4a1968bf3c3f
manager: conda
name: responses
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/responses-0.24.1-pyhd8ed1ab_0.conda
- version: 0.24.1
+ url: https://conda.anaconda.org/conda-forge/noarch/responses-0.25.0-pyhd8ed1ab_0.conda
+ version: 0.25.0
- category: main
dependencies:
botocore: '>=1.33.2,<2.0a.0'
- python: '>=3.7'
+ python: '>=3.8'
hash:
- md5: 75e12933f4bf755c9cdd37072bcb6203
- sha256: 2e5679abcec8eb646df37518ecdbdaa224d7ff5295a1e56707317d52b47d9c79
+ md5: 2d52125a7fe49248ce5e883fed6c935a
+ sha256: 5f1fccbbc0460971f12dda7ab0465d8f6037486042d156b611881e57d218ce95
manager: conda
name: s3transfer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.8.2-pyhd8ed1ab_0.conda
- version: 0.8.2
+ url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.10.0-pyhd8ed1ab_0.conda
+ version: 0.10.0
- category: main
dependencies:
attrs: ''
@@ -5169,7 +5266,7 @@ package:
version: 3.3.1
- category: main
dependencies:
- awscrt: 0.19.18
+ awscrt: '>=0.19.18,<=0.19.19'
colorama: '>=0.2.5,<0.4.7'
cryptography: '>=3.3.2,<=40.0.2'
distro: '>=1.5.0,<1.9.0'
@@ -5184,43 +5281,43 @@ package:
ruamel.yaml.clib: '>=0.2.0,<=0.2.7'
urllib3: '>=1.25.4,<1.27'
hash:
- md5: 5ffefcaa01088d683a89ed416cee51be
- sha256: 272e0c846b7288e179e1a58ce18a5ec1d8bd4f3a0829df27dbe4ebe799ec3f3f
+ md5: ba6d837a7355a45315c81a41e1ecb138
+ sha256: c8b2905730eb8239b005eb78868e84747aaed7a427f2a85c64fec97e2455d975
manager: conda
name: awscli
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.14.4-py39hf3d152e_0.conda
- version: 2.14.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.15.23-py39hf3d152e_1.conda
+ version: 2.15.23
- category: main
dependencies:
- botocore: '>=1.33.4,<1.34.0'
+ botocore: '>=1.34.49,<1.35.0'
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
- s3transfer: '>=0.8.2,<0.9.0'
+ python: '>=3.8'
+ s3transfer: '>=0.10.0,<0.11.0'
hash:
- md5: 914d59cf685448451de9ac736cb0fb2a
- sha256: cb63cadfb3c593cb7295b14450e4310af88d32dc1bbf185ec82a325a12e86f28
+ md5: 818f33e8f923de31137749661b058ad7
+ sha256: 2cec579fa4d896f93c51299db7d4a834e15ef2cc51202ec5a2206668cb29b6a3
manager: conda
name: boto3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.33.4-pyhd8ed1ab_0.conda
- version: 1.33.4
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.34.49-pyhd8ed1ab_0.conda
+ version: 1.34.49
- category: main
dependencies:
- cachecontrol: 0.13.1 pyhd8ed1ab_0
+ cachecontrol: 0.14.0 pyhd8ed1ab_0
filelock: '>=3.8.0'
python: '>=3.7'
hash:
- md5: 8c4781ca0893cff3a64423954ce234a1
- sha256: 7fd3cd4a667da284ae3aad9b8cb4d592099bc02ed6566cbae00bd8c0b0604e85
+ md5: 4c08fa6e7d1d3f124ad815e21b2210e9
+ sha256: 89a9061aafc28c0e0e2db49a5b99e99797ed3a7127c31deda0cceb4696ae627f
manager: conda
name: cachecontrol-with-filecache
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.1-pyhd8ed1ab_0.conda
- version: 0.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
- category: main
dependencies:
conda-package-streaming: '>=0.9.0'
@@ -5245,31 +5342,31 @@ package:
urllib3: '>=1.26.0'
websocket-client: '>=0.32.0'
hash:
- md5: c95d23d8bae7e21491868cc7772d7c73
- sha256: 7c3031602e92fd7682302ef98a45bdf7374d48a849cdd3900b7c68a32d162177
+ md5: aec5f308cb9055e83c59afecd5fcb58a
+ sha256: b9bf5990dc968123e5817096daddd2105857cfd4c5b94c0937d929bc74fc7a31
manager: conda
name: docker-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/docker-py-6.1.3-pyhd8ed1ab_0.conda
- version: 6.1.3
+ url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.0.0-pyhd8ed1ab_0.conda
+ version: 7.0.0
- category: main
dependencies:
- atk-1.0: '>=2.36.0'
- cairo: '>=1.16.0,<2.0.0a0'
- gdk-pixbuf: '>=2.42.6,<3.0a0'
- gettext: '>=0.19.8.1,<1.0a0'
- libgcc-ng: '>=9.4.0'
- libglib: '>=2.70.2,<3.0a0'
- pango: '>=1.50.3,<1.51.0a0'
+ atk-1.0: '>=2.38.0'
+ cairo: '>=1.18.0,<2.0a0'
+ gdk-pixbuf: '>=2.42.10,<3.0a0'
+ gettext: '>=0.21.1,<1.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.3,<3.0a0'
+ pango: '>=1.50.14,<2.0a0'
hash:
- md5: 957a0255ab58aaf394a91725d73ab422
- sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87
+ md5: 0abfa7f9241a0f4fd732bc15773cfb0c
+ sha256: e659f5eca2a5f21d5fe859d8d1dae132a284800eb017b8b4e2286b252a230527
manager: conda
name: gtk2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h7f000aa_3.conda
version: 2.24.33
- category: main
dependencies:
@@ -5305,22 +5402,22 @@ package:
version: 24.3.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gettext: '>=0.21.1,<1.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
pango: '>=1.50.14,<2.0a0'
hash:
- md5: 1ec4fab6eb4af1db9056b94265fe19cf
- sha256: 6449497e50d2343c6caf73ad9c74f82341e0c22aca3d6f333869e0a069d0c472
+ md5: 03bd1ddcc942867a19528877143b9852
+ sha256: b82d0c60376da88a2bf15d35d17c176aa923917ad7de4bc62ddef6d02f3518fb
manager: conda
name: librsvg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.0-h5cef280_0.conda
- version: 2.56.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.3-he3f83f7_1.conda
+ version: 2.56.3
- category: main
dependencies:
certifi: '>=2020.06.20'
@@ -5341,28 +5438,32 @@ package:
python_abi: 3.9.* *_cp39
tk: '>=8.6.13,<8.7.0a0'
hash:
- md5: 6085411aa2f0b2b801d3b46e1d3b83c5
- sha256: f5e1275e1e7f644d5c91780c08f9868153b8b1a00703e7b03f4b171be02879e1
+ md5: 5456bdfe5809ebf5689eda6c808b686e
+ sha256: 6a430a5816f189b7277182b6c251236c5af22e254b8253eeb6ffcb06a8ea7087
manager: conda
name: matplotlib-base
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.2-py39he9076e7_0.conda
- version: 3.8.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.3-py39he9076e7_0.conda
+ version: 3.8.3
- category: main
dependencies:
+ libsecret: ''
msal: '>=0.4.1,<2.0'
+ packaging: ''
portalocker: '>=1.6,<3.0'
- python: '>=3.6'
+ pygobject: '>=3,<4'
+ python: '>=3.9,<3.10.0a0'
+ python_abi: 3.9.* *_cp39
hash:
- md5: db0e3cc6e5e99baf237a2ab73898f553
- sha256: 73096cb7f0939595651fb1555a201b3a31adb3dfeb833e70af2d4313015dd51f
+ md5: 74312f2baf4e602530545e5c2b532fbe
+ sha256: 650f8abd6ffb20e2d07dcebe98cee4f4aa1e14194ac6f19e5f6af75642122b33
manager: conda
name: msal_extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/msal_extensions-1.0.0-pyhd8ed1ab_0.tar.bz2
- version: 1.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/msal_extensions-1.1.0-py39hf3d152e_1.conda
+ version: 1.1.0
- category: main
dependencies:
jsonschema: '>=4.19.1,<5.0.0a0'
@@ -5383,18 +5484,18 @@ package:
cfgv: '>=2.0.0'
identify: '>=1.0.0'
nodeenv: '>=0.11.1'
- python: '>=3.8'
+ python: '>=3.9'
pyyaml: '>=5.1'
virtualenv: '>=20.10.0'
hash:
- md5: 964e3d762e427661c59263435a14c492
- sha256: 51a4a17334a15ec92805cd075776563ff93b3b6c20732c4cb607c98a761ae02f
+ md5: 61534ee57ffdf26d7b1b514d33daccc4
+ sha256: 8eb9f5965c37d2bbee9302e16cc7c5517ee06491986356112be13431a043681e
manager: conda
name: pre-commit
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.5.0-pyha770c72_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.6.2-pyha770c72_0.conda
+ version: 3.6.2
- category: main
dependencies:
__unix: ''
@@ -5414,16 +5515,16 @@ package:
jsonschema: <5,>=3.2
pydantic: '>=1.8,<3'
python: '>=3.7,<4.0'
- typing-extensions: <5,>=4.4
+ typing-extensions: '>=4.4'
hash:
- md5: d9f3ca99e7d10b05ead04edcdcb7e0cb
- sha256: 1bf5fa0d34e4de0843eaa82311e3dd680fdbe02cd74a6945f9b662f504bbcd08
+ md5: 795a2e0a9317acfbef5d47ae7a2fcac1
+ sha256: 245963a3d07f7cc6e79c3ddf3b5d33dede0f249bd95d6533ed3f460cc7f134ea
manager: conda
name: aws-sam-translator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.81.0-pyhd8ed1ab_0.conda
- version: 1.81.0
+ url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.85.0-pyhd8ed1ab_0.conda
+ version: 1.85.0
- category: main
dependencies:
azure-core: <2.0.0,>=1.23.0
@@ -5446,14 +5547,14 @@ package:
python: ''
typing_extensions: ''
hash:
- md5: 23cf1bb1fb33251d3f0caf4198a90782
- sha256: 44363a8ede827c4bac4c1e6535461ab6f12a19c658dff0a4d908c6d1e19c5d70
+ md5: 31d2264d3aa4eb75f13a7741e5519ed2
+ sha256: baa640afe9eb7e9a720232d2fa6d7c2d4f3d35b42ae2974651e71b33c03e2ae2
manager: conda
name: boto3-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.34.49-pyhd8ed1ab_0.conda
+ version: 1.34.49
- category: main
dependencies:
archspec: ''
@@ -5515,62 +5616,57 @@ package:
version: 1.4.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
- expat: ''
- fontconfig: '>=2.14.2,<3.0a0'
+ cairo: '>=1.18.0,<2.0a0'
fonts-conda-ecosystem: ''
- freetype: '>=2.12.1,<3.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gtk2: ''
gts: '>=0.7.6,<0.8.0a0'
libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
libgd: '>=2.3.3,<2.4.0a0'
- libglib: '>=2.76.2,<3.0a0'
- librsvg: '>=2.56.0,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ librsvg: '>=2.56.3,<3.0a0'
libstdcxx-ng: '>=12'
- libtool: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
pango: '>=1.50.14,<2.0a0'
- zlib: ''
hash:
- md5: 597e2d0e1c6bc2e4457714ff479fe142
- sha256: 4bfb42de2d28406666ef6729169cae3f49c216c5ebd9f34afa40223755e2aaf8
+ md5: a3f4cd4a512ec5db35ffbf25ba11f537
+ sha256: 1813800d655c120a3941d543a6fc64e3c178c737f1c84f6b7ebe1f19f27fa4fb
manager: conda
name: graphviz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-8.0.5-h28d9a01_0.conda
- version: 8.0.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda
+ version: 9.0.0
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 01f46d3078f21041719d2c5fb83200de
- sha256: ef1e693434f0d3c84389e459486d57abda67df228c2671d11285ba73baa5c11a
+ md5: c594f646f5f92ae7f4ea68dc46ce633c
+ sha256: 60ac647a40388267eebdb8e7be63eeec791a8964ed597f1339be8a35d623cc31
manager: conda
name: mypy-boto3-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.33.2-pyhd8ed1ab_0.conda
- version: 1.33.2
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.34.14-pyhd8ed1ab_0.conda
+ version: 1.34.14
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 687d78daf8e04f4c5e5cfa92ead666c4
- sha256: 2fecbcc276e13a119ec87602d9547aa537bf690724288d368ebf606351c19f67
+ md5: 41b56eb093c6e10e3fd211656ad4e74e
+ sha256: 758fd7af61990c9890c2895a71b9e2644d41296a8461bc4a5aa838486b664eaa
manager: conda
name: mypy_boto3_ec2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.33.0-pyhd8ed1ab_0.conda
- version: 1.33.0
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.34.30-pyhd8ed1ab_0.conda
+ version: 1.34.30
- category: main
dependencies:
importlib_resources: '>=5.8,<7.0'
@@ -5604,7 +5700,7 @@ package:
version: 0.4.2
- category: main
dependencies:
- aws-sam-translator: '>=1.79.0'
+ aws-sam-translator: '>=1.84.0'
jschema-to-python: '>=1.2.3,<1.3.dev0'
jsonpatch: ''
jsonschema: '>=3.0,<5'
@@ -5616,14 +5712,14 @@ package:
sarif-om: '>=1.0.4,<1.1.dev0'
sympy: '>=1.0.0'
hash:
- md5: 8fa5ac9497fc51cb02377e38500ce964
- sha256: a77254900a3bc62e4c216f1223c9a14982db30e3c24a1b3fcc9cd9dcf3d1f5a4
+ md5: 9e0b218b8aef61acaba5e021699271f6
+ sha256: 5a4c1ac65bab587225706e9c2b393130c2d958da50a4e1c9ef06ab640610bb2c
manager: conda
name: cfn-lint
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.3-pyhd8ed1ab_0.conda
- version: 0.83.3
+ url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.85.2-pyhd8ed1ab_0.conda
+ version: 0.85.2
- category: main
dependencies:
colorama: ''
@@ -5646,17 +5742,17 @@ package:
conda-standalone: ''
jinja2: ''
pillow: '>=3.1'
- python: '>=3.7'
- ruamel.yaml: '>=0.11.14,<0.18'
+ python: '>=3.8'
+ ruamel.yaml: '>=0.11.14,<0.19'
hash:
- md5: bece1550cd8ce528b234f41c85786ef8
- sha256: a4304eff880a3150e027f8af8d158cc9bf6e6c8444d2affda4e2b17125f44a85
+ md5: d8cb2dfbc95cd06af84d11bf16572270
+ sha256: 78a2b1abf48bdb34a9902caa7bff273ed001758f0845ef0508b347d85c21ca2b
manager: conda
name: constructor
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.5.0-pyhe4f9e05_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.6.0-pyh55f8243_0.conda
+ version: 3.6.0
- category: main
dependencies:
graphviz: '>=2.46.1'
@@ -5699,67 +5795,68 @@ package:
werkzeug: '>=0.5,!=2.2.0,!=2.2.1'
xmltodict: ''
hash:
- md5: cd76850f625a821bd553380913baf5d6
- sha256: 307ce3acd4c5c3b25f25e871924e96ee052c09a8a2832fcb7a89a2dc26f309cb
+ md5: 0bab0cb52bb79f684915a650c5452b33
+ sha256: bb03fa39768749a64bcd4204546e3c9e348c7702bfa979ddfc73575a1b6a9ff4
manager: conda
name: moto
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.10-pyhd8ed1ab_0.conda
- version: 4.2.10
+ url: https://conda.anaconda.org/conda-forge/noarch/moto-5.0.1-pyhd8ed1ab_0.conda
+ version: 5.0.1
- category: main
dependencies:
- livereload: '>=2.3.0'
- python: '>=3.6'
+ colorama: ''
+ livereload: ''
+ python: '>=3.9'
sphinx: ''
hash:
- md5: 1909f784dc37b4ab97afe2c95aeeabaa
- sha256: 1c07ab809254c2454c5417c5be01af2dc8bcaae2f3315a0a9d8812997ede8297
+ md5: 13996799cc0b00919a3c1b9b02e02217
+ sha256: 13e095036649519562f4d1add7eb16004f8ad65efb854b11e836d48bb57e5df9
manager: conda
name: sphinx-autobuild
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2021.3.14-pyhd8ed1ab_0.tar.bz2
- version: 2021.3.14
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2024.2.4-pyhd8ed1ab_0.conda
+ version: 2024.2.4
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: aebfabcb60c33a89c1f9290cab49bc93
- sha256: 67e2b386c7b3c858ead88fa71fe4fa5eb1f4f59d7994d167b3910a744db392d3
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
manager: conda
name: sphinxcontrib-applehelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.7-pyhd8ed1ab_0.conda
- version: 1.0.7
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: ebf08f5184d8eaa486697bc060031953
- sha256: 770e13ebfef321426c09ec51d95c57755512db160518b2922a4337546ee51672
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
manager: conda
name: sphinxcontrib-devhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.5-pyhd8ed1ab_0.conda
- version: 1.0.5
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: a9a89000dfd19656ad004b937eeb6828
- sha256: 5f09cd4a08a6c194c11999871a8c7cedc2cd7edd9ff7ceb6f0667b6698be4cc5
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
manager: conda
name: sphinxcontrib-htmlhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.4-pyhd8ed1ab_0.conda
- version: 2.0.4
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
- category: main
dependencies:
python: '>=2.7'
@@ -5793,14 +5890,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: cf5c9649272c677a964a7313279e3a9b
- sha256: 9ba5cea9cbab64106e8b5a9b19add855dcb52b8fbb1674398c715bccdbc04471
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
manager: conda
name: sphinxcontrib-qthelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.6-pyhd8ed1ab_0.conda
- version: 1.0.6
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
- category: main
dependencies:
alabaster: '>=0.7,<0.8'
@@ -5835,14 +5932,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: 0612e497d7860728f2cda421ea2aec09
- sha256: c5710ae7bb7465f25a29cc845d9fb6ad0ea561972d796d379fcb48d801e96d6d
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
manager: conda
name: sphinxcontrib-serializinghtml
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.9-pyhd8ed1ab_0.conda
- version: 1.1.9
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
- category: main
dependencies: {}
hash:
@@ -5890,12 +5987,12 @@ package:
- dependencies:
typing-extensions: '>=4.2.0'
hash:
- sha256: 9849f031cf8a2f0a928fe885e5a04b08006d6d41876b8bbd2fc68a18f9f2e3fd
+ sha256: 646b2b12df4295b4c3148850c85bff29ef6d0d9621a8d091e98094871a62e5c7
manager: pip
name: pydantic
platform: linux-64
- url: https://files.pythonhosted.org/packages/18/57/11b1e218908aae98d7df4364accc5e5a69db0a9396c011f494c69947e1b9/pydantic-1.10.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- version: 1.10.13
+ url: https://files.pythonhosted.org/packages/4f/cb/8313256cfb57f641fe6feb386b1433b61c7a10b5b0c8999807d3ee22d25f/pydantic-1.10.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
+ version: 1.10.14
- category: main
dependencies:
ruamel.yaml.clib: '>=0.2.7'
diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
new file mode 100644
index 00000000..892bd1cf
--- /dev/null
+++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
@@ -0,0 +1,2641 @@
+# This lock file was generated by conda-lock (https://github.com/conda-incubator/conda-lock). DO NOT EDIT!
+#
+# A "lock file" contains a concrete list of package versions (with checksums) to be installed. Unlike
+# e.g. `conda env create`, the resulting environment will not change as new package versions become
+# available, unless you explicitly update the lock file.
+#
+# Install this environment as "YOURENV" with:
+# conda-lock install -n YOURENV --file conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
+# To update a single package to the latest version compatible with the version constraints in the source:
+# conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml --update PACKAGE
+# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
+# conda-lock -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64-lean.conda-lock.yml
+metadata:
+ channels:
+ - url: ucb-bar
+ used_env_vars: []
+ - url: conda-forge
+ used_env_vars: []
+ - url: litex-hub
+ used_env_vars: []
+ - url: nodefaults
+ used_env_vars: []
+ content_hash:
+ linux-64: 5df9a1eb7166b2c0286bc0e4c6e37816dd07f9d30cac4ba82d15e53da4f7f16a
+ platforms:
+ - linux-64
+ sources:
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/riscv-tools.yaml
+package:
+- category: main
+ dependencies: {}
+ hash:
+ md5: d7c89558ba9fa0495403155b64376d81
+ sha256: fe51de6107f9edc7aa4f786a70f4a883943bc9d39b3bb7307c04c41410990726
+ manager: conda
+ name: _libgcc_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2
+ version: '0.1'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 38d211c448a67f12fe693fe25df4da23
+ sha256: 0dbeaddc3d5134b5336c52ac05642533b8d1ba2e1316aa92981f4cf5b5388de0
+ manager: conda
+ name: _sysroot_linux-64_curr_repodata_hack
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_14.conda
+ version: '3'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 2f4327a1cbe7f022401b236e915a5fef
+ sha256: 91d81bfecdbb142c15066df70cc952590ae8991670198f92c66b62019b251aeb
+ manager: conda
+ name: ca-certificates
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.2.2-hbcca054_0.conda
+ version: 2024.2.2
+- category: main
+ dependencies: {}
+ hash:
+ md5: 0c96522c6bdaed4b1566d11387caaf45
+ sha256: 58d7f40d2940dd0a8aa28651239adbf5613254df0f75789919c4e6762054403b
+ manager: conda
+ name: font-ttf-dejavu-sans-mono
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-dejavu-sans-mono-2.37-hab24e00_0.tar.bz2
+ version: '2.37'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 34893075a5c9e55cdafac56607368fc6
+ sha256: c52a29fdac682c20d252facc50f01e7c2e7ceac52aa9817aaf0bb83f7559ec5c
+ manager: conda
+ name: font-ttf-inconsolata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-inconsolata-3.000-h77eed37_0.tar.bz2
+ version: '3.000'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 4d59c254e01d9cde7957100457e2d5fb
+ sha256: 00925c8c055a2275614b4d983e1df637245e19058d79fc7dd1a93b8d9fb4b139
+ manager: conda
+ name: font-ttf-source-code-pro
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-source-code-pro-2.038-h77eed37_0.tar.bz2
+ version: '2.038'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 6185f640c43843e5ad6fd1c5372c3f80
+ sha256: 056c85b482d58faab5fd4670b6c1f5df0986314cca3bc831d458b22e4ef2c792
+ manager: conda
+ name: font-ttf-ubuntu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/font-ttf-ubuntu-0.83-h77eed37_1.conda
+ version: '0.83'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 7aca3059a1729aa76c597603f10b0dd3
+ sha256: f6cc89d887555912d6c61b295d398cff9ec982a3417d38025c45d5dd9b9e79cd
+ manager: conda
+ name: ld_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.40-h41732ed_0.conda
+ version: '2.40'
+- category: main
+ dependencies: {}
+ hash:
+ md5: fb94f6b17ef1a75faac2e06937dc4223
+ sha256: 86d1e11bf0b8dbc74fec07f3c71bb1b20f83e32b5b9f8625b3dc653ce00e40bd
+ manager: conda
+ name: libgcc-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: a884fe2f11c6167f3dc62d4b1db20ced
+ sha256: 20c4f2b96b8fb57a3cad0bb8f1ce407ee7bc935cb0ce68b430b10b77616c0b16
+ manager: conda
+ name: libstdcxx-devel_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: f6f6600d18a4047b54f803cf708b868a
+ sha256: a56c5b11f1e73a86e120e6141a42d9e935a99a2098491ac9e15347a1476ce777
+ manager: conda
+ name: libstdcxx-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_5.conda
+ version: 13.2.0
+- category: main
+ dependencies: {}
+ hash:
+ md5: 26322ec5d7712c3ded99dd656142b8ce
+ sha256: 456bec815bfc2b364763084d08b412fdc4c17eb9ccc66a36cb775fa7ac3cbaec
+ manager: conda
+ name: python_abi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.10-4_cp310.conda
+ version: '3.10'
+- category: main
+ dependencies: {}
+ hash:
+ md5: 161081fc7cec0bfda0d86d7cb595f8d8
+ sha256: 7b2b69c54ec62a243eb6fba2391b5e443421608c3ae5dbff938ad33ca8db5122
+ manager: conda
+ name: tzdata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda
+ version: 2024a
+- category: main
+ dependencies:
+ font-ttf-dejavu-sans-mono: ''
+ font-ttf-inconsolata: ''
+ font-ttf-source-code-pro: ''
+ font-ttf-ubuntu: ''
+ hash:
+ md5: f766549260d6815b0c52253f1fb1bb29
+ sha256: 53f23a3319466053818540bcdf2091f253cbdbab1e0e9ae7b9e509dcaa2a5e38
+ manager: conda
+ name: fonts-conda-forge
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-forge-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ hash:
+ md5: f6c14886b1695a2462d296176e831080
+ sha256: 604b9345a7a1474b7eb33260e382446754d16eed754b853d7571d0e39bfc7737
+ manager: conda
+ name: kernel-headers_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_14.conda
+ version: 3.10.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ hash:
+ md5: d211c42b9ce49aee3734fdc828731689
+ sha256: 0d3d4b1b0134283ea02d58e8eb5accf3655464cf7159abf098cc694002f8d34e
+ manager: conda
+ name: libgomp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_5.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ libgomp: '>=7.5.0'
+ hash:
+ md5: 73aaf86a425cc6e73fcf236a5a46396d
+ sha256: fbe2c5e56a653bebb982eda4876a9178aedfc2b545f25d0ce9c4c0b508253d22
+ manager: conda
+ name: _openmp_mutex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-2_gnu.tar.bz2
+ version: '4.5'
+- category: main
+ dependencies:
+ fonts-conda-forge: ''
+ hash:
+ md5: fee5683a3f04bd15cbd8318b096a27ab
+ sha256: a997f2f1921bb9c9d76e6fa2f6b408b7fa549edd349a77639c9fe7a23ea93e61
+ manager: conda
+ name: fonts-conda-ecosystem
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/fonts-conda-ecosystem-1-0.tar.bz2
+ version: '1'
+- category: main
+ dependencies:
+ _sysroot_linux-64_curr_repodata_hack: 3.*
+ kernel-headers_linux-64: 3.10.0 h4a8ded7_14
+ hash:
+ md5: d5f7a1cca06f56e6ac2b525f199f9b9e
+ sha256: af0f9ed466f97e3910c1d867ab44c974e01383cb408baa38606265964c7f0857
+ manager: conda
+ name: sysroot_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_14.conda
+ version: '2.17'
+- category: main
+ dependencies:
+ ld_impl_linux-64: 2.40 h41732ed_0
+ sysroot_linux-64: ''
+ hash:
+ md5: 33084421a8c0af6aef1b439707f7662a
+ sha256: a7e0ea2b71a5b03d82e5a58fb6b612ab1c44d72ce161f9aa441f7ba467cd4c8d
+ manager: conda
+ name: binutils_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils_impl_linux-64-2.40-hf600244_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ _libgcc_mutex: 0.1 conda_forge
+ _openmp_mutex: '>=4.5'
+ hash:
+ md5: d4ff227c46917d3b4565302a2bbb276b
+ sha256: d32f78bfaac282cfe5205f46d558704ad737b8dbf71f9227788a5ca80facaba4
+ manager: conda
+ name: libgcc-ng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_5.conda
+ version: 13.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
+ manager: conda
+ name: alsa-lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.40,<2.41.0a0'
+ hash:
+ md5: ccc940fddbc3fcd3d79cd4c654c4b5c4
+ sha256: 35f3b042f295fd7387de11cf426ca8ee5257e5c98b88560c6c5ad4ef3c85d38c
+ manager: conda
+ name: binutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/binutils-2.40-hdd6e379_0.conda
+ version: '2.40'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 69b8b6202a07720f448be700e300ccf4
+ sha256: 242c0c324507ee172c0e0dd2045814e746bb303d1eb78870d182ceb0abc726a8
+ manager: conda
+ name: bzip2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hd590300_5.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: f6afff0e9ee08d2f1b897881a4f38cdb
+ sha256: 2a5866b19d28cb963fab291a62ff1c884291b9d6f59de14643e52f103e255749
+ manager: conda
+ name: c-ares
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.27.0-hd590300_0.conda
+ version: 1.27.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ff6707b0adc04518a452a0340db13a07
+ sha256: 5f5400cb5a27389f78422c9864fa948734989568a3fcfdde8bbee0f92077d056
+ manager: conda
+ name: coreutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/coreutils-9.4-hd590300_0.conda
+ version: '9.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 14947d8770185e5153fdd04d4673ed37
+ sha256: 4fcfedc44e4c9a053f0416f9fc6ab6ed50644fca3a761126dbd00d09db1f546a
+ manager: conda
+ name: gettext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gettext-0.21.1-h27087fc_0.tar.bz2
+ version: 0.21.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 96f3b11872ef6fad973eac856cd2624f
+ sha256: 41ec165704ccce2faa0437f4f53c03c06261a2cc9ff7614828e51427d9261f4b
+ manager: conda
+ name: giflib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h0b41bf4_3.conda
+ version: 5.2.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 0e33ef437202db431aa5a928248cf2e8
+ sha256: 2a50495b6bbbacb03107ea0b752d8358d4a40b572d124a8cade068c147f344f5
+ manager: conda
+ name: gmp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-h59595ed_0.conda
+ version: 6.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ hash:
+ md5: 8c54672728e8ec6aa6db90cf2806d220
+ sha256: 65da967f3101b737b08222de6a6a14e20e480e7d523a5d1e19ace7b960b5d6b1
+ manager: conda
+ name: graphite2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphite2-1.3.13-h58526e2_1001.tar.bz2
+ version: 1.3.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
+ manager: conda
+ name: icu
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=10.3.0'
+ hash:
+ md5: 30186d27e2c9fa62b45fb1476b7200e3
+ sha256: 150c05a6e538610ca7c43beb3a40d65c90537497a4f6a5f4d15ec0451b6f5ebb
+ manager: conda
+ name: keyutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.1-h166bdaf_0.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 76bbff344f0134279f225174e9064c8f
+ sha256: cb55f36dcd898203927133280ae1dc643368af041a48bcf7c026acb7c47b0c12
+ manager: conda
+ name: lerc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h27087fc_0.tar.bz2
+ version: 4.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
+ manager: conda
+ name: libdeflate
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
+ manager: conda
+ name: libev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
+ version: '4.33'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 6305a3dd2752c76335295da4e581f2fd
+ sha256: 74c98a563777ae2ad71f1f74d458a8ab043cee4a513467c159ccf159d0e461f3
+ manager: conda
+ name: libexpat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b479e94095fbb82702d736b1c100c0e8
+ sha256: a4490042212d56d6a0f13ebd172f6be7524a9229a94820cd7d12c57d95b3f8cd
+ manager: conda
+ name: libfdt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libfdt-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: d645c6d2ac96843a2bfaccd2d62b3ac3
+ sha256: ab6e9856c21709b7b517e940ae7028ae0737546122f83c2aa5d692860c3b149e
+ manager: conda
+ name: libffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libffi-3.4.2-h7f98852_5.tar.bz2
+ version: 3.4.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
+ manager: conda
+ name: libiconv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
+ version: '1.17'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
+ manager: conda
+ name: libjpeg-turbo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30fd6e37fe21f86f4bd26d6ee73eeec7
+ sha256: 26d77a3bb4dceeedc2a41bd688564fe71bf2d149fdcf117049970bc02ff1add6
+ manager: conda
+ name: libnsl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnsl-2.0.1-hd590300_0.conda
+ version: 2.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=11.4.0'
+ hash:
+ md5: 47a9846c7679f8381b06fc5052ab4a4b
+ sha256: fc00e9a71c07446cf1744bd1d5cd3efa6dfd3a7db6c2c8a82853f19b8b1416f8
+ manager: conda
+ name: libsanitizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 40b61aab5c7ba9ff276c41cfffe6b80b
+ sha256: 787eb542f055a2b3de553614b25f09eefb0a0931b0c87dbcce6efdfd92f04f18
+ manager: conda
+ name: libuuid
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.38.1-h0b41bf4_0.conda
+ version: 2.38.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
+ manager: conda
+ name: libwebp-base
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: f36c115f1ee199da648e0597ec2047ad
+ sha256: 370c7c5893b737596fd6ca0d9190c9715d89d888b8c88537ae1ef168c25e82e4
+ manager: conda
+ name: libzlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4abb931c0d08a41583fc637c663e45e2
+ sha256: b8e37b92caab5a64a9e344f3d497b9d3e215d1e6211f6dc7c51b70799aab1da1
+ manager: conda
+ name: m4
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/m4-1.4.18-h516909a_1001.tar.bz2
+ version: 1.4.18
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 4049ebfd3190b580dffe76daed26155a
+ sha256: 4a5fe7c80bb0de0015328e2d3fc8db1736f528cb1fd53cd0d5527e24269a4f7c
+ manager: conda
+ name: make
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/make-4.3-hd18ef5c_1.tar.bz2
+ version: '4.3'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 7dbaa197d7ba6032caf7ae7f32c1efa0
+ sha256: 91cc03f14caf96243cead96c76fe91ab5925a695d892e83285461fb927dece5e
+ manager: conda
+ name: ncurses
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.4-h59595ed_2.conda
+ version: '6.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 77dab674d16c1525ebe65e67de30de0d
+ sha256: dec1c78df7670d34880f71f75ac716f082d087494b4a2c6a90d5d75a82c933ed
+ manager: conda
+ name: oniguruma
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/oniguruma-6.9.9-hd590300_0.conda
+ version: 6.9.9
+- category: main
+ dependencies:
+ ca-certificates: ''
+ libgcc-ng: '>=12'
+ hash:
+ md5: 51a753e64a3027bd7e23a189b1f6e91e
+ sha256: c02c12bdb898daacf7eb3d09859f93ea8f285fd1a6132ff6ff0493ab52c7fe57
+ manager: conda
+ name: openssl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.1-hd590300_0.conda
+ version: 3.2.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 71004cbf7924e19c02746ccde9fd7123
+ sha256: 366d28e2a0a191d6c535e234741e0cd1d94d713f76073d8af4a5ccb2a266121e
+ manager: conda
+ name: pixman
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda
+ version: 0.43.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ hash:
+ md5: 22dad4df6e8630e8dff2428f6f6a7036
+ sha256: 67c84822f87b641d89df09758da498b2d4558d47b920fd1d3fe6d3a871e000ff
+ manager: conda
+ name: pthread-stubs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-h36c2ea0_1001.tar.bz2
+ version: '0.4'
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: bcd1b3396ec6960cbc1d2855a9e60b2b
+ sha256: 6c8c2803de0f643f8bad16ece3f9a7259e4a49247543239c182d66d5e3a129a7
+ manager: conda
+ name: xorg-inputproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-inputproto-2.3.2-h7f98852_1002.tar.bz2
+ version: 2.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 4b230e8381279d76131116660f5a241a
+ sha256: e90b0a6a5d41776f11add74aa030f789faf4efd3875c31964d6f9cfa63a10dd1
+ manager: conda
+ name: xorg-kbproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-kbproto-1.0.7-h7f98852_1002.tar.bz2
+ version: 1.0.7
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: b462a33c0be1421532f28bfe8f4a7514
+ sha256: 5aa9b3682285bb2bf1a8adc064cb63aff76ef9178769740d855abb42b0d24236
+ manager: conda
+ name: xorg-libice
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libice-1.1.1-hd590300_0.conda
+ version: 1.1.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2c80dc38fface310c9bd81b17037fee5
+ sha256: 309751371d525ce50af7c87811b435c176915239fc9e132b99a25d5e1703f2d4
+ manager: conda
+ name: xorg-libxau
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.11-hd590300_0.conda
+ version: 1.0.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: be93aabceefa2fac576e971aef407908
+ sha256: 4df7c5ee11b8686d3453e7f3f4aa20ceef441262b49860733066c52cfd0e4a77
+ manager: conda
+ name: xorg-libxdmcp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.3-h7f98852_0.tar.bz2
+ version: 1.1.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 2f835e6c386e73c6faaddfe9eda67e98
+ sha256: 4b91d48fed368c83eafd03891ebfd5bae0a03adc087ebea8a680ae22da99a85f
+ manager: conda
+ name: xorg-recordproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-recordproto-1.14.2-h7f98852_1002.tar.bz2
+ version: 1.14.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: 06feff3d2634e3097ce2fe681474b534
+ sha256: 38942930f233d1898594dd9edf4b0c0786f3dbc12065a0c308634c37fd936034
+ manager: conda
+ name: xorg-renderproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-renderproto-0.11.1-h7f98852_1002.tar.bz2
+ version: 0.11.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: bce9f945da8ad2ae9b1d7165a64d0f87
+ sha256: b8dda3b560e8a7830fe23be1c58cc41f407b2e20ae2f3b6901eb5842ba62b743
+ manager: conda
+ name: xorg-xextproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xextproto-7.3.0-h0b41bf4_1003.conda
+ version: 7.3.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ hash:
+ md5: b4a4381d54784606820704f7b5f05a15
+ sha256: f197bb742a17c78234c24605ad1fe2d88b1d25f332b75d73e5ba8cf8fbc2a10d
+ manager: conda
+ name: xorg-xproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-xproto-7.0.31-h7f98852_1007.tar.bz2
+ version: 7.0.31
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 2161070d867d1b1204ea749c8eec4ef0
+ sha256: 03a6d28ded42af8a347345f82f3eebdd6807a08526d47899a42d62d319609162
+ manager: conda
+ name: xz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.6-h166bdaf_0.tar.bz2
+ version: 5.2.6
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.4.0'
+ hash:
+ md5: 4cb3ad778ec2d5a7acbdf254eb1c42ae
+ sha256: a4e34c710eeb26945bdbdaba82d3d74f60a78f54a874ec10d373811a5d217535
+ manager: conda
+ name: yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h7f98852_2.tar.bz2
+ version: 0.2.5
+- category: main
+ dependencies:
+ libfdt: '>=1.6.1,<1.7.0a0'
+ libgcc-ng: '>=12'
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: 22b23b5006eb63ed81af6a84569c930e
+ sha256: 5a056172bd4fee3f6dd21441bfdd3c9960d3a637f48e8dfe16d3a7aa56e883a5
+ manager: conda
+ name: dtc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dtc-1.6.1-h166bdaf_2.tar.bz2
+ version: 1.6.1
+- category: main
+ dependencies:
+ libexpat: 2.5.0 hcb278e6_1
+ libgcc-ng: '>=12'
+ hash:
+ md5: 8b9b5aca60558d02ddaa09d599e55920
+ sha256: 36dfeb4375059b3bba75ce9b38c29c69fd257342a79e6cf20e9f25c1523f785f
+ manager: conda
+ name: expat
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/expat-2.5.0-hcb278e6_1.conda
+ version: 2.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ libstdcxx-ng: '>=7.5.0'
+ m4: ''
+ hash:
+ md5: b1029ec81c7e0969e84a8179d039a9ce
+ sha256: 5a6dba5af1127e859eefd68e77b7af062b42f85401efbb43a970da977ba3e344
+ manager: conda
+ name: flex
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/flex-2.6.4-h58526e2_1004.tar.bz2
+ version: 2.6.4
+- category: main
+ dependencies:
+ binutils_impl_linux-64: '>=2.39'
+ libgcc-devel_linux-64: 11.4.0 h922705a_105
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_5
+ libstdcxx-ng: '>=11.4.0'
+ sysroot_linux-64: ''
+ hash:
+ md5: dd619b391c1c85728a6c70aac733e0a8
+ sha256: b354a25c5eee51c7f2d9bd1232d445302068e55e540eddddf32bf96cc54f48b9
+ manager: conda
+ name: gcc_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ oniguruma: '>=6.9.9,<6.10.0a0'
+ hash:
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
+ manager: conda
+ name: jq
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=7.5.0'
+ ncurses: '>=6.2,<7.0.0a0'
+ hash:
+ md5: 4d331e44109e3f0e19b4cb8f9b82f3e1
+ sha256: a57d37c236d8f7c886e01656f4949d9dcca131d2a0728609c6f7fa338b65f1cf
+ manager: conda
+ name: libedit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20191231-he28a2e2_2.tar.bz2
+ version: 3.1.20191231
+- category: main
+ dependencies:
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ hash:
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
+ manager: conda
+ name: libnghttp2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
+ version: 1.58.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 009981dd9cfcaa4dbfa25ffaed86bcae
+ sha256: 502f6ff148ac2777cc55ae4ade01a8fc3543b4ffab25c4e0eaa15f94e90dd997
+ manager: conda
+ name: libpng
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.43-h2797004_0.conda
+ version: 1.6.43
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: fc4ccadfbf6d4784de88c41704792562
+ sha256: 1b379d1c652b25d0540251d422ef767472e768fd36b77261045e97f9ba6d3faa
+ manager: conda
+ name: libsqlite
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.1-h2797004_0.conda
+ version: 3.45.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.1.1,<4.0a0'
+ hash:
+ md5: 1f5a58e686b13bcfde88b93f547d23fe
+ sha256: 50e47fd9c4f7bf841a11647ae7486f65220cfc988ec422a4475fe8d5a823824d
+ manager: conda
+ name: libssh2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libssh2-1.11.0-h0841786_0.conda
+ version: 1.11.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ pthread-stubs: ''
+ xorg-libxau: ''
+ xorg-libxdmcp: ''
+ hash:
+ md5: 33277193f5b92bad9fdd230eb700929c
+ sha256: a670902f0a3173a466c058d2ac22ca1dd0df0453d3a80e0212815c20a16b0485
+ manager: conda
+ name: libxcb
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.15-h0b41bf4_0.conda
+ version: '1.15'
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ hash:
+ md5: 4c28f3210b30250037a4a627eeee9e0f
+ sha256: 008230a53ff15cf61966476b44f7ba2c779826825b9ca639a0a2b44d8f7aa6cb
+ manager: conda
+ name: mpfr
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h9458935_0.conda
+ version: 4.2.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 679c8961826aa4b50653bce17ee52abe
+ sha256: 3ca54ff0abcda964af7d4724d389ae20d931159ae1881cfe57ad4b0ab9e6a380
+ manager: conda
+ name: pcre2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pcre2-10.42-hcad00b1_0.conda
+ version: '10.42'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcrypt: '>=4.4.36'
+ hash:
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
+ manager: conda
+ name: perl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
+ version: 5.32.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ ncurses: '>=6.3,<7.0a0'
+ hash:
+ md5: 47d31b792659ce70f470b5c82fdfb7a4
+ sha256: 5435cf39d039387fbdc977b0a762357ea909a7694d9528ab40f005e9208744d7
+ manager: conda
+ name: readline
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/readline-8.2-h8228510_1.conda
+ version: '8.2'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d453b98d9c83e71da0741bb0ff4d76bc
+ sha256: e0569c9caa68bf476bead1bed3d79650bb080b532c64a4af7d8ca286c08dea4e
+ manager: conda
+ name: tk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h4845f30_101.conda
+ version: 8.6.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-xextproto: ''
+ hash:
+ md5: 65ad6e1eb4aed2b0611855aff05e04f6
+ sha256: 5d2af1b40f82128221bace9466565eca87c97726bb80bbfcd03871813f3e1876
+ manager: conda
+ name: xorg-fixesproto
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-fixesproto-5.0-h7f98852_1002.tar.bz2
+ version: '5.0'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libuuid: '>=2.38.1,<3.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ hash:
+ md5: 93ee23f12bc2e684548181256edd2cf6
+ sha256: 089ad5f0453c604e18985480218a84b27009e9e6de9a0fa5f4a20b8778ede1f1
+ manager: conda
+ name: xorg-libsm
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libsm-1.2.4-h7391055_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libzlib: 1.2.13 hd590300_5
+ hash:
+ md5: 68c34ec6149623be41a1933ab996a209
+ sha256: 9887a04d7e7cb14bd2b52fa01858f05a6d7f002c890f618d9fcd864adbfecb1b
+ manager: conda
+ name: zlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.13-hd590300_5.conda
+ version: 1.2.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 04b88013080254850d6c01ed54810589
+ sha256: 607cbeb1a533be98ba96cf5cdf0ddbb101c78019f1fda063261871dad6248609
+ manager: conda
+ name: zstd
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.5-hfc55251_0.conda
+ version: 1.5.5
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ m4: ''
+ perl: 5.*
+ hash:
+ md5: 50cabb1aee157a18082c7c92cc4b3143
+ sha256: 04868bf7a2737af8c8a828b2c4b59653180a91da9c3ece77bae4e429a1b84cc1
+ manager: conda
+ name: autoconf
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/autoconf-2.71-pl5321h2b4cb7a_1.conda
+ version: '2.71'
+- category: main
+ dependencies:
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
+ hash:
+ md5: f400dd0a481abdfff466337623081d1a
+ sha256: 33504fd9020cd95f66c1d096112634c12e8bfd813d2bcd52ede90626c4768d3b
+ manager: conda
+ name: conda-gcc-specs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 9ae35c3d96db2c94ce0cef86efdfa2cb
+ sha256: b2e3c449ec9d907dd4656cb0dc93e140f447175b125a3824b31368b06c666bb6
+ manager: conda
+ name: freetype
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/freetype-2.12.1-h267a509_2.conda
+ version: 2.12.1
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
+ manager: conda
+ name: gcc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_5
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_105
+ sysroot_linux-64: ''
+ hash:
+ md5: 99ef88bf2364edd566e9bfec9db2bf95
+ sha256: 391b83e5cf7a31f49c3d2147dcc146a62a0a98d2c73e629680b6263b8e2c9df4
+ manager: conda
+ name: gxx_impl_linux-64
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ keyutils: '>=1.6.1,<2.0a0'
+ libedit: '>=3.1.20191231,<4.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ openssl: '>=3.1.2,<4.0a0'
+ hash:
+ md5: cd95826dbd331ed1be26bdf401432844
+ sha256: 259bfaae731989b252b7d2228c1330ef91b641c9d68ff87dae02cbae682cb3e4
+ manager: conda
+ name: krb5
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.2-h659d440_0.conda
+ version: 1.21.2
+- category: main
+ dependencies:
+ gettext: '>=0.21.1,<1.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ hash:
+ md5: d86baf8740d1a906b9716f2a0bac2f2d
+ sha256: 3a03a5254d2fd29c1e0ffda7250e22991dfbf2c854301fd56c408d97a647cfbd
+ manager: conda
+ name: libglib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.4-h783c2da_0.conda
+ version: 2.78.4
+- category: main
+ dependencies:
+ lerc: '>=4.0.0,<5.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libstdcxx-ng: '>=12'
+ libwebp-base: '>=1.3.2,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xz: '>=5.2.6,<6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
+ manager: conda
+ name: libtiff
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
+- category: main
+ dependencies:
+ gmp: '>=6.2.1,<7.0a0'
+ libgcc-ng: '>=12'
+ mpfr: '>=4.1.0,<5.0a0'
+ hash:
+ md5: 289c71e83dc0daa7d4c81f04180778ca
+ sha256: 2f88965949ba7b4b21e7e5facd62285f7c6efdb17359d1b365c3bb4ecc968d29
+ manager: conda
+ name: mpc
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-hfe3b2da_0.conda
+ version: 1.3.1
+- category: main
+ dependencies:
+ bzip2: '>=1.0.8,<2.0a0'
+ ld_impl_linux-64: '>=2.36.1'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libnsl: '>=2.0.1,<2.1.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
+ libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ ncurses: '>=6.4,<7.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ readline: '>=8.2,<9.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
+ tzdata: ''
+ xz: '>=5.2.6,<6.0a0'
+ hash:
+ md5: ed38140af93f81319ebc472fbcf16cca
+ sha256: 4234c8e301737aa245d12c8fb44a4128005795e42883977c29cca3f34c71a1eb
+ manager: conda
+ name: python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.13-hd12c33a_1_cpython.conda
+ version: 3.10.13
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ xorg-kbproto: ''
+ xorg-xextproto: '>=7.3.0,<8.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: 49e482d882669206653b095f5206c05b
+ sha256: 7a02a7beac472ae2759498550b5fc5261bf5be7a9a2b4648a3f67818a7bfefcf
+ manager: conda
+ name: xorg-libx11
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libx11-1.8.7-h8ee46fc_0.conda
+ version: 1.8.7
+- category: main
+ dependencies:
+ python: '>=3.9'
+ hash:
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
+ manager: conda
+ name: alabaster
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: 5f095bc6454094e96f146491fd03633b
+ sha256: ae9fb8f68281f84482f2c234379aa12405a9e365151d43af20b3ae1f17312111
+ manager: conda
+ name: appdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2
+ version: 1.4.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 1f95722c94f00b69af69a066c7433714
+ sha256: e22268d81905338570786921b3def88e55f9ed6d0ccdd17d9fbae31a02fbef69
+ manager: conda
+ name: brotli-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.1.0-py310hc6cd4ac_1.conda
+ version: 1.1.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 5dfee17f24e2dfd18d7392b48c9351e2
+ sha256: 9b193a4e483c4d0004bc5b88fac7a02516b6311137ab61b8db85aa9741422e35
+ manager: conda
+ name: cachy
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachy-0.3.0-pyhd8ed1ab_1.tar.bz2
+ version: 0.3.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 0876280e409658fc6f9e75d035960333
+ sha256: f1faca020f988696e6b6ee47c82524c7806380b37cfdd1def32f92c326caca54
+ manager: conda
+ name: certifi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda
+ version: 2024.2.2
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 7f4a9e3fcff3f6356ae99244a014da6a
+ sha256: 20cae47d31fdd58d99c4d2e65fbdcefa0b0de0c84e455ba9d6356a4bdbc4b5b9
+ manager: conda
+ name: charset-normalizer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.3.2-pyhd8ed1ab_0.conda
+ version: 3.3.2
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: f3ad426304898027fc619827ff428eca
+ sha256: f0016cbab6ac4138a429e28dbcb904a90305b34b3fe41a9b89d697c90401caec
+ manager: conda
+ name: click
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-8.1.7-unix_pyh707e725_0.conda
+ version: 8.1.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 3faab06a954c2a04039983f2c4a50d99
+ sha256: 2c1b2e9755ce3102bca8d69e8f26e4f087ece73f50418186aee7c74bef8e1698
+ manager: conda
+ name: colorama
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.6-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.6
+- category: main
+ dependencies:
+ python: '>=3.6,<4.0'
+ hash:
+ md5: 709a2295dd907bb34afb57d54320642f
+ sha256: 2f05954a3faf0700c14c1deddc085385160ee32abe111699c78d9cb277e915cc
+ manager: conda
+ name: crashtest
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/crashtest-0.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.4.1
+- category: main
+ dependencies:
+ expat: '>=2.4.2,<3.0a0'
+ libgcc-ng: '>=9.4.0'
+ libglib: '>=2.70.2,<3.0a0'
+ hash:
+ md5: ecfff944ba3960ecb334b9a2663d708d
+ sha256: 8f5f995699a2d9dbdd62c61385bfeeb57c82a681a7c8c5313c395aa0ccab68a5
+ manager: conda
+ name: dbus
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/dbus-1.13.6-h5008d03_3.tar.bz2
+ version: 1.13.6
+- category: main
+ dependencies:
+ python: 2.7|>=3.6
+ hash:
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
+ manager: conda
+ name: distlib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
+- category: main
+ dependencies:
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: c159dcd29bbd80b187b1c5d5f73cc971
+ sha256: 85669183fc376d4f7f8293474bc41bf9def0a9761282d6cc79ae98011e997ae2
+ manager: conda
+ name: docutils
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/docutils-0.20.1-py310hff52083_3.conda
+ version: 0.20.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 0c1729b74a8152fde6a38ba0a2ab9f45
+ sha256: 4d742d91412d1f163e5399d2b50c5d479694ebcd309127abb549ca3977f89d2b
+ manager: conda
+ name: filelock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/filelock-3.13.1-pyhd8ed1ab_0.conda
+ version: 3.13.1
+- category: main
+ dependencies:
+ expat: '>=2.5.0,<3.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ libgcc-ng: '>=12'
+ libuuid: '>=2.32.1,<3.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: 0f69b688f52ff6da70bccb7ff7001d1d
+ sha256: 155d534c9037347ea7439a2c6da7c24ffec8e5dd278889b4c57274a1d91e0a83
+ manager: conda
+ name: fontconfig
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/fontconfig-2.14.2-h14ed4e7_0.conda
+ version: 2.14.2
+- category: main
+ dependencies:
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
+ hash:
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
+ manager: conda
+ name: gxx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: 1a76f09108576397c41c0b0c5bd84134
+ sha256: 6ee4c986d69ce61e60a20b2459b6f2027baeba153f0a64995fd3cb47c2cc7e07
+ manager: conda
+ name: idna
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/idna-3.6-pyhd8ed1ab_0.conda
+ version: '3.6'
+- category: main
+ dependencies:
+ python: '>=3.4'
+ hash:
+ md5: 7de5386c8fea29e76b303f37dde4c352
+ sha256: c2bfd7043e0c4c12d8b5593de666c1e81d67b83c474a0a79282cc5c4ef845460
+ manager: conda
+ name: imagesize
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/imagesize-1.4.1-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 9800ad1699b42612478755a2d26c722d
+ sha256: 16639759b811866d63315fe1391f6fb45f5478b823972f4d3d9f0392b7dd80b8
+ manager: conda
+ name: jeepney
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.8.0-pyhd8ed1ab_0.tar.bz2
+ version: 0.8.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ hash:
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
+ manager: conda
+ name: lcms2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
+- category: main
+ dependencies:
+ krb5: '>=1.21.1,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ hash:
+ md5: d4529f4dff3057982a7617c7ac58fde3
+ sha256: bc67b9b21078c99c6bd8595fe7e1ed6da1f721007726e717f0449de7032798c4
+ manager: conda
+ name: libcups
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcups-2.3.3-h4637d8d_4.conda
+ version: 2.3.3
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libgcc-ng: '>=12'
+ libnghttp2: '>=1.58.0,<2.0a0'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: 7144d5a828e2cae218e0e3c98d8a0aeb
+ sha256: 00a6bea5ff90ca58eeb15ebc98e08ffb88bddaff27396bb62640064f59d29cf0
+ manager: conda
+ name: libcurl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcurl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: f6703fa0214a00bf49d1bef6dc7672d0
+ sha256: 3c18347adf1d091ee9248612308a6bef79038f80b626ef67f58cd0e8d25c65b8
+ manager: conda
+ name: markupsafe
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py310h2372a71_0.conda
+ version: 2.1.5
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
+ manager: conda
+ name: more-itertools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: dc5263dcaa1347e5a456ead3537be27d
+ sha256: a5c7612029e3871b0af0bd69e8ee1545d3deb93b5bec29cf1bf72522375fda31
+ manager: conda
+ name: msgpack-python
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/msgpack-python-1.0.7-py310hd41b1e2_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 79002079284aa895f883c6b7f3f88fd6
+ sha256: 69b3ace6cca2dab9047b2c24926077d81d236bef45329d264b394001e3c3e52f
+ manager: conda
+ name: packaging
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/packaging-23.2-pyhd8ed1ab_0.conda
+ version: '23.2'
+- category: main
+ dependencies:
+ python: '>=2.7'
+ hash:
+ md5: a4eea5bff523f26442405bc5d1f52adb
+ sha256: 9153f0f38c76a09da7688a61fdbf8f3d7504e2326bef53e4ec20d994311b15bd
+ manager: conda
+ name: pastel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pastel-0.2.1-pyhd8ed1ab_0.tar.bz2
+ version: 0.2.1
+- category: main
+ dependencies:
+ python: '>=3.6'
+ hash:
+ md5: be1e9f1c65a1ed0f2ae9352fec99db64
+ sha256: 7ea5a5af62a15376d9f4f9f3c134874d0b0710f39be719e849b7fa9ca8870502
+ manager: conda
+ name: pkginfo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pkginfo-1.9.6-pyhd8ed1ab_0.conda
+ version: 1.9.6
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: a0bc3eec34b0fab84be6b2da94e98e20
+ sha256: 2ebfb971236ab825dd79dd6086ea742a9901008ffb9c6222c1f2b5172a8039d3
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.0-pyhd8ed1ab_0.conda
+ version: 4.2.0
+- category: main
+ dependencies:
+ python: 2.7.*|>=3.4
+ hash:
+ md5: 076becd9e05608f8dc72757d5f3a91ff
+ sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc
+ manager: conda
+ name: pycparser
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pycparser-2.21-pyhd8ed1ab_0.tar.bz2
+ version: '2.21'
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 140a7f159396547e9799aa98f9f0742e
+ sha256: af5f8867450dc292f98ea387d4d8945fc574284677c8f60eaa9846ede7387257
+ manager: conda
+ name: pygments
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pygments-2.17.2-pyhd8ed1ab_0.conda
+ version: 2.17.2
+- category: main
+ dependencies:
+ python: '>=3.3'
+ hash:
+ md5: edf8651c4379d9d1495ad6229622d150
+ sha256: 50bd91767686bfe769e50a5a1b883e238d944a6163fea43e7c0beaac54ca674f
+ manager: conda
+ name: pylev
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pylev-1.4.0-pyhd8ed1ab_0.tar.bz2
+ version: 1.4.0
+- category: main
+ dependencies:
+ __unix: ''
+ python: '>=3.8'
+ hash:
+ md5: 2a7de29fb590ca14b5243c4c812c8025
+ sha256: a42f826e958a8d22e65b3394f437af7332610e43ee313393d1cf143f0a2d274b
+ manager: conda
+ name: pysocks
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha2e5f31_6.tar.bz2
+ version: 1.7.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 3eeeeb9e4827ace8c0c1419c85d590ad
+ sha256: 1a7d6b233f7e6e3bbcbad054c8fd51e690a67b129a899a056a5e45dd9f00cb41
+ manager: conda
+ name: pytz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda
+ version: '2024.1'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ yaml: '>=0.2.5,<0.3.0a0'
+ hash:
+ md5: bb010e368de4940771368bc3dc4c63e7
+ sha256: aa78ccddb0a75fa722f0f0eb3537c73ee1219c9dd46cea99d6b9eebfdd780f3d
+ manager: conda
+ name: pyyaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pyyaml-6.0.1-py310h2372a71_1.conda
+ version: 6.0.1
+- category: main
+ dependencies:
+ __glibc: '>=2.17,<3.0.a0'
+ expat: '>=2.5.0,<3.0a0'
+ gmp: '>=6.2.1,<7.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ mpc: '>=1.3.1,<2.0a0'
+ mpfr: '>=4.1.0,<5.0a0'
+ ncurses: '>=6.3,<7.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 85c9a0d9dd5311aaa2c5064f2c87b496
+ sha256: 8716699011df2900f8f20abcec16a0c08e821cfbe7fc2dad4fc369e483d8ed49
+ manager: conda
+ name: riscv-tools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/ucb-bar/linux-64/riscv-tools-1.0.3-0_h1234567_ga1b1b14.conda
+ version: 1.0.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: dcf6d2535586c77b31425ed835610c54
+ sha256: cfcb1b4528074684b2e339b6854320f42a03e7545ff1944ef8262e0130e5c6c8
+ manager: conda
+ name: ruamel.yaml.clib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml.clib-0.2.8-py310h2372a71_0.conda
+ version: 0.2.8
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 576de899521b7d43674ba3ef6eae9142
+ sha256: 7a6dca60efcaa42d0ebb784950bc16230a968256cb5048a4441cb34653b5ec58
+ manager: conda
+ name: setuptools
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.1.1-pyhd8ed1ab_0.conda
+ version: 69.1.1
+- category: main
+ dependencies:
+ python: ''
+ hash:
+ md5: e5f25f8dbc060e9a8d912e432202afc2
+ sha256: a85c38227b446f42c5b90d9b642f2c0567880c15d72492d8da074a59c8f91dd6
+ manager: conda
+ name: six
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/six-1.16.0-pyh6c4a22f_0.tar.bz2
+ version: 1.16.0
+- category: main
+ dependencies:
+ python: '>=2'
+ hash:
+ md5: 4d22a9315e78c6827f806065957d566e
+ sha256: a0fd916633252d99efb6223b1050202841fa8d2d53dacca564b0ed77249d3228
+ manager: conda
+ name: snowballstemmer
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.2.0-pyhd8ed1ab_0.tar.bz2
+ version: 2.2.0
+- category: main
+ dependencies:
+ python: '>=3.5'
+ hash:
+ md5: da1d979339e2714c30a8e806a33ec087
+ sha256: d4337d83b8edba688547766fc80f1ac86d6ec86ceeeda93f376acc04079c5ce2
+ manager: conda
+ name: sphinxcontrib-jsmath
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-pyhd8ed1ab_0.conda
+ version: 1.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 5844808ffab9ebdb694585b50ba02a96
+ sha256: 4cd48aba7cd026d17e86886af48d0d2ebc67ed36f87f6534f4b67138f5a5a58f
+ manager: conda
+ name: tomli
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomli-2.0.1-pyhd8ed1ab_0.tar.bz2
+ version: 2.0.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 074d0ce7a6261ab8b497c3518796ef3e
+ sha256: 53cc436ab92d38683df1320e4468a8b978428e800195bf1c8c2460e90b0bc117
+ manager: conda
+ name: tomlkit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/tomlkit-0.12.3-pyha770c72_0.conda
+ version: 0.12.3
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 2fcb582444635e2c402e8569bb94e039
+ sha256: 22b0a9790317526e08609d5dfdd828210ae89e6d444a9e954855fc29012e90c6
+ manager: conda
+ name: toolz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.1-pyhd8ed1ab_0.conda
+ version: 0.12.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 48f39c24349d9ae5c8e8873c42fb6170
+ sha256: bf3f211554444e03ed4663c0704fada38e0440fa723f1e32e12243ab026e3817
+ manager: conda
+ name: tornado
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4-py310h2372a71_0.conda
+ version: '6.4'
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
+ manager: conda
+ name: typing_extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ flex: '>=2.6.4,<3.0a0'
+ gxx_impl_linux-64: ''
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ make: ''
+ perl: ''
+ python: ''
+ hash:
+ md5: d628a7f32222786b70ad81e56dd4a61a
+ sha256: 1648f885c97e5189adb12a70eef72699885a4e9e882ea385c3cd904baed251ce
+ manager: conda
+ name: verilator
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.022-h7cd9344_0.conda
+ version: '5.022'
+- category: main
+ dependencies:
+ python: '>=2.6'
+ hash:
+ md5: daf5160ff9cde3a468556965329085b9
+ sha256: 2adf9bd5482802837bc8814cbe28d7b2a4cbd2e2c52e381329eaa283b3ed1944
+ manager: conda
+ name: webencodings
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_2.conda
+ version: 0.5.1
+- category: main
+ dependencies:
+ python: '>=3.7'
+ hash:
+ md5: 1cdea58981c5cbc17b51973bcaddcea7
+ sha256: 80be0ccc815ce22f80c141013302839b0ed938a2edb50b846cf48d8a8c1cfa01
+ manager: conda
+ name: wheel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/wheel-0.42.0-pyhd8ed1ab_0.conda
+ version: 0.42.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.7.2,<2.0a0'
+ xorg-xextproto: ''
+ hash:
+ md5: 82b6df12252e6f32402b96dacc656fec
+ sha256: 73e5cfbdff41ef8a844441f884412aa5a585a0f0632ec901da035a03e1fe1249
+ manager: conda
+ name: xorg-libxext
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxext-1.3.4-h0b41bf4_2.conda
+ version: 1.3.4
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-fixesproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ hash:
+ md5: e9a21aa4d5e3e5f1aed71e8cefd46b6a
+ sha256: 1e426a1abb774ef1dcf741945ed5c42ad12ea2dc7aeed7682d293879c3e1e4c3
+ manager: conda
+ name: xorg-libxfixes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxfixes-5.0.3-h7f98852_1004.tar.bz2
+ version: 5.0.3
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-renderproto: ''
+ hash:
+ md5: ed67c36f215b310412b2af935bf3e530
+ sha256: 26da4d1911473c965c32ce2b4ff7572349719eaacb88a066db8d968a4132c3f7
+ manager: conda
+ name: xorg-libxrender
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxrender-0.9.11-hd590300_0.conda
+ version: 0.9.11
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ xorg-kbproto: ''
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-xproto: ''
+ hash:
+ md5: ae92aab42726eb29d16488924f7312cb
+ sha256: e7648d1efe2e858c4bc63ccf4a637c841dc971b37ded85a01be97a5e240fecfa
+ manager: conda
+ name: xorg-libxt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxt-1.3.0-hd590300_1.conda
+ version: 1.3.0
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 2e4d6bc0b14e10f895fc6791a7d9b26a
+ sha256: bced1423fdbf77bca0a735187d05d9b9812d2163f60ab426fc10f11f92ecbe26
+ manager: conda
+ name: zipp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/zipp-3.17.0-pyhd8ed1ab_0.conda
+ version: 3.17.0
+- category: main
+ dependencies:
+ python: '>=3.7'
+ pytz: ''
+ setuptools: ''
+ hash:
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
+ manager: conda
+ name: babel
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
+- category: main
+ dependencies:
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.0,<3.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libxcb: '>=1.15,<1.16.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ zlib: ''
+ hash:
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
+ manager: conda
+ name: cairo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
+- category: main
+ dependencies:
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ pycparser: ''
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 45846a970e71ac98fd327da5d40a0a2c
+ sha256: 007e7f69ab45553b7bf11f2c1b8d3f3a13fd42997266a0d57795f41c7d38df36
+ manager: conda
+ name: cffi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cffi-1.16.0-py310h2fee648_0.conda
+ version: 1.16.0
+- category: main
+ dependencies:
+ click: ''
+ python: '>=2.7'
+ hash:
+ md5: 7c2b6931f9b3548ed78478332095c3e9
+ sha256: b36e35d735ddd29d7c592eb3de4b3979e13a9f76f1b4bc939f2cb4402758d6d0
+ manager: conda
+ name: click-default-group
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/click-default-group-1.2.4-pyhd8ed1ab_0.conda
+ version: 1.2.4
+- category: main
+ dependencies:
+ pastel: '>=0.2.0,<0.3.0'
+ pylev: '>=1.3,<2.0'
+ python: '>=3.7'
+ hash:
+ md5: 02abb7b66b02e8b9f5a9b05454400087
+ sha256: 2d582bc15d9116ec5467b565fb87d9034c8b56f60943e8eb69407f55f1ab5a78
+ manager: conda
+ name: clikit
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/clikit-0.6.2-pyhd8ed1ab_2.conda
+ version: 0.6.2
+- category: main
+ dependencies:
+ krb5: '>=1.21.2,<1.22.0a0'
+ libcurl: 8.5.0 hca28451_0
+ libgcc-ng: '>=12'
+ libssh2: '>=1.11.0,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
+ hash:
+ md5: e5e83fb15e752dbc8f54c4ac7da7d0f1
+ sha256: febf098d6ca901b589d02c58eedcf5cb77d8fa4bfe35a52109f5909980b426db
+ manager: conda
+ name: curl
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/curl-8.5.0-hca28451_0.conda
+ version: 8.5.0
+- category: main
+ dependencies:
+ python: ''
+ six: '>=1.9'
+ webencodings: ''
+ hash:
+ md5: b2355343d6315c892543200231d7154a
+ sha256: 9ad06446fe9847e86cb20d220bf11614afcd2cbe9f58096f08d5d4018877bee4
+ manager: conda
+ name: html5lib
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2
+ version: '1.1'
+- category: main
+ dependencies:
+ python: '>=3.8'
+ zipp: '>=0.5'
+ hash:
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
+ manager: conda
+ name: importlib-metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ more-itertools: ''
+ python: '>=3.7'
+ hash:
+ md5: c541ae264c9f1f21d83fc30dffb908ee
+ sha256: 232b40de8176fa7fb66a893653f8ae03c29616e04a83dae5a47df94b74e256ca
+ manager: conda
+ name: jaraco.classes
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.1-pyhd8ed1ab_0.conda
+ version: 3.3.1
+- category: main
+ dependencies:
+ markupsafe: '>=2.0'
+ python: '>=3.7'
+ hash:
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
+ manager: conda
+ name: jinja2
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
+- category: main
+ dependencies:
+ python: ''
+ setuptools: ''
+ six: ''
+ tornado: ''
+ hash:
+ md5: b7190e3ec3eff52839434bf4698e2d62
+ sha256: 0e88f8f8abc0a641c2f3b1b306258fab87c39a95f3495e53e6b3873107da1765
+ manager: conda
+ name: livereload
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/livereload-2.6.3-pyh9f0ad1d_0.tar.bz2
+ version: 2.6.3
+- category: main
+ dependencies:
+ python: '>=3.7'
+ setuptools: ''
+ wheel: ''
+ hash:
+ md5: f586ac1e56c8638b64f9c8122a7b8a67
+ sha256: b7c1c5d8f13e8cb491c4bd1d0d1896a4cf80fc47de01059ad77509112b664a4a
+ manager: conda
+ name: pip
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-24.0-pyhd8ed1ab_0.conda
+ version: '24.0'
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ ruamel.yaml.clib: '>=0.1.2'
+ hash:
+ md5: 50b7d9b39099cdbabf65bf27df73a793
+ sha256: 37581cbd99eb8855b6d268c85d189d723dd4fa1f9d115b8a633bed6dea4c370e
+ manager: conda
+ name: ruamel.yaml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/ruamel.yaml-0.18.6-py310h2372a71_0.conda
+ version: 0.18.6
+- category: main
+ dependencies:
+ typing_extensions: 4.9.0 pyha770c72_0
+ hash:
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
+ manager: conda
+ name: typing-extensions
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
+- category: main
+ dependencies:
+ brotli-python: '>=1.0.9'
+ pysocks: '>=1.5.6,<2.0,!=1.5.7'
+ python: '>=3.7'
+ hash:
+ md5: bf61cfd2a7f212efba378167a07d4a6a
+ sha256: 1cc0bab65a6ad0f5a8bd7657760a4fb4e670d30377f9dab88b792977cb3687e7
+ manager: conda
+ name: urllib3
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.18-pyhd8ed1ab_0.conda
+ version: 1.26.18
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: 8797a4e26be36880a603aba29c785352
+ sha256: 1ced4445cf72cd9dc344ad04bdaf703a08cc428c8c46e4bda928ad79786ee153
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.1-pyhd8ed1ab_0.conda
+ version: 20.25.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.0,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxfixes: 5.0.*
+ hash:
+ md5: e77615e5141cad5a2acaa043d1cf0ca5
+ sha256: 745c1284a96b4282fe6fe122b2643e1e8c26a7ff40b733a8f4b61357238c4e68
+ manager: conda
+ name: xorg-libxi
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxi-1.7.10-h7f98852_0.tar.bz2
+ version: 1.7.10
+- category: main
+ dependencies:
+ python: '>=3.7'
+ typing-extensions: '>=4.0.0'
+ hash:
+ md5: 997c29372bdbe2afee073dff71f35923
+ sha256: 3a2c98154d95cfd54daba6b7d507d31f5ba07ac2ad955c44eb041b66563193cd
+ manager: conda
+ name: annotated-types
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/annotated-types-0.6.0-pyhd8ed1ab_0.conda
+ version: 0.6.0
+- category: main
+ dependencies:
+ cffi: '>=1.12'
+ libgcc-ng: '>=12'
+ openssl: '>=3.2.1,<4.0a0'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 47e6ea7109182e9e48f8c5839f1bded7
+ sha256: eb514beb1c96969ebd299bb1979d6ccbf78087eb2a3772c364b94f778b8326ec
+ manager: conda
+ name: cryptography
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/cryptography-42.0.5-py310h75e40e8_0.conda
+ version: 42.0.5
+- category: main
+ dependencies:
+ curl: ''
+ gettext: ''
+ libexpat: '>=2.5.0,<3.0a0'
+ libgcc-ng: '>=12'
+ libiconv: '>=1.17,<2.0a0'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ openssl: '>=3.2.0,<4.0a0'
+ pcre2: '>=10.42,<10.43.0a0'
+ perl: 5.*
+ hash:
+ md5: 851970792301b407ba4c35e75e796791
+ sha256: 73a065e160d759e8fb0b169e615955a8fe0c148ed00c7f6ddf076f2e4adfd765
+ manager: conda
+ name: git
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/git-2.43.0-pl5321h7bc287a_0.conda
+ version: 2.43.0
+- category: main
+ dependencies:
+ cairo: '>=1.18.0,<2.0a0'
+ freetype: '>=2.12.1,<3.0a0'
+ graphite2: ''
+ icu: '>=73.2,<74.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.1,<3.0a0'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
+ manager: conda
+ name: harfbuzz
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
+- category: main
+ dependencies:
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
+ hash:
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
+ manager: conda
+ name: importlib_metadata
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ typing-extensions: '>=4.6.0,!=4.7.0'
+ hash:
+ md5: 3f7aa5bfda188d57c4741de6fcc15330
+ sha256: 0048a136343af983b6f6ee9fc6a65259d231eb3e90c57b2f9adaef725b64b17e
+ manager: conda
+ name: pydantic-core
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.16.3-py310hcb5633a_0.conda
+ version: 2.16.3
+- category: main
+ dependencies:
+ certifi: '>=2017.4.17'
+ charset-normalizer: '>=2,<4'
+ idna: '>=2.5,<4'
+ python: '>=3.7'
+ urllib3: '>=1.21.1,<3'
+ hash:
+ md5: a30144e4156cdbb236f99ebb49828f8b
+ sha256: 9f629d6fd3c8ac5f2a198639fe7af87c4db2ac9235279164bfe0fcb49d8c4bad
+ manager: conda
+ name: requests
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/requests-2.31.0-pyhd8ed1ab_0.conda
+ version: 2.31.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=9.3.0'
+ xorg-inputproto: ''
+ xorg-libx11: '>=1.7.1,<2.0a0'
+ xorg-libxext: 1.3.*
+ xorg-libxi: 1.7.*
+ xorg-recordproto: ''
+ hash:
+ md5: a220b1a513e19d5cb56c1311d44f12e6
+ sha256: 9a51ae2869b9a47735539dada9d85534418a765d1461c9f91fe7564f3ee75e87
+ manager: conda
+ name: xorg-libxtst
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/xorg-libxtst-1.2.3-h7f98852_1002.tar.bz2
+ version: 1.2.3
+- category: main
+ dependencies:
+ msgpack-python: '>=0.5.2'
+ python: '>=3.7'
+ requests: '>=2.16.0'
+ hash:
+ md5: a661c39e223bf3038b38126b0bbf43d9
+ sha256: 3318732d60456c5ecc0db14a7343a320ea88e05ae168aea4164d7f9ec7907142
+ manager: conda
+ name: cachecontrol
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
+- category: main
+ dependencies:
+ appdirs: ''
+ click: '>=5.1'
+ filelock: ''
+ packaging: ''
+ python: '>=3.7'
+ requests: '>=2'
+ hash:
+ md5: e54a91c3a65491b13c68f7696425bac8
+ sha256: a115afdc676c95a17ab63bbda84b7b724bc8817ae54fa34f8991339252424959
+ manager: conda
+ name: ensureconda
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.4-pyhd8ed1ab_0.conda
+ version: 1.4.4
+- category: main
+ dependencies:
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
+ fontconfig: '>=2.14.2,<3.0a0'
+ fonts-conda-ecosystem: ''
+ freetype: '>=2.12.1,<3.0a0'
+ giflib: '>=5.2.1,<5.3.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
+ lcms2: '>=2.15,<3.0a0'
+ libcups: '>=2.3.3,<2.4.0a0'
+ libgcc-ng: '>=12'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
+ libzlib: '>=1.2.13,<1.3.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
+ xorg-libxext: '>=1.3.4,<2.0a0'
+ xorg-libxi: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
+ xorg-libxt: '>=1.3.0,<2.0a0'
+ xorg-libxtst: ''
+ hash:
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
+ manager: conda
+ name: openjdk
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
+- category: main
+ dependencies:
+ annotated-types: '>=0.4.0'
+ pydantic-core: 2.16.3
+ python: '>=3.7'
+ typing-extensions: '>=4.6.1'
+ hash:
+ md5: b6343b653c5ca8fb18af03f3f5d1cd9f
+ sha256: ff6728ec56f8cc5d0c6dba999de6299f3ce4aa2624b552194dafdb5af1c7fecd
+ manager: conda
+ name: pydantic
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.6.2-pyhd8ed1ab_0.conda
+ version: 2.6.2
+- category: main
+ dependencies:
+ cryptography: ''
+ dbus: ''
+ jeepney: '>=0.6'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: 4ccc40bc490af727cfbf3e7f0289d9bd
+ sha256: a2b7f56b07b6e95bd05fd47ebe5b2cfc8af70ccd04994623f6508e90d3b5f857
+ manager: conda
+ name: secretstorage
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/secretstorage-3.3.3-py310hff52083_2.conda
+ version: 3.3.3
+- category: main
+ dependencies:
+ cachecontrol: 0.14.0 pyhd8ed1ab_0
+ filelock: '>=3.8.0'
+ python: '>=3.7'
+ hash:
+ md5: 4c08fa6e7d1d3f124ad815e21b2210e9
+ sha256: 89a9061aafc28c0e0e2db49a5b99e99797ed3a7127c31deda0cceb4696ae627f
+ manager: conda
+ name: cachecontrol-with-filecache
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
+- category: main
+ dependencies:
+ importlib_metadata: '>=4.11.4'
+ jaraco.classes: ''
+ jeepney: '>=0.4.2'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ secretstorage: '>=3.2'
+ hash:
+ md5: e710fd8e57356a64cace034413da9cb3
+ sha256: 886a764e4bc2cfaabf2ea0a98461fbd526affd99c984a2789770eca43dd17c9b
+ manager: conda
+ name: keyring
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/keyring-24.3.0-py310hff52083_0.conda
+ version: 24.3.0
+- category: main
+ dependencies:
+ __unix: ''
+ openjdk: '>=8'
+ hash:
+ md5: b6f6329c1a8a1efaaf16024e545335f5
+ sha256: f5588175723814ad220d6dad75771d7139c293df802ce871ab2b89a629250013
+ manager: conda
+ name: sbt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sbt-1.9.7-hd8ed1ab_0.conda
+ version: 1.9.7
+- category: main
+ dependencies:
+ cachecontrol-with-filecache: '>=0.12.9'
+ cachy: '>=0.3.0'
+ click: '>=8.0'
+ click-default-group: ''
+ clikit: '>=0.6.2'
+ crashtest: '>=0.3.0'
+ ensureconda: '>=1.3'
+ html5lib: '>=1.0'
+ importlib-metadata: '>=1.7.0'
+ jinja2: ''
+ keyring: '>=21.2.0'
+ packaging: '>=20.4'
+ pkginfo: '>=1.4'
+ pydantic: '>=1.8.1'
+ python: '>=3.6'
+ pyyaml: '>=5.1'
+ requests: '>=2.18'
+ ruamel.yaml: ''
+ tomli: ''
+ tomlkit: '>=0.7.0'
+ toolz: '>=0.12.0,<1.0.0'
+ typing_extensions: ''
+ virtualenv: '>=20.0.26'
+ hash:
+ md5: e9ecdfe3e7d4f76d67afd65b02a621a0
+ sha256: fe66e9970d9ad03e215430f700af994e3ed67d301cd7cf9281f3b8114f50eccc
+ manager: conda
+ name: conda-lock
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/conda-lock-1.4.0-pyhd8ed1ab_2.conda
+ version: 1.4.0
+- category: main
+ dependencies:
+ colorama: ''
+ livereload: ''
+ python: '>=3.9'
+ sphinx: ''
+ hash:
+ md5: 13996799cc0b00919a3c1b9b02e02217
+ sha256: 13e095036649519562f4d1add7eb16004f8ad65efb854b11e836d48bb57e5df9
+ manager: conda
+ name: sphinx-autobuild
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2024.2.4-pyhd8ed1ab_0.conda
+ version: 2024.2.4
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
+ manager: conda
+ name: sphinxcontrib-applehelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
+ manager: conda
+ name: sphinxcontrib-devhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
+ manager: conda
+ name: sphinxcontrib-htmlhelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
+- category: main
+ dependencies:
+ python: '>=2.7'
+ sphinx: '>=1.8'
+ hash:
+ md5: 914897066d5873acfb13e75705276ad1
+ sha256: 2e5f16a2d58f9a31443ffbb8ce3852cfccf533a6349045828cd2e994ef0679ca
+ manager: conda
+ name: sphinxcontrib-jquery
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jquery-4.1-pyhd8ed1ab_0.conda
+ version: '4.1'
+- category: main
+ dependencies:
+ docutils: <0.21
+ python: '>=3.6'
+ sphinx: '>=5,<8'
+ sphinxcontrib-jquery: '>=4,<5'
+ hash:
+ md5: baf6d9a33df1a789ca55e3b404c7ea28
+ sha256: 8545c806d03092fd0236db6663c88036eab2dc99e34c91cd36c0704db03b148a
+ manager: conda
+ name: sphinx_rtd_theme
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-2.0.0-pyha770c72_0.conda
+ version: 2.0.0
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
+ manager: conda
+ name: sphinxcontrib-qthelp
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
+- category: main
+ dependencies:
+ alabaster: '>=0.7,<0.8'
+ babel: '>=2.9'
+ colorama: '>=0.4.5'
+ docutils: '>=0.18.1,<0.21'
+ imagesize: '>=1.3'
+ importlib-metadata: '>=4.8'
+ jinja2: '>=3.0'
+ packaging: '>=21.0'
+ pygments: '>=2.14'
+ python: '>=3.9'
+ requests: '>=2.25.0'
+ snowballstemmer: '>=2.0'
+ sphinxcontrib-applehelp: ''
+ sphinxcontrib-devhelp: ''
+ sphinxcontrib-htmlhelp: '>=2.0.0'
+ sphinxcontrib-jsmath: ''
+ sphinxcontrib-qthelp: ''
+ sphinxcontrib-serializinghtml: '>=1.1.9'
+ hash:
+ md5: bbfd1120d1824d2d073bc65935f0e4c0
+ sha256: 665d1fe6d20c6cc672ff20e6ebb405860f878b487d3d8d86a5952733fb7bbc42
+ manager: conda
+ name: sphinx
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-7.2.6-pyhd8ed1ab_0.conda
+ version: 7.2.6
+- category: main
+ dependencies:
+ python: '>=3.9'
+ sphinx: '>=5'
+ hash:
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
+ manager: conda
+ name: sphinxcontrib-serializinghtml
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
+version: 1
diff --git a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
index 760a7911..a888d6cc 100644
--- a/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
+++ b/conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
@@ -9,7 +9,7 @@
# To update a single package to the latest version compatible with the version constraints in the source:
# conda-lock lock --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml --update PACKAGE
# To re-solve the entire environment, e.g. after changing a version constraint in the source file:
-# conda-lock -f /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml -f /scratch/abejgonza/cy-fixes-1/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml
+# conda-lock -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-extended.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml -f /scratch/vighneshiyer/chipyard-verilator/conda-reqs/riscv-tools.yaml --lockfile conda-requirements-riscv-tools-linux-64.conda-lock.yml
metadata:
channels:
- url: ucb-bar
@@ -21,12 +21,14 @@ metadata:
- url: nodefaults
used_env_vars: []
content_hash:
- linux-64: f1bcd6ae2c33f314a2957b51c4689ea4e99a5ea5a2bf7e6d199abfb9f6ae65c4
+ linux-64: 29a14a9b62700e49e61d068bfc5545ecab7c9956444b32961a56cfc4037992a2
platforms:
- linux-64
sources:
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/chipyard.yaml
- - /scratch/abejgonza/cy-fixes-1/conda-reqs/riscv-tools.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-base.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/chipyard-extended.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/docs.yaml
+ - /scratch/vighneshiyer/chipyard-verilator/conda-reqs/riscv-tools.yaml
package:
- category: main
dependencies: {}
@@ -42,13 +44,13 @@ package:
- category: main
dependencies: {}
hash:
- md5: f6ce7955b53ae1ca83144adb3be9c600
- sha256: 546e4eb1cbd822a66b363ec3fbdcc4fcc53853bcab57674cb46b8f3209b856f2
+ md5: 38d211c448a67f12fe693fe25df4da23
+ sha256: 0dbeaddc3d5134b5336c52ac05642533b8d1ba2e1316aa92981f4cf5b5388de0
manager: conda
name: _sysroot_linux-64_curr_repodata_hack
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_13.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/_sysroot_linux-64_curr_repodata_hack-3-h69a702a_14.conda
version: '3'
- category: main
dependencies: {}
@@ -64,25 +66,25 @@ package:
- category: main
dependencies: {}
hash:
- md5: 01ffc8d36f9eba0ce0b3c1955fa780ee
- sha256: fb4b9f4b7d885002db0b93e22f44b5b03791ef3d4efdc9d0662185a0faafd6b6
+ md5: 2f4327a1cbe7f022401b236e915a5fef
+ sha256: 91d81bfecdbb142c15066df70cc952590ae8991670198f92c66b62019b251aeb
manager: conda
name: ca-certificates
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2023.11.17-hbcca054_0.conda
- version: 2023.11.17
+ url: https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2024.2.2-hbcca054_0.conda
+ version: 2024.2.2
- category: main
dependencies: {}
hash:
- md5: 9936f9d4393c27069e6ee70338f955a5
- sha256: 5098310ea9ec4dae611a658c1ea26436001b2d2a4ed3c8e9468881337e02682f
+ md5: fd2989188c0421b101b12c4ee91a8967
+ sha256: f0cb3d37b2642bf982d497d63f351dcdcd03cea1b0b175d4d3c9d13b3c022d80
manager: conda
name: conda-standalone
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.10.0-ha770c72_0.conda
- version: 23.10.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-standalone-23.11.0-ha770c72_1.conda
+ version: 23.11.0
- category: main
dependencies: {}
hash:
@@ -141,47 +143,47 @@ package:
- category: main
dependencies: {}
hash:
- md5: 1d7f6d1825bd6bf21ee04336ec87a777
- sha256: 92bec8177aacfcd49a8e5bda49c10e4b77e239e9d58a0ca4ef31344a2be1fc82
+ md5: fb94f6b17ef1a75faac2e06937dc4223
+ sha256: 86d1e11bf0b8dbc74fec07f3c71bb1b20f83e32b5b9f8625b3dc653ce00e40bd
manager: conda
name: libgcc-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libgcc-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
- md5: 3f784d2c059e960156d1ab3858cbf200
- sha256: 8a78b0ab9f845a90d3b66a5d83e4e1131a236d1c5badd3660fb7c12daac796bf
+ md5: a884fe2f11c6167f3dc62d4b1db20ced
+ sha256: 20c4f2b96b8fb57a3cad0bb8f1ce407ee7bc935cb0ce68b430b10b77616c0b16
manager: conda
name: libstdcxx-devel_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-12.3.0-h8bca6fd_103.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/libstdcxx-devel_linux-64-11.4.0-h922705a_105.conda
+ version: 11.4.0
- category: main
dependencies: {}
hash:
- md5: 937eaed008f6bf2191c5fe76f87755e9
- sha256: 6c6c49efedcc5709a66f19fb6b26b69c6a5245310fd1d9a901fd5e38aaf7f882
+ md5: f6f6600d18a4047b54f803cf708b868a
+ sha256: a56c5b11f1e73a86e120e6141a42d9e935a99a2098491ac9e15347a1476ce777
manager: conda
name: libstdcxx-ng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-13.2.0-h7e041cc_5.conda
version: 13.2.0
- category: main
dependencies: {}
hash:
- md5: 5b874a5f133b1bd0c5f227eed4758fdb
- sha256: 9aa01c1102811cae6f60efa9d17f8f44365791d53a712dce3fe9a0488b6f6c2f
+ md5: 45965b2693535c0b8a1f8a71f416d22d
+ sha256: 7327eb9b9b343f7c4b8ba0b7dce5a022c72fbbb0f56b9a780f6c90276ef19072
manager: conda
name: open_pdks.sky130a
optional: false
platform: linux-64
- url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.458_0_g8c68aca-20231104_052339.tar.bz2
- version: 1.0.458_0_g8c68aca
+ url: https://conda.anaconda.org/litex-hub/noarch/open_pdks.sky130a-1.0.470_0_g6d4d117-20240223_100318.tar.bz2
+ version: 1.0.470_0_g6d4d117
- category: main
dependencies: {}
hash:
@@ -196,14 +198,14 @@ package:
- category: main
dependencies: {}
hash:
- md5: 939e3e74d8be4dac89ce83b20de2492a
- sha256: 0449138224adfa125b220154408419ec37c06b0b49f63c5954724325903ecf55
+ md5: 161081fc7cec0bfda0d86d7cb595f8d8
+ sha256: 7b2b69c54ec62a243eb6fba2391b5e443421608c3ae5dbff938ad33ca8db5122
manager: conda
name: tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2023c-h71feb2d_0.conda
- version: 2023c
+ url: https://conda.anaconda.org/conda-forge/noarch/tzdata-2024a-h0c530f3_0.conda
+ version: 2024a
- category: main
dependencies:
font-ttf-dejavu-sans-mono: ''
@@ -223,25 +225,25 @@ package:
dependencies:
_sysroot_linux-64_curr_repodata_hack: 3.*
hash:
- md5: 523bc836a954faf0cca94831971bb85a
- sha256: 67a3caa56e2a59f407f3d290437b865aaf996873006e2fcfca6295d0f0be8db9
+ md5: f6c14886b1695a2462d296176e831080
+ sha256: 604b9345a7a1474b7eb33260e382446754d16eed754b853d7571d0e39bfc7737
manager: conda
name: kernel-headers_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_13.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/noarch/kernel-headers_linux-64-3.10.0-h4a8ded7_14.conda
version: 3.10.0
- category: main
dependencies:
_libgcc_mutex: 0.1 conda_forge
hash:
- md5: 7124cbb46b13d395bdde68f2d215c989
- sha256: 6ebedee39b6bbbc969715d0d7fa4b381cce67e1139862604ffa393f821c08e81
+ md5: d211c42b9ce49aee3734fdc828731689
+ sha256: 0d3d4b1b0134283ea02d58e8eb5accf3655464cf7159abf098cc694002f8d34e
manager: conda
name: libgomp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgomp-13.2.0-h807b86a_5.conda
version: 13.2.0
- category: main
dependencies:
@@ -271,15 +273,15 @@ package:
- category: main
dependencies:
_sysroot_linux-64_curr_repodata_hack: 3.*
- kernel-headers_linux-64: 3.10.0 h4a8ded7_13
+ kernel-headers_linux-64: 3.10.0 h4a8ded7_14
hash:
- md5: 57e5a5191ffe999b9f4dfdbcd0ddcba4
- sha256: f09f2fea4b571dcd225f1e35bd3c851e809cd4c2f5f151438133969ab28478e5
+ md5: d5f7a1cca06f56e6ac2b525f199f9b9e
+ sha256: af0f9ed466f97e3910c1d867ab44c974e01383cb408baa38606265964c7f0857
manager: conda
name: sysroot_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_13.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/noarch/sysroot_linux-64-2.17-h4a8ded7_14.conda
version: '2.17'
- category: main
dependencies:
@@ -299,26 +301,26 @@ package:
_libgcc_mutex: 0.1 conda_forge
_openmp_mutex: '>=4.5'
hash:
- md5: 23fdf1fef05baeb7eadc2aed5fb0011f
- sha256: 5e88f658e07a30ab41b154b42c59f079b168acfa9551a75bdc972099453f4105
+ md5: d4ff227c46917d3b4565302a2bbb276b
+ sha256: d32f78bfaac282cfe5205f46d558704ad737b8dbf71f9227788a5ca80facaba4
manager: conda
name: libgcc-ng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-13.2.0-h807b86a_5.conda
version: 13.2.0
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: a0c6f0e7e1a467f5678f94dea18c8aa7
- sha256: f177627acdfcead15a28f4a07fcda6a1e26b83f053eaa1efa7cce01c0a3b09a8
+ md5: 75dae9a4201732aa78a530b826ee5fe0
+ sha256: 51147922bad9d3176e780eb26f748f380cd3184896a9f9125d8ac64fe330158b
manager: conda
name: alsa-lib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.9-hd590300_0.conda
- version: 1.2.9
+ url: https://conda.anaconda.org/conda-forge/linux-64/alsa-lib-1.2.10-hd590300_0.conda
+ version: 1.2.10
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -371,14 +373,14 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: d459949bc10f64dee1595c176c2e6291
- sha256: 6b0eee827bade11c2964a05867499a50ad2a9d1b14dfe18fb867a3bc9357f56f
+ md5: f6afff0e9ee08d2f1b897881a4f38cdb
+ sha256: 2a5866b19d28cb963fab291a62ff1c884291b9d6f59de14643e52f103e255749
manager: conda
name: c-ares
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.23.0-hd590300_0.conda
- version: 1.23.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/c-ares-1.27.0-hd590300_0.conda
+ version: 1.27.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -495,14 +497,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 7c8d20d847bb45f56bd941578fcfa146
- sha256: e44cc00eec068e7f7a6dd117ba17bf5d57658729b7b841945546f82505138292
+ md5: cc47e1facc155f91abd89b11e48e72ff
+ sha256: e12fd90ef6601da2875ebc432452590bc82a893041473bc1c13ef29001a73ea8
manager: conda
name: icu
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/icu-72.1-hcb278e6_0.conda
- version: '72.1'
+ url: https://conda.anaconda.org/conda-forge/linux-64/icu-73.2-h59595ed_0.conda
+ version: '73.2'
- category: main
dependencies:
libgcc-ng: '>=10.3.0'
@@ -533,14 +535,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 2785ddf4cb0e7e743477991d64353947
- sha256: 8729021a93e67bb93b4e73ef0a132499db516accfea11561b667635bcd0507e7
+ md5: 382a84d056794384ed6ac72dc434e586
+ sha256: 61009cc1fd9e8fa745aec2427849bcc95f7387c7c3f13780b03b02baa820a3e4
manager: conda
name: libabseil
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20230802.1-cxx17_h59595ed_0.conda
- version: '20230802.1'
+ url: https://conda.anaconda.org/conda-forge/linux-64/libabseil-20240116.1-cxx17_h59595ed_1.conda
+ version: '20240116.1'
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -557,25 +559,25 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 6aa9c9de5542ecb07fdda9ca626252d8
- sha256: 949d84ceea543802c1e085b2aa58f1d6cb5dd8cec5a9abaaf4e8ac65d6094b3a
+ md5: 1635570038840ee3f9c71d22aa5b8b6d
+ sha256: 985ad27aa0ba7aad82afa88a8ede6a1aacb0aaca950d710f15d85360451e72fd
manager: conda
name: libdeflate
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.18-h0b41bf4_0.conda
- version: '1.18'
+ url: https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.19-hd590300_0.conda
+ version: '1.19'
- category: main
dependencies:
- libgcc-ng: '>=7.5.0'
+ libgcc-ng: '>=12'
hash:
- md5: 6f8720dff19e17ce5d48cfe7f3d2f0a3
- sha256: 8c9635aa0ea28922877dc96358f9547f6a55fc7e2eb75a556b05f1725496baf9
+ md5: 172bf1cd1ff8629f2b1179945ed45055
+ sha256: 1cd6048169fa0395af74ed5d8f1716e22c19a81a8a36f934c110ca3ad4dd27b4
manager: conda
name: libev
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-h516909a_1.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libev-4.33-hd590300_2.conda
version: '4.33'
- category: main
dependencies:
@@ -617,38 +619,38 @@ package:
dependencies:
libgcc-ng: '>=13.2.0'
hash:
- md5: c714d905cdfa0e70200f68b80cc04764
- sha256: 0084a1d29a4f8ee3b8edad80eb6c42e5f0480f054f28cf713fb314bebb347a50
+ md5: 7a6bd7a12a4bd359e2afe6c0fa1acace
+ sha256: ba8d94e8493222ce155bb264d9de4200e41498a458e866fedf444de809bde8b6
manager: conda
name: libgfortran5
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-13.2.0-ha4646dd_5.conda
version: 13.2.0
- category: main
dependencies:
- libgcc-ng: '>=10.3.0'
+ libgcc-ng: '>=12'
hash:
- md5: b62b52da46c39ee2bc3c162ac7f1804d
- sha256: 6a81ebac9f1aacdf2b4f945c87ad62b972f0f69c8e0981d68e111739e6720fd7
+ md5: d66573916ffcf376178462f1b61c941e
+ sha256: 8ac2f6a9f186e76539439e50505d98581472fedb347a20e7d1f36429849f05c9
manager: conda
name: libiconv
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-h166bdaf_0.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.17-hd590300_2.conda
version: '1.17'
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 323e90742f0f48fc22bea908735f55e6
- sha256: 0ef7378818c6d5b407692d02556c32e2f6af31c7542bca5160d0b92a59427fb5
+ md5: ea25936bb4080d843790b586850f82b8
+ sha256: b954e09b7e49c2f2433d6f3bb73868eda5e378278b0f8c1dd10a7ef090e14f2f
manager: conda
name: libjpeg-turbo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-2.1.5.1-hd590300_1.conda
- version: 2.1.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.0.0-hd590300_1.conda
+ version: 3.0.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -663,16 +665,16 @@ package:
version: 2.0.1
- category: main
dependencies:
- libgcc-ng: '>=12.3.0'
+ libgcc-ng: '>=11.4.0'
hash:
- md5: eda05ab0db8f8490945fd99244183e3a
- sha256: 903c5786e0379da751e297dbe603be19b030994bac3caa74b3a596c1858c0296
+ md5: 47a9846c7679f8381b06fc5052ab4a4b
+ sha256: fc00e9a71c07446cf1744bd1d5cd3efa6dfd3a7db6c2c8a82853f19b8b1416f8
manager: conda
name: libsanitizer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-12.3.0-h0f45ef3_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsanitizer-11.4.0-h4dcbe23_5.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -697,18 +699,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libtasn1-4.19.0-h166bdaf_0.tar.bz2
version: 4.19.0
-- category: main
- dependencies:
- libgcc-ng: '>=12'
- hash:
- md5: f204c8ba400ec475452737094fb81d52
- sha256: 345b3b580ef91557a82425ea3f432a70a8748c040deb14570b9f4dca4af3e3d1
- manager: conda
- name: libtool
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtool-2.4.7-h27087fc_0.conda
- version: 2.4.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -737,26 +727,38 @@ package:
dependencies:
libgcc-ng: '>=12'
hash:
- md5: d23c76f7e6dcd6243d1b6ef5e62d17d2
- sha256: 4bc4c946e9a532c066442714eeeeb1ffbd03cd89789c4047293f5e782b5fedd7
+ md5: a7a94e1b751a9fe2be88f3934b3a0739
+ sha256: 53bd8f6bebc85555c5dd648072693e37fcdf777f993e9a108c4a7badf2e8810c
manager: conda
name: libuv
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.46.0-hd590300_0.conda
- version: 1.46.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/libuv-1.47.0-hd590300_0.conda
+ version: 1.47.0
- category: main
dependencies:
libgcc-ng: '>=12'
hash:
- md5: 82bf6f63eb15ef719b556b63feec3a77
- sha256: 66658d5cdcf89169e284488d280b6ce693c98c0319d7eabebcedac0929140a73
+ md5: 30de3fd9b3b602f7473f30e684eeea8c
+ sha256: 68764a760fa81ef35dacb067fe8ace452bbb41476536a4a147a1051df29525f0
manager: conda
name: libwebp-base
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.1-hd590300_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.3.2-hd590300_0.conda
+ version: 1.3.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ hash:
+ md5: 5aa797f8787fe7a17d1b0821485b5adc
+ sha256: 6ae68e0b86423ef188196fff6207ed0c8195dd84273cb5623b85aa08033a410c
+ manager: conda
+ name: libxcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxcrypt-4.4.36-hd590300_1.conda
+ version: 4.4.36
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -859,14 +861,14 @@ package:
ca-certificates: ''
libgcc-ng: '>=12'
hash:
- md5: 603827b39ea2b835268adb8c821b8570
- sha256: 80efc6f429bd8e622d999652e5cba2ca56fcdb9c16a439d2ce9b4313116e4a87
+ md5: 51a753e64a3027bd7e23a189b1f6e91e
+ sha256: c02c12bdb898daacf7eb3d09859f93ea8f285fd1a6132ff6ff0493ab52c7fe57
manager: conda
name: openssl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.0-hd590300_1.conda
- version: 3.2.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.2.1-hd590300_0.conda
+ version: 3.2.1
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -884,14 +886,14 @@ package:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
hash:
- md5: 700edd63ccd5fc66b70b1c028cea9a68
- sha256: ae917851474eb3b08812b02c9e945d040808523ec53f828aa74a90b0cdf15f57
+ md5: 71004cbf7924e19c02746ccde9fd7123
+ sha256: 366d28e2a0a191d6c535e234741e0cd1d94d713f76073d8af4a5ccb2a266121e
manager: conda
name: pixman
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.42.2-h59595ed_0.conda
- version: 0.42.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/pixman-0.43.2-h59595ed_0.conda
+ version: 0.43.2
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1128,14 +1130,14 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
hash:
- md5: fe9b3bb0a3961dfb12506d865d818c00
- sha256: 8f3b8f8b7b1f021eac80018d03ff24e2b390627b53eb17f07476f38ea67f4c56
+ md5: a4a83424ad4eab023c6e5b4adf264006
+ sha256: 8696e7023fde7c4588db8aedd08ffc0b4041c8449bd9edd50f237534cbcfac93
manager: conda
name: aws-c-sdkutils
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.12-h7f92143_6.conda
- version: 0.1.12
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-sdkutils-0.1.13-h7f92143_0.conda
+ version: 0.1.13
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -1219,34 +1221,34 @@ package:
- category: main
dependencies:
binutils_impl_linux-64: '>=2.39'
- libgcc-devel_linux-64: 12.3.0 h8bca6fd_103
- libgcc-ng: '>=12.3.0'
- libgomp: '>=12.3.0'
- libsanitizer: 12.3.0 h0f45ef3_3
- libstdcxx-ng: '>=12.3.0'
+ libgcc-devel_linux-64: 11.4.0 h922705a_105
+ libgcc-ng: '>=11.4.0'
+ libgomp: '>=11.4.0'
+ libsanitizer: 11.4.0 h4dcbe23_5
+ libstdcxx-ng: '>=11.4.0'
sysroot_linux-64: ''
hash:
- md5: 71c68ea75afe6ac7a9c62c08f5d67a5a
- sha256: ab2ea2890f43d45dc49ff59a3c35348e675ba728e088957209fa8f0e40a498e5
+ md5: dd619b391c1c85728a6c70aac733e0a8
+ sha256: b354a25c5eee51c7f2d9bd1232d445302068e55e540eddddf32bf96cc54f48b9
manager: conda
name: gcc_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
oniguruma: '>=6.9.9,<6.10.0a0'
hash:
- md5: c29cbd5ee663325f9bed9a2b2488ef3a
- sha256: e994d4e162a882ed9706f1ce992b5c33419ef425eafcd321252a6f94d3a05ab8
+ md5: 80814f94713e35df60aad6c4b235de87
+ sha256: a04a1603e405ea9ae5c4a492a8e361086cb441a91ef7299bd4bf3eca0b485b6d
manager: conda
name: jq
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7-hd590300_0.conda
- version: '1.7'
+ url: https://conda.anaconda.org/conda-forge/linux-64/jq-1.7.1-hd590300_0.conda
+ version: 1.7.1
- category: main
dependencies:
libbrotlicommon: 1.1.0 hd590300_1
@@ -1288,30 +1290,44 @@ package:
version: 3.1.20191231
- category: main
dependencies:
- libgfortran5: 13.2.0 ha4646dd_3
+ libgfortran5: 13.2.0 ha4646dd_5
hash:
- md5: 73031c79546ad06f1fe62e57fdd021bc
- sha256: 5b918950b84605b6865de438757f507b1eff73c96fd562f7022c80028b088c14
+ md5: e73e9cfd1191783392131e6238bdb3e9
+ sha256: 238c16c84124d58307376715839aa152bd4a1bf5a043052938ad6c3137d30245
manager: conda
name: libgfortran-ng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_3.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-13.2.0-h69a702a_5.conda
version: 13.2.0
+- category: main
+ dependencies:
+ gettext: '>=0.21.1,<1.0a0'
+ libgcc-ng: '>=12'
+ libstdcxx-ng: '>=12'
+ hash:
+ md5: 4d18d86916705d352d5f4adfb7f0edd3
+ sha256: c448c6d86d27e10b9e844172000540e9cbfe9c28f968db87f949ba05add9bd50
+ manager: conda
+ name: libgpg-error
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgpg-error-1.48-h71f35ed_0.conda
+ version: '1.48'
- category: main
dependencies:
gettext: '>=0.21.1,<1.0a0'
libgcc-ng: '>=12'
libunistring: '>=0,<1.0a0'
hash:
- md5: 7440fbafd870b8bab68f83a064875d34
- sha256: 888848ae85be9df86f56407639c63bdce8e7651f0b2517be9bc0ac6e38b2d21d
+ md5: 2b7b0d827c6447cc1d85dc06d5b5de46
+ sha256: 253f9be445c58bf07b39d8f67ac08bccc5010c75a8c2070cddfb6c20e1ca4f4f
manager: conda
name: libidn2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.4-h166bdaf_0.tar.bz2
- version: 2.3.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libidn2-2.3.7-hd590300_0.conda
+ version: 2.3.7
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1327,62 +1343,62 @@ package:
version: '5.39'
- category: main
dependencies:
- c-ares: '>=1.21.0,<2.0a0'
- libev: '>=4.33,<4.34.0a0'
+ c-ares: '>=1.23.0,<2.0a0'
+ libev: '>=4.33,<5.0a0'
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 9b13d5ee90fc9f09d54fd403247342b4
- sha256: 151b18e4f92dcca263a6d23e4beb0c4e2287aa1c7d0587ff71ef50035ed34aca
+ md5: 700ac6ea6d53d5510591c4344d5c989a
+ sha256: 1910c5306c6aa5bcbd623c3c930c440e9c77a5a019008e1487810e3c1d3716cb
manager: conda
name: libnghttp2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_0.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libnghttp2-1.58.0-h47da74e_1.conda
version: 1.58.0
- category: main
dependencies:
libgcc-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: e1c890aebdebbfbf87e2c917187b4416
- sha256: a32b36d34e4f2490b99bddbc77d01a674d304f667f0e62c89e02c961addef462
+ md5: 009981dd9cfcaa4dbfa25ffaed86bcae
+ sha256: 502f6ff148ac2777cc55ae4ade01a8fc3543b4ffab25c4e0eaa15f94e90dd997
manager: conda
name: libpng
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.39-h753d276_0.conda
- version: 1.6.39
+ url: https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.43-h2797004_0.conda
+ version: 1.6.43
- category: main
dependencies:
- libabseil: '>=20230802.1,<20230803.0a0'
+ libabseil: '>=20240116.1,<20240117.0a0'
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 1a0287ab734591ad63603734f923016b
- sha256: 3e0f6454190abb27edd2aeb724688ee440de133edb02cbb17d5609ba36aa8be0
+ md5: babbc506d2626698412c2e4ade78a20a
+ sha256: 433a82d1fc0d0fe78d93c34e4665bd0c931eb2e528be076875226ddf87e0d80a
manager: conda
name: libprotobuf
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.24.4-hf27288f_0.conda
- version: 4.24.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-4.25.2-h08a7969_1.conda
+ version: 4.25.2
- category: main
dependencies:
libgcc-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 3b6a9f225c3dbe0d24f4fedd4625c5bf
- sha256: ee2c4d724a3ed60d5b458864d66122fb84c6ce1df62f735f90d8db17b66cd88a
+ md5: fc4ccadfbf6d4784de88c41704792562
+ sha256: 1b379d1c652b25d0540251d422ef767472e768fd36b77261045e97f9ba6d3faa
manager: conda
name: libsqlite
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.44.2-h2797004_0.conda
- version: 3.44.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.45.1-h2797004_0.conda
+ version: 3.45.1
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1414,20 +1430,20 @@ package:
version: '1.15'
- category: main
dependencies:
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
libiconv: '>=1.17,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
hash:
- md5: 241845899caff54ac1d2b3102ad988cf
- sha256: 624b6e29e23a51353cff2aff7364c42b831139afd131d239e79f60aea4dae887
+ md5: c442ebfda7a475f5e78f1c8e45f1e919
+ sha256: db9bf97e9e367985204331b58a059ebd5a4e0cb9e1c8754e9ecb23046b7b7bc1
manager: conda
name: libxml2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.10.4-hfdac1af_0.conda
- version: 2.10.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.12.5-h232c23b_0.conda
+ version: 2.12.5
- category: main
dependencies:
libgcc-ng: '>=7.3.0'
@@ -1485,15 +1501,15 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libnsl: '>=2.0.0,<2.1.0a0'
+ libxcrypt: '>=4.4.36'
hash:
- md5: 3e785bff761095eb7f8676f4694bd1b1
- sha256: 6e18c1488d191cb1a43a483f44fffa75668779a29927319b4adeb10da12ad06b
+ md5: f2cfec9406850991f4e3d960cc9e3321
+ sha256: 9ec32b6936b0e37bcb0ed34f22ec3116e75b3c0964f9f50ecea5f58734ed6ce9
manager: conda
name: perl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-4_hd590300_perl5.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/perl-5.32.1-7_hd590300_perl5.conda
version: 5.32.1
- category: main
dependencies:
@@ -1524,16 +1540,16 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
hash:
- md5: 04b4845b9e9b5a0ee6eba013ecdbbddb
- sha256: 4c00411d49fefc6a53167c3120e386b3f35510544a44d2e647615b510a622f29
+ md5: 3d1b58d2664d96f9fbc0afe5e1d04632
+ sha256: f6cc2bdcb5d809bbaae218e03bdefef4a309d1fc7ccc9444fda59bd4553a83f8
manager: conda
name: s2n
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.3.56-h06160fa_0.conda
- version: 1.3.56
+ url: https://conda.anaconda.org/conda-forge/linux-64/s2n-1.4.0-h06160fa_0.conda
+ version: 1.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1646,29 +1662,29 @@ package:
aws-c-cal: '>=0.6.9,<0.6.10.0a0'
aws-c-common: '>=0.9.10,<0.9.11.0a0'
libgcc-ng: '>=12'
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: d15f4dfeef1d65de9a5283c984981776
- sha256: ca5094093d0f2de9b0b2bd4697088565d0ef930364df8a67c8b79172dc9c209d
+ md5: c930336aa72995f1b5459b51df3ba841
+ sha256: 7426f7444cd43cd7a649670c7330c163b40f40aa832e82be873d9de91e49b05e
manager: conda
name: aws-c-io
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he14a76f_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-io-0.13.36-he0cd244_2.conda
version: 0.13.36
- category: main
dependencies:
libgcc-ng: '>=12'
readline: '>=8.2,<9.0a0'
hash:
- md5: 91824b6e55d580d39050fa4ff8e26edd
- sha256: 20aed66138e13e1906ea925ee9ad661749492fc57762d2b4b6d631635274be7d
+ md5: c3f99059d4c3a2285f3c29c86c462c0f
+ sha256: 7543ca8fc7941974cb012b2ff8d842ff83e0365ff21bd2c7fdbbd468511b6f80
manager: conda
name: bash
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/bash-5.2.15-h7f99829_1.conda
- version: 5.2.15
+ url: https://conda.anaconda.org/conda-forge/linux-64/bash-5.2.21-h7f99829_0.conda
+ version: 5.2.21
- category: main
dependencies:
flex: ''
@@ -1699,16 +1715,16 @@ package:
version: 1.1.0
- category: main
dependencies:
- gcc_impl_linux-64: '>=12.3.0,<12.3.1.0a0'
+ gcc_impl_linux-64: '>=11.4.0,<11.4.1.0a0'
hash:
- md5: 93700ef8b49aebbfb0bf40e0b1448834
- sha256: f361a244a51874065b4d9a2d27089647e7966050abb8a76cad57471776b8ba19
+ md5: f400dd0a481abdfff466337623081d1a
+ sha256: 33504fd9020cd95f66c1d096112634c12e8bfd813d2bcd52ede90626c4768d3b
manager: conda
name: conda-gcc-specs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-12.3.0-h83fac38_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/conda-gcc-specs-11.4.0-h240829a_5.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=7.5.0'
@@ -1752,16 +1768,16 @@ package:
version: 2.12.1
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0.*
+ gcc_impl_linux-64: 11.4.0.*
hash:
- md5: e2f2f81f367e14ca1f77a870bda2fe59
- sha256: 1bbf077688822993c39518056fb43d83ff0920eb42fef11e8714d2a298cc0f27
+ md5: 0c8d100583c5fd6d20cd5307aaedaf0d
+ sha256: b515e9222a8af974024b02c7265bed8e4edf912707a5a8fc207cbc8bc2ac0bff
manager: conda
name: gcc
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gcc-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gcc-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -1781,18 +1797,18 @@ package:
version: 3.7.9
- category: main
dependencies:
- gcc_impl_linux-64: 12.3.0 he2b93b0_3
- libstdcxx-devel_linux-64: 12.3.0 h8bca6fd_103
+ gcc_impl_linux-64: 11.4.0 h7aa1c59_5
+ libstdcxx-devel_linux-64: 11.4.0 h922705a_105
sysroot_linux-64: ''
hash:
- md5: b6ce9868fc6c65a18c22fd983e2d7e6f
- sha256: 63e75858b60fe6d7227cd6026ed7ad0a8df4c5592454f752ff7ffc1e283e66a7
+ md5: 99ef88bf2364edd566e9bfec9db2bf95
+ sha256: 391b83e5cf7a31f49c3d2147dcc146a62a0a98d2c73e629680b6263b8e2c9df4
manager: conda
name: gxx_impl_linux-64
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-12.3.0-he2b93b0_3.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-11.4.0-h7aa1c59_5.conda
+ version: 11.4.0
- category: main
dependencies:
keyutils: '>=1.6.1,<2.0a0'
@@ -1813,7 +1829,7 @@ package:
dependencies:
bzip2: '>=1.0.8,<2.0a0'
libgcc-ng: '>=12'
- libxml2: '>=2.9.14,<2.11.0a0'
+ libxml2: '>=2.9.14,<3.0.0a0'
libzlib: '>=1.2.12,<1.3.0a0'
lz4-c: '>=1.9.3,<1.10.0a0'
lzo: '>=2.10,<3.0a0'
@@ -1829,6 +1845,19 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libarchive-3.5.2-hada088e_3.tar.bz2
version: 3.5.2
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libgpg-error: '>=1.47,<2.0a0'
+ hash:
+ md5: 32d16ad533c59bb0a3c5ffaf16110829
+ sha256: d1bd47faa29fec7288c7b212198432b07f890d3d6f646078da93b059c2e9daff
+ manager: conda
+ name: libgcrypt
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgcrypt-1.10.3-hd590300_0.conda
+ version: 1.10.3
- category: main
dependencies:
gettext: '>=0.21.1,<1.0a0'
@@ -1839,81 +1868,81 @@ package:
libzlib: '>=1.2.13,<1.3.0a0'
pcre2: '>=10.42,<10.43.0a0'
hash:
- md5: 70052d6c1e84643e30ffefb21ab6950f
- sha256: 4e6fa28002f834cfc30a64792e95c1701d835cc3d3a4bb18d6e8d16bb8aba05b
+ md5: d86baf8740d1a906b9716f2a0bac2f2d
+ sha256: 3a03a5254d2fd29c1e0ffda7250e22991dfbf2c854301fd56c408d97a647cfbd
manager: conda
name: libglib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.1-h783c2da_1.conda
- version: 2.78.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.78.4-h783c2da_0.conda
+ version: 2.78.4
- category: main
dependencies:
libgcc-ng: '>=12'
libstdcxx-ng: '>=12'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 3d942f062d7656168bb42b3439bdfede
- sha256: c52c239b583a1b2d03bdc641afd8cbab0499b0a46ea55b40e1dbed112283a772
+ md5: 94246254aa1699cc154ade6ffda128a4
+ sha256: f0c46a724eeaaf5f45670b8344616e5a0397b7b7ae66ce01fc184fe80e37b0bc
manager: conda
- name: libllvm16
+ name: libllvm17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libllvm16-16.0.3-hbf9e925_1.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libllvm17-17.0.6-hb3ce162_1.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
libgfortran-ng: ''
libgfortran5: '>=12.3.0'
hash:
- md5: d172b34a443b95f86089e8229ddc9a17
- sha256: 628564517895ee1b09cf72c817548bd80ef1acce6a8214a8520d9f7b44c4cfaf
+ md5: 760ae35415f5ba8b15d09df5afe8b23a
+ sha256: b626954b5a1113dafec8df89fa8bf18ce9b4701464d9f084ddd7fc9fac404bbd
manager: conda
name: libopenblas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.25-pthreads_h413a1c8_0.conda
- version: 0.3.25
+ url: https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.26-pthreads_h413a1c8_0.conda
+ version: 0.3.26
- category: main
dependencies:
lerc: '>=4.0.0,<5.0a0'
- libdeflate: '>=1.18,<1.19.0a0'
+ libdeflate: '>=1.19,<1.20.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libstdcxx-ng: '>=12'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
xz: '>=5.2.6,<6.0a0'
- zstd: '>=1.5.2,<1.6.0a0'
+ zstd: '>=1.5.5,<1.6.0a0'
hash:
- md5: 5b09e13d732dda1a2bc9adc711164f4d
- sha256: 631ccfdd460eda9661b6371aa459fe5ce174816365873deb5af955c9e10bf8c2
+ md5: 55ed21669b2015f77c180feb1dd41930
+ sha256: 45158f5fbee7ee3e257e6b9f51b9f1c919ed5518a94a9973fe7fa4764330473e
manager: conda
name: libtiff
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.5.1-h8b53f26_1.conda
- version: 4.5.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.6.0-ha9c0a0a_2.conda
+ version: 4.6.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libprotobuf: '>=4.24.4,<4.24.5.0a0'
+ libprotobuf: '>=4.25.2,<4.25.3.0a0'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
- openssl: '>=3.2.0,<4.0a0'
+ openssl: '>=3.2.1,<4.0a0'
perl: '>=5.32.1,<5.33.0a0 *_perl5'
hash:
- md5: 194cc570b66f8726e92eaa58d141b935
- sha256: 30ac68088afe7568df797549a091556cf55ea28154a3f27cb524005ea4be6086
+ md5: cdedc8ae2f54cc9da07c357a18af8adf
+ sha256: 06ba81bbbd4a0399f59941c9580b898b76064d800fb89b68f3ce24fa2624ded7
manager: conda
name: mosh
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h2f1bd5e_5.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/mosh-1.4.0-pl5321h092b9fe_7.conda
version: 1.4.0
- category: main
dependencies:
@@ -1936,23 +1965,24 @@ package:
libffi: '>=3.4,<4.0a0'
libgcc-ng: '>=12'
libnsl: '>=2.0.1,<2.1.0a0'
- libsqlite: '>=3.43.2,<4.0a0'
+ libsqlite: '>=3.44.2,<4.0a0'
libuuid: '>=2.38.1,<3.0a0'
+ libxcrypt: '>=4.4.36'
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
- openssl: '>=3.1.4,<4.0a0'
+ openssl: '>=3.2.0,<4.0a0'
readline: '>=8.2,<9.0a0'
tk: '>=8.6.13,<8.7.0a0'
tzdata: ''
xz: '>=5.2.6,<6.0a0'
hash:
- md5: f3a8c32aa764c3e7188b4b810fc9d6ce
- sha256: a53410f459f314537b379982717b1c5911efc2f0cc26d63c4d6f831bcb31c964
+ md5: ed38140af93f81319ebc472fbcf16cca
+ sha256: 4234c8e301737aa245d12c8fb44a4128005795e42883977c29cca3f34c71a1eb
manager: conda
name: python
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.13-hd12c33a_0_cpython.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/python-3.10.13-hd12c33a_1_cpython.conda
version: 3.10.13
- category: main
dependencies:
@@ -1976,19 +2006,19 @@ package:
- category: main
dependencies:
libgcc-ng: '>=12'
- libsqlite: 3.44.2 h2797004_0
+ libsqlite: 3.45.1 h2797004_0
libzlib: '>=1.2.13,<1.3.0a0'
ncurses: '>=6.4,<7.0a0'
readline: '>=8.2,<9.0a0'
hash:
- md5: 4f2892c672829693fd978d065db4e8be
- sha256: bae479520fe770fe11996b4c240923ed097f851fbd2401d55540e551c9dbbef7
+ md5: 93acf31b379acebada263b9bce3dc6ed
+ sha256: a7cbde68eff5d2ec9bb1b5f2604a523949048a9b5335588eac2d893fd0dd5200
manager: conda
name: sqlite
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.44.2-h2c6b66d_0.conda
- version: 3.44.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.45.1-h2c6b66d_0.conda
+ version: 3.45.1
- category: main
dependencies:
libgcc-ng: '>=9.4.0'
@@ -2023,16 +2053,16 @@ package:
version: 1.8.7
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.9'
hash:
- md5: 06006184e203b61d3525f90de394471e
- sha256: b2d160a050996950434c6e87a174fc01c4a937cbeffbdd20d1b46126b4478a95
+ md5: def531a3ac77b7fb8c21d17bb5d0badb
+ sha256: fd39ad2fabec1569bbb0dfdae34ab6ce7de6ec09dcec8638f83dad0373594069
manager: conda
name: alabaster
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.13-pyhd8ed1ab_0.conda
- version: 0.7.13
+ url: https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.16-pyhd8ed1ab_0.conda
+ version: 0.7.16
- category: main
dependencies:
python: ''
@@ -2061,14 +2091,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: c629a13439d80b37c6a946b098c4ac2b
- sha256: 62c3486961e43fb9b495b7854f48fea9b486b2176a9629c6faf80c445543b1aa
+ md5: 4017741f57d9bbf3cf184ca147859f78
+ sha256: 8a1d1f92d40c6686d10ecce290a42560d023ecc02676f54dcfedfc0ede354f52
manager: conda
name: argcomplete
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.1.6-pyhd8ed1ab_0.conda
- version: 3.1.6
+ url: https://conda.anaconda.org/conda-forge/noarch/argcomplete-3.2.2-pyhd8ed1ab_0.conda
+ version: 3.2.2
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -2087,14 +2117,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: 3edfead7cedd1ab4400a6c588f3e75f8
- sha256: 063639cd568f5c7a557b0fb1cc27f098598c0d8ff869088bfeb82934674f8821
+ md5: 5e4c0743c70186509d1412e03c2d8dfa
+ sha256: 77c7d03bdb243a048fff398cedc74327b7dc79169ebe3b4c8448b0331ea55fea
manager: conda
name: attrs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.1.0-pyh71513ae_1.conda
- version: 23.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/attrs-23.2.0-pyh71513ae_0.conda
+ version: 23.2.0
- category: main
dependencies:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
@@ -2133,14 +2163,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: e6792675103087f822f9705a22e4845d
- sha256: 070fdd2e887a0b898764bfd6aa603365cf79dda30b1161ae06c607d510920f7d
+ md5: 6dd3d49f65ceb05dbd527a5b6301611b
+ sha256: df399f6daedb506d2f0d2d0cc2619969b9042455c1f4314eee526bbf6f4d7aba
manager: conda
name: bcrypt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.1-py310hcb5633a_0.conda
- version: 4.1.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/bcrypt-4.1.2-py310hcb5633a_0.conda
+ version: 4.1.2
- category: main
dependencies:
python: '>=3.8'
@@ -2155,16 +2185,16 @@ package:
version: 1.7.0
- category: main
dependencies:
- python: ==2.7.*|>=3.7
+ python: 2.7.*|>=3.7
hash:
- md5: 033eb25fffd222aceeca6d58cd953680
- sha256: 4ff828cceb8f55cb26d23b1a4c174d22c7cd92350221724bcaf2d6632e33fdee
+ md5: 56febe65315cc388a5d20adf2b39a74d
+ sha256: 0ff5173f6b20a5c95401aa52d10dbdc05c322fc568dc7417c6f76cf68e706d16
manager: conda
name: boltons
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.0.0-pyhd8ed1ab_0.conda
- version: 23.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/boltons-23.1.1-pyhd8ed1ab_0.conda
+ version: 23.1.1
- category: main
dependencies:
brotli-bin: 1.1.0 hd590300_1
@@ -2211,14 +2241,14 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: 2011bcf45376341dd1d690263fdbc789
- sha256: afa22b77128a812cb57bc707c297d926561bd225a3d9dd74205d87a3b2d14a96
+ md5: 0876280e409658fc6f9e75d035960333
+ sha256: f1faca020f988696e6b6ee47c82524c7806380b37cfdd1def32f92c326caca54
manager: conda
name: certifi
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/certifi-2023.11.17-pyhd8ed1ab_0.conda
- version: 2023.11.17
+ url: https://conda.anaconda.org/conda-forge/noarch/certifi-2024.2.2-pyhd8ed1ab_0.conda
+ version: 2024.2.2
- category: main
dependencies:
python: '>=3.6.1'
@@ -2322,14 +2352,14 @@ package:
dependencies:
python: 2.7|>=3.6
hash:
- md5: 12d8aae6994f342618443a8f05c652a0
- sha256: 13c887cb4a29e1e853a118cfc0e42b72a7e1d1c50c66c0974885d37f0db30619
+ md5: db16c66b759a64dc5183d69cc3745a52
+ sha256: 3ff11acdd5cc2f80227682966916e878e45ced94f59c402efb94911a5774e84e
manager: conda
name: distlib
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.7-pyhd8ed1ab_0.conda
- version: 0.3.7
+ url: https://conda.anaconda.org/conda-forge/noarch/distlib-0.3.8-pyhd8ed1ab_0.conda
+ version: 0.3.8
- category: main
dependencies:
python: '>=3.6'
@@ -2359,13 +2389,13 @@ package:
dependencies:
python: '>=3.7'
hash:
- md5: f6c211fee3c98229652b60a9a42ef363
- sha256: cf83dcaf9006015c8ccab3fc6770f478464a66a8769e1763ca5d7dff09d11d08
+ md5: 8d652ea2ee8eaee02ed8dc820bc794aa
+ sha256: a6ae416383bda0e3ed14eaa187c653e22bec94ff2aa3b56970cdf0032761e80d
manager: conda
name: exceptiongroup
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_0.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.2.0-pyhd8ed1ab_2.conda
version: 1.2.0
- category: main
dependencies:
@@ -2401,42 +2431,42 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: c7b2865e86782925a872c8598b760c08
- sha256: cd1e59ceac047d9f692bb7cc2a6a6e2356a7d3db660b076b4afb19d35db2fd02
+ md5: f20cd4d9c1f4a8377d0818c819918bbb
+ sha256: 496d0ae05e81be0bd8e046bc48a3346f867caaad65041aa14ee2f3717af70db6
manager: conda
name: frozenlist
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.0-py310h2372a71_1.conda
- version: 1.4.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/frozenlist-1.4.1-py310h2372a71_0.conda
+ version: 1.4.1
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 5b86cf1ceaaa9be2ec4627377e538db1
- sha256: 1bbdfadb93cc768252fd207dca406cde928f9a81ff985ea1760b6539c55923e6
+ md5: fad86b90138cf5d82c6f5a2ed6e683d9
+ sha256: 3f7e123dd82fe99450d1e0ffa389e8218ef8c9ee257c836e21b489548c039ae6
manager: conda
name: fsspec
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2023.10.0-pyhca7485f_0.conda
- version: 2023.10.0
+ url: https://conda.anaconda.org/conda-forge/noarch/fsspec-2024.2.0-pyhca7485f_0.conda
+ version: 2024.2.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libglib: '>=2.74.1,<3.0a0'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: ee8220db21db8094998005990418fe5b
- sha256: 7acc699871310e9a89aaa7e90de9ac949e2fa649232c8a8dfcafa67e8f36a266
+ md5: 252a696860674caf7a855e16f680d63a
+ sha256: 884992d0665a0a5c728943d99b5fba30fd6911bb84eee622fa7ad8a4fa9f6cf7
manager: conda
name: gdk-pixbuf
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h6b639ba_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/gdk-pixbuf-2.42.10-h829c605_4.conda
version: 2.42.10
- category: main
dependencies:
@@ -2471,17 +2501,17 @@ package:
version: 0.7.6
- category: main
dependencies:
- gcc: 12.3.0.*
- gxx_impl_linux-64: 12.3.0.*
+ gcc: 11.4.0.*
+ gxx_impl_linux-64: 11.4.0.*
hash:
- md5: 673bac341be6b90ef9e8abae7e52ca46
- sha256: 5fd65768fb602fd21466831c96e7a2355a4df692507abbd481aa65a777151d85
+ md5: 4821dd86fa505a0d5b6aacd28ed8291f
+ sha256: e07c2da262b374fc9aad422a4927660ef96aec6d1445c7673a6ba58a445523a5
manager: conda
name: gxx
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gxx-12.3.0-h8d2909c_2.conda
- version: 12.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/gxx-11.4.0-h7baecda_2.conda
+ version: 11.4.0
- category: main
dependencies:
__unix: ''
@@ -2613,68 +2643,68 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: ee36f87084373c3e01a7f14d372ccf35
- sha256: 0261c90c6f990d7a06f2ef107d53cb33a720a0c7420cc9f280ad0deb4aedda68
+ md5: 24d67b3be879d3f72b199061189ff022
+ sha256: 6dd8e02aa0ca786bae44793475141a2218882f5c225c4e31f0b1c70ac012e586
manager: conda
name: lazy-object-proxy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.9.0-py310h2372a71_1.conda
- version: 1.9.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/lazy-object-proxy-1.10.0-py310h2372a71_0.conda
+ version: 1.10.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
hash:
- md5: 980d8aca0bc23ca73fa8caa3e7c84c28
- sha256: 0d88e0e7f8dbf8f01788e21dd63dd49b89433ce7dfd10f53839441396f6481cd
+ md5: 51bb7010fc86f70eee639b4bb7a894f5
+ sha256: 5c878d104b461b7ef922abe6320711c0d01772f4cd55de18b674f88547870041
manager: conda
name: lcms2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.15-haa2dc70_1.conda
- version: '2.15'
+ url: https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.16-hb7c19ff_0.conda
+ version: '2.16'
- category: main
dependencies:
- libopenblas: '>=0.3.25,<1.0a0'
+ libopenblas: '>=0.3.26,<1.0a0'
hash:
- md5: 2b7bb4f7562c8cf334fc2e20c2d28abc
- sha256: 8a0ee1de693a9b3da4a11b95ec81b40dd434bd01fa1f5f38f8268cd2146bf8f0
+ md5: 0ac9f44fc096772b0aa092119b00c3ca
+ sha256: ebd5c91f029f779fb88a1fcbd1e499559a9c258e3674ff58a2fbb4e375ae56d9
manager: conda
name: libblas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-20_linux64_openblas.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-21_linux64_openblas.conda
version: 3.9.0
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: e3a70b7bde225412a04c681f5aa094f5
- sha256: 925c2e940a74cdda141b350ee6f6d7dfe5783c1f7575bd95649117c1841908e2
+ md5: 2a85746a47b578eee4618642131345de
+ sha256: 713cad0dbb8530bc627042a01728f2479c4e73f69f440320a0ee421c12cd403c
manager: conda
- name: libclang-cpp16
+ name: libclang-cpp17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang-cpp17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 2dd726d3664b57ff32e4ef1965774c02
- sha256: b79181e5d1e3cd80ce5cbc0d0098621413e24c37437e8906b5bca1c398a5ce34
+ md5: 93d59bd3649bba44d182dad3646db9e8
+ sha256: 465504d1fd72a6f6d3c301862ed97bf3247234c7389bd82070bb50ce61c04c92
manager: conda
name: libclang13
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-16.0.3-default_h4d60ac6_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/libclang13-17.0.6-default_ha2b6cf4_2.conda
+ version: 17.0.6
- category: main
dependencies:
krb5: '>=1.20.1,<1.21.0a0'
@@ -2721,6 +2751,20 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/libmicrohttpd-0.9.77-h97afed2_0.conda
version: 0.9.77
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ libgcrypt: '>=1.10.1,<2.0a0'
+ libglib: '>=2.70.2,<3.0a0'
+ hash:
+ md5: 9d6698e3c9585a75156d86f7ef229093
+ sha256: c3ffd1ff0d2fa1626a4270ee50a687d25424e8812024d92f88445a2ac9f13931
+ manager: conda
+ name: libsecret
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libsecret-0.18.8-h329b89f_2.tar.bz2
+ version: 0.18.8
- category: main
dependencies:
python: '>=3.4'
@@ -2737,45 +2781,45 @@ package:
dependencies:
giflib: '>=5.2.1,<5.3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
hash:
- md5: 4963f3f12db45a576f2b8fbe9a0b8569
- sha256: b0428f43bb3bc4544b997fcd9dfeb5593ee10701e8895cef22212105a8d8aa8d
+ md5: 0ebb65e8d86843865796c7c95a941f34
+ sha256: cc5e55531d8067ea379b145861aea8c749a545912bc016372f5e3c69cc925efd
manager: conda
name: libwebp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.1-hbf2b3c1_0.conda
- version: 1.3.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/libwebp-1.3.2-h658648e_1.conda
+ version: 1.3.2
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: b74e07a054c479e45a83a83fc5be713c
- sha256: ac46cc2f6d4bbeedcd2f508e43f43143a9286ced55730d8d97a3c91ceceb0d56
+ md5: f6703fa0214a00bf49d1bef6dc7672d0
+ sha256: 3c18347adf1d091ee9248612308a6bef79038f80b626ef67f58cd0e8d25c65b8
manager: conda
name: markupsafe
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.3-py310h2372a71_1.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/markupsafe-2.1.5-py310h2372a71_0.conda
+ version: 2.1.5
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: 8549fafed0351bbfaa1ddaa15fdf9b4e
- sha256: 07ce65497dec537e490992758934ddbc4fb5ed9285b41387a7cca966f1a98a0f
+ md5: d5c98e9706fdc5328d49a9bf2ce5fb42
+ sha256: 9e49e9484ff279453f0b55323a3f0c7cb97440c74f69eecda1f4ad29fae5cd3c
manager: conda
name: more-itertools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.1.0-pyhd8ed1ab_0.conda
- version: 10.1.0
+ url: https://conda.anaconda.org/conda-forge/noarch/more-itertools-10.2.0-pyhd8ed1ab_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.6'
@@ -2809,14 +2853,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: 7ca797f0a0c390ede770f415f5d5e039
- sha256: d8180dcee801bcde6408d924bab0010fc956ae7a14681694af21f9d4382d8ee8
+ md5: d4c91d19e4f2f18b64753ac660edad79
+ sha256: 31258f8daee4e0e95cd6911a472f73f47f6d724676719a6a0a812ca144cab475
manager: conda
name: multidict
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.0.4-py310h2372a71_1.conda
- version: 6.0.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/multidict-6.0.5-py310h2372a71_0.conda
+ version: 6.0.5
- category: main
dependencies:
python: ''
@@ -2858,16 +2902,16 @@ package:
libgcc-ng: '>=12'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
hash:
- md5: 5ce6a42505c6e9e6151c54c3ec8d68ea
- sha256: 3cbfb1fe9bb492dcb672f98f0ddc7b4e029f51f77101d9c301caa3acaea8cba2
+ md5: 128c25b7fe6a25286a48f3a6a9b5b6f3
+ sha256: 9fe91b67289267de68fda485975bb48f0605ac503414dc663b50d8b5f29bc82a
manager: conda
name: openjpeg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-hfec8fc6_2.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.0-h488ebb8_3.conda
version: 2.5.0
- category: main
dependencies:
@@ -2933,14 +2977,26 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: 2390bd10bed1f3fdc7a537fb5a447d8d
- sha256: 7bf2ad9d747e71f1e93d0863c2c8061dd0f2fe1e582f28d292abfb40264a2eb5
+ md5: a0bc3eec34b0fab84be6b2da94e98e20
+ sha256: 2ebfb971236ab825dd79dd6086ea742a9901008ffb9c6222c1f2b5172a8039d3
+ manager: conda
+ name: platformdirs
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.2.0-pyhd8ed1ab_0.conda
+ version: 4.2.0
+- category: main
+ dependencies:
+ python: '>=3.8'
+ hash:
+ md5: 139e9feb65187e916162917bb2484976
+ sha256: 6edfd2c41938ea772096c674809bfcf2ebb9bef7e82de6c7ea0b966b86bfb4d0
manager: conda
name: pluggy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.3.0-pyhd8ed1ab_0.conda
- version: 1.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pluggy-1.4.0-pyhd8ed1ab_0.conda
+ version: 1.4.0
- category: main
dependencies:
python: '>=3.10,<3.11.0a0'
@@ -2960,14 +3016,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: cb25177acf28cc35cfa6c1ac1c679e22
- sha256: db8a99bc41c1b0405c8e9daa92b9d4e7711f9717aff7fd3feeba407ca2a91aa2
+ md5: bd19b3096442ea342c4a5208379660b1
+ sha256: f1866425aa67f3fe1e3f6e07562a4bc986fd487e01146a91eb1bdbe5ec16a836
manager: conda
name: psutil
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.5-py310h2372a71_1.conda
- version: 5.9.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/psutil-5.9.8-py310h2372a71_0.conda
+ version: 5.9.8
- category: main
dependencies:
python: '!=3.0,!=3.1,!=3.2,!=3.3,!=3.4,!=3.5'
@@ -2996,7 +3052,7 @@ package:
version: 0.6.6
- category: main
dependencies:
- python: ==2.7.*|>=3.4
+ python: 2.7.*|>=3.4
hash:
md5: 076becd9e05608f8dc72757d5f3a91ff
sha256: 74c63fd03f1f1ea2b54e8bc529fd1a600aaafb24027b738d0db87909ee3a33dc
@@ -3020,15 +3076,15 @@ package:
version: 2.17.2
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.7'
hash:
- md5: 912c0194f898fdb783021fd25f913c31
- sha256: 88ac94c42ade15113397e30d1831dd341399b5262fb5330b9240f915c33cd232
+ md5: 74f76d4868dbba5870f2cf1d9b12d8f3
+ sha256: d7cb7fbafd767e938db10820c76a9c16d91faf5a081842159cc185787879eb07
manager: conda
name: pyjwt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.8.0-pyhd8ed1ab_0.conda
+ url: https://conda.anaconda.org/conda-forge/noarch/pyjwt-2.8.0-pyhd8ed1ab_1.conda
version: 2.8.0
- category: main
dependencies:
@@ -3071,26 +3127,26 @@ package:
dependencies:
python: '>=3.6'
hash:
- md5: 2590495f608a63625e165915fb4e2e34
- sha256: 0108888507014fb24573c31e4deceb61c99e63d37776dddcadd7c89b2ecae0b6
+ md5: 98206ea9954216ee7540f0c773f2104d
+ sha256: 9da9a849d53705dee450b83507df1ca8ffea5f83bd21a215202221f1c492f8ad
manager: conda
name: python-tzdata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2023.3-pyhd8ed1ab_0.conda
- version: '2023.3'
+ url: https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2024.1-pyhd8ed1ab_0.conda
+ version: '2024.1'
- category: main
dependencies:
- python: '>=3.6'
+ python: '>=3.7'
hash:
- md5: c93346b446cd08c169d843ae5fc0da97
- sha256: 6b680e63d69aaf087cd43ca765a23838723ef59b0a328799e6363eb13f52c49e
+ md5: 3eeeeb9e4827ace8c0c1419c85d590ad
+ sha256: 1a7d6b233f7e6e3bbcbad054c8fd51e690a67b129a899a056a5e45dd9f00cb41
manager: conda
name: pytz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pytz-2023.3.post1-pyhd8ed1ab_0.conda
- version: 2023.3.post1
+ url: https://conda.anaconda.org/conda-forge/noarch/pytz-2024.1-pyhd8ed1ab_0.conda
+ version: '2024.1'
- category: main
dependencies:
__unix: ''
@@ -3125,14 +3181,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: 124bc31abd31cd6990a9f6ade3a4da2d
- sha256: bf8e736b9b4f73c3142842b280982581037b40904b6dea4706ab137b3179c5c7
+ md5: 4a9ba4e7af60356e63b38a6d419acad6
+ sha256: b9d2c96a468e4c871df098f6c34c72b160911fb98132e1ffd6ba92670cbeb523
manager: conda
name: regex
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.10.3-py310h2372a71_0.conda
- version: 2023.10.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/regex-2023.12.25-py310h2372a71_0.conda
+ version: 2023.12.25
- category: main
dependencies:
__glibc: '>=2.17,<3.0.a0'
@@ -3158,14 +3214,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: 99b553d12fe320478b5b094cc1558f5a
- sha256: af3b44e6e9ef8b18292c4854cf07edce6051efce06b75367bf0fc0599ba2cdf7
+ md5: eca3962963d1de0a4d13572ba943b61d
+ sha256: 180f734f14402a3605cc0d0a70dd52539c87ba76337da6eb73ebf603c8405c6b
manager: conda
name: rpds-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.13.2-py310hcb5633a_0.conda
- version: 0.13.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.18.0-py310hcb5633a_0.conda
+ version: 0.18.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3182,16 +3238,16 @@ package:
version: 0.2.7
- category: main
dependencies:
- python: '>=3.7'
+ python: '>=3.8'
hash:
- md5: fc2166155db840c634a1291a5c35a709
- sha256: 851901b1f8f2049edb36a675f0c3f9a98e1495ef4eb214761b048c6f696a06f7
+ md5: 576de899521b7d43674ba3ef6eae9142
+ sha256: 7a6dca60efcaa42d0ebb784950bc16230a968256cb5048a4441cb34653b5ec58
manager: conda
name: setuptools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/setuptools-68.2.2-pyhd8ed1ab_0.conda
- version: 68.2.2
+ url: https://conda.anaconda.org/conda-forge/noarch/setuptools-69.1.1-pyhd8ed1ab_0.conda
+ version: 69.1.1
- category: main
dependencies:
python: ''
@@ -3278,30 +3334,30 @@ package:
version: 0.12.3
- category: main
dependencies:
- python: '>=3.5'
+ python: '>=3.7'
hash:
- md5: 92facfec94bc02d6ccf42e7173831a36
- sha256: 90229da7665175b0185183ab7b53f50af487c7f9b0f47cf09c184cbc139fd24b
+ md5: 2fcb582444635e2c402e8569bb94e039
+ sha256: 22b0a9790317526e08609d5dfdd828210ae89e6d444a9e954855fc29012e90c6
manager: conda
name: toolz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.0-pyhd8ed1ab_0.tar.bz2
- version: 0.12.0
+ url: https://conda.anaconda.org/conda-forge/noarch/toolz-0.12.1-pyhd8ed1ab_0.conda
+ version: 0.12.1
- category: main
dependencies:
libgcc-ng: '>=12'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: b23e0147fa5f7a9380e06334c7266ad5
- sha256: 209b6788b81739d3cdc2f04ad3f6f323efd85b1a30f2edce98ab76d98079fac8
+ md5: 48f39c24349d9ae5c8e8873c42fb6170
+ sha256: bf3f211554444e03ed4663c0704fada38e0440fa723f1e32e12243ab026e3817
manager: conda
name: tornado
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.3.3-py310h2372a71_1.conda
- version: 6.3.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/tornado-6.4-py310h2372a71_0.conda
+ version: '6.4'
- category: main
dependencies:
python: '>=3.10'
@@ -3318,14 +3374,14 @@ package:
dependencies:
python: '>=3.6'
hash:
- md5: 13ce724cb44f7bc0ca0971d76e333c30
- sha256: c1c54f4b2b5b39c420b3a47dd6196355147c798c0a4a2bdaaba80435e9591fb3
+ md5: 14db65dcfc51e3efe97920dd99c5646e
+ sha256: 60f9e4c3a7d4ca50f97c9297ed4ee41d6a8cde213f9618e8364fe456bfcb6efa
manager: conda
name: types-pytz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/types-pytz-2023.3.1.1-pyhd8ed1ab_0.conda
- version: 2023.3.1.1
+ url: https://conda.anaconda.org/conda-forge/noarch/types-pytz-2024.1.0.20240203-pyhd8ed1ab_0.conda
+ version: 2024.1.0.20240203
- category: main
dependencies:
python: '>=3.6'
@@ -3354,14 +3410,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: 5b1be40a26d10a06f6d4f1f9e19fa0c7
- sha256: 38d16b5c53ec1af845d37d22e7bb0e6c934c7f19499123507c5a470f6f8b7dde
+ md5: a92a6440c3fe7052d63244f3aba2a4a7
+ sha256: f3c5be8673bfd905c4665efcb27fa50192f24f84fa8eff2f19cba5d09753d905
manager: conda
name: typing_extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.8.0-pyha770c72_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.9.0-pyha770c72_0.conda
+ version: 4.9.0
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -3387,26 +3443,26 @@ package:
perl: ''
python: ''
hash:
- md5: efb0e7909f1a41159856e688e216bd26
- sha256: c24f5fc704ee3c0737456e7a4b8f75114b25a51812c6f801a22ed43652e0b211
+ md5: d628a7f32222786b70ad81e56dd4a61a
+ sha256: 1648f885c97e5189adb12a70eef72699885a4e9e882ea385c3cd904baed251ce
manager: conda
name: verilator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.008-h514fc35_1.conda
- version: '5.008'
+ url: https://conda.anaconda.org/conda-forge/linux-64/verilator-5.022-h7cd9344_0.conda
+ version: '5.022'
- category: main
dependencies:
python: '>=3.8'
hash:
- md5: bf4a1d1a97ca27b0b65bacd9e238b484
- sha256: ca757d0fc2dbd422af9d3238a8b4b630a6e11df3707a447bd89540656770d1d7
+ md5: 68f0738df502a14213624b288c60c9ad
+ sha256: b6cd2fee7e728e620ec736d8dfee29c6c9e2adbd4e695a31f1d8f834a83e57e3
manager: conda
name: wcwidth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.12-pyhd8ed1ab_0.conda
- version: 0.2.12
+ url: https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.13-pyhd8ed1ab_0.conda
+ version: 0.2.13
- category: main
dependencies:
python: '>=2.6'
@@ -3423,14 +3479,14 @@ package:
dependencies:
python: '>=3.8'
hash:
- md5: bdb77b28cf16deac0eef431a068320e8
- sha256: df45b89862edcd7cd5180ec7b8c0c0ca9fb4d3f7d49ddafccdc76afcf50d8da6
+ md5: 50ad31e07d706aae88b14a4ac9c73f23
+ sha256: d9b537d5b7c5aa7a02a4ce4c6b755e458bd8083b67752a73c92d113ccec6c10f
manager: conda
name: websocket-client
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.6.4-pyhd8ed1ab_0.conda
- version: 1.6.4
+ url: https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.7.0-pyhd8ed1ab_0.conda
+ version: 1.7.0
- category: main
dependencies:
python: '>=3.7'
@@ -3559,16 +3615,16 @@ package:
aws-c-common: '>=0.9.10,<0.9.11.0a0'
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
- aws-c-sdkutils: '>=0.1.12,<0.1.13.0a0'
+ aws-c-sdkutils: '>=0.1.13,<0.1.14.0a0'
libgcc-ng: '>=12'
hash:
- md5: 65d47e98af07d5e361707dda2ce44f3a
- sha256: 48c768d96b09396190b717e126d33ca68f3d2786a068af188fd16fa469cbad76
+ md5: d42aebb91e28e2fee2a0218cfbff2c90
+ sha256: b06ef95458fc70af4230c9c6690011235cd25288752ff7aa25492fc6d1c0e028
manager: conda
name: aws-c-auth
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h5c941e0_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-auth-0.7.8-h538f98c_2.conda
version: 0.7.8
- category: main
dependencies:
@@ -3591,41 +3647,42 @@ package:
pytz: ''
setuptools: ''
hash:
- md5: 3ccff479c246692468f604df9c85ef26
- sha256: 1f955c700db16f65b16c9e9c1613436480d5497970b8030b7a9ebe1620cc2147
+ md5: 9669586875baeced8fc30c0826c3270e
+ sha256: 8584e3da58e92b72641c89ff9b98c51f0d5dbe76e527867804cbdf03ac91d8e6
manager: conda
name: babel
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/babel-2.13.1-pyhd8ed1ab_0.conda
- version: 2.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/babel-2.14.0-pyhd8ed1ab_0.conda
+ version: 2.14.0
- category: main
dependencies:
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.0,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
+ libstdcxx-ng: '>=12'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
- pixman: '>=0.40.0,<1.0a0'
- xorg-libice: ''
- xorg-libsm: ''
- xorg-libx11: '>=1.8.4,<2.0a0'
+ pixman: '>=0.42.2,<1.0a0'
+ xorg-libice: '>=1.1.1,<2.0a0'
+ xorg-libsm: '>=1.2.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
zlib: ''
hash:
- md5: c1dd96500b9b1a75e9e511931f415cbc
- sha256: 1fffecc684c26e0f1aed6d9857ad0f2abfe3a849977f718ad82366c68c7a9a36
+ md5: f907bb958910dc404647326ca80c263e
+ sha256: 142e2639a5bc0e99c44d76f4cc8dce9c6a2d87330c4beeabb128832cd871a86e
manager: conda
name: cairo
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.16.0-hbbf8b49_1016.conda
- version: 1.16.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/cairo-1.18.0-h3faef2a_0.conda
+ version: 1.18.0
- category: main
dependencies:
libffi: '>=3.4,<4.0a0'
@@ -3644,19 +3701,19 @@ package:
version: 1.16.0
- category: main
dependencies:
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 738a21e17b4d9d846cf96503810c9b45
- sha256: 2d0c4ecdf647bf0bf3602495f0a3b85aa1985d0027cc787aa43e0c810ebbc704
+ md5: 714849d4f3034fff0663b005b9b657d8
+ sha256: 8ad2310be45c84ab2fec72eb23d1a57d961770a803f44ff850c0b9f3c8c56b74
manager: conda
- name: clang-format-16
+ name: clang-format-17
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
click: ''
@@ -3770,14 +3827,14 @@ package:
python_abi: 3.10.* *_cp310
unicodedata2: '>=14.0.0'
hash:
- md5: c2dcff257e040bcda00e2a30a9d85333
- sha256: 65239757b26d95fe4d4368a9892d68baad555f3f62b405c3a58309db7747f929
+ md5: e61ae80fde506b70a88e5e06376d2068
+ sha256: 7aac51cdb7364f1534c352e15ecdd3d4f9b3889112e9b9716fa76bda9926a805
manager: conda
name: fonttools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.45.1-py310h2372a71_0.conda
- version: 4.45.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/fonttools-4.49.0-py310h2372a71_0.conda
+ version: 4.49.0
- category: main
dependencies:
python: '>=3.7'
@@ -3823,14 +3880,14 @@ package:
python: '>=3.8'
zipp: '>=0.5'
hash:
- md5: 4e9f59a060c3be52bc4ddc46ee9b6946
- sha256: 2797ed927d65324309b6c630190d917b9f2111e0c217b721f80429aeb57f9fcf
+ md5: 746623a787e06191d80a2133e5daff17
+ sha256: e72d05f171f4567004c9360a838e9d5df21e23dcfeb945066b53a6e5f754b861
manager: conda
name: importlib-metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-6.8.0-pyha770c72_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-7.0.1-pyha770c72_0.conda
+ version: 7.0.1
- category: main
dependencies:
python: '>=3.8'
@@ -3849,27 +3906,27 @@ package:
more-itertools: ''
python: '>=3.7'
hash:
- md5: e9f79248d30e942f7c358ff21a1790f5
- sha256: 14f5240c3834e1b784dd41a5a14392d9150dff62a74ae851f73e65d2e2bbd891
+ md5: c541ae264c9f1f21d83fc30dffb908ee
+ sha256: 232b40de8176fa7fb66a893653f8ae03c29616e04a83dae5a47df94b74e256ca
manager: conda
name: jaraco.classes
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.0-pyhd8ed1ab_0.conda
- version: 3.3.0
+ url: https://conda.anaconda.org/conda-forge/noarch/jaraco.classes-3.3.1-pyhd8ed1ab_0.conda
+ version: 3.3.1
- category: main
dependencies:
markupsafe: '>=2.0'
python: '>=3.7'
hash:
- md5: c8490ed5c70966d232fdd389d0dbed37
- sha256: b045faba7130ab263db6a8fdc96b1a3de5fcf85c4a607c5f11a49e76851500b5
+ md5: e7d8df6509ba635247ff9aea31134262
+ sha256: fd517b7dd3a61eca34f8a6f9f92f306397149cae1204fce72ac3d227107dafdc
manager: conda
name: jinja2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.2-pyhd8ed1ab_1.tar.bz2
- version: 3.1.2
+ url: https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.3-pyhd8ed1ab_0.conda
+ version: 3.1.3
- category: main
dependencies:
jsonpointer: '>=1.9'
@@ -3898,51 +3955,52 @@ package:
version: '1.9'
- category: main
dependencies:
- libblas: 3.9.0 20_linux64_openblas
+ libblas: 3.9.0 21_linux64_openblas
hash:
- md5: 36d486d72ab64ffea932329a1d3729a3
- sha256: 0e34fb0f82262f02fcb279ab4a1db8d50875dc98e3019452f8f387e6bf3c0247
+ md5: 4a3816d06451c4946e2db26b86472cb6
+ sha256: 467bbfbfe1a1aeb8b1f9f6485eedd8ed1b6318941bf3702da72336ccf4dc25a6
manager: conda
name: libcblas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-20_linux64_openblas.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-21_linux64_openblas.conda
version: 3.9.0
- category: main
dependencies:
- expat: '>=2.5.0,<3.0a0'
+ expat: ''
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
+ libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
- libtiff: '>=4.5.0,<4.6.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
libwebp: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
zlib: ''
hash:
- md5: ef06bee47510a7f5db3c2297a51d6ce2
- sha256: 6335db21afc72f86cf4ee0298acde3af950087db2b24df3d28a81c7d24574244
+ md5: cfebc557e54905dadc355c0e9f003004
+ sha256: b74f95a6e1f3b31a74741b39cba83ed99fc82d17243c0fd3b5ab16ddd48ab89d
manager: conda
name: libgd
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-hfa28ad5_6.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgd-2.3.3-h119a65a_9.conda
version: 2.3.3
- category: main
dependencies:
- libblas: 3.9.0 20_linux64_openblas
+ libblas: 3.9.0 21_linux64_openblas
hash:
- md5: 6fabc51f5e647d09cc010c40061557e0
- sha256: ad7745b8d0f2ccb9c3ba7aaa7167d62fc9f02e45eb67172ae5f0dfb5a3b1a2cc
+ md5: 1a42f305615c3867684e049e85927531
+ sha256: 64b5c35dce00dd6f9f53178b2fe87116282e00967970bd6551a5a42923806ded
manager: conda
name: liblapack
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-20_linux64_openblas.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-21_linux64_openblas.conda
version: 3.9.0
- category: main
dependencies:
@@ -3969,14 +4027,14 @@ package:
tomli: '>=1.1.0'
typing_extensions: '>=4.1.0'
hash:
- md5: 0d60b1efdb10a07411570305e9e9421d
- sha256: d15de464eb41a105bd381779e6bf8311f72346afc9e7d6a79165d505403d4d54
+ md5: 3320dc32fc6bd29ab4a16cf22bc35fc2
+ sha256: 6c01268327db83c70c38cfc87fc13a71d09cda123ae06cd6edbbe620c2b20f33
manager: conda
name: mypy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.7.1-py310h2372a71_0.conda
- version: 1.7.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/mypy-1.8.0-py310h2372a71_0.conda
+ version: 1.8.0
- category: main
dependencies:
python: 2.7|>=3.7
@@ -3993,53 +4051,40 @@ package:
- category: main
dependencies:
freetype: '>=2.12.1,<3.0a0'
- lcms2: '>=2.15,<3.0a0'
+ lcms2: '>=2.16,<3.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
- libtiff: '>=4.5.1,<4.6.0a0'
- libwebp-base: '>=1.3.1,<2.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
+ libtiff: '>=4.6.0,<4.7.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libxcb: '>=1.15,<1.16.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
openjpeg: '>=2.5.0,<3.0a0'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
- tk: '>=8.6.12,<8.7.0a0'
+ tk: '>=8.6.13,<8.7.0a0'
hash:
- md5: adcc7ea52e4d39d0a93f6a2ef36c7fd4
- sha256: 26d41f3e6278f42cc61499576e6f39a0bb84b5f21673250d89f8f958e9f6f4b0
+ md5: 9ec32d0d90f7670eb29bbba18299cf29
+ sha256: ddb300d69329606a9933717127880c2062e9d6539d8824b21a43ed63eb7dab4f
manager: conda
name: pillow
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.0.0-py310h582fbeb_0.conda
- version: 10.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/pillow-10.2.0-py310h01dd4db_0.conda
+ version: 10.2.0
- category: main
dependencies:
python: '>=3.7'
setuptools: ''
wheel: ''
hash:
- md5: 2400c0b86889f43aa52067161e1fb108
- sha256: 435829a03e1c6009f013f29bb83de8b876c388820bf8cf69a7baeec25f6a3563
+ md5: f586ac1e56c8638b64f9c8122a7b8a67
+ sha256: b7c1c5d8f13e8cb491c4bd1d0d1896a4cf80fc47de01059ad77509112b664a4a
manager: conda
name: pip
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pip-23.3.1-pyhd8ed1ab_0.conda
- version: 23.3.1
-- category: main
- dependencies:
- python: '>=3.7'
- typing_extensions: '>=4.7.1'
- hash:
- md5: 6bb4ee32cd435deaeac72776c001e7ac
- sha256: 67381d3f7cadca7df7699238e0dcce680ad20d7fd28804bab48611fecb084937
- manager: conda
- name: platformdirs
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.0.0-pyhd8ed1ab_0.conda
- version: 4.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pip-24.0-pyhd8ed1ab_0.conda
+ version: '24.0'
- category: main
dependencies:
python: '>=3.7'
@@ -4059,18 +4104,18 @@ package:
exceptiongroup: '>=1.0.0rc8'
iniconfig: ''
packaging: ''
- pluggy: '>=0.12,<2.0'
- python: '>=3.7'
+ pluggy: <2.0,>=1.3.0
+ python: '>=3.8'
tomli: '>=1.0.0'
hash:
- md5: 5bdca0aca30b0ee62bb84854e027eae0
- sha256: 14e948e620ec87d9e62a8d9c21d40084b4805a939cfee322be7d457379dc96a0
+ md5: 40bd3ef942b9642a3eb20b0bbf92469b
+ sha256: ea81e7efe66cffab5c8316d3a7e125e29dff9cfb19fc3578b72f965e8a876539
manager: conda
name: pytest
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pytest-7.4.3-pyhd8ed1ab_0.conda
- version: 7.4.3
+ url: https://conda.anaconda.org/conda-forge/noarch/pytest-8.0.2-pyhd8ed1ab_0.conda
+ version: 8.0.2
- category: main
dependencies:
python: '>=3.6'
@@ -4179,14 +4224,14 @@ package:
colorama: ''
python: '>=3.7'
hash:
- md5: 03c97908b976498dcae97eb4e4f3149c
- sha256: b61c9222af05e8c5ff27e4a4d2eb81870c21ffd7478346be3ef644b7a3759cc4
+ md5: 2b8dfb969f984497f3f98409a9545776
+ sha256: 416d1d9318f3267325ad7e2b8a575df20ff9031197b30c0222c3d3b023877260
manager: conda
name: tqdm
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.1-pyhd8ed1ab_0.conda
- version: 4.66.1
+ url: https://conda.anaconda.org/conda-forge/noarch/tqdm-4.66.2-pyhd8ed1ab_0.conda
+ version: 4.66.2
- category: main
dependencies:
python: '>=3.6'
@@ -4202,16 +4247,16 @@ package:
version: 2.31.0.6
- category: main
dependencies:
- typing_extensions: 4.8.0 pyha770c72_0
+ typing_extensions: 4.9.0 pyha770c72_0
hash:
- md5: 384462e63262a527bda564fa2d9126c0
- sha256: d6e1dddd0c372218ef15912383d351ac8c73465cbf16238017f0269813cafe2d
+ md5: c16524c1b7227dc80b36b4fa6f77cc86
+ sha256: d795c1eb1db4ea147f01ece74e5a504d7c2e8d5ee8c11ec987884967dd938f9c
manager: conda
name: typing-extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.8.0-hd8ed1ab_0.conda
- version: 4.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.9.0-hd8ed1ab_0.conda
+ version: 4.9.0
- category: main
dependencies:
brotli-python: '>=1.0.9'
@@ -4238,14 +4283,29 @@ package:
xorg-libx11: '>=1.8.7,<2.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
hash:
- md5: 554fab21708ab3d3c5a295c5206b5cbc
- sha256: 624f3ada4f4cfcc5177a9d5a7ab1ec5f3fc11ef21737aa2d85888be761e5d166
+ md5: 9bf8594682993f484f3b287e928e3b75
+ sha256: c128cebfdedbddb878be4d7b87364eb9fdf7de4293d32d0c874956daa966a45a
manager: conda
name: vim
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.0.2059-py310pl5321he660f0e_1.conda
- version: 9.0.2059
+ url: https://conda.anaconda.org/conda-forge/linux-64/vim-9.1.0041-py310pl5321he660f0e_0.conda
+ version: 9.1.0041
+- category: main
+ dependencies:
+ distlib: <1,>=0.3.7
+ filelock: <4,>=3.12.2
+ platformdirs: <5,>=3.9.1
+ python: '>=3.8'
+ hash:
+ md5: 8797a4e26be36880a603aba29c785352
+ sha256: 1ced4445cf72cd9dc344ad04bdaf703a08cc428c8c46e4bda928ad79786ee153
+ manager: conda
+ name: virtualenv
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.25.1-pyhd8ed1ab_0.conda
+ version: 20.25.1
- category: main
dependencies:
markupsafe: '>=2.1.1'
@@ -4283,14 +4343,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: 10246f66639d9ca55e790410f0dbb465
- sha256: 159e9e292f841477dd1e4c897c055d364472720c79b16fa329faee1e7b878564
+ md5: 4ad35c8f6a64a6ab708780dad603aef4
+ sha256: 0851ac8c66e99faa9c885a2905c2b7b227a051c008cfaed97eeec0f82a9cdbcf
manager: conda
name: yarl
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.3-py310h2372a71_0.conda
- version: 1.9.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/yarl-1.9.4-py310h2372a71_0.conda
+ version: 1.9.4
- category: main
dependencies:
python: '>=3.7'
@@ -4328,45 +4388,45 @@ package:
libgcc-ng: '>=12'
openssl: '>=3.2.0,<4.0a0'
hash:
- md5: d193ad6b5c2d47c679202afe5b69b371
- sha256: d99862ce623c68dd86225520c08bfe5ff46a0af885530a3faca4d3d54c7480bf
+ md5: f27f792aa83c7be3ee96d09a637a6474
+ sha256: 04142edf1a574e137a9e30a4f4e9b9448e219b6f4216a782ceaed933f27852a6
manager: conda
name: aws-c-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.3-h0448019_0.conda
- version: 0.4.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/aws-c-s3-0.4.4-h0448019_0.conda
+ version: 0.4.4
- category: main
dependencies:
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
+ python: '>=3.10'
python-dateutil: '>=2.1,<3.0.0'
- urllib3: '>=1.25.4,<1.27'
+ urllib3: '>=1.25.4,<2.1'
hash:
- md5: 352c39ba5cd9ea01996358f0748e102e
- sha256: 56566ea8f3a48c24190c1dcf50681c0a84b26821c335c21b5c3c5d238e4bdb14
+ md5: 4a5ba178792e55031cffab564b892505
+ sha256: 286efe041721f2770d82881290202a5f11b40e2485fe17a5c6bf061052cdf159
manager: conda
name: botocore
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-1.34.49-pyge310_1234567_0.conda
+ version: 1.34.49
- category: main
dependencies:
- clang-format-16: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
+ clang-format-17: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: c15e6c12bbd093170f1dab9d1ee922a8
- sha256: fe8d04e73e28a844e3513b214ca83a218d6d7115b1a86d5dfe1eb4e80e4bd15a
+ md5: 494178765431e2992fe5619a57b39616
+ sha256: 72a08b56741b14175ce8df86540237c61bf218f7c88b65564b261aa950c96701
manager: conda
name: clang-format
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-format-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
cffi: '>=1.12'
@@ -4407,14 +4467,14 @@ package:
python: '>=3.8'
werkzeug: '>=3.0.0'
hash:
- md5: d26105227a24c82fdf160f20ed379400
- sha256: 73dafd8c1ae9ee9e42e5fa78275c8dc3b456879d83dc6d6ed82d92bd498c9184
+ md5: 7f88df670921cc31c309719e30c22021
+ sha256: d5bfe0e74b001572135bef51ffa329fa2f5dfd37fb87b2878ed851025ced9334
manager: conda
name: flask
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.0-pyhd8ed1ab_0.conda
- version: 3.0.0
+ url: https://conda.anaconda.org/conda-forge/noarch/flask-3.0.2-pyhd8ed1ab_0.conda
+ version: 3.0.2
- category: main
dependencies:
curl: ''
@@ -4441,44 +4501,44 @@ package:
python: '>=3.7'
typing_extensions: '>=3.7.4.3'
hash:
- md5: 6bf74c3b7c13079a91d4bd3da51cefcf
- sha256: 6b85809ffbfe5c1887b674bf0492cc4dd1ac8a25f4d9fa20ef404be92186259b
+ md5: 6bc8e496351bafd761c0922c3ebd989a
+ sha256: a11e1cf4404157467d0f51906d1db80bcb8bfe4bb3d3eba703b28e981ea7e308
manager: conda
name: gitpython
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.40-pyhd8ed1ab_0.conda
- version: 3.1.40
+ url: https://conda.anaconda.org/conda-forge/noarch/gitpython-3.1.42-pyhd8ed1ab_0.conda
+ version: 3.1.42
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
freetype: '>=2.12.1,<3.0a0'
graphite2: ''
- icu: '>=72.1,<73.0a0'
+ icu: '>=73.2,<74.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.2,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
libstdcxx-ng: '>=12'
hash:
- md5: 765bc76c0dfaf24ff9d8a2935b2510df
- sha256: 9d99416e9d4a01ea0915f65ea7fac71dee11916de115fbd0325c0cb82e0b63f8
+ md5: 5a6f6c00ef982a9bc83558d9ac8f64a0
+ sha256: 4b55aea03b18a4084b750eee531ad978d4a3690f63019132c26c6ad26bbe3aed
manager: conda
name: harfbuzz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-7.3.0-hdb3a94d_0.conda
- version: 7.3.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/harfbuzz-8.3.0-h3d44ed6_0.conda
+ version: 8.3.0
- category: main
dependencies:
- importlib-metadata: '>=6.8.0,<6.8.1.0a0'
+ importlib-metadata: '>=7.0.1,<7.0.2.0a0'
hash:
- md5: b279b07ce18058034e5b3606ba103a8b
- sha256: b96e01dc42d547d6d9ceb1c5b52a5232cc04e40153534350f702c3e0418a6b3f
+ md5: 4a2f43a20fa404b998859c6a470ba316
+ sha256: bc362df1d4f5a04c38dff29cd9c2d0ac584f9c4b45d3e4683ee090944a38fba4
manager: conda
name: importlib_metadata
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-6.8.0-hd8ed1ab_0.conda
- version: 6.8.0
+ url: https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-7.0.1-hd8ed1ab_0.conda
+ version: 7.0.1
- category: main
dependencies:
importlib_resources: '>=1.4.0'
@@ -4506,6 +4566,21 @@ package:
platform: linux-64
url: https://conda.anaconda.org/ucb-bar/linux-64/libdwarf-0.0.0.20190110_28_ga81397fc4-h753d276_0.tar.bz2
version: 0.0.0.20190110_28_ga81397fc4
+- category: main
+ dependencies:
+ cairo: '>=1.16.0,<2.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.0,<3.0a0'
+ hash:
+ md5: 806406c7008aab9b295d0cea4d5f90e0
+ sha256: 1393f41401f5858e12ec77476e844b86c4d11cc0d82150adaca74f0401cd1b87
+ manager: conda
+ name: libgirepository
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/libgirepository-1.78.1-h003a4f0_1.conda
+ version: 1.78.1
- category: main
dependencies:
libblas: '>=3.9.0,<4.0a0'
@@ -4516,14 +4591,14 @@ package:
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
hash:
- md5: d3147cfbf72d6ae7bba10562208f6def
- sha256: f5ea7769beb7827f4f5858d28bbdbc814c01649cb8cb81cccbba476ebe3798cd
+ md5: 6593de64c935768b6bad3e19b3e978be
+ sha256: 028fe2ea8e915a0a032b75165f11747770326f3d767e642880540c60a3256425
manager: conda
name: numpy
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.2-py310hb13e2d6_0.conda
- version: 1.26.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/numpy-1.26.4-py310hb13e2d6_0.conda
+ version: 1.26.4
- category: main
dependencies:
pip: ''
@@ -4551,19 +4626,34 @@ package:
version: 3.0.38
- category: main
dependencies:
+ cairo: '>=1.18.0,<2.0a0'
libgcc-ng: '>=12'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
- typing-extensions: '>=4.6.0'
hash:
- md5: a47e1b53da51f577ee44e79f7589c388
- sha256: 58ce2738657c5b3c5539465fa54eb499361df836034501c4bf03b1fc0ba9a1b7
+ md5: 2833c3b882ab9805f5b5b70e2da27e0d
+ sha256: bec25d3ec15df1159136aee992ab9e7c5144ee31dd2f14080d64be0757545676
+ manager: conda
+ name: pycairo
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pycairo-1.26.0-py310hda9f760_0.conda
+ version: 1.26.0
+- category: main
+ dependencies:
+ libgcc-ng: '>=12'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ typing-extensions: '>=4.6.0,!=4.7.0'
+ hash:
+ md5: 3f7aa5bfda188d57c4741de6fcc15330
+ sha256: 0048a136343af983b6f6ee9fc6a65259d231eb3e90c57b2f9adaef725b64b17e
manager: conda
name: pydantic-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.14.5-py310hcb5633a_0.conda
- version: 2.14.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/pydantic-core-2.16.3-py310hcb5633a_0.conda
+ version: 2.16.3
- category: main
dependencies:
cffi: '>=1.4.1'
@@ -4628,14 +4718,14 @@ package:
pip: ''
python: '>=3.7,<4.0'
hash:
- md5: 1205762a36a808c0976f959caf389e8e
- sha256: 0040b85370375694ae48d21af3e14471f78578fb22cd284c80da3741def0ad4a
+ md5: f671fde867933dbb5b408b33609dc5fb
+ sha256: 9d9c7fbc77963c0c2da6e0d495a049f0540ed94d39e24cd8307d1b6ae0c03bfb
manager: conda
name: types-awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.19.19-pyhd8ed1ab_0.conda
- version: 0.19.19
+ url: https://conda.anaconda.org/conda-forge/noarch/types-awscrt-0.20.4-pyhd8ed1ab_0.conda
+ version: 0.20.4
- category: main
dependencies:
cffi: ''
@@ -4652,21 +4742,6 @@ package:
platform: linux-64
url: https://conda.anaconda.org/conda-forge/linux-64/ukkonen-1.0.1-py310hd41b1e2_4.conda
version: 1.0.1
-- category: main
- dependencies:
- distlib: <1,>=0.3.7
- filelock: <4,>=3.12.2
- platformdirs: <5,>=3.9.1
- python: '>=3.8'
- hash:
- md5: db990278c2c00b268eed778de44f6057
- sha256: ad661ae59c64bd73c25dfadb00c601659f4d9cafbf428e36a690075e52bac96a
- manager: conda
- name: virtualenv
- optional: false
- platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.24.7-pyhd8ed1ab_0.conda
- version: 20.24.7
- category: main
dependencies:
libgcc-ng: '>=9.3.0'
@@ -4712,14 +4787,14 @@ package:
python_abi: 3.10.* *_cp310
yarl: '>=1.0,<2.0'
hash:
- md5: f367877549376e985a3df1dc430692ae
- sha256: 6a3983f2ee81308ae0716790ae780f63915f47fcd6a1038d3c75a78fcb675f23
+ md5: 7125fe11f08cdc41de9734dfb2ffd35b
+ sha256: a0346028476deb19143b70a554a3c0b4bf03f2c344d4011385bacc6caabc669e
manager: conda
name: aiohttp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.9.1-py310h2372a71_0.conda
- version: 3.9.1
+ url: https://conda.anaconda.org/conda-forge/linux-64/aiohttp-3.9.3-py310h2372a71_0.conda
+ version: 3.9.3
- category: main
dependencies:
botocore: '>=1.11.3'
@@ -4743,81 +4818,82 @@ package:
aws-c-http: '>=0.7.14,<0.7.15.0a0'
aws-c-io: '>=0.13.36,<0.13.37.0a0'
aws-c-mqtt: '>=0.9.10,<0.9.11.0a0'
- aws-c-s3: '>=0.4.3,<0.4.4.0a0'
+ aws-c-s3: '>=0.4.4,<0.4.5.0a0'
aws-checksums: '>=0.1.17,<0.1.18.0a0'
libgcc-ng: '>=12'
python: '>=3.10,<3.11.0a0'
python_abi: 3.10.* *_cp310
- s2n: '>=1.3.56,<1.3.57.0a0'
+ s2n: '>=1.4.0,<1.4.1.0a0'
hash:
- md5: 7fe0965c0d18613708e4b9793c0ac0c4
- sha256: 532660a9498d4c5728b803fb5476f2a327cb81ab832b9bf36fadeb4ed4d1b09f
+ md5: fd4b703083170315b3735e43967e3983
+ sha256: bdab178420ff1e1dcf13407c662d355290bbad434844ed903029f98cd8afc29c
manager: conda
name: awscrt
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.18-py310h9381138_0.conda
- version: 0.19.18
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscrt-0.19.19-py310h43b4219_2.conda
+ version: 0.19.19
- category: main
dependencies:
- python: '>=3.6'
- requests: '>=2.18.4'
+ python: '>=3.7'
+ requests: '>=2.21.0'
six: '>=1.11.0'
- typing-extensions: '>=4.0.1'
+ typing-extensions: '>=4.6.0'
hash:
- md5: 6e97f7d5387626f896515442002ac920
- sha256: 3f3ec0617e825bcabb70722ace9153dfdc02895aebb2179fc20b82eb30f79ec8
+ md5: 71ea9971e9ca725848c0a62a7f69cebf
+ sha256: 8306c733f443d158c0c7d313bebf171d5bd814e1b38ef09b7ed065b4c4253242
manager: conda
name: azure-core
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.29.5-pyhd8ed1ab_0.conda
- version: 1.29.5
+ url: https://conda.anaconda.org/conda-forge/noarch/azure-core-1.30.0-pyhd8ed1ab_0.conda
+ version: 1.30.0
- category: main
dependencies:
- python: '>=3.7,<4.0'
+ python: '>=3.8,<4.0'
types-awscrt: ''
typing_extensions: '>=4.1.0'
hash:
- md5: 3e24267b0fce04a61f7532f3096c45a5
- sha256: 5e0daa0d40c5a6ea3b3798d31e0ae6bdc1d53c487e59153e5e4d9ee8c2ccc47c
+ md5: 3d1805301dac7b46149af5cdebc853dc
+ sha256: 833a0d3b6b9d0be86869fa9cc4eca36febf61951d6195bd8d3d14c1d4719011a
manager: conda
name: botocore-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/botocore-stubs-1.34.49-pyhd8ed1ab_0.conda
+ version: 1.34.49
- category: main
dependencies:
msgpack-python: '>=0.5.2'
python: '>=3.7'
requests: '>=2.16.0'
hash:
- md5: 174bd699bb5aa9e2622eb4b288276ff8
- sha256: aae7ab3a54989f9bf9273e4a17c911ba339a8b9354250bc11fb8eff2e3f4be60
+ md5: a661c39e223bf3038b38126b0bbf43d9
+ sha256: 3318732d60456c5ecc0db14a7343a320ea88e05ae168aea4164d7f9ec7907142
manager: conda
name: cachecontrol
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.13.1-pyhd8ed1ab_0.conda
- version: 0.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
- category: main
dependencies:
- clang-format: 16.0.3 default_h1cdf331_2
- libclang-cpp16: '>=16.0.3,<16.1.0a0'
- libclang13: '>=16.0.3'
+ clang-format: 17.0.6 default_hb11cfb5_2
+ libclang-cpp17: '>=17.0.6,<17.1.0a0'
+ libclang13: '>=17.0.6'
libgcc-ng: '>=12'
- libllvm16: '>=16.0.3,<16.1.0a0'
+ libllvm17: '>=17.0.6,<17.1.0a0'
libstdcxx-ng: '>=12'
+ libxml2: '>=2.12.3,<3.0.0a0'
hash:
- md5: 8910812419605001db20734aad191191
- sha256: 236cd870e4a155d323202961cbcf13b1de84a86dde4ef6bf160b7e05b699b9d8
+ md5: 65fe0c9fbf75eef82b8a2bce629774ec
+ sha256: b9e2c06011261261d873c3d7033df0612a0f61d3a2e25e71323270ac23f79204
manager: conda
name: clang-tools
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-16.0.3-default_h1cdf331_2.conda
- version: 16.0.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/clang-tools-17.0.6-default_hb11cfb5_2.conda
+ version: 17.0.6
- category: main
dependencies:
python: '>=3.7'
@@ -4852,17 +4928,18 @@ package:
appdirs: ''
click: '>=5.1'
filelock: ''
+ packaging: ''
python: '>=3.7'
requests: '>=2'
hash:
- md5: c99ae3abf501990769047b4b40a98f17
- sha256: b71784b6c24d2320b2f796d074e75e7dd1be7b7fc0f719c5cf3a582270b368d6
+ md5: e54a91c3a65491b13c68f7696425bac8
+ sha256: a115afdc676c95a17ab63bbda84b7b724bc8817ae54fa34f8991339252424959
manager: conda
name: ensureconda
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.3-pyhd8ed1ab_0.tar.bz2
- version: 1.4.3
+ url: https://conda.anaconda.org/conda-forge/noarch/ensureconda-1.4.4-pyhd8ed1ab_0.conda
+ version: 1.4.4
- category: main
dependencies:
flask: '>=0.9'
@@ -4882,14 +4959,14 @@ package:
python: '>=3.6'
ukkonen: ''
hash:
- md5: 3ef8e9bab1bfaf900bb0a5db8c0c742c
- sha256: 0783aa58f43d1c113a2ec300a29ba3313184056f9893671c75037fbadaf9e546
+ md5: 9472bfd206a2b7bb8143835e37667054
+ sha256: 971683b13d1b820157bef9993c63dd8b0611d2d60fc4b522da163aee2e70e518
manager: conda
name: identify
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.32-pyhd8ed1ab_0.conda
- version: 2.5.32
+ url: https://conda.anaconda.org/conda-forge/noarch/identify-2.5.35-pyhd8ed1ab_0.conda
+ version: 2.5.35
- category: main
dependencies:
importlib_metadata: ''
@@ -4913,14 +4990,14 @@ package:
referencing: '>=0.28.4'
rpds-py: '>=0.7.1'
hash:
- md5: 1116d79def5268414fb0917520b2bbf1
- sha256: 77aae609097d06deedb8ef8407a44b23d5fef95962ba6fe1c959ac7bd6195296
+ md5: 8a3a3d01629da20befa340919e3dd2c4
+ sha256: c5c1b4e08e91fdd697289015be1a176409b4e63942899a43b276f1f250be8129
manager: conda
name: jsonschema
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.20.0-pyhd8ed1ab_0.conda
- version: 4.20.0
+ url: https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.21.1-pyhd8ed1ab_0.conda
+ version: 4.21.1
- category: main
dependencies:
pathable: '>=0.4.1,<0.5.0'
@@ -4953,49 +5030,49 @@ package:
version: 0.0.0.20190110_28_ga81397fc4
- category: main
dependencies:
- cryptography: <44,>=0.6
+ cryptography: <45,>=0.6
pyjwt: <3,>=1.0.0
python: '>=3.6'
requests: <3,>=2.0.0
hash:
- md5: 4b2d7e21aa309356a9396d54800cd271
- sha256: 8a37a7c3efae510b90669cbae7b4f736477361406028953cd804d09a2d24c53a
+ md5: 95a138b82ec36756dd8c4bd25e564597
+ sha256: e3f5876e8ea2078aba5b34d6dde53910afc8f88bf6d9eec11c0bee9eb9ba6ea8
manager: conda
name: msal
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/msal-1.25.0-pyhd8ed1ab_0.conda
- version: 1.25.0
+ url: https://conda.anaconda.org/conda-forge/noarch/msal-1.27.0-pyhd8ed1ab_0.conda
+ version: 1.27.0
- category: main
dependencies:
- alsa-lib: '>=1.2.9,<1.2.10.0a0'
+ alsa-lib: '>=1.2.10,<1.2.11.0a0'
fontconfig: '>=2.14.2,<3.0a0'
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
giflib: '>=5.2.1,<5.3.0a0'
- harfbuzz: '>=7.3.0,<8.0a0'
+ harfbuzz: '>=8.2.1,<9.0a0'
lcms2: '>=2.15,<3.0a0'
libcups: '>=2.3.3,<2.4.0a0'
libgcc-ng: '>=12'
- libjpeg-turbo: '>=2.1.5.1,<3.0a0'
+ libjpeg-turbo: '>=3.0.0,<4.0a0'
libpng: '>=1.6.39,<1.7.0a0'
libstdcxx-ng: '>=12'
libzlib: '>=1.2.13,<1.3.0a0'
- xorg-libx11: '>=1.8.4,<2.0a0'
+ xorg-libx11: '>=1.8.6,<2.0a0'
xorg-libxext: '>=1.3.4,<2.0a0'
xorg-libxi: ''
- xorg-libxrender: ''
+ xorg-libxrender: '>=0.9.11,<0.10.0a0'
xorg-libxt: '>=1.3.0,<2.0a0'
xorg-libxtst: ''
hash:
- md5: f71bdbfbe2a91520b9b488481f02237f
- sha256: a5b3b870378c505427eb7da7fb61829ed1b4ca1579422f6a1aa9e310dca86bed
+ md5: 06cb6ddea2e4639d2d8d91626d0eba3b
+ sha256: 0a88fdee61322f37bae674222488fc1153f1211312028c624db3f08bfda30617
manager: conda
name: openjdk
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.0-h8e330f5_0.conda
- version: 20.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/openjdk-20.0.2-haa376d0_2.conda
+ version: 20.0.2
- category: main
dependencies:
libgcc-ng: '>=12'
@@ -5007,14 +5084,14 @@ package:
python_abi: 3.10.* *_cp310
pytz: '>=2020.1'
hash:
- md5: 30a39c1064e5efc578d83c2a5f7cd749
- sha256: bb2b3e4a3f3d40b87ac214b88393a7f1ee5b2cac41d249c580d184f7edb30653
+ md5: cf5d315e3601a6a2931f63aa9a84dc40
+ sha256: 275bfe1485072153687b121b435864d97105928c674428348448d79ad85565aa
manager: conda
name: pandas
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.1.3-py310hcc13569_0.conda
- version: 2.1.3
+ url: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.2.1-py310hcc13569_0.conda
+ version: 2.2.1
- category: main
dependencies:
cairo: '>=1.16.0,<2.0a0'
@@ -5022,18 +5099,18 @@ package:
fonts-conda-ecosystem: ''
freetype: '>=2.12.1,<3.0a0'
fribidi: '>=1.0.10,<2.0a0'
- harfbuzz: '>=7.1.0,<8.0a0'
+ harfbuzz: '>=8.1.1,<9.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
+ libglib: '>=2.76.4,<3.0a0'
libpng: '>=1.6.39,<1.7.0a0'
hash:
- md5: cde553e0e32389e26595db4eacf859eb
- sha256: 3bb7cf6e826fa6d867318ba4866470b02d2efcc1dcd6b8b6307afaa8ac21aff4
+ md5: 1a66c10f6a0da3dbd2f3a68127e7f6a0
+ sha256: 6ecce306b7ac4acf1184eb5b045e57e613e19e99c27d57f33eb255f8a9120a93
manager: conda
name: pango
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-heaa33ce_1.conda
+ url: https://conda.anaconda.org/conda-forge/linux-64/pango-1.50.14-ha41ecd1_2.conda
version: 1.50.14
- category: main
dependencies:
@@ -5042,29 +5119,49 @@ package:
pynacl: '>=1.5'
python: '>=3.6'
hash:
- md5: 8d4563992b27cdb8e673d1ca16962c9d
- sha256: 9139c13cb7ea5729af862db5fb0523daa5900b9b4fa36637cd7f9c01be665f80
+ md5: a5e792523b028b06d7ce6e65a6cd4a33
+ sha256: 2e66359261954a79b66858c30e69ea6dd4380bf8bd733940527386b25e31dd13
manager: conda
name: paramiko
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.3.1-pyhd8ed1ab_0.conda
- version: 3.3.1
+ url: https://conda.anaconda.org/conda-forge/noarch/paramiko-3.4.0-pyhd8ed1ab_0.conda
+ version: 3.4.0
- category: main
dependencies:
annotated-types: '>=0.4.0'
- pydantic-core: 2.14.5
+ pydantic-core: 2.16.3
python: '>=3.7'
typing-extensions: '>=4.6.1'
hash:
- md5: 3f908ebfccbfd09946961862d26bb9af
- sha256: e3baa6424af931d8d7c5a0554b24d85faf3471df8036181d598065beed3096de
+ md5: b6343b653c5ca8fb18af03f3f5d1cd9f
+ sha256: ff6728ec56f8cc5d0c6dba999de6299f3ce4aa2624b552194dafdb5af1c7fecd
manager: conda
name: pydantic
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.5.2-pyhd8ed1ab_0.conda
- version: 2.5.2
+ url: https://conda.anaconda.org/conda-forge/noarch/pydantic-2.6.2-pyhd8ed1ab_0.conda
+ version: 2.6.2
+- category: main
+ dependencies:
+ cairo: '>=1.16.0,<2.0a0'
+ libffi: '>=3.4,<4.0a0'
+ libgcc-ng: '>=12'
+ libgirepository: ''
+ libglib: '>=2.78.0,<3.0a0'
+ libiconv: ''
+ pycairo: ''
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
+ hash:
+ md5: d510c2f08eac618f03010d150e57dce6
+ sha256: d57070667fd3473ae37a6a7ad864a243ff0e6c8eef7969a92958f117d5495d75
+ manager: conda
+ name: pygobject
+ optional: false
+ platform: linux-64
+ url: https://conda.anaconda.org/conda-forge/linux-64/pygobject-3.46.0-py310h30b043a_1.conda
+ version: 3.46.0
- category: main
dependencies:
cryptography: '>=38.0.0,<41'
@@ -5103,27 +5200,27 @@ package:
typing_extensions: ''
urllib3: '>=1.25.10,<3.0'
hash:
- md5: b1b80aaa77d5e83183cd0c9e9025b1fa
- sha256: 35a1cc20beca329bfa2b17feeb5ca66a2741bdccf39621dfe386f48206e73d67
+ md5: 3a3a9d37b275336a17386f80bfcca835
+ sha256: ffda7ac561d4b946dd8e2be9126a0418933340d345f3b96e3c9c4a1968bf3c3f
manager: conda
name: responses
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/responses-0.24.1-pyhd8ed1ab_0.conda
- version: 0.24.1
+ url: https://conda.anaconda.org/conda-forge/noarch/responses-0.25.0-pyhd8ed1ab_0.conda
+ version: 0.25.0
- category: main
dependencies:
botocore: '>=1.33.2,<2.0a.0'
- python: '>=3.7'
+ python: '>=3.8'
hash:
- md5: 75e12933f4bf755c9cdd37072bcb6203
- sha256: 2e5679abcec8eb646df37518ecdbdaa224d7ff5295a1e56707317d52b47d9c79
+ md5: 2d52125a7fe49248ce5e883fed6c935a
+ sha256: 5f1fccbbc0460971f12dda7ab0465d8f6037486042d156b611881e57d218ce95
manager: conda
name: s3transfer
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.8.2-pyhd8ed1ab_0.conda
- version: 0.8.2
+ url: https://conda.anaconda.org/conda-forge/noarch/s3transfer-0.10.0-pyhd8ed1ab_0.conda
+ version: 0.10.0
- category: main
dependencies:
attrs: ''
@@ -5170,7 +5267,7 @@ package:
version: 3.3.1
- category: main
dependencies:
- awscrt: 0.19.18
+ awscrt: '>=0.19.18,<=0.19.19'
colorama: '>=0.2.5,<0.4.7'
cryptography: '>=3.3.2,<=40.0.2'
distro: '>=1.5.0,<1.9.0'
@@ -5185,43 +5282,43 @@ package:
ruamel.yaml.clib: '>=0.2.0,<=0.2.7'
urllib3: '>=1.25.4,<1.27'
hash:
- md5: 83b614ffebf970bc4c848a34be1afe2d
- sha256: 85b91372b3343c70a52ac76eab1878b0ac41a2446778b2379c725c614a2c41be
+ md5: 83031b645851f8a05cffa7d69e29e188
+ sha256: a7c3ddb6efec9d16bfeb33e64d0016e782a9f5c6bed6a52600b384f4282a8152
manager: conda
name: awscli
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.14.4-py310hff52083_0.conda
- version: 2.14.4
+ url: https://conda.anaconda.org/conda-forge/linux-64/awscli-2.15.23-py310hff52083_1.conda
+ version: 2.15.23
- category: main
dependencies:
- botocore: '>=1.33.4,<1.34.0'
+ botocore: '>=1.34.49,<1.35.0'
jmespath: '>=0.7.1,<2.0.0'
- python: '>=3.7'
- s3transfer: '>=0.8.2,<0.9.0'
+ python: '>=3.8'
+ s3transfer: '>=0.10.0,<0.11.0'
hash:
- md5: 914d59cf685448451de9ac736cb0fb2a
- sha256: cb63cadfb3c593cb7295b14450e4310af88d32dc1bbf185ec82a325a12e86f28
+ md5: 818f33e8f923de31137749661b058ad7
+ sha256: 2cec579fa4d896f93c51299db7d4a834e15ef2cc51202ec5a2206668cb29b6a3
manager: conda
name: boto3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.33.4-pyhd8ed1ab_0.conda
- version: 1.33.4
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-1.34.49-pyhd8ed1ab_0.conda
+ version: 1.34.49
- category: main
dependencies:
- cachecontrol: 0.13.1 pyhd8ed1ab_0
+ cachecontrol: 0.14.0 pyhd8ed1ab_0
filelock: '>=3.8.0'
python: '>=3.7'
hash:
- md5: 8c4781ca0893cff3a64423954ce234a1
- sha256: 7fd3cd4a667da284ae3aad9b8cb4d592099bc02ed6566cbae00bd8c0b0604e85
+ md5: 4c08fa6e7d1d3f124ad815e21b2210e9
+ sha256: 89a9061aafc28c0e0e2db49a5b99e99797ed3a7127c31deda0cceb4696ae627f
manager: conda
name: cachecontrol-with-filecache
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.13.1-pyhd8ed1ab_0.conda
- version: 0.13.1
+ url: https://conda.anaconda.org/conda-forge/noarch/cachecontrol-with-filecache-0.14.0-pyhd8ed1ab_0.conda
+ version: 0.14.0
- category: main
dependencies:
conda-package-streaming: '>=0.9.0'
@@ -5246,31 +5343,31 @@ package:
urllib3: '>=1.26.0'
websocket-client: '>=0.32.0'
hash:
- md5: c95d23d8bae7e21491868cc7772d7c73
- sha256: 7c3031602e92fd7682302ef98a45bdf7374d48a849cdd3900b7c68a32d162177
+ md5: aec5f308cb9055e83c59afecd5fcb58a
+ sha256: b9bf5990dc968123e5817096daddd2105857cfd4c5b94c0937d929bc74fc7a31
manager: conda
name: docker-py
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/docker-py-6.1.3-pyhd8ed1ab_0.conda
- version: 6.1.3
+ url: https://conda.anaconda.org/conda-forge/noarch/docker-py-7.0.0-pyhd8ed1ab_0.conda
+ version: 7.0.0
- category: main
dependencies:
- atk-1.0: '>=2.36.0'
- cairo: '>=1.16.0,<2.0.0a0'
- gdk-pixbuf: '>=2.42.6,<3.0a0'
- gettext: '>=0.19.8.1,<1.0a0'
- libgcc-ng: '>=9.4.0'
- libglib: '>=2.70.2,<3.0a0'
- pango: '>=1.50.3,<1.51.0a0'
+ atk-1.0: '>=2.38.0'
+ cairo: '>=1.18.0,<2.0a0'
+ gdk-pixbuf: '>=2.42.10,<3.0a0'
+ gettext: '>=0.21.1,<1.0a0'
+ libgcc-ng: '>=12'
+ libglib: '>=2.78.3,<3.0a0'
+ pango: '>=1.50.14,<2.0a0'
hash:
- md5: 957a0255ab58aaf394a91725d73ab422
- sha256: 66d189ec36d67309fa3eb52d14d77b82359c10303c400eecc14f8eaca5939b87
+ md5: 0abfa7f9241a0f4fd732bc15773cfb0c
+ sha256: e659f5eca2a5f21d5fe859d8d1dae132a284800eb017b8b4e2286b252a230527
manager: conda
name: gtk2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h90689f9_2.tar.bz2
+ url: https://conda.anaconda.org/conda-forge/linux-64/gtk2-2.24.33-h7f000aa_3.conda
version: 2.24.33
- category: main
dependencies:
@@ -5306,22 +5403,22 @@ package:
version: 24.3.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
+ cairo: '>=1.18.0,<2.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gettext: '>=0.21.1,<1.0a0'
libgcc-ng: '>=12'
- libglib: '>=2.76.1,<3.0a0'
- libxml2: '>=2.10.4,<2.11.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ libxml2: '>=2.12.1,<3.0.0a0'
pango: '>=1.50.14,<2.0a0'
hash:
- md5: 1ec4fab6eb4af1db9056b94265fe19cf
- sha256: 6449497e50d2343c6caf73ad9c74f82341e0c22aca3d6f333869e0a069d0c472
+ md5: 03bd1ddcc942867a19528877143b9852
+ sha256: b82d0c60376da88a2bf15d35d17c176aa923917ad7de4bc62ddef6d02f3518fb
manager: conda
name: librsvg
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.0-h5cef280_0.conda
- version: 2.56.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/librsvg-2.56.3-he3f83f7_1.conda
+ version: 2.56.3
- category: main
dependencies:
certifi: '>=2020.06.20'
@@ -5341,28 +5438,32 @@ package:
python_abi: 3.10.* *_cp310
tk: '>=8.6.13,<8.7.0a0'
hash:
- md5: 3cbbc7d0b54df02c9a006d3de14911d9
- sha256: 078f5f1ece533a03710dd6d644555f1f2f4cbe18f1412d695ffb304e3d8c9381
+ md5: 4a7296c0273eb01dfbed728dd6a6725a
+ sha256: f3179a086a10a0d7561b5935cfa5986ed9d1fd15b86f5a68de813455cd58f98f
manager: conda
name: matplotlib-base
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.2-py310h62c0568_0.conda
- version: 3.8.2
+ url: https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.8.3-py310h62c0568_0.conda
+ version: 3.8.3
- category: main
dependencies:
+ libsecret: ''
msal: '>=0.4.1,<2.0'
+ packaging: ''
portalocker: '>=1.6,<3.0'
- python: '>=3.6'
+ pygobject: '>=3,<4'
+ python: '>=3.10,<3.11.0a0'
+ python_abi: 3.10.* *_cp310
hash:
- md5: db0e3cc6e5e99baf237a2ab73898f553
- sha256: 73096cb7f0939595651fb1555a201b3a31adb3dfeb833e70af2d4313015dd51f
+ md5: a8231550fc2d15db85015e1f994cf240
+ sha256: 7cf987690fe7536895ca8ccb2ff73e932fe6d93e46237efcf5dfe3eed9f68a77
manager: conda
name: msal_extensions
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/msal_extensions-1.0.0-pyhd8ed1ab_0.tar.bz2
- version: 1.0.0
+ url: https://conda.anaconda.org/conda-forge/linux-64/msal_extensions-1.1.0-py310hff52083_1.conda
+ version: 1.1.0
- category: main
dependencies:
jsonschema: '>=4.19.1,<5.0.0a0'
@@ -5383,18 +5484,18 @@ package:
cfgv: '>=2.0.0'
identify: '>=1.0.0'
nodeenv: '>=0.11.1'
- python: '>=3.8'
+ python: '>=3.9'
pyyaml: '>=5.1'
virtualenv: '>=20.10.0'
hash:
- md5: 964e3d762e427661c59263435a14c492
- sha256: 51a4a17334a15ec92805cd075776563ff93b3b6c20732c4cb607c98a761ae02f
+ md5: 61534ee57ffdf26d7b1b514d33daccc4
+ sha256: 8eb9f5965c37d2bbee9302e16cc7c5517ee06491986356112be13431a043681e
manager: conda
name: pre-commit
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.5.0-pyha770c72_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/pre-commit-3.6.2-pyha770c72_0.conda
+ version: 3.6.2
- category: main
dependencies:
__unix: ''
@@ -5414,16 +5515,16 @@ package:
jsonschema: <5,>=3.2
pydantic: '>=1.8,<3'
python: '>=3.7,<4.0'
- typing-extensions: <5,>=4.4
+ typing-extensions: '>=4.4'
hash:
- md5: d9f3ca99e7d10b05ead04edcdcb7e0cb
- sha256: 1bf5fa0d34e4de0843eaa82311e3dd680fdbe02cd74a6945f9b662f504bbcd08
+ md5: 795a2e0a9317acfbef5d47ae7a2fcac1
+ sha256: 245963a3d07f7cc6e79c3ddf3b5d33dede0f249bd95d6533ed3f460cc7f134ea
manager: conda
name: aws-sam-translator
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.81.0-pyhd8ed1ab_0.conda
- version: 1.81.0
+ url: https://conda.anaconda.org/conda-forge/noarch/aws-sam-translator-1.85.0-pyhd8ed1ab_0.conda
+ version: 1.85.0
- category: main
dependencies:
azure-core: <2.0.0,>=1.23.0
@@ -5446,14 +5547,14 @@ package:
python: ''
typing_extensions: ''
hash:
- md5: 23cf1bb1fb33251d3f0caf4198a90782
- sha256: 44363a8ede827c4bac4c1e6535461ab6f12a19c658dff0a4d908c6d1e19c5d70
+ md5: 31d2264d3aa4eb75f13a7741e5519ed2
+ sha256: baa640afe9eb7e9a720232d2fa6d7c2d4f3d35b42ae2974651e71b33c03e2ae2
manager: conda
name: boto3-stubs
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.33.5-pyhd8ed1ab_0.conda
- version: 1.33.5
+ url: https://conda.anaconda.org/conda-forge/noarch/boto3-stubs-1.34.49-pyhd8ed1ab_0.conda
+ version: 1.34.49
- category: main
dependencies:
archspec: ''
@@ -5516,62 +5617,57 @@ package:
version: 1.4.0
- category: main
dependencies:
- cairo: '>=1.16.0,<2.0a0'
- expat: ''
- fontconfig: '>=2.14.2,<3.0a0'
+ cairo: '>=1.18.0,<2.0a0'
fonts-conda-ecosystem: ''
- freetype: '>=2.12.1,<3.0a0'
gdk-pixbuf: '>=2.42.10,<3.0a0'
gtk2: ''
gts: '>=0.7.6,<0.8.0a0'
libexpat: '>=2.5.0,<3.0a0'
libgcc-ng: '>=12'
libgd: '>=2.3.3,<2.4.0a0'
- libglib: '>=2.76.2,<3.0a0'
- librsvg: '>=2.56.0,<3.0a0'
+ libglib: '>=2.78.1,<3.0a0'
+ librsvg: '>=2.56.3,<3.0a0'
libstdcxx-ng: '>=12'
- libtool: ''
- libwebp-base: '>=1.3.0,<2.0a0'
+ libwebp-base: '>=1.3.2,<2.0a0'
libzlib: '>=1.2.13,<1.3.0a0'
pango: '>=1.50.14,<2.0a0'
- zlib: ''
hash:
- md5: 597e2d0e1c6bc2e4457714ff479fe142
- sha256: 4bfb42de2d28406666ef6729169cae3f49c216c5ebd9f34afa40223755e2aaf8
+ md5: a3f4cd4a512ec5db35ffbf25ba11f537
+ sha256: 1813800d655c120a3941d543a6fc64e3c178c737f1c84f6b7ebe1f19f27fa4fb
manager: conda
name: graphviz
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-8.0.5-h28d9a01_0.conda
- version: 8.0.5
+ url: https://conda.anaconda.org/conda-forge/linux-64/graphviz-9.0.0-h78e8752_1.conda
+ version: 9.0.0
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 01f46d3078f21041719d2c5fb83200de
- sha256: ef1e693434f0d3c84389e459486d57abda67df228c2671d11285ba73baa5c11a
+ md5: c594f646f5f92ae7f4ea68dc46ce633c
+ sha256: 60ac647a40388267eebdb8e7be63eeec791a8964ed597f1339be8a35d623cc31
manager: conda
name: mypy-boto3-s3
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.33.2-pyhd8ed1ab_0.conda
- version: 1.33.2
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy-boto3-s3-1.34.14-pyhd8ed1ab_0.conda
+ version: 1.34.14
- category: main
dependencies:
boto3: ''
python: '>=3.6'
typing-extensions: ''
hash:
- md5: 687d78daf8e04f4c5e5cfa92ead666c4
- sha256: 2fecbcc276e13a119ec87602d9547aa537bf690724288d368ebf606351c19f67
+ md5: 41b56eb093c6e10e3fd211656ad4e74e
+ sha256: 758fd7af61990c9890c2895a71b9e2644d41296a8461bc4a5aa838486b664eaa
manager: conda
name: mypy_boto3_ec2
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.33.0-pyhd8ed1ab_0.conda
- version: 1.33.0
+ url: https://conda.anaconda.org/conda-forge/noarch/mypy_boto3_ec2-1.34.30-pyhd8ed1ab_0.conda
+ version: 1.34.30
- category: main
dependencies:
importlib_resources: '>=5.8,<7.0'
@@ -5605,7 +5701,7 @@ package:
version: 0.4.2
- category: main
dependencies:
- aws-sam-translator: '>=1.79.0'
+ aws-sam-translator: '>=1.84.0'
jschema-to-python: '>=1.2.3,<1.3.dev0'
jsonpatch: ''
jsonschema: '>=3.0,<5'
@@ -5617,14 +5713,14 @@ package:
sarif-om: '>=1.0.4,<1.1.dev0'
sympy: '>=1.0.0'
hash:
- md5: 8fa5ac9497fc51cb02377e38500ce964
- sha256: a77254900a3bc62e4c216f1223c9a14982db30e3c24a1b3fcc9cd9dcf3d1f5a4
+ md5: 9e0b218b8aef61acaba5e021699271f6
+ sha256: 5a4c1ac65bab587225706e9c2b393130c2d958da50a4e1c9ef06ab640610bb2c
manager: conda
name: cfn-lint
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.83.3-pyhd8ed1ab_0.conda
- version: 0.83.3
+ url: https://conda.anaconda.org/conda-forge/noarch/cfn-lint-0.85.2-pyhd8ed1ab_0.conda
+ version: 0.85.2
- category: main
dependencies:
colorama: ''
@@ -5647,17 +5743,17 @@ package:
conda-standalone: ''
jinja2: ''
pillow: '>=3.1'
- python: '>=3.7'
- ruamel.yaml: '>=0.11.14,<0.18'
+ python: '>=3.8'
+ ruamel.yaml: '>=0.11.14,<0.19'
hash:
- md5: bece1550cd8ce528b234f41c85786ef8
- sha256: a4304eff880a3150e027f8af8d158cc9bf6e6c8444d2affda4e2b17125f44a85
+ md5: d8cb2dfbc95cd06af84d11bf16572270
+ sha256: 78a2b1abf48bdb34a9902caa7bff273ed001758f0845ef0508b347d85c21ca2b
manager: conda
name: constructor
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.5.0-pyhe4f9e05_0.conda
- version: 3.5.0
+ url: https://conda.anaconda.org/conda-forge/noarch/constructor-3.6.0-pyh55f8243_0.conda
+ version: 3.6.0
- category: main
dependencies:
graphviz: '>=2.46.1'
@@ -5700,67 +5796,68 @@ package:
werkzeug: '>=0.5,!=2.2.0,!=2.2.1'
xmltodict: ''
hash:
- md5: cd76850f625a821bd553380913baf5d6
- sha256: 307ce3acd4c5c3b25f25e871924e96ee052c09a8a2832fcb7a89a2dc26f309cb
+ md5: 0bab0cb52bb79f684915a650c5452b33
+ sha256: bb03fa39768749a64bcd4204546e3c9e348c7702bfa979ddfc73575a1b6a9ff4
manager: conda
name: moto
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/moto-4.2.10-pyhd8ed1ab_0.conda
- version: 4.2.10
+ url: https://conda.anaconda.org/conda-forge/noarch/moto-5.0.1-pyhd8ed1ab_0.conda
+ version: 5.0.1
- category: main
dependencies:
- livereload: '>=2.3.0'
- python: '>=3.6'
+ colorama: ''
+ livereload: ''
+ python: '>=3.9'
sphinx: ''
hash:
- md5: 1909f784dc37b4ab97afe2c95aeeabaa
- sha256: 1c07ab809254c2454c5417c5be01af2dc8bcaae2f3315a0a9d8812997ede8297
+ md5: 13996799cc0b00919a3c1b9b02e02217
+ sha256: 13e095036649519562f4d1add7eb16004f8ad65efb854b11e836d48bb57e5df9
manager: conda
name: sphinx-autobuild
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2021.3.14-pyhd8ed1ab_0.tar.bz2
- version: 2021.3.14
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinx-autobuild-2024.2.4-pyhd8ed1ab_0.conda
+ version: 2024.2.4
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: aebfabcb60c33a89c1f9290cab49bc93
- sha256: 67e2b386c7b3c858ead88fa71fe4fa5eb1f4f59d7994d167b3910a744db392d3
+ md5: 611a35a27914fac3aa37611a6fe40bb5
+ sha256: 710013443a063518d587d2af82299e92ab6d6695edf35a676ac3a0ccc9e3f8e6
manager: conda
name: sphinxcontrib-applehelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.7-pyhd8ed1ab_0.conda
- version: 1.0.7
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.8-pyhd8ed1ab_0.conda
+ version: 1.0.8
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: ebf08f5184d8eaa486697bc060031953
- sha256: 770e13ebfef321426c09ec51d95c57755512db160518b2922a4337546ee51672
+ md5: d7e4954df0d3aea2eacc7835ad12671d
+ sha256: 63a6b60653ef13a6712848f4b3c4b713d4b564da1dae571893f1a3659cde85f3
manager: conda
name: sphinxcontrib-devhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.5-pyhd8ed1ab_0.conda
- version: 1.0.5
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.6-pyhd8ed1ab_0.conda
+ version: 1.0.6
- category: main
dependencies:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: a9a89000dfd19656ad004b937eeb6828
- sha256: 5f09cd4a08a6c194c11999871a8c7cedc2cd7edd9ff7ceb6f0667b6698be4cc5
+ md5: 7e1e7437273682ada2ed5e9e9714b140
+ sha256: 512f393cfe34cb3de96ade7a7ad900d6278e2087a1f0e5732aa60fadee396d99
manager: conda
name: sphinxcontrib-htmlhelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.4-pyhd8ed1ab_0.conda
- version: 2.0.4
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-2.0.5-pyhd8ed1ab_0.conda
+ version: 2.0.5
- category: main
dependencies:
python: '>=2.7'
@@ -5794,14 +5891,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: cf5c9649272c677a964a7313279e3a9b
- sha256: 9ba5cea9cbab64106e8b5a9b19add855dcb52b8fbb1674398c715bccdbc04471
+ md5: 26acae54b06f178681bfb551760f5dd1
+ sha256: dd35b52f056c39081cd0ae01155174277af579b69e5d83798a33e9056ec78d63
manager: conda
name: sphinxcontrib-qthelp
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.6-pyhd8ed1ab_0.conda
- version: 1.0.6
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.7-pyhd8ed1ab_0.conda
+ version: 1.0.7
- category: main
dependencies:
alabaster: '>=0.7,<0.8'
@@ -5836,14 +5933,14 @@ package:
python: '>=3.9'
sphinx: '>=5'
hash:
- md5: 0612e497d7860728f2cda421ea2aec09
- sha256: c5710ae7bb7465f25a29cc845d9fb6ad0ea561972d796d379fcb48d801e96d6d
+ md5: e507335cb4ca9cff4c3d0fa9cdab255e
+ sha256: bf80e4c0ff97d5e8e5f6db0831ba60007e820a3a438e8f1afd868aa516d67d6f
manager: conda
name: sphinxcontrib-serializinghtml
optional: false
platform: linux-64
- url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.9-pyhd8ed1ab_0.conda
- version: 1.1.9
+ url: https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.10-pyhd8ed1ab_0.conda
+ version: 1.1.10
- category: main
dependencies: {}
hash:
@@ -5891,12 +5988,12 @@ package:
- dependencies:
typing-extensions: '>=4.2.0'
hash:
- sha256: 1740068fd8e2ef6eb27a20e5651df000978edce6da6803c2bef0bc74540f9548
+ sha256: 82d886bd3c3fbeaa963692ef6b643159ccb4b4cefaf7ff1617720cbead04fd1d
manager: pip
name: pydantic
platform: linux-64
- url: https://files.pythonhosted.org/packages/e0/2f/d6f17f8385d718233bcae893d27525443d41201c938b68a4af3d591a33e4/pydantic-1.10.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- version: 1.10.13
+ url: https://files.pythonhosted.org/packages/8b/ff/c6e3de00d83a607ba7fb81cee8ad72bbc722f15a57d18a815a1aa0e35793/pydantic-1.10.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
+ version: 1.10.14
- category: main
dependencies:
ruamel.yaml.clib: '>=0.2.7'
diff --git a/conda-reqs/docs.yaml b/conda-reqs/docs.yaml
new file mode 100644
index 00000000..38356ad0
--- /dev/null
+++ b/conda-reqs/docs.yaml
@@ -0,0 +1,23 @@
+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
+
+ # doc requirements
+ - sphinx
+ - pygments
+ - sphinx-autobuild
+ - sphinx_rtd_theme
+ - docutils
diff --git a/docs/Advanced-Concepts/Chip-Communication.rst b/docs/Advanced-Concepts/Chip-Communication.rst
index 5a79e963..bc913f68 100644
--- a/docs/Advanced-Concepts/Chip-Communication.rst
+++ b/docs/Advanced-Concepts/Chip-Communication.rst
@@ -198,25 +198,3 @@ bringup design).
:language: scala
:start-after: DOC include start: TetheredChipLikeRocketConfig
:end-before: DOC include end: TetheredChipLikeRocketConfig
-
-Softcore-driven Bringup Setup of the Example Test Chip after Tapeout
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. warning::
- Bringing up test chips with a FPGA softcore as described here is discouraged.
- An alternative approach using the FPGA to "bridge" between a host computer and the test chip is the preferred approach.
-
-Assuming this example test chip is taped out and now ready to be tested, we can communicate with the chip using this serial-link.
-For example, a common test setup used at Berkeley to evaluate Chipyard-based test-chips includes an FPGA running a RISC-V soft-core that is able to speak to the DUT (over an FMC).
-This RISC-V soft-core would serve as the host of the test that will run on the DUT.
-This is done by the RISC-V soft-core running FESVR, sending TSI commands to a ``TSIToTileLink`` / ``TLSerdesser`` programmed on the FPGA.
-Once the commands are converted to serialized TileLink, then they can be sent over some medium to the DUT
-(like an FMC cable or a set of wires connecting FPGA outputs to the DUT board).
-Similar to simulation, if the chip requests offchip memory, it can then send the transaction back over the serial-link.
-Then the request can be serviced by the FPGA DRAM.
-The following image shows this flow:
-
-.. image:: ../_static/images/chip-bringup.png
-
-In fact, this exact type of bringup setup is what the following section discusses:
-:ref:_legacy-vcu118-bringup.
diff --git a/docs/Chipyard-Basics/Chipyard-Components.rst b/docs/Chipyard-Basics/Chipyard-Components.rst
index 8f8e9045..669bfdfc 100644
--- a/docs/Chipyard-Basics/Chipyard-Components.rst
+++ b/docs/Chipyard-Basics/Chipyard-Components.rst
@@ -53,9 +53,9 @@ System Components:
**icenet**
A Network Interface Controller (NIC) designed to achieve up to 200 Gbps.
-**sifive-blocks**
- System components implemented by SiFive and used by SiFive projects, designed to be integrated with the Rocket Chip generator.
- These system and peripheral components include UART, SPI, JTAG, I2C, PWM, and other peripheral and interface devices.
+**rocket-chip-blocks**
+ System components originally implemented by SiFive and used by SiFive projects, designed to be integrated with the Rocket Chip generator.
+ Now maintained by Chips Alliance. These system and peripheral components include UART, SPI, JTAG, I2C, PWM, and other peripheral and interface devices.
**AWL (Analog Widget Library)**
Digital components required for integration with high speed serial links.
@@ -106,6 +106,9 @@ Software
FireMarshal is the default workload generation tool that Chipyard uses to create software to run on its platforms.
See :ref:`fire-marshal` for more information.
+**Baremetal-IDE**
+ Baremetal-IDE is an all-in-one tool for baremetal-level C/C++ program development. See `Tutorial `_ for more information.
+
Sims
-------------------------------------------
diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst
index 948b7e2e..1f348189 100644
--- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst
+++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst
@@ -15,8 +15,8 @@ Running on AWS EC2 with FireSim
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you plan on using Chipyard alongside FireSim on AWS EC2 instances, you should refer to the :fsim_doc:`FireSim documentation <>`.
-Specifically, you should follow the :fsim_doc:`Initial Setup/Installation `
-section of the docs up until :fsim_doc:`Setting up the FireSim Repo `.
+Specifically, you should follow the :fsim_doc:`Initial Setup/Installation `
+section of the docs up until :fsim_doc:`Setting up the FireSim Repo `.
At that point, instead of cloning FireSim you can clone Chipyard by following :ref:`Chipyard-Basics/Initial-Repo-Setup:Setting up the Chipyard Repo`.
Default Requirements Installation
diff --git a/docs/Customization/Boot-Process.rst b/docs/Customization/Boot-Process.rst
index 52ea32c1..9f745b7d 100644
--- a/docs/Customization/Boot-Process.rst
+++ b/docs/Customization/Boot-Process.rst
@@ -74,6 +74,6 @@ mode, thus starting userspace execution.
The easiest way to build a BBL image that boots Linux is to use the FireMarshal
tool that lives in the `firesim-software `_
repository. Directions on how to use FireMarshal can be found in the
-:fsim_doc:`FireSim documentation `.
+:fsim_doc:`FireSim documentation `.
Using FireMarshal, you can add custom kernel configurations and userspace software
to your workload.
diff --git a/docs/Customization/Custom-Chisel.rst b/docs/Customization/Custom-Chisel.rst
index 121ca712..a3b4ef72 100644
--- a/docs/Customization/Custom-Chisel.rst
+++ b/docs/Customization/Custom-Chisel.rst
@@ -59,7 +59,7 @@ should look something like this:
.. code-block:: scala
lazy val chipyard = (project in file("generators/chipyard"))
- .dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
+ .dependsOn(testchipip, rocketchip, boom, hwacha, rocketchip_blocks, rocketchip_inclusive_cache, iocell,
sha3, dsptools, `rocket-dsp-utils`,
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator,
yourproject, // <- added to the middle of the list for simplicity
diff --git a/docs/Customization/Incorporating-Verilog-Blocks.rst b/docs/Customization/Incorporating-Verilog-Blocks.rst
index 7724ffb2..fde44411 100644
--- a/docs/Customization/Incorporating-Verilog-Blocks.rst
+++ b/docs/Customization/Incorporating-Verilog-Blocks.rst
@@ -99,10 +99,16 @@ Instantiating the BlackBox and Defining MMIO
Next, we must instantiate the blackbox. In order to take advantage of
diplomatic memory mapping on the system bus, we still have to
-integrate the peripheral at the Chisel level by mixing
-peripheral-specific traits into a ``TLRegisterRouter``. The ``params``
-member and ``HasRegMap`` base trait should look familiar from the
-previous memory-mapped GCD device example.
+integrate the peripheral at the Chisel level by instantiating a LazyModule wrapper
+that instantiates a TileLink RegisterNode.
+
+.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
+ :language: scala
+ :start-after: DOC include start: GCD router
+ :end-before: DOC include end: GCD router
+
+Within the LazyModule, the ``regmap`` function can be called to attach wires and
+registers to the MMIO port.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
diff --git a/docs/Customization/Keys-Traits-Configs.rst b/docs/Customization/Keys-Traits-Configs.rst
index 7b6d565b..b91e4748 100644
--- a/docs/Customization/Keys-Traits-Configs.rst
+++ b/docs/Customization/Keys-Traits-Configs.rst
@@ -40,12 +40,12 @@ Top-level traits specify that the ``DigitalTop`` has been parameterized to read
Top-level traits should be defined and documented in subprojects, alongside their corresponding keys. The traits should then be added to the ``DigitalTop`` being used by Chipyard.
-Below we see the traits for the GCD example. The Lazy trait connects the GCD module to the Diplomacy graph, while the Implementation trait causes the ``DigitalTop`` to instantiate an additional port and concretely connect it to the GCD module.
+Below we see the traits for the GCD example. The Lazy trait connects the GCD module to the Diplomacy graph.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
:start-after: DOC include start: GCD lazy trait
- :end-before: DOC include end: GCD imp trait
+ :end-before: DOC include end: GCD lazy trait
These traits are added to the default ``DigitalTop`` in Chipyard.
diff --git a/docs/Customization/MMIO-Peripherals.rst b/docs/Customization/MMIO-Peripherals.rst
index 4d0ba16a..105d3f70 100644
--- a/docs/Customization/MMIO-Peripherals.rst
+++ b/docs/Customization/MMIO-Peripherals.rst
@@ -3,14 +3,15 @@
MMIO Peripherals
==================
-The easiest way to create a MMIO peripheral is to use the ``TLRegisterRouter`` or ``AXI4RegisterRouter`` widgets, which abstracts away the details of handling the interconnect protocols and provides a convenient interface for specifying memory-mapped registers. Since Chipyard and Rocket Chip SoCs primarily use Tilelink as the on-chip interconnect protocol, this section will primarily focus on designing Tilelink-based peripherals. However, see ``generators/chipyard/src/main/scala/example/GCD.scala`` for how an example AXI4 based peripheral is defined and connected to the Tilelink graph through converters.
+The easiest way to create a MMIO peripheral is to follow the GCD TileLink MMIO example. Since Chipyard and Rocket Chip SoCs primarily use Tilelink as the on-chip interconnect protocol, this section will primarily focus on designing Tilelink-based peripherals. However, see ``generators/chipyard/src/main/scala/example/GCD.scala`` for how an example AXI4 based peripheral is defined and connected to the Tilelink graph through converters.
-To create a RegisterRouter-based peripheral, you will need to specify a parameter case class for the configuration settings, a bundle trait with the extra top-level ports, and a module implementation containing the actual RTL.
+To create a MMIO-mapped peripheral, you will need to specify a ``LazyModule`` wrapper containing the TileLink port as a Diplomacy Node, as well as an internal ``LazyModuleImp`` class that defines the MMIO's implementation and any non-TileLink I/O.
For this example, we will show how to connect a MMIO peripheral which computes the GCD.
The full code can be found in ``generators/chipyard/src/main/scala/example/GCD.scala``.
-In this case we use a submodule ``GCDMMIOChiselModule`` to actually perform the GCD. The ``GCDModule`` class only creates the registers and hooks them up using ``regmap``.
+In this case we use a submodule ``GCDMMIOChiselModule`` to actually perform the GCD. The ``GCDTL`` and ``GCDAXI4`` classes are the ``LazyModule`` classes which construct the TileLink or AXI4 ports, wrapping the inner ``GCDMMIOChiselModule``.
+The ``node`` object is a Diplomacy node, which connects the peripheral to the Diplomacy interconnect graph.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
@@ -19,8 +20,9 @@ In this case we use a submodule ``GCDMMIOChiselModule`` to actually perform the
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
- :start-after: DOC include start: GCD instance regmap
- :end-before: DOC include end: GCD instance regmap
+ :start-after: DOC include start: GCD router
+ :end-before: DOC include end: GCD router
+
Advanced Features of RegField Entries
-------------------------------------
@@ -41,15 +43,31 @@ triggering the GCD algorithm when ``y`` is written. Therefore, the
algorithm is set up by first writing ``x`` and then performing a
triggering write to ``y``. Polling can be used for status checks.
+.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
+ :language: scala
+ :start-after: DOC include start: GCD instance regmap
+ :end-before: DOC include end: GCD instance regmap
+
+.. note::
+ In older versions of Chipyard and Rocket-Chip, a ``TLRegisterRouter`` abstrat
+ class was used to abstract away the construction of the ``TLRegisterNode`` and
+ ``LazyModule`` classes necessary to construct MMIO peripherals. This was removed,
+ in favor of requiring users to explicitly construct the necessary classes.
+
+ This matches more closely how standard ``Modules`` and ``LazyModules`` are
+ constructed, making it clearer how a MMIO peripheral fits into the ``Module``
+ and ``LazyModule`` design patterns.
+
Connecting by TileLink
----------------------
-Once you have these classes, you can construct the final peripheral by extending the ``TLRegisterRouter`` and passing the proper arguments.
-The first set of arguments determines where the register router will be placed in the global address map and what information will be put in its device tree entry.
-The second set of arguments is the IO bundle constructor, which we create by extending ``TLRegBundle`` with our bundle trait.
-The final set of arguments is the module constructor, which we create by extends ``TLRegModule`` with our module trait.
-Notice how we can create an analogous AXI4 version of our peripheral.
+The key to connecting to the TileLink Diplomatic graph is the construction of the TileLink node for this peripheral.
+In this case, since the peripheral acts as a manager of some register-mapped address space, it uses the ``TLRegisterNode`` object.
+The parameters to the ``TLRegisterNode`` object specify the size of the managed space, the base address, and the port width.
+
+Within the register-mapped peripheral, the control registers can be mapped using the ``node.regmap`` function, as described above.
+A similar procedure is followed for both AXI4 and TileLin peripherals.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
@@ -62,30 +80,18 @@ Top-level Traits
----------------
After creating the module, we need to hook it up to our SoC.
-Rocket Chip accomplishes this using the cake pattern.
-This basically involves placing code inside traits.
-In the Rocket Chip cake, there are two kinds of traits: a ``LazyModule`` trait and a module implementation trait.
-
-The ``LazyModule`` trait runs setup code that must execute before all the hardware gets elaborated.
-For a simple memory-mapped peripheral, this just involves connecting the peripheral's TileLink node to the MMIO crossbar.
+The ``LazyModule`` abstract class containst the TileLink node representing the peripheral's I/O.
+For a simple memory-mapped peripheral, connecting the peripheral's TileLink node must be connected to the relevant bu.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
:language: scala
:start-after: DOC include start: GCD lazy trait
:end-before: DOC include end: GCD lazy trait
-Note that the ``GCDTL`` class we created from the register router is itself a ``LazyModule``.
-Register routers have a TileLink node simply named "node", which we can hook up to the Rocket Chip bus.
-This will automatically add address map and device tree entries for the peripheral.
Also observe how we have to place additional AXI4 buffers and converters for the AXI4 version of this peripheral.
-For peripherals which instantiate a concrete module, or which need to be connected to concrete IOs or wires, a matching concrete trait is necessary. We will make our GCD example output a ``gcd_busy`` signal as a top-level port to demonstrate. In the concrete module implementation trait, we instantiate the top level IO (a concrete object) and wire it to the IO of our lazy module.
-
-
-.. literalinclude:: ../../generators/chipyard/src/main/scala/example/GCD.scala
- :language: scala
- :start-after: DOC include start: GCD imp trait
- :end-before: DOC include end: GCD imp trait
+Peripherals which expose I/O can use `InModuleBody` to punch their I/O to the `DigitalTop` module.
+In this example, the GCD module's ``gcd_busy`` signal is exposed as a I/O of DigitalTop.
Constructing the DigitalTop and Config
--------------------------------------
diff --git a/docs/Customization/Memory-Hierarchy.rst b/docs/Customization/Memory-Hierarchy.rst
index ecb666d1..11bc132b 100644
--- a/docs/Customization/Memory-Hierarchy.rst
+++ b/docs/Customization/Memory-Hierarchy.rst
@@ -46,17 +46,17 @@ agents and MMIO peripherals. Ordinarily, it is a fully-connected crossbar, but
a network-on-chip-based implementation can be generated using Constellation.
See :ref:`Customization/NoC-SoCs:SoCs with NoC-based Interconnects` for more.
-The SiFive L2 Cache
--------------------
+The Inclusive Last-Level Cache
+---------------------------------
-The default ``RocketConfig`` provided in the Chipyard example project uses SiFive's
+The default ``RocketConfig`` provided in the Chipyard example project uses the Rocket-Chip
InclusiveCache generator to produce a shared L2 cache. In the default
configuration, the L2 uses a single cache bank with 512 KiB capacity and 8-way
set-associativity. However, you can change these parameters to obtain your
desired cache configuration. The main restriction is that the number of ways
and the number of banks must be powers of 2.
-Refer to the ``CacheParameters`` object defined in sifive-cache for
+Refer to the ``CacheParameters`` object defined in ``rocket-chip-inclusive-cache`` for
customization options.
The Broadcast Hub
diff --git a/docs/Generators/Hwacha.rst b/docs/Generators/Hwacha.rst
index 1980cddf..62f4dc06 100644
--- a/docs/Generators/Hwacha.rst
+++ b/docs/Generators/Hwacha.rst
@@ -5,7 +5,7 @@ The Hwacha project is developing a new vector architecture for future computer s
The Hwacha project is inspired by traditional vector machines from the 70s and 80s, and lessons learned from our previous vector-thread architectures such as Scale and Maven
The Hwacha project includes the Hwacha microarchitecture generator, as well as the ``XHwacha`` non-standard RISC-V extension. Hwacha does not implement the RISC-V standard vector extension proposal.
-For more information on the Hwacha project, please visit the `Hwacha website `__.
+For more information on the Hwacha project, please visit the `Hwacha website `__ or search for "Krste Asanovic Hwacha" on Google Scholar for publications.
To add the Hwacha vector unit to an SoC, you should add the ``hwacha.DefaultHwachaConfig`` config fragment to the SoC configurations. The Hwacha vector unit uses the RoCC port of a Rocket or BOOM `tile`, and by default connects to the memory system through the `System Bus` (i.e., directly to the L2 cache).
diff --git a/docs/Generators/SiFive-Generators.rst b/docs/Generators/Rocket-Chip-Generators.rst
similarity index 72%
rename from docs/Generators/SiFive-Generators.rst
rename to docs/Generators/Rocket-Chip-Generators.rst
index d6b174ef..435fa1dd 100644
--- a/docs/Generators/SiFive-Generators.rst
+++ b/docs/Generators/Rocket-Chip-Generators.rst
@@ -1,19 +1,19 @@
-SiFive Generators
-==================
+Rocket-Chip Generators
+======================
-Chipyard includes several open-source generators developed and maintained by `SiFive `__.
-These are currently organized within two submodules named ``sifive-blocks`` and ``sifive-cache``.
+Chipyard includes several open-source generators developed by `SiFive `__, and now openly maintained as part of Chips Alliance.
+These are currently organized within two submodules named ``rocket-chip-blocks`` and ``rocket-chip-inclusive-cache``.
Last-Level Cache Generator
-----------------------------
-``sifive-cache`` includes last-level cache geneator. The Chipyard framework uses this last-level cache as an L2 cache. To use this L2 cache, you should add the ``freechips.rocketchip.subsystem.WithInclusiveCache`` config fragment to your SoC configuration.
+``rocket-chip-inclusive-cache`` includes last-level cache geneator. The Chipyard framework uses this last-level cache as an L2 cache. To use this L2 cache, you should add the ``freechips.rocketchip.subsystem.WithInclusiveCache`` config fragment to your SoC configuration.
To learn more about configuring this L2 cache, please refer to the :ref:`memory-hierarchy` section.
Peripheral Devices Overview
----------------------------
-``sifive-blocks`` includes multiple peripheral device generators, such as UART, SPI, PWM, JTAG, GPIO and more.
+``rocket-chip-blocks`` includes multiple peripheral device generators, such as UART, SPI, PWM, JTAG, GPIO and more.
These peripheral devices usually affect the memory map of the SoC, and its top-level IO as well.
All the peripheral blocks comes with a default memory address that would not collide with each other, but if integrating multiple duplicated blocks in the SoC is needed, you will need to explicitly specify an approriate memory address for that device.
@@ -34,7 +34,7 @@ Finally, you add the relevant config fragment to the SoC config. For example:
General Purpose I/Os (GPIO) Device
----------------------------------
-GPIO device is a periphery device provided by ``sifive-blocks``. Each general-purpose I/O port has five 32-bit configuration registers, two 32-bit data registers controlling pin input and output values, and eight 32-bit interrupt control/status register for signal level and edge triggering. In addition, all GPIOs can have two 32-bit alternate function selection registers.
+GPIO device is a periphery device provided by ``rocket-chip-blocks``. Each general-purpose I/O port has five 32-bit configuration registers, two 32-bit data registers controlling pin input and output values, and eight 32-bit interrupt control/status register for signal level and edge triggering. In addition, all GPIOs can have two 32-bit alternate function selection registers.
GPIO main features
@@ -78,7 +78,7 @@ Including GPIO in the SoC
Universal Asynchronous Receiver/Transmitter (UART) Device
----------------------------------------------------------
-UART device is a periphery device provided by ``sifive-blocks``. The UART offers a flexible means to perform Full-duplex data exchange with external devices. A very wide range of baud rates can be achieved through a fractional baud rate generator. The UART peripheral does not support other modem control signals, or synchronous serial data transfers.
+UART device is a periphery device provided by ``rocket-chip-blocks``. The UART offers a flexible means to perform Full-duplex data exchange with external devices. A very wide range of baud rates can be achieved through a fractional baud rate generator. The UART peripheral does not support other modem control signals, or synchronous serial data transfers.
UART main features
@@ -125,7 +125,7 @@ Including UART in the SoC
Inter-Integrated Circuit (I2C) Interface Device
-------------------------------------------------
-I2C device is a periphery device provided by ``sifive-blocks``. The I2C (inter-integrated circuit) bus interface handles communications to the serial I2C bus. It provides multi-master capability, and controls all I2C bus-specific sequencing, protocol, arbitration and timing. It supports Standard-mode (Sm), Fast-mode (Fm) and Fast-mode Plus (Fm+).
+I2C device is a periphery device provided by ``rocket-chip-blocks``. The I2C (inter-integrated circuit) bus interface handles communications to the serial I2C bus. It provides multi-master capability, and controls all I2C bus-specific sequencing, protocol, arbitration and timing. It supports Standard-mode (Sm), Fast-mode (Fm) and Fast-mode Plus (Fm+).
I2C main features
@@ -169,7 +169,7 @@ Including I2C in the SoC
Serial Peripheral Interface (SPI) Device
-------------------------------------------------
-SPI device is a periphery device provided by ``sifive-blocks``. The SPI interface can be used to communicate with external devices using the SPI protocol.
+SPI device is a periphery device provided by ``rocket-chip-blocks``. The SPI interface can be used to communicate with external devices using the SPI protocol.
The serial peripheral interface (SPI) protocol supports half-duplex, full-duplex and simplex synchronous, serial communication with external devices. The interface can be configured as master and in this case it provides the communication clock (SCLK) to the external slave device.
diff --git a/docs/Generators/Rocket-Chip.rst b/docs/Generators/Rocket-Chip.rst
index 856d01e1..3e404939 100644
--- a/docs/Generators/Rocket-Chip.rst
+++ b/docs/Generators/Rocket-Chip.rst
@@ -1,8 +1,8 @@
Rocket Chip
===========
-Rocket Chip generator is an SoC generator developed at Berkeley and now supported by
-`SiFive `__. Chipyard uses the Rocket Chip generator as the basis for producing a RISC-V SoC.
+Rocket Chip generator is an SoC generator developed at Berkeley and SiFive, and now maintained openly in Chips Alliance.
+Chipyard uses the Rocket Chip generator as the basis for producing a RISC-V SoC.
`Rocket Chip` is distinct from `Rocket core`, the in-order RISC-V CPU generator.
Rocket Chip includes many parts of the SoC besides the CPU. Though Rocket Chip
diff --git a/docs/Generators/Rocket.rst b/docs/Generators/Rocket.rst
index 6c55b761..536d6991 100644
--- a/docs/Generators/Rocket.rst
+++ b/docs/Generators/Rocket.rst
@@ -1,7 +1,7 @@
Rocket Core
====================================
-`Rocket `__ is a 5-stage in-order scalar processor core generator, originally developed at UC Berkeley and currently supported by `SiFive `__. The `Rocket core` is used as a component within the `Rocket Chip SoC generator`. A Rocket core combined with L1 caches (data and instruction caches) form a `Rocket tile`. The `Rocket tile` is the replicable component of the `Rocket Chip SoC generator`.
+`Rocket `__ is a 5-stage in-order scalar processor core generator, originally developed at UC Berkeley and `SiFive `__, and now maintained by Chips Alliance. The `Rocket core` is used as a component within the `Rocket Chip SoC generator`. A Rocket core combined with L1 caches (data and instruction caches) form a `Rocket tile`. The `Rocket tile` is the replicable component of the `Rocket Chip SoC generator`.
The Rocket core supports the open-source RV64GC RISC-V instruction set and is written in the Chisel hardware construction language.
It has an MMU that supports page-based virtual memory, a non-blocking data cache, and a front-end with branch prediction.
diff --git a/docs/Generators/TestChipIP.rst b/docs/Generators/TestChipIP.rst
index 2c382d4f..32e76f5b 100644
--- a/docs/Generators/TestChipIP.rst
+++ b/docs/Generators/TestChipIP.rst
@@ -92,3 +92,15 @@ The SPI flash model is a device that models a simple SPI flash device. It curren
only supports single read, quad read, single write, and quad write instructions. The
memory is backed by a file which is provided using ``+spiflash#=``,
where ``#`` is the SPI flash ID (usually ``0``).
+
+Chip ID Pin
+---------------
+
+The chip ID pin sets the chip ID for the chip it is added to. This is most useful in
+multi-chip configs. The pin value is driven by the chip ID value set in the harness
+binder and the chip ID value can be read through MMIO at the address ``0x2000`` by default.
+
+The pin can be added to a system with the ``testchipip.soc.WithChipIdPin`` config. The pin
+width and MMIO address are parameterizable and can be set by passing ``ChipIdPinParams`` as an
+argument to the config. The width can additionally be set using the ``testchipip.soc.WithChipIdPinWidth``
+config.
diff --git a/docs/Generators/index.rst b/docs/Generators/index.rst
index c2bf3719..651a6bae 100644
--- a/docs/Generators/index.rst
+++ b/docs/Generators/index.rst
@@ -26,7 +26,7 @@ so changes to the generators themselves will automatically be used when building
Gemmini
IceNet
TestChipIP
- SiFive-Generators
+ Rocket-Chip-Generators
SHA3
CVA6
Ibex
diff --git a/docs/Prototyping/VCU118.rst b/docs/Prototyping/VCU118.rst
index 96c67f48..813179fd 100644
--- a/docs/Prototyping/VCU118.rst
+++ b/docs/Prototyping/VCU118.rst
@@ -47,20 +47,6 @@ After the harness is created, the ``BundleBridgeSource``'s must be connected to
This is done with harness binders and io binders (see ``fpga/src/main/scala/vcu118/HarnessBinders.scala`` and ``fpga/src/main/scala/vcu118/IOBinders.scala``).
For more information on harness binders and io binders, refer to :ref:`Customization/IOBinders:IOBinders and HarnessBinders`.
-(Legacy) Introduction to the Legacy Bringup Design
---------------------------------------------------
-
-.. warning::
- The bringup VCU118 design described here is designed for old versions of Chipyard SoCs, pre-1.9.1.
- The key difference is that these designs rely on a clock generated on-chip to synchronize the slow serialized-TileLink interface.
- After Chipyard 1.9.1, the FPGA host is expected to pass the clock to the chip, instead of the other way around.
- A new bringup solution will be developed for post-1.9.1 Chipyard designs.
-
-An example of a more complicated design used for Chipyard test chips can be viewed in ``fpga/src/main/scala/vcu118/bringup/``.
-This example extends the default test harness and creates new ``Overlays`` to connect to a DUT (connected to the FMC port).
-Extensions include another UART (connected over FMC), I2C (connected over FMC), miscellaneous GPIOS (can be connected to anything), and a TSI Host Widget.
-The TSI Host Widget is used to interact with the DUT from the prototype over a SerDes link (sometimes called the Low BandWidth InterFace - LBWIF) and provide access to a channel of the FPGA's DRAM.
-
.. Note:: Remember that since whenever a new test harness is created (or the config changes, or the config packages changes, or...), you need to modify the make invocation.
For example, ``make SUB_PROJECT=vcu118 CONFIG=MyNewVCU118Config CONFIG_PACKAGE=this.is.my.scala.package bitstream``.
See :ref:`Prototyping/General:Generating a Bitstream` for information on the various make variables.
diff --git a/docs/Simulation/FPGA-Accelerated-Simulation.rst b/docs/Simulation/FPGA-Accelerated-Simulation.rst
index 0e126252..01585c59 100644
--- a/docs/Simulation/FPGA-Accelerated-Simulation.rst
+++ b/docs/Simulation/FPGA-Accelerated-Simulation.rst
@@ -26,12 +26,14 @@ Finally, source the following environment at the root of the FireSim directory:
cd sims/firesim
# (Recommended) The default manager environment (includes env.sh)
- source sourceme-manager.sh
+ source sourceme-manager.sh`
+ # Completing setup using the manager
+ firesim managerinit --platform f1
.. Note:: Every time you want to use FireSim with a fresh shell, you must source ``sourceme-manager.sh``
At this point you're ready to use FireSim with Chipyard. If you're not already
-familiar with FireSim, please return to the :fsim_doc:`FireSim Docs `,
+familiar with FireSim, please return to the :fsim_doc:`FireSim Docs `,
and proceed with the rest of the tutorial.
Running your Design in FireSim
@@ -47,7 +49,7 @@ A FireSim simulation requires 3 additional config fragments:
The simplest method to add this config fragments to your custom Chipyard config is through FireSim's build recipe scheme.
-After your FireSim environment is setup, you will define your custom build recipe in ``sims/firesim/deploy/deploy/config_build_recipes.ini``. By prepending the FireSim config fragments (separated by ``_``) to your Chipyard configuration, these config fragments will be added to your custom configuration as if they were listed in a custom Chisel config class definition. For example, if you would like to convert the Chipyard ``LargeBoomConfig`` to a FireSim simulation with a DDR3 memory model, the appropriate FireSim ``TARGET_CONFIG`` would be ``DDR3FRFCFSLLC4MB_WithDefaultFireSimBridges_WithFireSimConfigTweaks_chipyard.LargeBoomConfig``. Note that the FireSim config fragments are part of the ``firesim.firesim`` scala package and therefore there do not need to be prefixed with the full package name as opposed to the Chipyard config fragments which need to be prefixed with the chipyard package name.
+After your FireSim environment is setup, you will define your custom build recipe in ``sims/firesim/deploy/config_build_recipes.yaml``. By prepending the FireSim config fragments (separated by ``_``) to your Chipyard configuration, these config fragments will be added to your custom configuration as if they were listed in a custom Chisel config class definition. For example, if you would like to convert the Chipyard ``LargeBoomConfig`` to a FireSim simulation with a DDR3 memory model, the appropriate FireSim ``TARGET_CONFIG`` would be ``DDR3FRFCFSLLC4MB_WithDefaultFireSimBridges_WithFireSimConfigTweaks_chipyard.LargeBoomConfig``. Note that the FireSim config fragments are part of the ``firesim.firesim`` scala package and therefore there do not need to be prefixed with the full package name as opposed to the Chipyard config fragments which need to be prefixed with the chipyard package name.
An alternative method to prepending the FireSim config fragments in the FireSim build recipe is to create a new "permanent" FireChip custom configuration, which includes the FireSim config fragments.
We are using the same target (top) RTL, and only need to specify a new set of connection behaviors for the IOs of that module. Simply create a matching config within ``generators/firechip/src/main/scala/TargetConfigs`` that inherits your config defined in ``chipyard``.
@@ -59,3 +61,5 @@ We are using the same target (top) RTL, and only need to specify a new set of co
:end-before: DOC include end: firesimconfig
While this option seems to require the maintenance of additional configuration code, it has the benefit of allowing for the inclusion of more complex config fragments which also accept custom arguments (for example, ``WithDefaultMemModel`` can take an optional argument``)
+
+For more information on how to build your own hardware design on FireSim, please refer to :fsim_doc:`FireSim Docs `.
diff --git a/docs/Simulation/Software-RTL-Simulation.rst b/docs/Simulation/Software-RTL-Simulation.rst
index 8c87cc80..c84673b9 100644
--- a/docs/Simulation/Software-RTL-Simulation.rst
+++ b/docs/Simulation/Software-RTL-Simulation.rst
@@ -223,3 +223,29 @@ The ``VERILATOR_THREADS=`` option enables the compiled Verilator simulator
On a multi-socket machine, you will want to make sure all threads are on the same socket by using ``NUMACTL=1`` to enable ``numactl``.
By enabling this, you will use Chipyard's ``numa_prefix`` wrapper, which is a simple wrapper around ``numactl`` that runs your verilated simulator like this: ``$(numa_prefix) ./simulator- ``.
Note that both these flags are mutually exclusive, you can use either independently (though it makes sense to use ``NUMACTL`` just with ``VERILATOR_THREADS=8`` during a Verilator simulation).
+
+
+Speeding up your RTL Simulation by 2x!
+-----------------------------------------------
+
+There are many cases when your custom module interfaces with Tilelink (e.g., when you write a custom accelerator).
+Wrong interfaces with Tilelink can cause the SoC to hang and can be tricky to debug.
+To help deal with these situations, you can add hardware modules called Tilelink monitors into
+your SoC that will fire assertions when wrong Tilelink messages are sent.
+However, these modules can significantly slow down the speed of your RTL simulation.
+
+These modules are added to the SoC as a default and users have to manually
+remove these modules by adding the below line into your config.
+
+.. code-block:: scala
+
+ new freechips.rocketchip.subsystem.WithoutTLMonitors ++
+
+
+For instance:
+
+.. code-block:: scala
+
+ class FastRTLSimRocketConfig extends Config(
+ new freechips.rocketchip.subsystem.WithoutTLMonitors ++
+ new chipyard.RocketConfig)
diff --git a/docs/TileLink-Diplomacy-Reference/NodeTypes.rst b/docs/TileLink-Diplomacy-Reference/NodeTypes.rst
index c31aafba..7c03e5e7 100644
--- a/docs/TileLink-Diplomacy-Reference/NodeTypes.rst
+++ b/docs/TileLink-Diplomacy-Reference/NodeTypes.rst
@@ -134,7 +134,7 @@ to handle TileLink requests, it is usually much easier to use a register node.
This type of node provides a ``regmap`` method that allows you to specify
control/status registers and automatically generates the logic to handle the
TileLink protocol. More information about how to use register nodes can be
-found in :ref:`TileLink-Diplomacy-Reference/Register-Router:Register Router`.
+found in :ref:`TileLink-Diplomacy-Reference/Register-Node:Register Node`.
Identity Node
-------------
diff --git a/docs/TileLink-Diplomacy-Reference/Register-Router.rst b/docs/TileLink-Diplomacy-Reference/Register-Node.rst
similarity index 91%
rename from docs/TileLink-Diplomacy-Reference/Register-Router.rst
rename to docs/TileLink-Diplomacy-Reference/Register-Node.rst
index 0a677a0d..2bccce62 100644
--- a/docs/TileLink-Diplomacy-Reference/Register-Router.rst
+++ b/docs/TileLink-Diplomacy-Reference/Register-Node.rst
@@ -1,4 +1,4 @@
-Register Router
+Register Node
===============
Memory-mapped devices generally follow a common pattern. They expose a set
@@ -10,10 +10,7 @@ While designers can manually instantiate a manager node and write the logic
for exposing registers themselves, it's much easier to use RocketChip's
``regmap`` interface, which can generate most of the glue logic.
-For TileLink devices, you can use the ``regmap`` interface by extending
-the ``TLRegisterRouter`` class, as shown in :ref:`mmio-accelerators`,
-or you can create a regular LazyModule and instantiate a ``TLRegisterNode``.
-This section will focus on the second method.
+For TileLink devices, you can use the ``regmap`` interface of the ``TLRegisterNode``.
Basic Usage
-----------
@@ -32,7 +29,7 @@ The default value is 4 bytes. The ``concurrency`` argument is the size of the
internal queue for TileLink requests. By default, this value is 0, which means
there will be no queue. This value must be greater than 0 if you wish to
decoupled requests and responses for register accesses. This is discussed
-in :ref:`TileLink-Diplomacy-Reference/Register-Router:Using Functions`.
+in :ref:`TileLink-Diplomacy-Reference/Register-Node:Using Functions`.
The main way to interact with the node is to call the ``regmap`` method, which
takes a sequence of pairs. The first element of the pair is an offset from the
@@ -123,12 +120,12 @@ output for write.
In order to use this variant, you need to set ``concurrency`` to a value
larger than 0.
-Register Routers for Other Protocols
+Register Nodes for Other Protocols
------------------------------------
-One useful feature of the register router interface is that you can easily
+One useful feature of the register node interface is that you can easily
change the protocol being used. For instance, in the first example in
-:ref:`TileLink-Diplomacy-Reference/Register-Router:Basic Usage`, you could simply change the ``TLRegisterNode`` to
+:ref:`TileLink-Diplomacy-Reference/Register-Node:Basic Usage`, you could simply change the ``TLRegisterNode`` to
and ``AXI4RegisterNode``.
.. literalinclude:: ../../generators/chipyard/src/main/scala/example/RegisterNodeExample.scala
diff --git a/docs/TileLink-Diplomacy-Reference/index.rst b/docs/TileLink-Diplomacy-Reference/index.rst
index 9c70287d..92895e08 100644
--- a/docs/TileLink-Diplomacy-Reference/index.rst
+++ b/docs/TileLink-Diplomacy-Reference/index.rst
@@ -28,5 +28,5 @@ A detailed specification of the TileLink 1.7 protocol can be found on the
NodeTypes
Diplomacy-Connectors
EdgeFunctions
- Register-Router
+ Register-Node
Widgets
diff --git a/docs/VLSI/Basic-Flow.rst b/docs/VLSI/Basic-Flow.rst
index cc200c44..10a7af2f 100644
--- a/docs/VLSI/Basic-Flow.rst
+++ b/docs/VLSI/Basic-Flow.rst
@@ -57,7 +57,7 @@ As in the rest of the Chipyard flows, we specify our SoC configuration using the
However, unlike the rest of the Chipyard flows, in the case of physical design we might be interested in working in a hierarchical fashion and therefore we would like to work on a single module.
Therefore, we can also specify a ``VLSI_TOP`` make variable with the same of a specific Verilog module (which should also match the name of the equivalent Chisel module) which we would like to work on.
The makefile will automatically call tools such as Barstools and the MacroCompiler (:ref:`Tools/Barstools:barstools`) in order to make the generated Verilog more VLSI friendly.
-By default, the MacroCompiler will attempt to map memories into the SRAM options within the Hammer technology plugin. However, if you are working with a new process technology and prefer to work with flip-flop arrays, you can configure the MacroCompiler using the ``TOP_MACROCOMPILER_MODE`` make variable. For example, if your technology plugin does not have an SRAM compiler ready, you can use the ``MACROCOMPILER_MODE='--mode synflops'`` option (Note that synthesizing a design with only flipflops is very slow and will often may not meet constraints).
+By default, the MacroCompiler will attempt to map memories into the SRAM options within the Hammer technology plugin. However, if you are working with a new process technology and prefer to work with flip-flop arrays, you can configure the MacroCompiler using the ``TOP_MACROCOMPILER_MODE`` make variable. For example, if your technology plugin does not have an SRAM compiler ready, you can use the ``TOP_MACROCOMPILER_MODE='--mode synflops'`` option (Note that synthesizing a design with only flipflops is very slow and will often may not meet constraints).
We call the ``make buildfile`` command while also specifying the name of the process technology we are working with (same ``tech_name`` for the configuration files and plugin name) and the configuration files we created. Note, in the ASAP7 tutorial ((:ref:`tutorial`)) these configuration files are merged into a single file called ``example-asap7.yml``.
diff --git a/fpga/Makefile b/fpga/Makefile
index cfe760f4..ebf55a97 100644
--- a/fpga/Makefile
+++ b/fpga/Makefile
@@ -44,20 +44,6 @@ ifeq ($(SUB_PROJECT),vcu118)
FPGA_BRAND ?= xilinx
endif
-ifeq ($(SUB_PROJECT),bringup)
- SBT_PROJECT ?= fpga_platforms
- MODEL ?= BringupVCU118FPGATestHarness
- VLOG_MODEL ?= BringupVCU118FPGATestHarness
- MODEL_PACKAGE ?= chipyard.fpga.vcu118.bringup
- CONFIG ?= RocketBringupConfig
- CONFIG_PACKAGE ?= chipyard.fpga.vcu118.bringup
- GENERATOR_PACKAGE ?= chipyard
- TB ?= none # unused
- TOP ?= ChipTop
- BOARD ?= vcu118
- FPGA_BRAND ?= xilinx
-endif
-
ifeq ($(SUB_PROJECT),nexysvideo)
SBT_PROJECT ?= fpga_platforms
MODEL ?= NexysVideoHarness
@@ -137,7 +123,7 @@ include $(base_dir)/common.mk
# copy from other directory
#########################################################################################
all_vsrcs := \
- $(base_dir)/generators/sifive-blocks/vsrc/SRLatch.v
+ $(base_dir)/generators/rocket-chip-blocks/vsrc/SRLatch.v
#########################################################################################
# vivado rules
diff --git a/fpga/fpga-shells b/fpga/fpga-shells
index a6cfb6f3..93004b7b 160000
--- a/fpga/fpga-shells
+++ b/fpga/fpga-shells
@@ -1 +1 @@
-Subproject commit a6cfb6f36378de7b0fd760d79f5518af7d2bba66
+Subproject commit 93004b7bd02eb7cc32a25cc1bc40595b93add118
diff --git a/fpga/src/main/scala/arty/Configs.scala b/fpga/src/main/scala/arty/Configs.scala
index e86140eb..7f10b174 100644
--- a/fpga/src/main/scala/arty/Configs.scala
+++ b/fpga/src/main/scala/arty/Configs.scala
@@ -30,6 +30,7 @@ class WithArtyTweaks extends Config(
new chipyard.config.WithFrontBusFrequency(32) ++
new chipyard.config.WithControlBusFrequency(32) ++
new chipyard.config.WithPeripheryBusFrequency(32) ++
+ new chipyard.config.WithControlBusFrequency(32) ++
new testchipip.serdes.WithNoSerialTL ++
new testchipip.soc.WithNoScratchpads
)
diff --git a/fpga/src/main/scala/arty/HarnessBinders.scala b/fpga/src/main/scala/arty/HarnessBinders.scala
index d2ce5489..39ddd204 100644
--- a/fpga/src/main/scala/arty/HarnessBinders.scala
+++ b/fpga/src/main/scala/arty/HarnessBinders.scala
@@ -15,19 +15,19 @@ import chipyard.harness.{HarnessBinder}
import chipyard.iobinders._
class WithArtyDebugResetHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: DebugResetPort) => {
+ case (th: Arty35THarness, port: DebugResetPort, chipId: Int) => {
th.dut_ndreset := port.io // Debug module reset
}
})
class WithArtyJTAGResetHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: JTAGResetPort) => {
+ case (th: Arty35THarness, port: JTAGResetPort, chipId: Int) => {
port.io := PowerOnResetFPGAOnly(th.clock_32MHz) // JTAG module reset
}
})
class WithArtyJTAGHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: JTAGPort) => {
+ case (th: Arty35THarness, port: JTAGPort, chipId: Int) => {
val jtag_wire = Wire(new JTAGIO)
jtag_wire.TDO.data := port.io.TDO
jtag_wire.TDO.driven := true.B
@@ -62,7 +62,7 @@ class WithArtyJTAGHarnessBinder extends HarnessBinder({
})
class WithArtyUARTHarnessBinder extends HarnessBinder({
- case (th: Arty35THarness, port: UARTPort) => {
+ case (th: Arty35THarness, port: UARTPort, chipId: Int) => {
withClockAndReset(th.clock_32MHz, th.ck_rst) {
IOBUF(th.uart_rxd_out, port.io.txd)
port.io.rxd := IOBUF(th.uart_txd_in)
diff --git a/fpga/src/main/scala/arty100t/Configs.scala b/fpga/src/main/scala/arty100t/Configs.scala
index d5c83af3..f64dbdf3 100644
--- a/fpga/src/main/scala/arty100t/Configs.scala
+++ b/fpga/src/main/scala/arty100t/Configs.scala
@@ -18,7 +18,7 @@ import chipyard.{BuildSystem}
// don't use FPGAShell's DesignKey
class WithNoDesignKey extends Config((site, here, up) => {
- case DesignKey => (p: Parameters) => new SimpleLazyModule()(p)
+ case DesignKey => (p: Parameters) => new SimpleLazyRawModule()(p)
})
// By default, this uses the on-board USB-UART for the TSI-over-UART link
@@ -58,5 +58,5 @@ class NoCoresArty100TConfig extends Config(
class BringupArty100TConfig extends Config(
new WithArty100TSerialTLToGPIO ++
new WithArty100TTweaks(freqMHz = 50) ++
- new testchipip.serdes.WithSerialTLClockDirection(provideClockFreqMHz = Some(50)) ++
+ new testchipip.serdes.WithSerialTLPHYParams(testchipip.serdes.InternalSyncSerialPhyParams(freqMHz=50)) ++
new chipyard.ChipBringupHostConfig)
diff --git a/fpga/src/main/scala/arty100t/Harness.scala b/fpga/src/main/scala/arty100t/Harness.scala
index 577bd1b2..30601124 100644
--- a/fpga/src/main/scala/arty100t/Harness.scala
+++ b/fpga/src/main/scala/arty100t/Harness.scala
@@ -5,12 +5,12 @@ import chisel3.util._
import freechips.rocketchip.diplomacy._
import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
-import freechips.rocketchip.prci.{ClockBundle, ClockBundleParameters}
+import freechips.rocketchip.prci._
import freechips.rocketchip.subsystem.{SystemBusKey}
import sifive.fpgashells.shell.xilinx._
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks._
import sifive.fpgashells.ip.xilinx.{IBUF, PowerOnResetFPGAOnly}
import sifive.blocks.devices.uart._
@@ -76,6 +76,9 @@ class Arty100THarness(override implicit val p: Parameters) extends Arty100TShell
def referenceReset = dutClock.in.head._1.reset
def success = { require(false, "Unused"); false.B }
+ childClock := harnessBinderClock
+ childReset := harnessBinderReset
+
ddrOverlay.mig.module.clock := harnessBinderClock
ddrOverlay.mig.module.reset := harnessBinderReset
ddrBlockDuringReset.module.clock := harnessBinderClock
diff --git a/fpga/src/main/scala/arty100t/HarnessBinders.scala b/fpga/src/main/scala/arty100t/HarnessBinders.scala
index 072b900e..c2b89a24 100644
--- a/fpga/src/main/scala/arty100t/HarnessBinders.scala
+++ b/fpga/src/main/scala/arty100t/HarnessBinders.scala
@@ -1,7 +1,6 @@
package chipyard.fpga.arty100t
import chisel3._
-import chisel3.experimental.{DataMirror, Direction}
import freechips.rocketchip.jtag.{JTAGIO}
import freechips.rocketchip.subsystem.{PeripheryBusKey}
@@ -19,9 +18,10 @@ import sifive.fpgashells.clocks._
import chipyard._
import chipyard.harness._
import chipyard.iobinders._
+import testchipip.serdes._
class WithArty100TUARTTSI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTTSIPort) => {
+ case (th: HasHarnessInstantiators, port: UARTTSIPort, chipId: Int) => {
val ath = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(new UARTPortIO(port.io.uartParams)).suggestName("uart_tsi")
harnessIO <> port.io.uart
@@ -44,7 +44,7 @@ class WithArty100TUARTTSI extends HarnessBinder({
class WithArty100TDDRTL extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: TLMemPort) => {
+ case (th: HasHarnessInstantiators, port: TLMemPort, chipId: Int) => {
val artyTh = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val bundles = artyTh.ddrClient.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
@@ -55,47 +55,58 @@ class WithArty100TDDRTL extends HarnessBinder({
// Uses PMOD JA/JB
class WithArty100TSerialTLToGPIO extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SerialTLPort) => {
+ case (th: HasHarnessInstantiators, port: SerialTLPort, chipId: Int) => {
val artyTh = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(chiselTypeOf(port.io)).suggestName("serial_tl")
harnessIO <> port.io
- val clkIO = IOPin(harnessIO.clock)
- val packagePinsWithPackageIOs = Seq(
- ("G13", clkIO),
- ("B11", IOPin(harnessIO.bits.out.valid)),
- ("A11", IOPin(harnessIO.bits.out.ready)),
- ("D12", IOPin(harnessIO.bits.in.valid)),
- ("D13", IOPin(harnessIO.bits.in.ready)),
- ("B18", IOPin(harnessIO.bits.out.bits, 0)),
- ("A18", IOPin(harnessIO.bits.out.bits, 1)),
- ("K16", IOPin(harnessIO.bits.out.bits, 2)),
- ("E15", IOPin(harnessIO.bits.out.bits, 3)),
- ("E16", IOPin(harnessIO.bits.in.bits, 0)),
- ("D15", IOPin(harnessIO.bits.in.bits, 1)),
- ("C15", IOPin(harnessIO.bits.in.bits, 2)),
- ("J17", IOPin(harnessIO.bits.in.bits, 3))
- )
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- artyTh.xdc.addPackagePin(io, pin)
- artyTh.xdc.addIOStandard(io, "LVCMOS33")
- }}
- // Don't add IOB to the clock, if its an input
- if (DataMirror.directionOf(port.io.clock) == Direction.Input) {
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- artyTh.xdc.addIOB(io)
- }}
+ harnessIO match {
+ case io: DecoupledPhitIO => {
+ val clkIO = io match {
+ case io: InternalSyncPhitIO => IOPin(io.clock_out)
+ case io: ExternalSyncPhitIO => IOPin(io.clock_in)
+ }
+ val packagePinsWithPackageIOs = Seq(
+ ("G13", clkIO),
+ ("B11", IOPin(io.out.valid)),
+ ("A11", IOPin(io.out.ready)),
+ ("D12", IOPin(io.in.valid)),
+ ("D13", IOPin(io.in.ready)),
+ ("B18", IOPin(io.out.bits.phit, 0)),
+ ("A18", IOPin(io.out.bits.phit, 1)),
+ ("K16", IOPin(io.out.bits.phit, 2)),
+ ("E15", IOPin(io.out.bits.phit, 3)),
+ ("E16", IOPin(io.in.bits.phit, 0)),
+ ("D15", IOPin(io.in.bits.phit, 1)),
+ ("C15", IOPin(io.in.bits.phit, 2)),
+ ("J17", IOPin(io.in.bits.phit, 3))
+ )
+ packagePinsWithPackageIOs foreach { case (pin, io) => {
+ artyTh.xdc.addPackagePin(io, pin)
+ artyTh.xdc.addIOStandard(io, "LVCMOS33")
+ }}
+
+ // Don't add IOB to the clock, if its an input
+ io match {
+ case io: InternalSyncPhitIO => packagePinsWithPackageIOs foreach { case (pin, io) => {
+ artyTh.xdc.addIOB(io)
+ }}
+ case io: ExternalSyncPhitIO => packagePinsWithPackageIOs.drop(1).foreach { case (pin, io) => {
+ artyTh.xdc.addIOB(io)
+ }}
+ }
+
+ artyTh.sdc.addClock("ser_tl_clock", clkIO, 100)
+ artyTh.sdc.addGroup(pins = Seq(clkIO))
+ artyTh.xdc.clockDedicatedRouteFalse(clkIO)
+ }
}
-
- artyTh.sdc.addClock("ser_tl_clock", clkIO, 100)
- artyTh.sdc.addGroup(pins = Seq(clkIO))
- artyTh.xdc.clockDedicatedRouteFalse(clkIO)
}
})
// Maps the UART device to the on-board USB-UART
class WithArty100TUART(rxdPin: String = "A9", txdPin: String = "D10") extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTPort) => {
+ case (th: HasHarnessInstantiators, port: UARTPort, chipId: Int) => {
val ath = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(chiselTypeOf(port.io)).suggestName("uart")
harnessIO <> port.io
@@ -114,7 +125,7 @@ class WithArty100TUART(rxdPin: String = "A9", txdPin: String = "D10") extends Ha
class WithArty100TPMODUART extends WithArty100TUART("G2", "F3")
class WithArty100TJTAG extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: JTAGPort) => {
+ case (th: HasHarnessInstantiators, port: JTAGPort, chipId: Int) => {
val ath = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[Arty100THarness]
val harnessIO = IO(chiselTypeOf(port.io)).suggestName("jtag")
harnessIO <> port.io
diff --git a/fpga/src/main/scala/nexysvideo/Configs.scala b/fpga/src/main/scala/nexysvideo/Configs.scala
index fe53b96d..ce8fbae8 100644
--- a/fpga/src/main/scala/nexysvideo/Configs.scala
+++ b/fpga/src/main/scala/nexysvideo/Configs.scala
@@ -18,7 +18,7 @@ import chipyard.{BuildSystem}
// don't use FPGAShell's DesignKey
class WithNoDesignKey extends Config((site, here, up) => {
- case DesignKey => (p: Parameters) => new SimpleLazyModule()(p)
+ case DesignKey => (p: Parameters) => new SimpleLazyRawModule()(p)
})
// DOC include start: WithNexysVideoTweaks and Rocket
@@ -60,6 +60,7 @@ class WithTinyNexysVideoTweaks extends Config(
new chipyard.config.WithFrontBusFrequency(50.0) ++
new chipyard.config.WithSystemBusFrequency(50.0) ++
new chipyard.config.WithPeripheryBusFrequency(50.0) ++
+ new chipyard.config.WithControlBusFrequency(50.0) ++
new chipyard.harness.WithAllClocksFromHarnessClockInstantiator ++
new chipyard.clocking.WithPassthroughClockGenerator ++
new chipyard.config.WithNoDebug ++ // no jtag
diff --git a/fpga/src/main/scala/nexysvideo/Harness.scala b/fpga/src/main/scala/nexysvideo/Harness.scala
index a68cf24e..c9583f0e 100644
--- a/fpga/src/main/scala/nexysvideo/Harness.scala
+++ b/fpga/src/main/scala/nexysvideo/Harness.scala
@@ -7,10 +7,10 @@ import freechips.rocketchip.diplomacy._
import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
import freechips.rocketchip.subsystem.{SystemBusKey}
-
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell.xilinx._
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks._
import sifive.blocks.devices.uart._
diff --git a/fpga/src/main/scala/nexysvideo/HarnessBinders.scala b/fpga/src/main/scala/nexysvideo/HarnessBinders.scala
index e6865eff..29deeadb 100644
--- a/fpga/src/main/scala/nexysvideo/HarnessBinders.scala
+++ b/fpga/src/main/scala/nexysvideo/HarnessBinders.scala
@@ -15,7 +15,7 @@ import chipyard.harness._
import chipyard.iobinders._
class WithNexysVideoUARTTSI(uartBaudRate: BigInt = 115200) extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTTSIPort) => {
+ case (th: HasHarnessInstantiators, port: UARTTSIPort, chipId: Int) => {
val nexysvideoth = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[NexysVideoHarness]
nexysvideoth.io_uart_bb.bundle <> port.io.uart
nexysvideoth.other_leds(1) := port.io.dropped
@@ -27,7 +27,7 @@ class WithNexysVideoUARTTSI(uartBaudRate: BigInt = 115200) extends HarnessBinder
})
class WithNexysVideoDDRTL extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: TLMemPort) => {
+ case (th: HasHarnessInstantiators, port: TLMemPort, chipId: Int) => {
val nexysTh = th.asInstanceOf[LazyRawModuleImp].wrapper.asInstanceOf[NexysVideoHarness]
val bundles = nexysTh.ddrClient.get.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
diff --git a/fpga/src/main/scala/vc707/HarnessBinders.scala b/fpga/src/main/scala/vc707/HarnessBinders.scala
index 25224d57..d08fba76 100644
--- a/fpga/src/main/scala/vc707/HarnessBinders.scala
+++ b/fpga/src/main/scala/vc707/HarnessBinders.scala
@@ -16,21 +16,21 @@ import chipyard.iobinders._
/*** UART ***/
class WithVC707UARTHarnessBinder extends HarnessBinder({
- case (th: VC707FPGATestHarnessImp, port: UARTPort) => {
+ case (th: VC707FPGATestHarnessImp, port: UARTPort, chipId: Int) => {
th.vc707Outer.io_uart_bb.bundle <> port.io
}
})
/*** SPI ***/
class WithVC707SPISDCardHarnessBinder extends HarnessBinder({
- case (th: VC707FPGATestHarnessImp, port: SPIPort) => {
+ case (th: VC707FPGATestHarnessImp, port: SPIPort, chipId: Int) => {
th.vc707Outer.io_spi_bb.bundle <> port.io
}
})
/*** Experimental DDR ***/
class WithVC707DDRMemHarnessBinder extends HarnessBinder({
- case (th: VC707FPGATestHarnessImp, port: TLMemPort) => {
+ case (th: VC707FPGATestHarnessImp, port: TLMemPort, chipId: Int) => {
val bundles = th.vc707Outer.ddrClient.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
bundles.zip(ddrClientBundle).foreach { case (bundle, io) => bundle <> io }
diff --git a/fpga/src/main/scala/vc707/TestHarness.scala b/fpga/src/main/scala/vc707/TestHarness.scala
index 1ed7ab33..317dedf6 100644
--- a/fpga/src/main/scala/vc707/TestHarness.scala
+++ b/fpga/src/main/scala/vc707/TestHarness.scala
@@ -7,11 +7,12 @@ import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
import freechips.rocketchip.subsystem.{SystemBusKey}
import freechips.rocketchip.diplomacy.{IdRange, TransferSizes}
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell.xilinx.{VC707Shell, UARTVC707ShellPlacer, PCIeVC707ShellPlacer, ChipLinkVC707PlacedOverlay}
import sifive.fpgashells.ip.xilinx.{IBUF, PowerOnResetFPGAOnly}
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks.{PLLFactoryKey}
import sifive.fpgashells.devices.xilinx.xilinxvc707pciex1.{XilinxVC707PCIeX1IO}
import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTPortIO}
@@ -87,6 +88,7 @@ class VC707FPGATestHarness(override implicit val p: Parameters) extends VC707She
}
class VC707FPGATestHarnessImp(_outer: VC707FPGATestHarness) extends LazyRawModuleImp(_outer) with HasHarnessInstantiators {
+ override def provideImplicitClockToLazyChildren = true
val vc707Outer = _outer
val reset = IO(Input(Bool())).suggestName("reset")
diff --git a/fpga/src/main/scala/vcu118/Configs.scala b/fpga/src/main/scala/vcu118/Configs.scala
index 3f99fdb9..49355284 100644
--- a/fpga/src/main/scala/vcu118/Configs.scala
+++ b/fpga/src/main/scala/vcu118/Configs.scala
@@ -48,16 +48,17 @@ class WithVCU118Tweaks extends Config(
new chipyard.config.WithSystemBusFrequency(100) ++
new chipyard.config.WithControlBusFrequency(100) ++
new chipyard.config.WithPeripheryBusFrequency(100) ++
+ new chipyard.config.WithControlBusFrequency(100) ++
new WithFPGAFrequency(100) ++ // default 100MHz freq
// harness binders
new WithUART ++
new WithSPISDCard ++
new WithDDRMem ++
+ new WithJTAG ++
// other configuration
new WithDefaultPeripherals ++
new chipyard.config.WithTLBackingMemory ++ // use TL backing memory
new WithSystemModifications ++ // setup busses, use sdboot bootrom, setup ext. mem. size
- new chipyard.config.WithNoDebug ++ // remove debug module
new freechips.rocketchip.subsystem.WithoutTLMonitors ++
new freechips.rocketchip.subsystem.WithNMemoryChannels(1)
)
diff --git a/fpga/src/main/scala/vcu118/CustomOverlays.scala b/fpga/src/main/scala/vcu118/CustomOverlays.scala
index 02669b79..473a015d 100644
--- a/fpga/src/main/scala/vcu118/CustomOverlays.scala
+++ b/fpga/src/main/scala/vcu118/CustomOverlays.scala
@@ -5,7 +5,7 @@ import chisel3._
import freechips.rocketchip.diplomacy._
import org.chipsalliance.cde.config.{Parameters, Field}
import freechips.rocketchip.tilelink.{TLInwardNode, TLAsyncCrossingSink}
-
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell._
import sifive.fpgashells.ip.xilinx._
import sifive.fpgashells.shell.xilinx._
@@ -79,7 +79,7 @@ class DDR2VCU118PlacedOverlay(val shell: VCU118FPGATestHarness, name: String, va
ui.reset := /*!port.mmcm_locked ||*/ port.c0_ddr4_ui_clk_sync_rst
port.c0_sys_clk_i := sys.clock.asUInt
port.sys_rst := sys.reset // pllReset
- port.c0_ddr4_aresetn := !ar.reset
+ port.c0_ddr4_aresetn := !(ar.reset.asBool)
// This was just copied from the SiFive example, but it's hard to follow.
// The pins are emitted in the following order:
diff --git a/fpga/src/main/scala/vcu118/HarnessBinders.scala b/fpga/src/main/scala/vcu118/HarnessBinders.scala
index 769e5b42..a4b52c63 100644
--- a/fpga/src/main/scala/vcu118/HarnessBinders.scala
+++ b/fpga/src/main/scala/vcu118/HarnessBinders.scala
@@ -15,24 +15,38 @@ import chipyard.iobinders._
/*** UART ***/
class WithUART extends HarnessBinder({
- case (th: VCU118FPGATestHarnessImp, port: UARTPort) => {
+ case (th: VCU118FPGATestHarnessImp, port: UARTPort, chipId: Int) => {
th.vcu118Outer.io_uart_bb.bundle <> port.io
}
})
/*** SPI ***/
class WithSPISDCard extends HarnessBinder({
- case (th: VCU118FPGATestHarnessImp, port: SPIPort) => {
+ case (th: VCU118FPGATestHarnessImp, port: SPIPort, chipId: Int) => {
th.vcu118Outer.io_spi_bb.bundle <> port.io
}
})
/*** Experimental DDR ***/
class WithDDRMem extends HarnessBinder({
- case (th: VCU118FPGATestHarnessImp, port: TLMemPort) => {
+ case (th: VCU118FPGATestHarnessImp, port: TLMemPort, chipId: Int) => {
val bundles = th.vcu118Outer.ddrClient.out.map(_._1)
val ddrClientBundle = Wire(new HeterogeneousBag(bundles.map(_.cloneType)))
bundles.zip(ddrClientBundle).foreach { case (bundle, io) => bundle <> io }
ddrClientBundle <> port.io
}
})
+
+class WithJTAG extends HarnessBinder({
+ case (th: VCU118FPGATestHarnessImp, port: JTAGPort, chipId: Int) => {
+ val jtag_io = th.vcu118Outer.jtagPlacedOverlay.overlayOutput.jtag.getWrappedValue
+ port.io.TCK := jtag_io.TCK
+ port.io.TMS := jtag_io.TMS
+ port.io.TDI := jtag_io.TDI
+ jtag_io.TDO.data := port.io.TDO
+ jtag_io.TDO.driven := true.B
+ // ignore srst_n
+ jtag_io.srst_n := DontCare
+
+ }
+})
diff --git a/fpga/src/main/scala/vcu118/TestHarness.scala b/fpga/src/main/scala/vcu118/TestHarness.scala
index 733c5167..b707d144 100644
--- a/fpga/src/main/scala/vcu118/TestHarness.scala
+++ b/fpga/src/main/scala/vcu118/TestHarness.scala
@@ -8,11 +8,11 @@ import org.chipsalliance.cde.config.{Parameters}
import freechips.rocketchip.tilelink._
import freechips.rocketchip.diplomacy.{IdRange, TransferSizes}
import freechips.rocketchip.subsystem.{SystemBusKey}
-
+import freechips.rocketchip.prci._
import sifive.fpgashells.shell.xilinx._
import sifive.fpgashells.ip.xilinx.{IBUF, PowerOnResetFPGAOnly}
import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks.{ClockGroup, ClockSinkNode, PLLFactoryKey, ResetWrangler}
+import sifive.fpgashells.clocks._
import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTPortIO}
import sifive.blocks.devices.spi.{PeripherySPIKey, SPIPortIO}
@@ -85,11 +85,15 @@ class VCU118FPGATestHarness(override implicit val p: Parameters) extends VCU118S
)))))
ddrNode := TLWidthWidget(dp(ExtTLMem).get.master.beatBytes) := ddrClient
+ /*** JTAG ***/
+ val jtagPlacedOverlay = dp(JTAGDebugOverlayKey).head.place(JTAGDebugDesignInput())
+
// module implementation
override lazy val module = new VCU118FPGATestHarnessImp(this)
}
class VCU118FPGATestHarnessImp(_outer: VCU118FPGATestHarness) extends LazyRawModuleImp(_outer) with HasHarnessInstantiators {
+ override def provideImplicitClockToLazyChildren = true
val vcu118Outer = _outer
val reset = IO(Input(Bool())).suggestName("reset")
diff --git a/fpga/src/main/scala/vcu118/bringup/BringupGPIOs.scala b/fpga/src/main/scala/vcu118/bringup/BringupGPIOs.scala
deleted file mode 100644
index 40c33bfa..00000000
--- a/fpga/src/main/scala/vcu118/bringup/BringupGPIOs.scala
+++ /dev/null
@@ -1,28 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import scala.collection.mutable.{LinkedHashMap}
-
-object BringupGPIOs {
- // map of the pin name (akin to die pin name) to (fpga package pin, IOSTANDARD, add pullup resistor?)
- val pinMapping = LinkedHashMap(
- // these connect to LEDs and switches on the VCU118 (and use 1.2V)
- "led0" -> ("AT32", "LVCMOS12", false), // 0
- "led1" -> ("AV34", "LVCMOS12", false), // 1
- "led2" -> ("AY30", "LVCMOS12", false), // 2
- "led3" -> ("BB32", "LVCMOS12", false), // 3
- "led4" -> ("BF32", "LVCMOS12", false), // 4
- "led5" -> ("AU37", "LVCMOS12", false), // 5
- "led6" -> ("AV36", "LVCMOS12", false), // 6
- "led7" -> ("BA37", "LVCMOS12", false), // 7
- "sw0" -> ("B17", "LVCMOS12", false), // 8
- "sw1" -> ("G16", "LVCMOS12", false), // 9
- "sw2" -> ("J16", "LVCMOS12", false), // 10
- "sw3" -> ("D21", "LVCMOS12", false) // 11
- )
-
- // return list of names (ordered)
- def names: Seq[String] = pinMapping.keys.toSeq
-
- // return number of GPIOs
- def width: Int = pinMapping.size
-}
diff --git a/fpga/src/main/scala/vcu118/bringup/Configs.scala b/fpga/src/main/scala/vcu118/bringup/Configs.scala
deleted file mode 100644
index 0760fa72..00000000
--- a/fpga/src/main/scala/vcu118/bringup/Configs.scala
+++ /dev/null
@@ -1,97 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import math.min
-
-import org.chipsalliance.cde.config.{Config, Parameters}
-import freechips.rocketchip.diplomacy.{DTSModel, DTSTimebase, RegionType, AddressSet, ResourceBinding, Resource, ResourceAddress}
-import freechips.rocketchip.tilelink._
-import freechips.rocketchip.diplomacy._
-import freechips.rocketchip.subsystem.{MasterPortParams}
-
-import sifive.blocks.devices.gpio.{PeripheryGPIOKey, GPIOParams}
-import sifive.blocks.devices.i2c.{PeripheryI2CKey, I2CParams}
-import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTParams}
-
-import sifive.fpgashells.shell.{DesignKey}
-import sifive.fpgashells.shell.xilinx.{VCU118ShellPMOD, VCU118DDRSize}
-
-import testchipip.tsi.{PeripheryTSIHostKey, TSIHostParams, TSIHostSerdesParams}
-
-import chipyard.{BuildSystem}
-
-import chipyard.fpga.vcu118.{WithVCU118Tweaks, WithFPGAFrequency, VCU118DDR2Size}
-import chipyard.iobinders.{WithGPIOPunchthrough}
-
-class WithBringupPeripherals extends Config((site, here, up) => {
- case PeripheryUARTKey => up(PeripheryUARTKey, site) ++ List(UARTParams(address = BigInt(0x64003000L)))
- case PeripheryI2CKey => List(I2CParams(address = BigInt(0x64005000L)))
- case PeripheryGPIOKey => {
- if (BringupGPIOs.width > 0) {
- require(BringupGPIOs.width <= 64) // currently only support 64 GPIOs (change addrs to get more)
- val gpioAddrs = Seq(BigInt(0x64002000), BigInt(0x64007000))
- val maxGPIOSupport = 32 // max gpios supported by SiFive driver (split by 32)
- List.tabulate(((BringupGPIOs.width - 1)/maxGPIOSupport) + 1)(n => {
- GPIOParams(address = gpioAddrs(n), width = min(BringupGPIOs.width - maxGPIOSupport*n, maxGPIOSupport))
- })
- }
- else {
- List.empty[GPIOParams]
- }
- }
- case TSIClockMaxFrequencyKey => 100
- case PeripheryTSIHostKey => List(
- TSIHostParams(
- offchipSerialIfWidth = 4,
- mmioBaseAddress = BigInt(0x64006000),
- mmioSourceId = 1 << 13, // manager source
- serdesParams = TSIHostSerdesParams(
- clientPortParams = TLMasterPortParameters.v1(
- clients = Seq(TLMasterParameters.v1(
- name = "tl-tsi-host-serdes",
- sourceId = IdRange(0, (1 << 13))))),
- managerPortParams = TLSlavePortParameters.v1(
- managers = Seq(TLSlaveParameters.v1(
- address = Seq(AddressSet(0, BigInt("FFFFFFFF", 16))), // access everything on chip
- regionType = RegionType.UNCACHED,
- executable = true,
- supportsGet = TransferSizes(1, 64),
- supportsPutFull = TransferSizes(1, 64),
- supportsPutPartial = TransferSizes(1, 64),
- supportsAcquireT = TransferSizes(1, 64),
- supportsAcquireB = TransferSizes(1, 64),
- supportsArithmetic = TransferSizes(1, 64),
- supportsLogical = TransferSizes(1, 64))),
- endSinkId = 1 << 6, // manager sink
- beatBytes = 8)),
- targetMasterPortParams = MasterPortParams(
- base = BigInt("80000000", 16),
- size = site(VCU118DDR2Size),
- beatBytes = 8, // comes from test chip
- idBits = 4) // comes from VCU118 idBits in XilinxVCU118MIG
- ))
-})
-
-class WithBringupVCU118System extends Config((site, here, up) => {
- case BuildSystem => (p: Parameters) => new BringupVCU118DigitalTop()(p) // use the VCU118-extended bringup digital top
-})
-
-class WithBringupAdditions extends Config(
- new WithBringupUART ++
- new WithBringupI2C ++
- new WithBringupGPIO ++
- new WithBringupTSIHost ++
- new WithTSITLIOPassthrough ++
- new WithGPIOPunchthrough ++
- new WithBringupPeripherals ++
- new WithBringupVCU118System)
-
-class RocketBringupConfig extends Config(
- new WithBringupAdditions ++
- new WithVCU118Tweaks ++
- new chipyard.RocketConfig)
-
-class BoomBringupConfig extends Config(
- new WithFPGAFrequency(50) ++
- new WithBringupAdditions ++
- new WithVCU118Tweaks ++
- new chipyard.MegaBoomConfig)
diff --git a/fpga/src/main/scala/vcu118/bringup/CustomOverlays.scala b/fpga/src/main/scala/vcu118/bringup/CustomOverlays.scala
deleted file mode 100644
index a52a1b5e..00000000
--- a/fpga/src/main/scala/vcu118/bringup/CustomOverlays.scala
+++ /dev/null
@@ -1,204 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-import chisel3.experimental.{attach}
-
-import freechips.rocketchip.diplomacy._
-import org.chipsalliance.cde.config.{Parameters, Field}
-import freechips.rocketchip.tilelink.{TLInwardNode, TLAsyncCrossingSink}
-
-import sifive.fpgashells.shell._
-import sifive.fpgashells.ip.xilinx._
-import sifive.fpgashells.shell.xilinx._
-import sifive.fpgashells.clocks._
-import sifive.fpgashells.devices.xilinx.xilinxvcu118mig.{XilinxVCU118MIGPads, XilinxVCU118MIGParams, XilinxVCU118MIG}
-
-import testchipip.tsi.{TSIHostWidgetIO}
-
-import chipyard.fpga.vcu118.{FMCPMap}
-
-/* Connect the I2C to certain FMC pins */
-class BringupI2CVCU118PlacedOverlay(val shell: VCU118ShellBasicOverlays, name: String, val designInput: I2CDesignInput, val shellInput: I2CShellInput)
- extends I2CXilinxPlacedOverlay(name, designInput, shellInput)
-{
- shell { InModuleBody {
- require(shellInput.index == 0) // only support 1 I2C <-> FMC connection
- val i2cLocations = List(List(FMCPMap("K11"), FMCPMap("E2")))
- val packagePinsWithPackageIOs = Seq((i2cLocations(shellInput.index)(0), IOPin(io.scl)),
- (i2cLocations(shellInput.index)(1), IOPin(io.sda)))
-
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, "LVCMOS18")
- shell.xdc.addIOB(io)
- } }
- } }
-}
-
-class BringupI2CVCU118ShellPlacer(val shell: VCU118ShellBasicOverlays, val shellInput: I2CShellInput)(implicit val valName: ValName)
- extends I2CShellPlacer[VCU118ShellBasicOverlays]
-{
- def place(designInput: I2CDesignInput) = new BringupI2CVCU118PlacedOverlay(shell, valName.name, designInput, shellInput)
-}
-
-/* Connect the UART to certain FMC pins */
-class BringupUARTVCU118PlacedOverlay(val shell: VCU118ShellBasicOverlays, name: String, val designInput: UARTDesignInput, val shellInput: UARTShellInput)
- extends UARTXilinxPlacedOverlay(name, designInput, shellInput, true)
-{
- shell { InModuleBody {
- val packagePinsWithPackageIOs = Seq((FMCPMap("E9"), IOPin(io.ctsn.get)), // unused
- (FMCPMap("E10"), IOPin(io.rtsn.get)), // unused
- (FMCPMap("C15"), IOPin(io.rxd)),
- (FMCPMap("C14"), IOPin(io.txd)))
-
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, "LVCMOS18")
- shell.xdc.addIOB(io)
- } }
-
- // add pullup on ctsn (ctsn is an input that is not used or driven)
- packagePinsWithPackageIOs take 1 foreach { case (pin, io) => {
- shell.xdc.addPullup(io)
- } }
- } }
-}
-
-class BringupUARTVCU118ShellPlacer(shell: VCU118ShellBasicOverlays, val shellInput: UARTShellInput)(implicit val valName: ValName)
- extends UARTShellPlacer[VCU118ShellBasicOverlays] {
- def place(designInput: UARTDesignInput) = new BringupUARTVCU118PlacedOverlay(shell, valName.name, designInput, shellInput)
-}
-
-/* Connect GPIOs to FPGA I/Os */
-abstract class GPIOXilinxPlacedOverlay(name: String, di: GPIODesignInput, si: GPIOShellInput)
- extends GPIOPlacedOverlay(name, di, si)
-{
- def shell: XilinxShell
-
- shell { InModuleBody {
- (io.gpio zip tlgpioSink.bundle.pins).map { case (ioPin, sinkPin) =>
- val iobuf = Module(new IOBUF)
- iobuf.suggestName(s"gpio_iobuf")
- attach(ioPin, iobuf.io.IO)
- sinkPin.i.ival := iobuf.io.O
- iobuf.io.T := !sinkPin.o.oe
- iobuf.io.I := sinkPin.o.oval
- }
- } }
-}
-
-class BringupGPIOVCU118PlacedOverlay(val shell: VCU118ShellBasicOverlays, name: String, val designInput: GPIODesignInput, val shellInput: GPIOShellInput, gpioNames: Seq[String])
- extends GPIOXilinxPlacedOverlay(name, designInput, shellInput)
-{
- shell { InModuleBody {
- require(gpioNames.length == io.gpio.length)
-
- val packagePinsWithIOStdWithPackageIOs = (gpioNames zip io.gpio).map { case (name, io) =>
- val (pin, iostd, pullupEnable) = BringupGPIOs.pinMapping(name)
- (pin, iostd, pullupEnable, IOPin(io))
- }
-
- packagePinsWithIOStdWithPackageIOs foreach { case (pin, iostd, pullupEnable, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, iostd)
- if (iostd == "LVCMOS12") { shell.xdc.addDriveStrength(io, "8") }
- if (pullupEnable) { shell.xdc.addPullup(io) }
- } }
- } }
-}
-
-class BringupGPIOVCU118ShellPlacer(shell: VCU118ShellBasicOverlays, val shellInput: GPIOShellInput, gpioNames: Seq[String])(implicit val valName: ValName)
- extends GPIOShellPlacer[VCU118ShellBasicOverlays] {
- def place(designInput: GPIODesignInput) = new BringupGPIOVCU118PlacedOverlay(shell, valName.name, designInput, shellInput, gpioNames)
-}
-
-case class TSIHostShellInput()
-case class TSIHostDesignInput(
- serialIfWidth: Int,
- node: BundleBridgeSource[TSIHostWidgetIO]
- )(
- implicit val p: Parameters)
-case class TSIHostOverlayOutput()
-trait TSIHostShellPlacer[Shell] extends ShellPlacer[TSIHostDesignInput, TSIHostShellInput, TSIHostOverlayOutput]
-
-case object TSIHostOverlayKey extends Field[Seq[DesignPlacer[TSIHostDesignInput, TSIHostShellInput, TSIHostOverlayOutput]]](Nil)
-
-abstract class TSIHostPlacedOverlay[IO <: Data](val name: String, val di: TSIHostDesignInput, val si: TSIHostShellInput)
- extends IOPlacedOverlay[IO, TSIHostDesignInput, TSIHostShellInput, TSIHostOverlayOutput]
-{
- implicit val p = di.p
-}
-
-case object TSIHostVCU118DDRSize extends Field[BigInt](0x40000000L * 2) // 2GB
-class TSIHostVCU118PlacedOverlay(val shell: BringupVCU118FPGATestHarness, name: String, val designInput: TSIHostDesignInput, val shellInput: TSIHostShellInput)
- extends TSIHostPlacedOverlay[TSIHostWidgetIO](name, designInput, shellInput)
-{
- val tlTsiSerialSink = di.node.makeSink()
- val tsiIoNode = BundleBridgeSource(() => new TSIHostWidgetIO(di.serialIfWidth))
- val topTSIIONode = shell { tsiIoNode.makeSink() }
-
- def overlayOutput = TSIHostOverlayOutput()
- def ioFactory = new TSIHostWidgetIO(di.serialIfWidth)
-
- InModuleBody {
- // connect TSI serial
- val tsiSourcePort = tsiIoNode.bundle
- val tsiSinkPort = tlTsiSerialSink.bundle
- tsiSinkPort.serial_clock := tsiSourcePort.serial_clock
- tsiSourcePort.serial.out.bits := tsiSinkPort.serial.out.bits
- tsiSourcePort.serial.out.valid := tsiSinkPort.serial.out.valid
- tsiSinkPort.serial.out.ready := tsiSourcePort.serial.out.ready
- tsiSinkPort.serial.in.bits := tsiSourcePort.serial.in.bits
- tsiSinkPort.serial.in.valid := tsiSourcePort.serial.in.valid
- tsiSourcePort.serial.in.ready := tsiSinkPort.serial.in.ready
- }
-}
-
-case object TSIClockMaxFrequencyKey extends Field[Int](50) // in MHz
-class BringupTSIHostVCU118PlacedOverlay(override val shell: BringupVCU118FPGATestHarness, override val name: String, override val designInput: TSIHostDesignInput, override val shellInput: TSIHostShellInput)
- extends TSIHostVCU118PlacedOverlay(shell, name, designInput, shellInput)
-{
- // connect the TSI port
- shell { InModuleBody {
- // connect TSI signals
- val tsiPort = topTSIIONode.bundle
- io <> tsiPort
-
- require(di.serialIfWidth == 4)
-
- val clkIo = IOPin(io.serial_clock)
- val packagePinsWithPackageIOs = Seq(
- (FMCPMap("D8"), clkIo),
- (FMCPMap("D17"), IOPin(io.serial.out.ready)),
- (FMCPMap("D18"), IOPin(io.serial.out.valid)),
- (FMCPMap("D11"), IOPin(io.serial.out.bits, 0)),
- (FMCPMap("D12"), IOPin(io.serial.out.bits, 1)),
- (FMCPMap("D14"), IOPin(io.serial.out.bits, 2)),
- (FMCPMap("D15"), IOPin(io.serial.out.bits, 3)),
- (FMCPMap("D26"), IOPin(io.serial.in.ready)),
- (FMCPMap("D27"), IOPin(io.serial.in.valid)),
- (FMCPMap("D20"), IOPin(io.serial.in.bits, 0)),
- (FMCPMap("D21"), IOPin(io.serial.in.bits, 1)),
- (FMCPMap("D23"), IOPin(io.serial.in.bits, 2)),
- (FMCPMap("D24"), IOPin(io.serial.in.bits, 3)))
-
- packagePinsWithPackageIOs foreach { case (pin, io) => {
- shell.xdc.addPackagePin(io, pin)
- shell.xdc.addIOStandard(io, "LVCMOS18")
- } }
-
- // Don't add an IOB to the clock
- (packagePinsWithPackageIOs take 1) foreach { case (pin, io) => {
- shell.xdc.addIOB(io)
- } }
-
- shell.sdc.addClock("TSI_CLK", clkIo, p(TSIClockMaxFrequencyKey))
- shell.sdc.addGroup(pins = Seq(clkIo))
- shell.xdc.clockDedicatedRouteFalse(clkIo)
- } }
-}
-
-class BringupTSIHostVCU118ShellPlacer(shell: BringupVCU118FPGATestHarness, val shellInput: TSIHostShellInput)(implicit val valName: ValName)
- extends TSIHostShellPlacer[BringupVCU118FPGATestHarness] {
- def place(designInput: TSIHostDesignInput) = new BringupTSIHostVCU118PlacedOverlay(shell, valName.name, designInput, shellInput)
-}
diff --git a/fpga/src/main/scala/vcu118/bringup/DigitalTop.scala b/fpga/src/main/scala/vcu118/bringup/DigitalTop.scala
deleted file mode 100644
index e4efbdc7..00000000
--- a/fpga/src/main/scala/vcu118/bringup/DigitalTop.scala
+++ /dev/null
@@ -1,26 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-
-import freechips.rocketchip.subsystem._
-import freechips.rocketchip.system._
-import org.chipsalliance.cde.config.Parameters
-import freechips.rocketchip.devices.tilelink._
-import freechips.rocketchip.diplomacy._
-import freechips.rocketchip.tilelink._
-
-import chipyard.{DigitalTop, DigitalTopModule}
-
-// ------------------------------------
-// Bringup VCU118 DigitalTop
-// ------------------------------------
-
-class BringupVCU118DigitalTop(implicit p: Parameters) extends DigitalTop
- with sifive.blocks.devices.i2c.HasPeripheryI2C
- with testchipip.tsi.HasPeripheryTSIHostWidget
-{
- override lazy val module = new BringupVCU118DigitalTopModule(this)
-}
-
-class BringupVCU118DigitalTopModule[+L <: BringupVCU118DigitalTop](l: L) extends DigitalTopModule(l)
- with sifive.blocks.devices.i2c.HasPeripheryI2CModuleImp
diff --git a/fpga/src/main/scala/vcu118/bringup/HarnessBinders.scala b/fpga/src/main/scala/vcu118/bringup/HarnessBinders.scala
deleted file mode 100644
index c130a697..00000000
--- a/fpga/src/main/scala/vcu118/bringup/HarnessBinders.scala
+++ /dev/null
@@ -1,51 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-import chisel3.experimental.{Analog, IO, BaseModule}
-
-import freechips.rocketchip.util.{HeterogeneousBag}
-import freechips.rocketchip.tilelink.{TLBundle}
-
-import sifive.blocks.devices.uart.{HasPeripheryUARTModuleImp, UARTPortIO}
-import sifive.blocks.devices.spi.{HasPeripherySPI, SPIPortIO}
-import sifive.blocks.devices.i2c.{HasPeripheryI2CModuleImp, I2CPort}
-import sifive.blocks.devices.gpio.{HasPeripheryGPIOModuleImp, GPIOPortIO}
-
-import testchipip.tsi.{HasPeripheryTSIHostWidget, TSIHostWidgetIO}
-
-import chipyard.harness._
-import chipyard.iobinders._
-
-/*** UART ***/
-class WithBringupUART extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: UARTPort) => {
- th.bringupOuter.io_fmc_uart_bb.bundle <> port.io
- }
-})
-
-/*** I2C ***/
-class WithBringupI2C extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: chipyard.iobinders.I2CPort) => {
- th.bringupOuter.io_i2c_bb.bundle <> port.io
- }
-})
-
-/*** GPIO ***/
-class WithBringupGPIO extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: GPIOPort) => {
- th.bringupOuter.io_gpio_bb(port.pinId).bundle <> port.io
- }
-})
-
-/*** TSI Host Widget ***/
-class WithBringupTSIHost extends HarnessBinder({
- case (th: BringupVCU118FPGATestHarnessImp, port: TLMemPort) => {
- val tsiBundles = th.bringupOuter.tsiDdrClient.out.map(_._1)
- val tsiDdrClientBundle = Wire(new HeterogeneousBag(tsiBundles.map(_.cloneType)))
- tsiBundles.zip(tsiDdrClientBundle).foreach { case (bundle, io) => bundle <> io }
- tsiDdrClientBundle <> port.io
- }
- case (th: BringupVCU118FPGATestHarnessImp, port: TSIHostWidgetPort) => {
- th.bringupOuter.io_tsi_serial_bb.bundle <> port.io
- }
-})
diff --git a/fpga/src/main/scala/vcu118/bringup/IOBinders.scala b/fpga/src/main/scala/vcu118/bringup/IOBinders.scala
deleted file mode 100644
index 24b7aa9a..00000000
--- a/fpga/src/main/scala/vcu118/bringup/IOBinders.scala
+++ /dev/null
@@ -1,30 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-
-import chisel3._
-import chisel3.experimental.{IO, DataMirror}
-
-import freechips.rocketchip.util.{HeterogeneousBag}
-import freechips.rocketchip.tilelink.{TLBundle}
-
-import sifive.blocks.devices.gpio.{HasPeripheryGPIOModuleImp}
-import sifive.blocks.devices.i2c.{HasPeripheryI2CModuleImp}
-
-import testchipip.tsi.{HasPeripheryTSIHostWidget, TSIHostWidgetIO}
-
-import chipyard.iobinders.{OverrideIOBinder, Port, TLMemPort}
-
-case class TSIHostWidgetPort(val getIO: () => TSIHostWidgetIO)
- extends Port[TSIHostWidgetIO]
-
-class WithTSITLIOPassthrough extends OverrideIOBinder({
- (system: HasPeripheryTSIHostWidget) => {
- require(system.tsiTLMem.size == 1)
- val io_tsi_tl_mem_pins_temp = IO(DataMirror.internal.chiselTypeClone[HeterogeneousBag[TLBundle]](system.tsiTLMem.head)).suggestName("tsi_tl_slave")
- io_tsi_tl_mem_pins_temp <> system.tsiTLMem.head
-
- require(system.tsiSerial.size == 1)
- val io_tsi_serial_pins_temp = IO(DataMirror.internal.chiselTypeClone[TSIHostWidgetIO](system.tsiSerial.head)).suggestName("tsi_serial")
- io_tsi_serial_pins_temp <> system.tsiSerial.head
- (Seq(TLMemPort(() => io_tsi_tl_mem_pins_temp), TSIHostWidgetPort(() => io_tsi_serial_pins_temp)), Nil)
- }
-})
diff --git a/fpga/src/main/scala/vcu118/bringup/TestHarness.scala b/fpga/src/main/scala/vcu118/bringup/TestHarness.scala
deleted file mode 100644
index 94d28258..00000000
--- a/fpga/src/main/scala/vcu118/bringup/TestHarness.scala
+++ /dev/null
@@ -1,99 +0,0 @@
-package chipyard.fpga.vcu118.bringup
-import chisel3._
-
-import freechips.rocketchip.diplomacy._
-import org.chipsalliance.cde.config._
-import freechips.rocketchip.subsystem._
-import freechips.rocketchip.tilelink._
-
-import sifive.fpgashells.shell.xilinx._
-import sifive.fpgashells.ip.xilinx._
-import sifive.fpgashells.shell._
-import sifive.fpgashells.clocks._
-
-import sifive.blocks.devices.uart._
-import sifive.blocks.devices.spi._
-import sifive.blocks.devices.i2c._
-import sifive.blocks.devices.gpio._
-
-import testchipip.tsi.{HasPeripheryTSIHostWidget, PeripheryTSIHostKey, TSIHostWidgetIO}
-import testchipip.util.{TLSinkSetter}
-
-import chipyard.fpga.vcu118.{VCU118FPGATestHarness, VCU118FPGATestHarnessImp, DDR2VCU118ShellPlacer, SysClock2VCU118ShellPlacer}
-
-import chipyard.{ChipTop}
-import chipyard.harness._
-
-class BringupVCU118FPGATestHarness(override implicit val p: Parameters) extends VCU118FPGATestHarness {
-
- /*** UART ***/
-
- require(dp(PeripheryUARTKey).size == 2)
-
- // 2nd UART goes to the FMC UART
-
- val uart_fmc = Overlay(UARTOverlayKey, new BringupUARTVCU118ShellPlacer(this, UARTShellInput()))
-
- val io_fmc_uart_bb = BundleBridgeSource(() => (new UARTPortIO(dp(PeripheryUARTKey).last)))
- dp(UARTOverlayKey).last.place(UARTDesignInput(io_fmc_uart_bb))
-
- /*** I2C ***/
-
- val i2c = Overlay(I2COverlayKey, new BringupI2CVCU118ShellPlacer(this, I2CShellInput()))
-
- val io_i2c_bb = BundleBridgeSource(() => (new I2CPort))
- dp(I2COverlayKey).head.place(I2CDesignInput(io_i2c_bb))
-
- /*** GPIO ***/
-
- val gpio = Seq.tabulate(dp(PeripheryGPIOKey).size)(i => {
- val maxGPIOSupport = 32 // max gpio per gpio chip
- val names = BringupGPIOs.names.slice(maxGPIOSupport*i, maxGPIOSupport*(i+1))
- Overlay(GPIOOverlayKey, new BringupGPIOVCU118ShellPlacer(this, GPIOShellInput(), names))
- })
-
- val io_gpio_bb = dp(PeripheryGPIOKey).map { p => BundleBridgeSource(() => (new GPIOPortIO(p))) }
- (dp(GPIOOverlayKey) zip dp(PeripheryGPIOKey)).zipWithIndex.map { case ((placer, params), i) =>
- placer.place(GPIODesignInput(params, io_gpio_bb(i)))
- }
-
- /*** TSI Host Widget ***/
- require(dp(PeripheryTSIHostKey).size == 1)
-
- // use the 2nd system clock for the 2nd DDR
- val sysClk2Node = dp(ClockInputOverlayKey).last.place(ClockInputDesignInput()).overlayOutput.node
-
- val ddr2PLL = dp(PLLFactoryKey)()
- ddr2PLL := sysClk2Node
-
- val ddr2Clock = ClockSinkNode(freqMHz = dp(FPGAFrequencyKey))
- val ddr2Wrangler = LazyModule(new ResetWrangler)
- val ddr2Group = ClockGroup()
- ddr2Clock := ddr2Wrangler.node := ddr2Group := ddr2PLL
-
- val tsi_host = Overlay(TSIHostOverlayKey, new BringupTSIHostVCU118ShellPlacer(this, TSIHostShellInput()))
-
- val ddr2Node = dp(DDROverlayKey).last.place(DDRDesignInput(dp(PeripheryTSIHostKey).head.targetMasterPortParams.base, ddr2Wrangler.node, ddr2PLL)).overlayOutput.ddr
-
- val io_tsi_serial_bb = BundleBridgeSource(() => (new TSIHostWidgetIO(dp(PeripheryTSIHostKey).head.offchipSerialIfWidth)))
- dp(TSIHostOverlayKey).head.place(TSIHostDesignInput(dp(PeripheryTSIHostKey).head.offchipSerialIfWidth, io_tsi_serial_bb))
-
- // connect 1 mem. channel to the FPGA DDR
- val tsiDdrClient = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
- name = "chip_ddr",
- sourceId = IdRange(0, 64)
- )))))
- (ddr2Node
- := TLFragmenter(8,64,holdFirstDeny=true)
- := TLCacheCork()
- := TLAtomicAutomata(passthrough=false)
- := TLSinkSetter(64)
- := tsiDdrClient)
-
- // module implementation
- override lazy val module = new BringupVCU118FPGATestHarnessImp(this)
-}
-
-class BringupVCU118FPGATestHarnessImp(_outer: BringupVCU118FPGATestHarness) extends VCU118FPGATestHarnessImp(_outer) {
- lazy val bringupOuter = _outer
-}
diff --git a/generators/bar-fetchers b/generators/bar-fetchers
index a5bd985d..45380026 160000
--- a/generators/bar-fetchers
+++ b/generators/bar-fetchers
@@ -1 +1 @@
-Subproject commit a5bd985d29b07940e326d78964b370fa1cefec71
+Subproject commit 45380026ff2918613849c18008d0d9315e060426
diff --git a/generators/boom b/generators/boom
index 96da674b..9459af0c 160000
--- a/generators/boom
+++ b/generators/boom
@@ -1 +1 @@
-Subproject commit 96da674bc97955e7fa068f0a9a1d0a7a479d1d0b
+Subproject commit 9459af0c1f6847f8411622dac770ac78fe10847c
diff --git a/generators/caliptra-aes-acc b/generators/caliptra-aes-acc
index 82fa7080..8bcd6b6b 160000
--- a/generators/caliptra-aes-acc
+++ b/generators/caliptra-aes-acc
@@ -1 +1 @@
-Subproject commit 82fa7080f428b2e59062a55e948f507805c98ef5
+Subproject commit 8bcd6b6bc118e7bb493ed7cf2fed0472624f9093
diff --git a/generators/chipyard/src/main/resources/csrc/spiketile.cc b/generators/chipyard/src/main/resources/csrc/spiketile.cc
index 5483cf6b..dd02d55e 100644
--- a/generators/chipyard/src/main/resources/csrc/spiketile.cc
+++ b/generators/chipyard/src/main/resources/csrc/spiketile.cc
@@ -12,7 +12,7 @@
#if __has_include("spiketile_tsi.h")
#define SPIKETILE_HTIF_TSI
-extern htif_t* tsi;
+extern std::map tsis;
#endif
#if __has_include("spiketile_dtm.h")
#define SPIKETILE_HTIF_DTM
@@ -346,8 +346,8 @@ extern "C" void spike_tile(int hartid, char* isa,
chipyard_simif_t* simif = tile->simif;
processor_t* proc = tile->proc;
#if defined(SPIKETILE_HTIF_TSI)
- if (!simif->htif && tsi)
- simif->htif = tsi;
+ if (!simif->htif && tsis.size() > 0 && tsis[0])
+ simif->htif = tsis[0];
#endif
#if defined(SPIKETILE_HTIF_DTM)
if (!simif->htif && dtm)
diff --git a/generators/chipyard/src/main/scala/ChipTop.scala b/generators/chipyard/src/main/scala/ChipTop.scala
index 20709667..d80d71af 100644
--- a/generators/chipyard/src/main/scala/ChipTop.scala
+++ b/generators/chipyard/src/main/scala/ChipTop.scala
@@ -5,7 +5,6 @@ import chisel3._
import scala.collection.mutable.{ArrayBuffer}
import freechips.rocketchip.prci.{ClockGroupIdentityNode, ClockSinkParameters, ClockSinkNode, ClockGroup}
-import freechips.rocketchip.subsystem.{BaseSubsystem, SubsystemDriveAsyncClockGroupsKey}
import org.chipsalliance.cde.config.{Parameters, Field}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp, LazyRawModuleImp, LazyModuleImpLike, BindingScope}
import freechips.rocketchip.util.{DontTouch}
diff --git a/generators/chipyard/src/main/scala/DigitalTop.scala b/generators/chipyard/src/main/scala/DigitalTop.scala
index 01b6626d..ae0c8dad 100644
--- a/generators/chipyard/src/main/scala/DigitalTop.scala
+++ b/generators/chipyard/src/main/scala/DigitalTop.scala
@@ -19,8 +19,11 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
with testchipip.cosim.CanHaveTraceIO // Enables optionally adding trace IO
with testchipip.soc.CanHaveBankedScratchpad // Enables optionally adding a banked scratchpad
with testchipip.iceblk.CanHavePeripheryBlockDevice // Enables optionally adding the block device
- with testchipip.serdes.CanHavePeripheryTLSerial // Enables optionally adding the backing memory and serial adapter
+ with testchipip.serdes.CanHavePeripheryTLSerial // Enables optionally adding the tl-serial interface
+ with testchipip.serdes.old.CanHavePeripheryTLSerial // Enables optionally adding the DEPRECATED tl-serial interface
+ with testchipip.soc.CanHavePeripheryChipIdPin // Enables optional pin to set chip id for multi-chip configs
with sifive.blocks.devices.i2c.HasPeripheryI2C // Enables optionally adding the sifive I2C
+ with sifive.blocks.devices.timer.HasPeripheryTimer // Enables optionally adding the timer device
with sifive.blocks.devices.pwm.HasPeripheryPWM // Enables optionally adding the sifive PWM
with sifive.blocks.devices.uart.HasPeripheryUART // Enables optionally adding the sifive UART
with sifive.blocks.devices.gpio.HasPeripheryGPIO // Enables optionally adding the sifive GPIOs
@@ -33,6 +36,7 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
with chipyard.example.CanHavePeripheryStreamingPassthrough // Enables optionally adding the DSPTools streaming-passthrough example widget
with nvidia.blocks.dla.CanHavePeripheryNVDLA // Enables optionally having an NVDLA
with chipyard.clocking.HasChipyardPRCI // Use Chipyard reset/clock distribution
+ with chipyard.clocking.CanHaveClockTap // Enables optionally adding a clock tap output port
with fftgenerator.CanHavePeripheryFFT // Enables optionally having an MMIO-based FFT block
with constellation.soc.CanHaveGlobalNoC // Support instantiating a global NoC interconnect
{
@@ -40,13 +44,11 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
}
class DigitalTopModule[+L <: DigitalTop](l: L) extends ChipyardSystemModule(l)
- with testchipip.cosim.CanHaveTraceIOModuleImp
with sifive.blocks.devices.i2c.HasPeripheryI2CModuleImp
with sifive.blocks.devices.pwm.HasPeripheryPWMModuleImp
with sifive.blocks.devices.uart.HasPeripheryUARTModuleImp
with sifive.blocks.devices.gpio.HasPeripheryGPIOModuleImp
with sifive.blocks.devices.spi.HasPeripherySPIFlashModuleImp
with sifive.blocks.devices.spi.HasPeripherySPIModuleImp
- with chipyard.example.CanHavePeripheryGCDModuleImp
with freechips.rocketchip.util.DontTouch
// DOC include end: DigitalTop
diff --git a/generators/chipyard/src/main/scala/SpikeTile.scala b/generators/chipyard/src/main/scala/SpikeTile.scala
index fc822c22..97866c50 100644
--- a/generators/chipyard/src/main/scala/SpikeTile.scala
+++ b/generators/chipyard/src/main/scala/SpikeTile.scala
@@ -2,7 +2,7 @@ package chipyard
import chisel3._
import chisel3.util._
-import chisel3.experimental.{IntParam, StringParam, IO}
+import chisel3.experimental.{IntParam, StringParam}
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
@@ -77,14 +77,15 @@ case class SpikeTileAttachParams(
}
case class SpikeTileParams(
- hartId: Int = 0,
+ tileId: Int = 0,
val core: SpikeCoreParams = SpikeCoreParams(),
icacheParams: ICacheParams = ICacheParams(nWays = 32),
dcacheParams: DCacheParams = DCacheParams(nWays = 32),
tcmParams: Option[MasterPortParams] = None // tightly coupled memory
) extends InstantiableTileParams[SpikeTile]
{
- val name = Some("spike_tile")
+ val baseName = "spike_tile"
+ val uniqueName = s"${baseName}_$tileId"
val beuAddr = None
val blockerCtrlAddr = None
val btb = None
@@ -92,7 +93,7 @@ case class SpikeTileParams(
val dcache = Some(dcacheParams)
val icache = Some(icacheParams)
val clockSinkParams = ClockSinkParameters()
- def instantiate(crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): SpikeTile = {
+ def instantiate(crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): SpikeTile = {
new SpikeTile(this, crossing, lookup)
}
}
@@ -106,11 +107,11 @@ class SpikeTile(
with SourcesExternalNotifications
{
// Private constructor ensures altered LazyModule.p is used implicitly
- def this(params: SpikeTileParams, crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
+ def this(params: SpikeTileParams, crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
this(params, crossing.crossingType, lookup, p)
// Required TileLink nodes
- val intOutwardNode = IntIdentityNode()
+ val intOutwardNode = None
val masterNode = visibilityNode
val slaveNode = TLIdentityNode()
@@ -129,21 +130,21 @@ class SpikeTile(
}
ResourceBinding {
- Resource(cpuDevice, "reg").bind(ResourceAddress(hartId))
+ Resource(cpuDevice, "reg").bind(ResourceAddress(tileId))
}
val icacheNode = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
sourceId = IdRange(0, 1),
- name = s"Core ${staticIdForMetadataUseOnly} ICache")))))
+ name = s"Core ${tileId} ICache")))))
val dcacheNode = TLClientNode(Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
- name = s"Core ${staticIdForMetadataUseOnly} DCache",
+ name = s"Core ${tileId} DCache",
sourceId = IdRange(0, tileParams.dcache.get.nMSHRs),
supportsProbe = TransferSizes(p(CacheBlockBytes), p(CacheBlockBytes)))))))
val mmioNode = TLClientNode((Seq(TLMasterPortParameters.v1(Seq(TLMasterParameters.v1(
- name = s"Core ${staticIdForMetadataUseOnly} MMIO",
+ name = s"Core ${tileId} MMIO",
sourceId = IdRange(0, 1),
requestFifo = true))))))
@@ -313,7 +314,7 @@ class SpikeBlackBox(
}
class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) {
-
+ val tileParams = outer.tileParams
// We create a bundle here and decode the interrupt.
val int_bundle = Wire(new TileInterrupts())
outer.decodeCoreInterrupts(int_bundle)
@@ -337,7 +338,7 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) {
// then the DTM-based bringup with SimDTM will be used. This isn't required to be
// true, but it usually is
val useDTM = p(ExportDebug).protocols.contains(DMI)
- val spike = Module(new SpikeBlackBox(hartId, isaDTS, tileParams.core.nPMPs,
+ val spike = Module(new SpikeBlackBox(outer.tileId, outer.isaDTS, tileParams.core.nPMPs,
tileParams.icache.get.nSets, tileParams.icache.get.nWays,
tileParams.dcache.get.nSets, tileParams.dcache.get.nWays,
tileParams.dcache.get.nMSHRs,
@@ -467,19 +468,21 @@ class SpikeTileModuleImp(outer: SpikeTile) extends BaseTileModuleImp(outer) {
}
}
-class WithNSpikeCores(n: Int = 1, tileParams: SpikeTileParams = SpikeTileParams(),
- overrideIdOffset: Option[Int] = None) extends Config((site, here, up) => {
+class WithNSpikeCores(n: Int = 1, tileParams: SpikeTileParams = SpikeTileParams()
+) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
// Calculate the next available hart ID (since hart ID cannot be duplicated)
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
// Create TileAttachParams for every core to be instantiated
(0 until n).map { i =>
SpikeTileAttachParams(
- tileParams = tileParams.copy(hartId = i + idOffset)
+ tileParams = tileParams.copy(tileId = i + idOffset)
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
+
})
class WithSpikeTCM extends Config((site, here, up) => {
@@ -492,5 +495,5 @@ class WithSpikeTCM extends Config((site, here, up) => {
)))
}
case ExtMem => None
- case BankedL2Key => up(BankedL2Key).copy(nBanks = 0)
+ case SubsystemBankedCoherenceKey => up(SubsystemBankedCoherenceKey).copy(nBanks = 0)
})
diff --git a/generators/chipyard/src/main/scala/Subsystem.scala b/generators/chipyard/src/main/scala/Subsystem.scala
index 8654d561..011a3c11 100644
--- a/generators/chipyard/src/main/scala/Subsystem.scala
+++ b/generators/chipyard/src/main/scala/Subsystem.scala
@@ -6,7 +6,6 @@
package chipyard
import chisel3._
-import chisel3.internal.sourceinfo.{SourceInfo}
import freechips.rocketchip.prci._
import org.chipsalliance.cde.config.{Field, Parameters}
@@ -71,18 +70,24 @@ trait CanHaveChosenInDTS { this: BaseSubsystem =>
}
class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
- with HasTiles
- with HasPeripheryDebug
- with CanHaveHTIF
- with CanHaveChosenInDTS
+ with InstantiatesHierarchicalElements
+ with HasTileNotificationSinks
+ with HasTileInputConstants
+ with CanHavePeripheryCLINT
+ with CanHavePeripheryPLIC
+ with HasPeripheryDebug
+ with HasHierarchicalElementsRootContext
+ with HasHierarchicalElements
+ with CanHaveHTIF
+ with CanHaveChosenInDTS
{
- def coreMonitorBundles = tiles.map {
+ def coreMonitorBundles = totalTiles.values.map {
case r: RocketTile => r.module.core.rocketImpl.coreMonitorBundle
case b: BoomTile => b.module.core.coreMonitorBundle
}.toList
// No-tile configs have to be handled specially.
- if (tiles.size == 0) {
+ if (totalTiles.size == 0) {
// no PLIC, so sink interrupts to nowhere
require(!p(PLICKey).isDefined)
val intNexus = IntNexusNode(sourceFn = x => x.head, sinkFn = x => x.head)
@@ -90,16 +95,12 @@ class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
intSink := intNexus :=* ibus.toPLIC
// avoids a bug when there are no interrupt sources
- ibus.fromAsync := NullIntSource()
+ ibus { ibus.fromAsync := NullIntSource() }
// Need to have at least 1 driver to the tile notification sinks
tileHaltXbarNode := IntSourceNode(IntSourcePortSimple())
tileWFIXbarNode := IntSourceNode(IntSourcePortSimple())
tileCeaseXbarNode := IntSourceNode(IntSourcePortSimple())
-
- // Sink reset vectors to nowhere
- val resetVectorSink = BundleBridgeSink[UInt](Some(() => UInt(28.W)))
- resetVectorSink := tileResetVectorNode
}
// Relying on [[TLBusWrapperConnection]].driveClockFromMaster for
@@ -107,7 +108,7 @@ class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
// ClockGroup. This makes it impossible to determine which clocks are driven
// by which bus based on the member names, which is problematic when there is
// a rational crossing between two buses. Instead, provide all bus clocks
- // directly from the asyncClockGroupsNode in the subsystem to ensure bus
+ // directly from the allClockGroupsNode in the subsystem to ensure bus
// names are always preserved in the top-level clock names.
//
// For example, using a RationalCrossing between the Sbus and Cbus, and
@@ -116,12 +117,12 @@ class ChipyardSubsystem(implicit p: Parameters) extends BaseSubsystem
// Conversly, if an async crossing is used, they instead receive names of the
// form "subsystem_cbus_[0-9]*". The assignment below provides the latter names in all cases.
Seq(PBUS, FBUS, MBUS, CBUS).foreach { loc =>
- tlBusWrapperLocationMap.lift(loc).foreach { _.clockGroupNode := asyncClockGroupsNode }
+ tlBusWrapperLocationMap.lift(loc).foreach { _.clockGroupNode := allClockGroupsNode }
}
override lazy val module = new ChipyardSubsystemModuleImp(this)
}
class ChipyardSubsystemModuleImp[+L <: ChipyardSubsystem](_outer: L) extends BaseSubsystemModuleImp(_outer)
- with HasTilesModuleImp
+ with HasHierarchicalElementsRootContextModuleImp
{
}
diff --git a/generators/chipyard/src/main/scala/System.scala b/generators/chipyard/src/main/scala/System.scala
index 5643e380..b8a04eac 100644
--- a/generators/chipyard/src/main/scala/System.scala
+++ b/generators/chipyard/src/main/scala/System.scala
@@ -32,13 +32,6 @@ class ChipyardSystem(implicit p: Parameters) extends ChipyardSubsystem
val bootROM = p(BootROMLocated(location)).map { BootROM.attach(_, this, CBUS) }
val maskROMs = p(MaskROMLocated(location)).map { MaskROM.attach(_, this, CBUS) }
- // If there is no bootrom, the tile reset vector bundle will be tied to zero
- if (bootROM.isEmpty) {
- val fakeResetVectorSourceNode = BundleBridgeSource[UInt]()
- InModuleBody { fakeResetVectorSourceNode.bundle := 0.U }
- tileResetVectorNexusNode := fakeResetVectorSourceNode
- }
-
override lazy val module = new ChipyardSystemModule(this)
}
diff --git a/generators/chipyard/src/main/scala/TestSuites.scala b/generators/chipyard/src/main/scala/TestSuites.scala
index 0e4e3310..2a88ebb2 100644
--- a/generators/chipyard/src/main/scala/TestSuites.scala
+++ b/generators/chipyard/src/main/scala/TestSuites.scala
@@ -65,7 +65,7 @@ class TestSuiteHelper
*/
def addGenericTestSuites(tiles: Seq[TileParams])(implicit p: Parameters) = {
val xlen = p(XLen)
- tiles.find(_.hartId == 0).map { tileParams =>
+ tiles.find(_.tileId == 0).map { tileParams =>
val coreParams = tileParams.core
val vm = coreParams.useVM
val env = if (vm) List("p","v") else List("p")
diff --git a/generators/chipyard/src/main/scala/clocking/CanHaveClockTap.scala b/generators/chipyard/src/main/scala/clocking/CanHaveClockTap.scala
new file mode 100644
index 00000000..9af30ddf
--- /dev/null
+++ b/generators/chipyard/src/main/scala/clocking/CanHaveClockTap.scala
@@ -0,0 +1,27 @@
+package chipyard.clocking
+
+import chisel3._
+
+import org.chipsalliance.cde.config.{Parameters, Field, Config}
+import freechips.rocketchip.diplomacy._
+import freechips.rocketchip.tilelink._
+import freechips.rocketchip.subsystem._
+import freechips.rocketchip.util._
+import freechips.rocketchip.tile._
+import freechips.rocketchip.prci._
+
+case object ClockTapKey extends Field[Boolean](true)
+
+trait CanHaveClockTap { this: BaseSubsystem =>
+ require(!p(SubsystemDriveClockGroupsFromIO), "Subsystem must not drive clocks from IO")
+ val clockTapNode = Option.when(p(ClockTapKey)) {
+ val clockTap = ClockSinkNode(Seq(ClockSinkParameters(name=Some("clock_tap"))))
+ clockTap := ClockGroup() := allClockGroupsNode
+ clockTap
+ }
+ val clockTapIO = clockTapNode.map { node => InModuleBody {
+ val clock_tap = IO(Output(Clock()))
+ clock_tap := node.in.head._1.clock
+ clock_tap
+ }}
+}
diff --git a/generators/chipyard/src/main/scala/clocking/ClockBinders.scala b/generators/chipyard/src/main/scala/clocking/ClockBinders.scala
index 36d1fa2f..fdb2ec9e 100644
--- a/generators/chipyard/src/main/scala/clocking/ClockBinders.scala
+++ b/generators/chipyard/src/main/scala/clocking/ClockBinders.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chipyard.iobinders.{OverrideLazyIOBinder, GetSystemParameters, IOCellKey, ClockPort, ResetPort}
+import chipyard.iobinders._
import freechips.rocketchip.prci._
import freechips.rocketchip.diplomacy._
import freechips.rocketchip.subsystem._
@@ -14,31 +14,24 @@ import barstools.iocell.chisel._
// blocks, which allow memory-mapped control of clock division, and clock muxing
// between the FakePLL and the slow off-chip clock
// Note: This will not simulate properly with firesim
-class WithPLLSelectorDividerClockGenerator extends OverrideLazyIOBinder({
+// Unsetting enable will prevent the divider/selector from actually modifying the clock,
+// while preserving the address map. Unsetting enable should only be done for RTL
+// simulators (Verilator) which do not model reset properly
+class WithPLLSelectorDividerClockGenerator(enable: Boolean = true) extends OverrideLazyIOBinder({
(system: HasChipyardPRCI) => {
// Connect the implicit clock
implicit val p = GetSystemParameters(system)
- val implicitClockSinkNode = ClockSinkNode(Seq(ClockSinkParameters(name = Some("implicit_clock"))))
- system.connectImplicitClockSinkNode(implicitClockSinkNode)
- InModuleBody {
- val implicit_clock = implicitClockSinkNode.in.head._1.clock
- val implicit_reset = implicitClockSinkNode.in.head._1.reset
- system.asInstanceOf[BaseSubsystem].module match { case l: LazyModuleImp => {
- l.clock := implicit_clock
- l.reset := implicit_reset
- }}
- }
val tlbus = system.asInstanceOf[BaseSubsystem].locateTLBusWrapper(system.prciParams.slaveWhere)
val baseAddress = system.prciParams.baseAddress
- val clockDivider = system.prci_ctrl_domain { LazyModule(new TLClockDivider (baseAddress + 0x20000, tlbus.beatBytes)) }
- val clockSelector = system.prci_ctrl_domain { LazyModule(new TLClockSelector(baseAddress + 0x30000, tlbus.beatBytes)) }
+ val clockDivider = system.prci_ctrl_domain { LazyModule(new TLClockDivider (baseAddress + 0x20000, tlbus.beatBytes, enable=enable)) }
+ val clockSelector = system.prci_ctrl_domain { LazyModule(new TLClockSelector(baseAddress + 0x30000, tlbus.beatBytes, enable=enable)) }
val pllCtrl = system.prci_ctrl_domain { LazyModule(new FakePLLCtrl (baseAddress + 0x40000, tlbus.beatBytes)) }
clockDivider.tlNode := system.prci_ctrl_domain { TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := system.prci_ctrl_bus.get }
clockSelector.tlNode := system.prci_ctrl_domain { TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := system.prci_ctrl_bus.get }
pllCtrl.tlNode := system.prci_ctrl_domain { TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := system.prci_ctrl_bus.get }
- system.allClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
+ system.chiptopClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
// Connect all other requested clocks
val slowClockSource = ClockSourceNode(Seq(ClockSourceParameters()))
@@ -83,23 +76,12 @@ class WithPLLSelectorDividerClockGenerator extends OverrideLazyIOBinder({
// This passes all clocks through to the TestHarness
class WithPassthroughClockGenerator extends OverrideLazyIOBinder({
(system: HasChipyardPRCI) => {
- // Connect the implicit clock
implicit val p = GetSystemParameters(system)
- val implicitClockSinkNode = ClockSinkNode(Seq(ClockSinkParameters(name = Some("implicit_clock"))))
- system.connectImplicitClockSinkNode(implicitClockSinkNode)
- InModuleBody {
- val implicit_clock = implicitClockSinkNode.in.head._1.clock
- val implicit_reset = implicitClockSinkNode.in.head._1.reset
- system.asInstanceOf[BaseSubsystem].module match { case l: LazyModuleImp => {
- l.clock := implicit_clock
- l.reset := implicit_reset
- }}
- }
// This aggregate node should do nothing
val clockGroupAggNode = ClockGroupAggregateNode("fake")
val clockGroupsSourceNode = ClockGroupSourceNode(Seq(ClockGroupSourceParameters()))
- system.allClockGroupsNode := clockGroupAggNode := clockGroupsSourceNode
+ system.chiptopClockGroupsNode := clockGroupAggNode := clockGroupsSourceNode
InModuleBody {
val reset_io = IO(Input(AsyncReset()))
@@ -119,3 +101,12 @@ class WithPassthroughClockGenerator extends OverrideLazyIOBinder({
}
}
})
+
+class WithClockTapIOCells extends OverrideIOBinder({
+ (system: CanHaveClockTap) => {
+ system.clockTapIO.map { tap =>
+ val (clock_tap_io, clock_tap_cell) = IOCell.generateIOFromSignal(tap.getWrappedValue, "clock_tap")
+ (Seq(ClockTapPort(() => clock_tap_io)), clock_tap_cell)
+ }.getOrElse((Nil, Nil))
+ }
+})
diff --git a/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala b/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala
index e5236804..9b53cbef 100644
--- a/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala
+++ b/generators/chipyard/src/main/scala/clocking/ClockGroupCombiner.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, IO}
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
diff --git a/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala b/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala
index 7aa676d5..9b140e20 100644
--- a/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala
+++ b/generators/chipyard/src/main/scala/clocking/HasChipyardPRCI.scala
@@ -30,15 +30,14 @@ case class ChipyardPRCIControlParams(
case object ChipyardPRCIControlKey extends Field[ChipyardPRCIControlParams](ChipyardPRCIControlParams())
-trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesTiles =>
- require(p(SubsystemDriveAsyncClockGroupsKey).isEmpty, "Subsystem asyncClockGroups must be undriven")
+trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesHierarchicalElements =>
+ require(!p(SubsystemDriveClockGroupsFromIO), "Subsystem allClockGroups cannot be driven from implicit clocks")
val prciParams = p(ChipyardPRCIControlKey)
// Set up clock domain
private val tlbus = locateTLBusWrapper(prciParams.slaveWhere)
- val prci_ctrl_domain = LazyModule(new ClockSinkDomain(name=Some("chipyard-prci-control")))
- prci_ctrl_domain.clockNode := tlbus.fixedClockNode
+ val prci_ctrl_domain = tlbus.generateSynchronousDomain.suggestName("chipyard_prcictrl_domain")
val prci_ctrl_bus = Option.when(prciParams.generatePRCIXBar) { prci_ctrl_domain { TLXbar() } }
prci_ctrl_bus.foreach(xbar => tlbus.coupleTo("prci_ctrl") { (xbar
@@ -49,29 +48,13 @@ trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesTiles =>
// Aggregate all the clock groups into a single node
val aggregator = LazyModule(new ClockGroupAggregator("allClocks")).node
- val allClockGroupsNode = ClockGroupEphemeralNode()
- // There are two "sets" of clocks which must be dealt with
-
- // 1. The implicit clock from the subsystem. RC is moving away from depending on this
- // clock, but some modules still use it. Since the implicit clock sink node
- // is created in the ChipTop (the hierarchy wrapping the subsystem), this function
- // is provided to allow connecting that clock to the clock aggregator. This function
- // should be called in the ChipTop context
- def connectImplicitClockSinkNode(sink: ClockSinkNode) = {
- val implicitClockGrouper = this { ClockGroup() }
- (sink
- := implicitClockGrouper
- := aggregator)
- }
-
- // 2. The rest of the diplomatic clocks in the subsystem are routed to this asyncClockGroupsNode
+ // The diplomatic clocks in the subsystem are routed to this allClockGroupsNode
val clockNamePrefixer = ClockGroupNamePrefixer()
- (asyncClockGroupsNode
+ (allClockGroupsNode
:*= clockNamePrefixer
:*= aggregator)
-
// Once all the clocks are gathered in the aggregator node, several steps remain
// 1. Assign frequencies to any clock groups which did not specify a frequency.
// 2. Combine duplicated clock groups (clock groups which physically should be in the same clock domain)
@@ -92,7 +75,7 @@ trait HasChipyardPRCI { this: BaseSubsystem with InstantiatesTiles =>
} }
val tileResetSetter = Option.when(prciParams.enableTileResetSetting) { prci_ctrl_domain {
val reset_setter = LazyModule(new TileResetSetter(prciParams.baseAddress + 0x10000, tlbus.beatBytes,
- tile_prci_domains.map(_.tile_reset_domain.clockNode.portParams(0).name.get), Nil))
+ tile_prci_domains.map(_._2.tile_reset_domain.clockNode.portParams(0).name.get).toSeq, Nil))
reset_setter.tlNode := TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := prci_ctrl_bus.get
reset_setter
} }
@@ -116,11 +99,14 @@ RTL SIMULATORS, NAMELY VERILATOR.
""" + Console.RESET)
}
+ // The chiptopClockGroupsNode shouuld be what ClockBinders attach to
+ val chiptopClockGroupsNode = ClockGroupEphemeralNode()
+
(aggregator
:= frequencySpecifier
:= clockGroupCombiner
:= resetSynchronizer
:= tileClockGater.map(_.clockNode).getOrElse(ClockGroupEphemeralNode()(ValName("temp")))
:= tileResetSetter.map(_.clockNode).getOrElse(ClockGroupEphemeralNode()(ValName("temp")))
- := allClockGroupsNode)
+ := chiptopClockGroupsNode)
}
diff --git a/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala b/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala
index a3c33561..958c9194 100644
--- a/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala
+++ b/generators/chipyard/src/main/scala/clocking/TLClockDivider.scala
@@ -15,11 +15,27 @@ import testchipip.clocking._
// This module adds a TileLink memory-mapped clock divider to the clock graph
// The output clock/reset pairs from this module should be synchronized later
-class TLClockDivider(address: BigInt, beatBytes: Int, divBits: Int = 8)(implicit p: Parameters) extends LazyModule {
+// If enable is unset, this will not divide the clock
+// DO NOT unset enable for VLSI, or prototyping flows. The disable feature is a work around for
+// some RTL simulators which do not simulate the reset synchronization properly
+class TLClockDivider(address: BigInt, beatBytes: Int, divBits: Int = 8, enable: Boolean = true)(implicit p: Parameters) extends LazyModule {
val device = new SimpleDevice(s"clk-div-ctrl", Nil)
val clockNode = ClockGroupIdentityNode()
val tlNode = TLRegisterNode(Seq(AddressSet(address, 4096-1)), device, "reg/control", beatBytes=beatBytes)
+ if (!enable) println(Console.RED + s"""
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+WARNING:
+
+YOU ARE USING THE TLCLOCKDIVIDER IN
+"DISABLED" MODE. THIS SHOULD ONLY BE DONE
+FOR RTL SIMULATION
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+""" + Console.RESET)
+
lazy val module = new LazyModuleImp(this) {
require (clockNode.out.size == 1)
val sources = clockNode.in.head._1.member.data.toSeq
@@ -45,13 +61,21 @@ class TLClockDivider(address: BigInt, beatBytes: Int, divBits: Int = 8)(implicit
// by setting divisor=0. The divisor signal into the ClockDividerOrPass is synchronized internally
divider.io.divisor := Mux(busReset.asBool, 0.U, reg.io.q)
divider.io.resetAsync := ResetStretcher(sources(i).clock, asyncReset, 20).asAsyncReset
- sinks(i)._2.clock := divider.io.clockOut
- // Note this is not synchronized to the output clock, which takes time to appear
- // so this is still asyncreset
- // Stretch the reset for 40 cycles, to give enough time to reset any downstream
- // digital logic
- sinks(i)._2.reset := ResetStretcher(sources(i).clock, asyncReset, 40).asAsyncReset
+ if (enable) {
+ sinks(i)._2.clock := divider.io.clockOut
+
+ // Note this is not synchronized to the output clock, which takes time to appear
+ // so this is still asyncreset
+ // Stretch the reset for 40 cycles, to give enough time to reset any downstream
+ // digital logic
+ sinks(i)._2.reset := ResetStretcher(sources(i).clock, asyncReset, 40).asAsyncReset
+ } else {
+ // WARNING: THIS IS FOR RTL SIMULATION ONLY
+ sinks(i)._2.clock := sources(i).clock
+ sinks(i)._2.reset := sources(i).reset
+ }
+
reg
}
diff --git a/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala b/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala
index 1d0a149d..8c6371f1 100644
--- a/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala
+++ b/generators/chipyard/src/main/scala/clocking/TLClockSelector.scala
@@ -21,12 +21,30 @@ case class ClockSelNode()(implicit valName: ValName)
// This module adds a TileLink memory-mapped clock mux for each downstream clock domain
// in the clock graph. The output clock/reset should be synchronized downstream
-class TLClockSelector(address: BigInt, beatBytes: Int)(implicit p: Parameters) extends LazyModule {
+// If enable is unset, this will always pass through the 0'th clock
+// DO NOT unset enable for VLSI, or prototyping flows. The disable feature is a work around for
+// some RTL simulators which do not simulate the reset synchronization properly
+class TLClockSelector(address: BigInt, beatBytes: Int, enable: Boolean = true)(implicit p: Parameters) extends LazyModule {
val device = new SimpleDevice("clk-sel-ctrl", Nil)
val tlNode = TLRegisterNode(Seq(AddressSet(address, 4096-1)), device, "reg/control", beatBytes=beatBytes)
val clockNode = ClockSelNode()
+ if (!enable) println(Console.RED + s"""
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+WARNING:
+
+YOU ARE USING THE TLCLOCKSELECTOR IN
+"DISABLED" MODE. THIS SHOULD ONLY BE DONE
+FOR RTL SIMULATION
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+""" + Console.RESET)
+
+
+
lazy val module = new LazyModuleImp(this) {
val asyncReset = clockNode.in.map(_._1).map(_.reset).toSeq(0)
val clocks = clockNode.in.map(_._1).map(_.clock)
@@ -43,10 +61,15 @@ class TLClockSelector(address: BigInt, beatBytes: Int)(implicit p: Parameters) e
val mux = ClockMutexMux(clocks).suggestName(s"${sinkName}_clkmux")
mux.io.sel := sel
mux.io.resetAsync := asyncReset.asAsyncReset
- sinks(i).clock := mux.io.clockOut
- // Stretch the reset for 20 cycles, to give time to reset any downstream digital logic
- sinks(i).reset := ResetStretcher(clocks(0), asyncReset, 20).asAsyncReset
-
+ if (enable) {
+ sinks(i).clock := mux.io.clockOut
+ // Stretch the reset for 20 cycles, to give time to reset any downstream digital logic
+ sinks(i).reset := ResetStretcher(clocks(0), asyncReset, 20).asAsyncReset
+ } else {
+ // WARNING: THIS IS FOR RTL SIMULATION ONLY
+ sinks(i).clock := clocks(0)
+ sinks(i).reset := asyncReset
+ }
reg
}
tlNode.regmap((0 until sinks.size).map { i =>
diff --git a/generators/chipyard/src/main/scala/clocking/TileClockGater.scala b/generators/chipyard/src/main/scala/clocking/TileClockGater.scala
index e299d0a9..c92e05bc 100644
--- a/generators/chipyard/src/main/scala/clocking/TileClockGater.scala
+++ b/generators/chipyard/src/main/scala/clocking/TileClockGater.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, IO}
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
diff --git a/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala b/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala
index 53dd36d0..88916d17 100644
--- a/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala
+++ b/generators/chipyard/src/main/scala/clocking/TileResetSetter.scala
@@ -2,7 +2,7 @@ package chipyard.clocking
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, IO}
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.subsystem._
diff --git a/generators/chipyard/src/main/scala/config/AbstractConfig.scala b/generators/chipyard/src/main/scala/config/AbstractConfig.scala
index 775ecb58..5ad20661 100644
--- a/generators/chipyard/src/main/scala/config/AbstractConfig.scala
+++ b/generators/chipyard/src/main/scala/config/AbstractConfig.scala
@@ -11,23 +11,31 @@ import org.chipsalliance.cde.config.{Config}
// --------------
class AbstractConfig extends Config(
+ // ================================================
+ // Set up TestHarness
+ // ================================================
// The HarnessBinders control generation of hardware in the TestHarness
- new chipyard.harness.WithUARTAdapter ++ // add UART adapter to display UART on stdout, if uart is present
- new chipyard.harness.WithBlackBoxSimMem ++ // add SimDRAM DRAM model for axi4 backing memory, if axi4 mem is enabled
- new chipyard.harness.WithSimTSIOverSerialTL ++ // add external serial-adapter and RAM
- new chipyard.harness.WithSimJTAGDebug ++ // add SimJTAG if JTAG for debug exposed
- new chipyard.harness.WithSimDMI ++ // add SimJTAG if DMI exposed
- new chipyard.harness.WithGPIOTiedOff ++ // tie-off chiptop GPIOs, if GPIOs are present
- new chipyard.harness.WithSimSPIFlashModel ++ // add simulated SPI flash memory, if SPI is enabled
- new chipyard.harness.WithSimAXIMMIO ++ // add SimAXIMem for axi4 mmio port, if enabled
- new chipyard.harness.WithTieOffInterrupts ++ // tie-off interrupt ports, if present
- new chipyard.harness.WithTieOffL2FBusAXI ++ // tie-off external AXI4 master, if present
- new chipyard.harness.WithCustomBootPinPlusArg ++ // drive custom-boot pin with a plusarg, if custom-boot-pin is present
- new chipyard.harness.WithSimUARTToUARTTSI ++ // connect a SimUART to the UART-TSI port
- new chipyard.harness.WithClockFromHarness ++ // all Clock I/O in ChipTop should be driven by harnessClockInstantiator
- new chipyard.harness.WithResetFromHarness ++ // reset controlled by harness
- new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++ // generate clocks in harness with unsynthesizable ClockSourceAtFreqMHz
+ new chipyard.harness.WithUARTAdapter ++ /** add UART adapter to display UART on stdout, if uart is present */
+ new chipyard.harness.WithBlackBoxSimMem ++ /** add SimDRAM DRAM model for axi4 backing memory, if axi4 mem is enabled */
+ new chipyard.harness.WithSimTSIOverSerialTL ++ /** add external serial-adapter and RAM */
+ new chipyard.harness.WithSimJTAGDebug ++ /** add SimJTAG if JTAG for debug exposed */
+ new chipyard.harness.WithSimDMI ++ /** add SimJTAG if DMI exposed */
+ new chipyard.harness.WithGPIOTiedOff ++ /** tie-off chiptop GPIOs, if GPIOs are present */
+ new chipyard.harness.WithSimSPIFlashModel ++ /** add simulated SPI flash memory, if SPI is enabled */
+ new chipyard.harness.WithSimAXIMMIO ++ /** add SimAXIMem for axi4 mmio port, if enabled */
+ new chipyard.harness.WithTieOffInterrupts ++ /** tie-off interrupt ports, if present */
+ new chipyard.harness.WithTieOffL2FBusAXI ++ /** tie-off external AXI4 master, if present */
+ new chipyard.harness.WithCustomBootPinPlusArg ++ /** drive custom-boot pin with a plusarg, if custom-boot-pin is present */
+ new chipyard.harness.WithDriveChipIdPin ++ /** drive chip id pin from harness binder, if chip id pin is present */
+ new chipyard.harness.WithSimUARTToUARTTSI ++ /** connect a SimUART to the UART-TSI port */
+ new chipyard.harness.WithClockFromHarness ++ /** all Clock I/O in ChipTop should be driven by harnessClockInstantiator */
+ new chipyard.harness.WithResetFromHarness ++ /** reset controlled by harness */
+ new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++ /** generate clocks in harness with unsynthesizable ClockSourceAtFreqMHz */
+
+ // ================================================
+ // Set up I/O cells + punch I/Os in ChipTop
+ // ================================================
// The IOBinders instantiate ChipTop IOs to match desired digital IOs
// IOCells are generated for "Chip-like" IOs
new chipyard.iobinders.WithSerialTLIOCells ++
@@ -36,6 +44,7 @@ class AbstractConfig extends Config(
new chipyard.iobinders.WithGPIOCells ++
new chipyard.iobinders.WithSPIFlashIOCells ++
new chipyard.iobinders.WithExtInterruptIOCells ++
+ new chipyard.iobinders.WithChipIdIOCells ++
new chipyard.iobinders.WithCustomBootPin ++
// The "punchthrough" IOBInders below don't generate IOCells, as these interfaces shouldn't really be mapped to ASIC IO
// Instead, they directly pass through the DigitalTop ports to ports in the ChipTop
@@ -51,40 +60,98 @@ class AbstractConfig extends Config(
new chipyard.iobinders.WithUARTTSIPunchthrough ++
new chipyard.iobinders.WithNMITiedOff ++
- // By default, punch out IOs to the Harness
- new chipyard.clocking.WithPassthroughClockGenerator ++
- new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus", "mbus", "pbus", "fbus", "cbus", "obus", "implicit"), Seq("tile"))) ++
- new chipyard.config.WithPeripheryBusFrequency(500.0) ++ // Default 500 MHz pbus
- new chipyard.config.WithMemoryBusFrequency(500.0) ++ // Default 500 MHz mbus
- new chipyard.config.WithControlBusFrequency(500.0) ++ // Default 500 MHz cbus
- new chipyard.config.WithSystemBusFrequency(500.0) ++ // Default 500 MHz sbus
- new chipyard.config.WithFrontBusFrequency(500.0) ++ // Default 500 MHz fbus
- new chipyard.config.WithOffchipBusFrequency(500.0) ++ // Default 500 MHz obus
- new testchipip.boot.WithCustomBootPin ++ // add a custom-boot-pin to support pin-driven boot address
- new testchipip.boot.WithBootAddrReg ++ // add a boot-addr-reg for configurable boot address
- new testchipip.serdes.WithSerialTL(Seq( // add a serial-tilelink interface
+ // ================================================
+ // Set up External Memory and IO Devices
+ // ================================================
+ // External memory section
+ new testchipip.serdes.WithSerialTL(Seq( /** add a serial-tilelink interface */
testchipip.serdes.SerialTLParams(
- client = Some(testchipip.serdes.SerialTLClientParams(idBits=4)), // serial-tilelink interface will master the FBUS, and support 4 idBits
- width = 32 // serial-tilelink interface with 32 lanes
+ client = Some(testchipip.serdes.SerialTLClientParams(totalIdBits=4)), // serial-tilelink interface will master the FBUS, and support 4 idBits
+ phyParams = testchipip.serdes.ExternalSyncSerialPhyParams(phitWidth=32, flitWidth=32) // serial-tilelink interface with 32 lanes
)
)) ++
- new testchipip.soc.WithMbusScratchpad(base = 0x08000000, // add 64 KiB on-chip scratchpad
+ new freechips.rocketchip.subsystem.WithNMemoryChannels(1) ++ /** Default 1 AXI-4 memory channels */
+ new freechips.rocketchip.subsystem.WithNoMMIOPort ++ /** no top-level MMIO master port (overrides default set in rocketchip) */
+ new freechips.rocketchip.subsystem.WithNoSlavePort ++ /** no top-level MMIO slave port (overrides default set in rocketchip) */
+
+ // MMIO device section
+ new chipyard.config.WithUART ++ /** add a UART */
+
+
+ // ================================================
+ // Set up Debug/Bringup/Testing Features
+ // ================================================
+ // JTAG
+ new freechips.rocketchip.subsystem.WithDebugSBA ++ /** enable the SBA (system-bus-access) feature of the debug module */
+ new chipyard.config.WithDebugModuleAbstractDataWords(8) ++ /** increase debug module data word capacity */
+ new freechips.rocketchip.subsystem.WithJtagDTM ++ /** set the debug module to expose a JTAG port */
+
+ // Boot Select Pins
+ new testchipip.boot.WithCustomBootPin ++ /** add a custom-boot-pin to support pin-driven boot address */
+ new testchipip.boot.WithBootAddrReg ++ /** add a boot-addr-reg for configurable boot address */
+
+
+ // ================================================
+ // Set up Interrupts
+ // ================================================
+ // CLINT and PLIC related settings goes here
+ new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++ /** no external interrupts */
+
+
+ // ================================================
+ // Set up Tiles
+ // ================================================
+ // tile-local settings goes here
+
+
+ // ================================================
+ // Set up Memory system
+ // ================================================
+ // On-chip memory section
+ new freechips.rocketchip.subsystem.WithDTS("ucb-bar,chipyard", Nil) ++ /** custom device name for DTS (embedded in BootROM) */
+ new chipyard.config.WithBootROM ++ /** use default bootrom */
+ new testchipip.soc.WithMbusScratchpad(base = 0x08000000, /** add 64 KiB on-chip scratchpad */
size = 64 * 1024) ++
- new chipyard.config.WithDebugModuleAbstractDataWords(8) ++ // increase debug module data capacity
- new chipyard.config.WithBootROM ++ // use default bootrom
- new chipyard.config.WithUART ++ // add a UART
- new chipyard.config.WithL2TLBs(1024) ++ // use L2 TLBs
- new chipyard.config.WithNoSubsystemDrivenClocks ++ // drive the subsystem diplomatic clocks from ChipTop instead of using implicit clocks
- new chipyard.config.WithInheritBusFrequencyAssignments ++ // Unspecified clocks within a bus will receive the bus frequency if set
- new freechips.rocketchip.subsystem.WithNMemoryChannels(1) ++ // Default 1 memory channels
- new freechips.rocketchip.subsystem.WithClockGateModel ++ // add default EICG_wrapper clock gate model
- new freechips.rocketchip.subsystem.WithJtagDTM ++ // set the debug module to expose a JTAG port
- new freechips.rocketchip.subsystem.WithNoMMIOPort ++ // no top-level MMIO master port (overrides default set in rocketchip)
- new freechips.rocketchip.subsystem.WithNoSlavePort ++ // no top-level MMIO slave port (overrides default set in rocketchip)
- new freechips.rocketchip.subsystem.WithInclusiveCache ++ // use Sifive L2 cache
- new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++ // no external interrupts
- new freechips.rocketchip.subsystem.WithDontDriveBusClocksFromSBus ++ // leave the bus clocks undriven by sbus
- new freechips.rocketchip.subsystem.WithCoherentBusTopology ++ // hierarchical buses including sbus/mbus/pbus/fbus/cbus/l2
- new freechips.rocketchip.subsystem.WithDTS("ucb-bar,chipyard", Nil) ++ // custom device name for DTS
- new freechips.rocketchip.system.BaseConfig) // "base" rocketchip system
+
+ // Coherency settings
+ new freechips.rocketchip.subsystem.WithInclusiveCache ++ /** use Sifive LLC cache as root of coherence */
+
+ // Bus/interconnect settings
+ new freechips.rocketchip.subsystem.WithCoherentBusTopology ++ /** hierarchical buses including sbus/mbus/pbus/fbus/cbus/l2 */
+
+
+ // ================================================
+ // Set up power, reset and clocking
+ // ================================================
+
+ // ChipTop clock IO/PLL/Divider/Mux settings
+ new chipyard.clocking.WithClockTapIOCells ++ /** Default generate a clock tapio */
+ new chipyard.clocking.WithPassthroughClockGenerator ++
+
+ // DigitalTop-internal clocking settings
+ new freechips.rocketchip.subsystem.WithDontDriveBusClocksFromSBus ++ /** leave the bus clocks undriven by sbus */
+ new freechips.rocketchip.subsystem.WithClockGateModel ++ /** add default EICG_wrapper clock gate model */
+ new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", /** create a "uncore" clock group tieing all the bus clocks together */
+ Seq("sbus", "mbus", "pbus", "fbus", "cbus", "obus", "implicit", "clock_tap"),
+ Seq("tile"))) ++
+
+ new chipyard.config.WithPeripheryBusFrequency(500.0) ++ /** Default 500 MHz pbus */
+ new chipyard.config.WithMemoryBusFrequency(500.0) ++ /** Default 500 MHz mbus */
+ new chipyard.config.WithControlBusFrequency(500.0) ++ /** Default 500 MHz cbus */
+ new chipyard.config.WithSystemBusFrequency(500.0) ++ /** Default 500 MHz sbus */
+ new chipyard.config.WithFrontBusFrequency(500.0) ++ /** Default 500 MHz fbus */
+ new chipyard.config.WithOffchipBusFrequency(500.0) ++ /** Default 500 MHz obus */
+ new chipyard.config.WithInheritBusFrequencyAssignments ++ /** Unspecified clocks within a bus will receive the bus frequency if set */
+ new chipyard.config.WithNoSubsystemClockIO ++ /** drive the subsystem diplomatic clocks from ChipTop instead of using implicit clocks */
+
+ // reset
+
+ // power
+
+
+ // ==================================
+ // Base Settings
+ // ==================================
+ new freechips.rocketchip.system.BaseConfig /** "base" rocketchip system */
+)
diff --git a/generators/chipyard/src/main/scala/config/ChipConfigs.scala b/generators/chipyard/src/main/scala/config/ChipConfigs.scala
index ffcb3f77..c34492a4 100644
--- a/generators/chipyard/src/main/scala/config/ChipConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/ChipConfigs.scala
@@ -22,8 +22,18 @@ class ChipLikeRocketConfig extends Config(
//==================================
// Set up I/O
//==================================
- new testchipip.serdes.WithSerialTLWidth(4) ++ // 4bit wide Serialized TL interface to minimize IO
- new testchipip.serdes.WithSerialTLMem(size = (1 << 30) * 4L) ++ // Configure the off-chip memory accessible over serial-tl as backing memory
+ new testchipip.serdes.WithSerialTL(Seq(testchipip.serdes.SerialTLParams( // 1 serial tilelink port
+ manager = Some(testchipip.serdes.SerialTLManagerParams( // port acts as a manager of offchip memory
+ memParams = Seq(testchipip.serdes.ManagerRAMParams( // 4 GB of off-chip memory
+ address = BigInt("80000000", 16),
+ size = BigInt("100000000", 16)
+ )),
+ isMemoryDevice = true
+ )),
+ client = Some(testchipip.serdes.SerialTLClientParams()), // Allow an external manager to probe this chip
+ phyParams = testchipip.serdes.ExternalSyncSerialPhyParams(phitWidth=4, flitWidth=16) // 4-bit bidir interface, sync'd to an external clock
+ ))) ++
+
new freechips.rocketchip.subsystem.WithNoMemPort ++ // Remove axi4 mem port
new freechips.rocketchip.subsystem.WithNMemoryChannels(1) ++ // 1 memory channel
@@ -60,10 +70,16 @@ class ChipBringupHostConfig extends Config(
//=============================
// Setup the SerialTL side on the bringup device
//=============================
- new testchipip.serdes.WithSerialTLWidth(4) ++ // match width with the chip
- new testchipip.serdes.WithSerialTLMem(base = 0x0, size = 0x80000000L, // accessible memory of the chip that doesn't come from the tethered host
- idBits = 4, isMainMemory = false) ++ // This assumes off-chip mem starts at 0x8000_0000
- new testchipip.serdes.WithSerialTLClockDirection(provideClockFreqMHz = Some(75)) ++ // bringup board drives the clock for the serial-tl receiver on the chip, use 75MHz clock
+ new testchipip.serdes.WithSerialTL(Seq(testchipip.serdes.SerialTLParams(
+ manager = Some(testchipip.serdes.SerialTLManagerParams(
+ memParams = Seq(testchipip.serdes.ManagerRAMParams( // Bringup platform can access all memory from 0 to DRAM_BASE
+ address = BigInt("00000000", 16),
+ size = BigInt("80000000", 16)
+ ))
+ )),
+ client = Some(testchipip.serdes.SerialTLClientParams()), // Allow chip to access this device's memory (DRAM)
+ phyParams = testchipip.serdes.InternalSyncSerialPhyParams(phitWidth=4, flitWidth=16, freqMHz = 75) // bringup platform provides the clock
+ ))) ++
//============================
// Setup bus topology on the bringup system
@@ -110,5 +126,9 @@ class TetheredChipLikeRocketConfig extends Config(
class VerilatorCITetheredChipLikeRocketConfig extends Config(
new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++ // use absolute freqs for sims in the harness
new chipyard.harness.WithMultiChipSerialTL(0, 1) ++ // connect the serial-tl ports of the chips together
- new chipyard.harness.WithMultiChip(0, new chipyard.config.WithNoResetSynchronizers ++ new ChipLikeRocketConfig) ++
+ new chipyard.harness.WithMultiChip(0, // These fragments remove all troublesome
+ new chipyard.clocking.WithPLLSelectorDividerClockGenerator(enable=false) ++ // clocking features from the design
+ new chipyard.iobinders.WithDebugIOCells(syncReset = false) ++
+ new chipyard.config.WithNoResetSynchronizers ++
+ new ChipLikeRocketConfig) ++
new chipyard.harness.WithMultiChip(1, new ChipBringupHostConfig))
diff --git a/generators/chipyard/src/main/scala/config/ChipletConfigs.scala b/generators/chipyard/src/main/scala/config/ChipletConfigs.scala
new file mode 100644
index 00000000..dbf3fa0a
--- /dev/null
+++ b/generators/chipyard/src/main/scala/config/ChipletConfigs.scala
@@ -0,0 +1,93 @@
+package chipyard
+
+import org.chipsalliance.cde.config.{Config}
+import freechips.rocketchip.diplomacy.{AddressSet}
+import freechips.rocketchip.subsystem.{SBUS}
+import testchipip.soc.{OBUS}
+
+// ------------------------------------------------
+// Configs demonstrating chip-to-chip communication
+// ------------------------------------------------
+
+// Simple design which exposes a second serial-tl port that can connect to another instance of itself
+class SymmetricChipletRocketConfig extends Config(
+ new testchipip.soc.WithChipIdPin ++ // Add pin to identify chips
+ new chipyard.harness.WithSerialTLTiedOff(tieoffs=Some(Seq(1))) ++ // Tie-off the chip-to-chip link in single-chip sims
+ new testchipip.serdes.WithSerialTL(Seq(
+ testchipip.serdes.SerialTLParams( // 0th serial-tl is chip-to-bringup-fpga
+ client = Some(testchipip.serdes.SerialTLClientParams()), // bringup serial-tl acts only as a client
+ phyParams = testchipip.serdes.ExternalSyncSerialPhyParams() // bringup serial-tl is sync'd to external clock
+ ),
+ testchipip.serdes.SerialTLParams( // 1st serial-tl is chip-to-chip
+ client = Some(testchipip.serdes.SerialTLClientParams()), // chip-to-chip serial-tl acts as a client
+ manager = Some(testchipip.serdes.SerialTLManagerParams( // chip-to-chip serial-tl managers other chip's memory
+ memParams = Seq(testchipip.serdes.ManagerRAMParams(
+ address = 0,
+ size = 1L << 32,
+ )),
+ slaveWhere = OBUS
+ )),
+ phyParams = testchipip.serdes.SourceSyncSerialPhyParams() // chip-to-chip serial-tl is symmetric source-sync'd
+ ))
+ ) ++
+ new testchipip.soc.WithOffchipBusClient(SBUS, // obus provides path to other chip's memory
+ blockRange = Seq(AddressSet(0, (1L << 32) - 1)), // The lower 4GB is mapped to this chip
+ replicationBase = Some(1L << 32) // The upper 4GB goes off-chip
+ ) ++
+ new testchipip.soc.WithOffchipBus ++
+ new freechips.rocketchip.subsystem.WithNBigCores(1) ++
+ new chipyard.config.AbstractConfig)
+
+// Simulates 2X of the SymmetricChipletRocketConfig in a multi-sim config
+class MultiSimSymmetricChipletRocketConfig extends Config(
+ new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++
+ new chipyard.harness.WithMultiChipSerialTL(chip0=0, chip1=1, chip0portId=1, chip1portId=1) ++
+ new chipyard.harness.WithMultiChip(0, new SymmetricChipletRocketConfig) ++
+ new chipyard.harness.WithMultiChip(1, new SymmetricChipletRocketConfig)
+)
+
+// Core-only chiplet config, where the coherent memory is located on the LLC-chiplet
+class RocketCoreChipletConfig extends Config(
+ new testchipip.serdes.WithSerialTL(Seq(
+ testchipip.serdes.SerialTLParams(
+ client = Some(testchipip.serdes.SerialTLClientParams()),
+ phyParams = testchipip.serdes.ExternalSyncSerialPhyParams() // chip-to-chip serial-tl is symmetric source-sync'd
+ ),
+ testchipip.serdes.SerialTLParams(
+ manager = Some(testchipip.serdes.SerialTLManagerParams(
+ cohParams = Seq(testchipip.serdes.ManagerCOHParams(
+ address = BigInt("80000000", 16),
+ size = BigInt("100000000", 16)
+ )),
+ slaveWhere = OBUS,
+ isMemoryDevice = true
+ )),
+ phyParams = testchipip.serdes.SourceSyncSerialPhyParams()
+ )
+ )) ++
+ new testchipip.soc.WithOffchipBusClient(SBUS) ++
+ new testchipip.soc.WithOffchipBus ++
+ new testchipip.soc.WithNoScratchpads ++
+ new freechips.rocketchip.subsystem.WithIncoherentBusTopology ++
+ new freechips.rocketchip.subsystem.WithNoMemPort ++
+ new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++
+ new freechips.rocketchip.subsystem.WithNBigCores(1) ++
+ new chipyard.config.AbstractConfig)
+
+// LLC-only chiplet
+class LLCChipletConfig extends Config(
+ new chipyard.harness.WithSerialTLTiedOff ++
+ new testchipip.serdes.WithSerialTL(Seq(testchipip.serdes.SerialTLParams( // 1st serial-tl is chip-to-chip
+ client = Some(testchipip.serdes.SerialTLClientParams(supportsProbe=true)),
+ phyParams = testchipip.serdes.SourceSyncSerialPhyParams() // chip-to-chip serial-tl is symmetric source-sync'd
+ ))) ++
+ new freechips.rocketchip.subsystem.WithExtMemSize((1 << 30) * 4L) ++
+ new chipyard.NoCoresConfig
+)
+
+class MultiSimLLCChipletRocketConfig extends Config(
+ new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++
+ new chipyard.harness.WithMultiChipSerialTL(chip0=0, chip1=1, chip0portId=1, chip1portId=0) ++
+ new chipyard.harness.WithMultiChip(0, new RocketCoreChipletConfig) ++
+ new chipyard.harness.WithMultiChip(1, new LLCChipletConfig)
+)
diff --git a/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala b/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala
index c49f85ee..1b351266 100644
--- a/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/MemorySystemConfigs.scala
@@ -39,3 +39,8 @@ class QuadChannelRocketConfig extends Config(
new freechips.rocketchip.subsystem.WithNMemoryChannels(4) ++ // 4 AXI4 channels
new freechips.rocketchip.subsystem.WithNBigCores(1) ++
new chipyard.config.AbstractConfig)
+
+class BroadcastCoherenceRocketConfig extends Config(
+ new chipyard.config.WithBroadcastManager ++ // Use broadcast-based coherence hub
+ new freechips.rocketchip.subsystem.WithNBigCores(1) ++
+ new chipyard.config.AbstractConfig)
diff --git a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala
index 99400743..fa74d9b8 100644
--- a/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/PeripheralDeviceConfigs.scala
@@ -75,6 +75,7 @@ class ManyPeripheralsRocketConfig extends Config(
new testchipip.serdes.WithSerialTLMem(isMainMemory=true) ++ // set lbwif memory base to DRAM_BASE, use as main memory
new chipyard.harness.WithSimSPIFlashModel(true) ++ // add the SPI flash model in the harness (read-only)
new chipyard.harness.WithSimBlockDevice ++ // drive block-device IOs with SimBlockDevice
+ new chipyard.config.WithPeripheryTimer ++ // add the pwm timer device
new chipyard.config.WithSPIFlash ++ // add the SPI flash controller
new freechips.rocketchip.subsystem.WithDefaultMMIOPort ++ // add default external master port
new freechips.rocketchip.subsystem.WithDefaultSlavePort ++ // add default external slave port
diff --git a/generators/chipyard/src/main/scala/config/RocketConfigs.scala b/generators/chipyard/src/main/scala/config/RocketConfigs.scala
index 216cb53e..d3f21584 100644
--- a/generators/chipyard/src/main/scala/config/RocketConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/RocketConfigs.scala
@@ -2,6 +2,7 @@ package chipyard
import org.chipsalliance.cde.config.{Config}
import freechips.rocketchip.diplomacy.{AsynchronousCrossing}
+import freechips.rocketchip.subsystem.{InCluster}
// --------------
// Rocket Configs
@@ -62,7 +63,7 @@ class MulticlockRocketConfig extends Config(
new freechips.rocketchip.subsystem.WithNBigCores(1) ++
// Frequency specifications
new chipyard.config.WithTileFrequency(1000.0) ++ // Matches the maximum frequency of U540
- new chipyard.clocking.WithClockGroupsCombinedByName(("uncore" , Seq("sbus", "cbus", "implicit"), Nil),
+ new chipyard.clocking.WithClockGroupsCombinedByName(("uncore" , Seq("sbus", "cbus", "implicit", "clock_tap"), Nil),
("periphery", Seq("pbus", "fbus"), Nil)) ++
new chipyard.config.WithSystemBusFrequency(500.0) ++ // Matches the maximum frequency of U540
new chipyard.config.WithMemoryBusFrequency(500.0) ++ // Matches the maximum frequency of U540
@@ -88,3 +89,14 @@ class PrefetchingRocketConfig extends Config(
new freechips.rocketchip.subsystem.WithNonblockingL1(2) ++ // non-blocking L1D$, L1 prefetching only works with non-blocking L1D$
new freechips.rocketchip.subsystem.WithNBigCores(1) ++ // single rocket-core
new chipyard.config.AbstractConfig)
+
+class ClusteredRocketConfig extends Config(
+ new freechips.rocketchip.subsystem.WithNBigCores(4, location=InCluster(1)) ++
+ new freechips.rocketchip.subsystem.WithNBigCores(4, location=InCluster(0)) ++
+ new freechips.rocketchip.subsystem.WithCluster(1) ++
+ new freechips.rocketchip.subsystem.WithCluster(0) ++
+ new chipyard.config.AbstractConfig)
+
+class FastRTLSimRocketConfig extends Config(
+ new freechips.rocketchip.subsystem.WithoutTLMonitors ++
+ new chipyard.RocketConfig)
diff --git a/generators/chipyard/src/main/scala/config/TracegenConfigs.scala b/generators/chipyard/src/main/scala/config/TracegenConfigs.scala
index 4235bf1e..c9db790d 100644
--- a/generators/chipyard/src/main/scala/config/TracegenConfigs.scala
+++ b/generators/chipyard/src/main/scala/config/TracegenConfigs.scala
@@ -12,10 +12,11 @@ class AbstractTraceGenConfig extends Config(
new chipyard.iobinders.WithAXI4MemPunchthrough ++
new chipyard.iobinders.WithTraceGenSuccessPunchthrough ++
new chipyard.clocking.WithPassthroughClockGenerator ++
- new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus", "implicit"), Nil)) ++
+ new chipyard.clocking.WithClockGroupsCombinedByName(("uncore", Seq("sbus"), Nil)) ++
new chipyard.config.WithTracegenSystem ++
- new chipyard.config.WithNoSubsystemDrivenClocks ++
+ new chipyard.config.WithNoSubsystemClockIO ++
new chipyard.config.WithMemoryBusFrequency(1000.0) ++
+ new chipyard.config.WithControlBusFrequency(1000.0) ++
new chipyard.config.WithSystemBusFrequency(1000.0) ++
new chipyard.config.WithPeripheryBusFrequency(1000.0) ++
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
diff --git a/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala b/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala
index f86254c4..8cf6ae67 100644
--- a/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/ClockingFragments.scala
@@ -19,8 +19,8 @@ import testchipip.soc.{OffchipBusKey}
// with the implicit clocks of Subsystem. Don't do that, instead we extend
// the diplomacy graph upwards into the ChipTop, where we connect it to
// our clock drivers
-class WithNoSubsystemDrivenClocks extends Config((site, here, up) => {
- case SubsystemDriveAsyncClockGroupsKey => None
+class WithNoSubsystemClockIO extends Config((site, here, up) => {
+ case SubsystemDriveClockGroupsFromIO => false
})
/**
@@ -111,14 +111,22 @@ class WithOffchipBusFrequency(freqMHz: Double) extends Config((site, here, up) =
class WithRationalMemoryBusCrossing extends WithSbusToMbusCrossingType(RationalCrossing(Symmetric))
class WithAsynchrousMemoryBusCrossing extends WithSbusToMbusCrossingType(AsynchronousCrossing())
+// Remove the tile clock gaters in this system
class WithNoTileClockGaters extends Config((site, here, up) => {
case ChipyardPRCIControlKey => up(ChipyardPRCIControlKey).copy(enableTileClockGating = false)
})
+// Remove the tile reset control blocks in this system
class WithNoTileResetSetters extends Config((site, here, up) => {
case ChipyardPRCIControlKey => up(ChipyardPRCIControlKey).copy(enableTileResetSetting = false)
})
+// Remove the global reset synchronizers in this system
class WithNoResetSynchronizers extends Config((site, here, up) => {
case ChipyardPRCIControlKey => up(ChipyardPRCIControlKey).copy(enableResetSynchronizers = false)
})
+
+// Remove any ClockTap ports in this system
+class WithNoClockTap extends Config((site, here, up) => {
+ case ClockTapKey => false
+})
diff --git a/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala b/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala
index a5e7eddf..265be720 100644
--- a/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/PeripheralFragments.scala
@@ -16,6 +16,7 @@ import sifive.blocks.devices.gpio._
import sifive.blocks.devices.uart._
import sifive.blocks.devices.spi._
import sifive.blocks.devices.i2c._
+import sifive.blocks.devices.timer._
import testchipip._
@@ -169,3 +170,7 @@ class WithNoBusErrorDevices extends Config((site, here, up) => {
case MemoryBusKey => up(MemoryBusKey).copy(errorDevice = None)
case FrontBusKey => up(FrontBusKey).copy(errorDevice = None)
})
+
+class WithPeripheryTimer(timerParams: TimerParams = TimerParams(0x4000)) extends Config((site, here, up) => {
+ case PeripheryTimerKey => Seq(timerParams)
+})
diff --git a/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala b/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala
index 4680eeeb..c9f7fcdb 100644
--- a/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/RoCCFragments.scala
@@ -12,15 +12,15 @@ import gemmini._
import chipyard.{TestSuitesKey, TestSuiteHelper}
/**
- * Map from a hartId to a particular RoCC accelerator
+ * Map from a tileId to a particular RoCC accelerator
*/
case object MultiRoCCKey extends Field[Map[Int, Seq[Parameters => LazyRoCC]]](Map.empty[Int, Seq[Parameters => LazyRoCC]])
/**
- * Config fragment to enable different RoCCs based on the hartId
+ * Config fragment to enable different RoCCs based on the tileId
*/
class WithMultiRoCC extends Config((site, here, up) => {
- case BuildRoCC => site(MultiRoCCKey).getOrElse(site(TileKey).hartId, Nil)
+ case BuildRoCC => site(MultiRoCCKey).getOrElse(site(TileKey).tileId, Nil)
})
/**
@@ -39,7 +39,7 @@ class WithMultiRoCCFromBuildRoCC(harts: Int*) extends Config((site, here, up) =>
*
* For ex:
* Core 0, 1, 2, 3 have been defined earlier
- * with hartIds of 0, 1, 2, 3 respectively
+ * with tileIds of 0, 1, 2, 3 respectively
* And you call WithMultiRoCCHwacha(0,1)
* Then Core 0 and 1 will get a Hwacha
*
diff --git a/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala b/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala
index 7a45d293..b4971cba 100644
--- a/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/SubsystemFragments.scala
@@ -7,7 +7,7 @@ import sifive.blocks.inclusivecache.{InclusiveCachePortParameters}
// Replaces the L2 with a broadcast manager for maintaining coherence
class WithBroadcastManager extends Config((site, here, up) => {
- case BankedL2Key => up(BankedL2Key, site).copy(coherenceManager = CoherenceManagerWrapper.broadcastManager)
+ case SubsystemBankedCoherenceKey => up(SubsystemBankedCoherenceKey, site).copy(coherenceManager = CoherenceManagerWrapper.broadcastManager)
})
class WithBroadcastParams(params: BroadcastParams) extends Config((site, here, up) => {
diff --git a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala
index 92d8fc6f..392f1508 100644
--- a/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala
+++ b/generators/chipyard/src/main/scala/config/fragments/TileFragments.scala
@@ -78,7 +78,7 @@ class WithRocketCacheRowBits(rowBits: Int = 64) extends Config((site, here, up)
class WithRocketICacheScratchpad extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem), site) map {
case tp: RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy(
- icache = tp.tileParams.icache.map(_.copy(itimAddr = Some(0x300000 + tp.tileParams.hartId * 0x10000)))
+ icache = tp.tileParams.icache.map(_.copy(itimAddr = Some(0x300000 + tp.tileParams.tileId * 0x10000)))
))
}
})
@@ -86,7 +86,7 @@ class WithRocketICacheScratchpad extends Config((site, here, up) => {
class WithRocketDCacheScratchpad extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem), site) map {
case tp: RocketTileAttachParams => tp.copy(tileParams = tp.tileParams.copy(
- dcache = tp.tileParams.dcache.map(_.copy(nSets = 32, nWays = 1, scratch = Some(0x200000 + tp.tileParams.hartId * 0x10000)))
+ dcache = tp.tileParams.dcache.map(_.copy(nSets = 32, nWays = 1, scratch = Some(0x200000 + tp.tileParams.tileId * 0x10000)))
))
}
})
@@ -94,15 +94,15 @@ class WithRocketDCacheScratchpad extends Config((site, here, up) => {
class WithTilePrefetchers extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => up(TilesLocated(InSubsystem), site) map {
case tp: RocketTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: BoomTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: SodorTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: IbexTileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
case tp: CVA6TileAttachParams => tp.copy(crossingParams = tp.crossingParams.copy(
- master = TilePrefetchingMasterPortParams(tp.tileParams.hartId, tp.crossingParams.master)))
+ master = TilePrefetchingMasterPortParams(tp.tileParams.tileId, tp.crossingParams.master)))
}
})
diff --git a/generators/chipyard/src/main/scala/example/FlatChipTop.scala b/generators/chipyard/src/main/scala/example/FlatChipTop.scala
index 96139ef5..d4caa49b 100644
--- a/generators/chipyard/src/main/scala/example/FlatChipTop.scala
+++ b/generators/chipyard/src/main/scala/example/FlatChipTop.scala
@@ -30,9 +30,6 @@ class FlatChipTop(implicit p: Parameters) extends LazyModule with HasChipyardPor
//========================
// Diplomatic clock stuff
//========================
- val implicitClockSinkNode = ClockSinkNode(Seq(ClockSinkParameters(name = Some("implicit_clock"))))
- system.connectImplicitClockSinkNode(implicitClockSinkNode)
-
val tlbus = system.locateTLBusWrapper(system.prciParams.slaveWhere)
val baseAddress = system.prciParams.baseAddress
val clockDivider = system.prci_ctrl_domain { LazyModule(new TLClockDivider (baseAddress + 0x20000, tlbus.beatBytes)) }
@@ -43,7 +40,7 @@ class FlatChipTop(implicit p: Parameters) extends LazyModule with HasChipyardPor
tlbus.coupleTo("clock-sel-ctrl") { clockSelector.tlNode := TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := TLBuffer() := _ }
tlbus.coupleTo("pll-ctrl") { pllCtrl.tlNode := TLFragmenter(tlbus.beatBytes, tlbus.blockBytes) := TLBuffer() := _ }
- system.allClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
+ system.chiptopClockGroupsNode := clockDivider.clockNode := clockSelector.clockNode
// Connect all other requested clocks
val slowClockSource = ClockSourceNode(Seq(ClockSourceParameters()))
@@ -69,13 +66,6 @@ class FlatChipTop(implicit p: Parameters) extends LazyModule with HasChipyardPor
//=========================
// Clock/reset
//=========================
- val implicit_clock = implicitClockSinkNode.in.head._1.clock
- val implicit_reset = implicitClockSinkNode.in.head._1.reset
- system.module match { case l: LazyModuleImp => {
- l.clock := implicit_clock
- l.reset := implicit_reset
- }}
-
val clock_wire = Wire(Input(Clock()))
val reset_wire = Wire(Input(AsyncReset()))
val (clock_pad, clockIOCell) = IOCell.generateIOFromSignal(clock_wire, "clock", p(IOCellKey))
diff --git a/generators/chipyard/src/main/scala/example/FlatTestHarness.scala b/generators/chipyard/src/main/scala/example/FlatTestHarness.scala
index 304c58a3..c97ff84c 100644
--- a/generators/chipyard/src/main/scala/example/FlatTestHarness.scala
+++ b/generators/chipyard/src/main/scala/example/FlatTestHarness.scala
@@ -1,7 +1,6 @@
package chipyard.example
import chisel3._
-import chisel3.experimental.{Analog, BaseModule, DataMirror, Direction}
import scala.collection.mutable.{ArrayBuffer, LinkedHashMap}
import org.chipsalliance.cde.config.{Field, Parameters}
@@ -11,10 +10,10 @@ import freechips.rocketchip.util.{PlusArg}
import freechips.rocketchip.subsystem.{CacheBlockBytes}
import freechips.rocketchip.devices.debug.{SimJTAG}
import freechips.rocketchip.jtag.{JTAGIO}
-import testchipip.serdes.{SerialTLKey}
+import testchipip.serdes._
import testchipip.uart.{UARTAdapter}
import testchipip.dram.{SimDRAM}
-import testchipip.tsi.{TSIHarness, SimTSI}
+import testchipip.tsi.{TSIHarness, SimTSI, SerialRAM}
import chipyard.harness.{BuildTop}
// A "flat" TestHarness that doesn't use IOBinders
@@ -46,18 +45,28 @@ class FlatTestHarness(implicit val p: Parameters) extends Module {
val serialTLManagerParams = sVal.manager.get
require(serialTLManagerParams.isMemoryDevice)
- withClockAndReset(clock, reset) {
- val serial_bits = dut.serial_tl_pad.bits
- if (DataMirror.directionOf(dut.serial_tl_pad.clock) == Direction.Input) {
- dut.serial_tl_pad.clock := clock
- }
- val harnessRAM = TSIHarness.connectRAM(
- p(SerialTLKey)(0),
- lazyDut.system.serdessers(0),
- serial_bits,
- reset)
- io.success := SimTSI.connect(harnessRAM.module.io.tsi, clock, reset)
+ // Figure out which clock drives the harness TLSerdes, based on the port type
+ val serial_ram_clock = dut.serial_tl_pad match {
+ case io: InternalSyncPhitIO => io.clock_out
+ case io: ExternalSyncPhitIO => clock
+ }
+ dut.serial_tl_pad match {
+ case io: ExternalSyncPhitIO => io.clock_in := clock
+ case io: InternalSyncPhitIO =>
+ }
+ dut.serial_tl_pad match {
+ case pad: DecoupledPhitIO => {
+ withClockAndReset(serial_ram_clock, reset) {
+ // SerialRAM implements the memory regions the chip expects
+ val ram = Module(LazyModule(new SerialRAM(lazyDut.system.serdessers(0), p(SerialTLKey)(0))).module)
+ ram.io.ser.in <> pad.out
+ pad.in <> ram.io.ser.out
+
+ // Allow TSI to master the chip
+ io.success := SimTSI.connect(ram.io.tsi, serial_ram_clock, reset)
+ }
+ }
}
// JTAG
diff --git a/generators/chipyard/src/main/scala/example/GCD.scala b/generators/chipyard/src/main/scala/example/GCD.scala
index ae1d49dd..ef3edc1f 100644
--- a/generators/chipyard/src/main/scala/example/GCD.scala
+++ b/generators/chipyard/src/main/scala/example/GCD.scala
@@ -4,6 +4,7 @@ import chisel3._
import chisel3.util._
import chisel3.experimental.{IntParam, BaseModule}
import freechips.rocketchip.amba.axi4._
+import freechips.rocketchip.prci._
import freechips.rocketchip.subsystem.BaseSubsystem
import org.chipsalliance.cde.config.{Parameters, Field, Config}
import freechips.rocketchip.diplomacy._
@@ -36,27 +37,24 @@ class GCDIO(val w: Int) extends Bundle {
val busy = Output(Bool())
}
-trait GCDTopIO extends Bundle {
+class GCDTopIO extends Bundle {
val gcd_busy = Output(Bool())
}
-trait HasGCDIO extends BaseModule {
- val w: Int
- val io = IO(new GCDIO(w))
+trait HasGCDTopIO {
+ def io: GCDTopIO
}
// DOC include start: GCD blackbox
-class GCDMMIOBlackBox(val w: Int) extends BlackBox(Map("WIDTH" -> IntParam(w))) with HasBlackBoxResource
- with HasGCDIO
-{
+class GCDMMIOBlackBox(val w: Int) extends BlackBox(Map("WIDTH" -> IntParam(w))) with HasBlackBoxResource {
+ val io = IO(new GCDIO(w))
addResource("/vsrc/GCDMMIOBlackBox.v")
}
// DOC include end: GCD blackbox
// DOC include start: GCD chisel
-class GCDMMIOChiselModule(val w: Int) extends Module
- with HasGCDIO
-{
+class GCDMMIOChiselModule(val w: Int) extends Module {
+ val io = IO(new GCDIO(w))
val s_idle :: s_run :: s_done :: Nil = Enum(3)
val state = RegInit(s_idle)
@@ -90,70 +88,106 @@ class GCDMMIOChiselModule(val w: Int) extends Module
}
// DOC include end: GCD chisel
-// DOC include start: GCD instance regmap
-
-trait GCDModule extends HasRegMap {
- val io: GCDTopIO
-
- implicit val p: Parameters
- def params: GCDParams
- val clock: Clock
- val reset: Reset
-
-
- // How many clock cycles in a PWM cycle?
- val x = Reg(UInt(params.width.W))
- val y = Wire(new DecoupledIO(UInt(params.width.W)))
- val gcd = Wire(new DecoupledIO(UInt(params.width.W)))
- val status = Wire(UInt(2.W))
-
- val impl = if (params.useBlackBox) {
- Module(new GCDMMIOBlackBox(params.width))
- } else {
- Module(new GCDMMIOChiselModule(params.width))
- }
-
- impl.io.clock := clock
- impl.io.reset := reset.asBool
-
- impl.io.x := x
- impl.io.y := y.bits
- impl.io.input_valid := y.valid
- y.ready := impl.io.input_ready
-
- gcd.bits := impl.io.gcd
- gcd.valid := impl.io.output_valid
- impl.io.output_ready := gcd.ready
-
- status := Cat(impl.io.input_ready, impl.io.output_valid)
- io.gcd_busy := impl.io.busy
-
- regmap(
- 0x00 -> Seq(
- RegField.r(2, status)), // a read-only register capturing current status
- 0x04 -> Seq(
- RegField.w(params.width, x)), // a plain, write-only register
- 0x08 -> Seq(
- RegField.w(params.width, y)), // write-only, y.valid is set on write
- 0x0C -> Seq(
- RegField.r(params.width, gcd))) // read-only, gcd.ready is set on read
-}
-// DOC include end: GCD instance regmap
-
// DOC include start: GCD router
-class GCDTL(params: GCDParams, beatBytes: Int)(implicit p: Parameters)
- extends TLRegisterRouter(
- params.address, "gcd", Seq("ucbbar,gcd"),
- beatBytes = beatBytes)(
- new TLRegBundle(params, _) with GCDTopIO)(
- new TLRegModule(params, _, _) with GCDModule)
+class GCDTL(params: GCDParams, beatBytes: Int)(implicit p: Parameters) extends ClockSinkDomain(ClockSinkParameters())(p) {
+ val device = new SimpleDevice("gcd", Seq("ucbbar,gcd"))
+ val node = TLRegisterNode(Seq(AddressSet(params.address, 4096-1)), device, "reg/control", beatBytes=beatBytes)
-class GCDAXI4(params: GCDParams, beatBytes: Int)(implicit p: Parameters)
- extends AXI4RegisterRouter(
- params.address,
- beatBytes=beatBytes)(
- new AXI4RegBundle(params, _) with GCDTopIO)(
- new AXI4RegModule(params, _, _) with GCDModule)
+ override lazy val module = new GCDImpl
+ class GCDImpl extends Impl with HasGCDTopIO {
+ val io = IO(new GCDTopIO)
+ withClockAndReset(clock, reset) {
+ // How many clock cycles in a PWM cycle?
+ val x = Reg(UInt(params.width.W))
+ val y = Wire(new DecoupledIO(UInt(params.width.W)))
+ val gcd = Wire(new DecoupledIO(UInt(params.width.W)))
+ val status = Wire(UInt(2.W))
+
+ val impl_io = if (params.useBlackBox) {
+ val impl = Module(new GCDMMIOBlackBox(params.width))
+ impl.io
+ } else {
+ val impl = Module(new GCDMMIOChiselModule(params.width))
+ impl.io
+ }
+
+ impl_io.clock := clock
+ impl_io.reset := reset.asBool
+
+ impl_io.x := x
+ impl_io.y := y.bits
+ impl_io.input_valid := y.valid
+ y.ready := impl_io.input_ready
+
+ gcd.bits := impl_io.gcd
+ gcd.valid := impl_io.output_valid
+ impl_io.output_ready := gcd.ready
+
+ status := Cat(impl_io.input_ready, impl_io.output_valid)
+ io.gcd_busy := impl_io.busy
+
+// DOC include start: GCD instance regmap
+ node.regmap(
+ 0x00 -> Seq(
+ RegField.r(2, status)), // a read-only register capturing current status
+ 0x04 -> Seq(
+ RegField.w(params.width, x)), // a plain, write-only register
+ 0x08 -> Seq(
+ RegField.w(params.width, y)), // write-only, y.valid is set on write
+ 0x0C -> Seq(
+ RegField.r(params.width, gcd))) // read-only, gcd.ready is set on read
+// DOC include end: GCD instance regmap
+ }
+ }
+}
+
+class GCDAXI4(params: GCDParams, beatBytes: Int)(implicit p: Parameters) extends ClockSinkDomain(ClockSinkParameters())(p) {
+ val node = AXI4RegisterNode(AddressSet(params.address, 4096-1), beatBytes=beatBytes)
+ override lazy val module = new GCDImpl
+ class GCDImpl extends Impl with HasGCDTopIO {
+ val io = IO(new GCDTopIO)
+ withClockAndReset(clock, reset) {
+ // How many clock cycles in a PWM cycle?
+ val x = Reg(UInt(params.width.W))
+ val y = Wire(new DecoupledIO(UInt(params.width.W)))
+ val gcd = Wire(new DecoupledIO(UInt(params.width.W)))
+ val status = Wire(UInt(2.W))
+
+ val impl_io = if (params.useBlackBox) {
+ val impl = Module(new GCDMMIOBlackBox(params.width))
+ impl.io
+ } else {
+ val impl = Module(new GCDMMIOChiselModule(params.width))
+ impl.io
+ }
+
+ impl_io.clock := clock
+ impl_io.reset := reset.asBool
+
+ impl_io.x := x
+ impl_io.y := y.bits
+ impl_io.input_valid := y.valid
+ y.ready := impl_io.input_ready
+
+ gcd.bits := impl_io.gcd
+ gcd.valid := impl_io.output_valid
+ impl_io.output_ready := gcd.ready
+
+ status := Cat(impl_io.input_ready, impl_io.output_valid)
+ io.gcd_busy := impl_io.busy
+
+ node.regmap(
+ 0x00 -> Seq(
+ RegField.r(2, status)), // a read-only register capturing current status
+ 0x04 -> Seq(
+ RegField.w(params.width, x)), // a plain, write-only register
+ 0x08 -> Seq(
+ RegField.w(params.width, y)), // write-only, y.valid is set on write
+ 0x0C -> Seq(
+ RegField.r(params.width, gcd))) // read-only, gcd.ready is set on read
+ }
+ }
+}
// DOC include end: GCD router
// DOC include start: GCD lazy trait
@@ -161,10 +195,11 @@ trait CanHavePeripheryGCD { this: BaseSubsystem =>
private val portName = "gcd"
// Only build if we are using the TL (nonAXI4) version
- val gcd = p(GCDKey) match {
+ val gcd_busy = p(GCDKey) match {
case Some(params) => {
- if (params.useAXI4) {
+ val gcd = if (params.useAXI4) {
val gcd = LazyModule(new GCDAXI4(params, pbus.beatBytes)(p))
+ gcd.clockNode := pbus.fixedClockNode
pbus.coupleTo(portName) {
gcd.node :=
AXI4Buffer () :=
@@ -172,34 +207,25 @@ trait CanHavePeripheryGCD { this: BaseSubsystem =>
// toVariableWidthSlave doesn't use holdFirstDeny, which TLToAXI4() needsx
TLFragmenter(pbus.beatBytes, pbus.blockBytes, holdFirstDeny = true) := _
}
- Some(gcd)
+ gcd
} else {
val gcd = LazyModule(new GCDTL(params, pbus.beatBytes)(p))
+ gcd.clockNode := pbus.fixedClockNode
pbus.coupleTo(portName) { gcd.node := TLFragmenter(pbus.beatBytes, pbus.blockBytes) := _ }
- Some(gcd)
+ gcd
}
+ val gcd_busy = InModuleBody {
+ val busy = IO(Output(Bool())).suggestName("gcd_busy")
+ busy := gcd.module.io.gcd_busy
+ busy
+ }
+ Some(gcd_busy)
}
case None => None
}
}
// DOC include end: GCD lazy trait
-// DOC include start: GCD imp trait
-trait CanHavePeripheryGCDModuleImp extends LazyModuleImp {
- val outer: CanHavePeripheryGCD
- val gcd_busy = outer.gcd match {
- case Some(gcd) => {
- val busy = IO(Output(Bool()))
- busy := gcd.module.io.gcd_busy
- Some(busy)
- }
- case None => None
- }
-}
-
-// DOC include end: GCD imp trait
-
-
// DOC include start: GCD config fragment
class WithGCD(useAXI4: Boolean = false, useBlackBox: Boolean = false) extends Config((site, here, up) => {
case GCDKey => Some(GCDParams(useAXI4 = useAXI4, useBlackBox = useBlackBox))
diff --git a/generators/chipyard/src/main/scala/example/TutorialTile.scala b/generators/chipyard/src/main/scala/example/TutorialTile.scala
index 38c8577a..76b17273 100644
--- a/generators/chipyard/src/main/scala/example/TutorialTile.scala
+++ b/generators/chipyard/src/main/scala/example/TutorialTile.scala
@@ -82,7 +82,7 @@ case class MyTileAttachParams(
case class MyTileParams(
name: Option[String] = Some("my_tile"),
- hartId: Int = 0,
+ tileId: Int = 0,
trace: Boolean = false,
val core: MyCoreParams = MyCoreParams()
) extends InstantiableTileParams[MyTile]
@@ -94,9 +94,11 @@ case class MyTileParams(
val dcache: Option[DCacheParams] = Some(DCacheParams())
val icache: Option[ICacheParams] = Some(ICacheParams())
val clockSinkParams: ClockSinkParameters = ClockSinkParameters()
- def instantiate(crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): MyTile = {
+ def instantiate(crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters): MyTile = {
new MyTile(this, crossing, lookup)
}
+ val baseName = name.getOrElse("my_tile")
+ val uniqueName = s"${baseName}_$tileId"
}
// DOC include start: Tile class
@@ -111,11 +113,11 @@ class MyTile(
{
// Private constructor ensures altered LazyModule.p is used implicitly
- def this(params: MyTileParams, crossing: TileCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
+ def this(params: MyTileParams, crossing: HierarchicalElementCrossingParamsLike, lookup: LookupByHartIdImpl)(implicit p: Parameters) =
this(params, crossing.crossingType, lookup, p)
// Require TileLink nodes
- val intOutwardNode = IntIdentityNode()
+ val intOutwardNode = None
val masterNode = visibilityNode
val slaveNode = TLIdentityNode()
@@ -135,7 +137,7 @@ class MyTile(
}
ResourceBinding {
- Resource(cpuDevice, "reg").bind(ResourceAddress(hartId))
+ Resource(cpuDevice, "reg").bind(ResourceAddress(tileId))
}
// TODO: Create TileLink nodes and connections here.
@@ -228,15 +230,15 @@ class MyTileModuleImp(outer: MyTile) extends BaseTileModuleImp(outer){
}
// DOC include start: Config fragment
-class WithNMyCores(n: Int = 1, overrideIdOffset: Option[Int] = None) extends Config((site, here, up) => {
+class WithNMyCores(n: Int = 1) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
// Calculate the next available hart ID (since hart ID cannot be duplicated)
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
// Create TileAttachParams for every core to be instantiated
(0 until n).map { i =>
MyTileAttachParams(
- tileParams = MyTileParams(hartId = i + idOffset),
+ tileParams = MyTileParams(tileId = i + idOffset),
crossingParams = RocketCrossingParams()
)
} ++ prev
@@ -245,5 +247,6 @@ class WithNMyCores(n: Int = 1, overrideIdOffset: Option[Int] = None) extends Con
case SystemBusKey => up(SystemBusKey, site).copy(beatBytes = 8)
// The # of instruction bits. Use maximum # of bits if your core supports both 32 and 64 bits.
case XLen => 64
+ case NumTiles => up(NumTiles) + n
})
// DOC include end: Config fragment
diff --git a/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala b/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala
index 01d72d24..df2ec35a 100644
--- a/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala
+++ b/generators/chipyard/src/main/scala/example/dsptools/GenericFIR.scala
@@ -199,12 +199,13 @@ class TLGenericFIRChain[T<:Data:Ring] (genIn: T, genOut: T, coeffs: => Seq[T], p
trait CanHavePeripheryStreamingFIR extends BaseSubsystem {
val streamingFIR = p(GenericFIRKey) match {
case Some(params) => {
- val streamingFIR = LazyModule(new TLGenericFIRChain(
+ val domain = pbus.generateSynchronousDomain.suggestName("fir_domain")
+ val streamingFIR = domain { LazyModule(new TLGenericFIRChain(
genIn = FixedPoint(8.W, 3.BP),
genOut = FixedPoint(8.W, 3.BP),
coeffs = Seq(1.U.asFixedPoint(0.BP), 2.U.asFixedPoint(0.BP), 3.U.asFixedPoint(0.BP)),
- params = params))
- pbus.coupleTo("streamingFIR") { streamingFIR.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes) := _ }
+ params = params)) }
+ pbus.coupleTo("streamingFIR") { domain { streamingFIR.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes) } := _ }
Some(streamingFIR)
}
case None => None
diff --git a/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala b/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala
index 45e05fc2..a2259ab1 100644
--- a/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala
+++ b/generators/chipyard/src/main/scala/example/dsptools/StreamingPassthrough.scala
@@ -131,8 +131,9 @@ class TLStreamingPassthroughChain[T<:Data:Ring](params: StreamingPassthroughPara
trait CanHavePeripheryStreamingPassthrough { this: BaseSubsystem =>
val passthrough = p(StreamingPassthroughKey) match {
case Some(params) => {
- val streamingPassthroughChain = LazyModule(new TLStreamingPassthroughChain(params, UInt(32.W)))
- pbus.coupleTo("streamingPassthrough") { streamingPassthroughChain.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes) := _ }
+ val domain = pbus.generateSynchronousDomain.suggestName("streaming_passthrough_domain")
+ val streamingPassthroughChain = domain { LazyModule(new TLStreamingPassthroughChain(params, UInt(32.W))) }
+ pbus.coupleTo("streamingPassthrough") { domain { streamingPassthroughChain.mem.get := TLFIFOFixer() := TLFragmenter(pbus.beatBytes, pbus.blockBytes)} := _ }
Some(streamingPassthroughChain)
}
case None => None
diff --git a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala
index 6710696d..ead97346 100644
--- a/generators/chipyard/src/main/scala/harness/HarnessBinders.scala
+++ b/generators/chipyard/src/main/scala/harness/HarnessBinders.scala
@@ -2,7 +2,8 @@ package chipyard.harness
import chisel3._
import chisel3.util._
-import chisel3.experimental.{Analog, BaseModule, DataMirror, Direction}
+import chisel3.reflect.DataMirror
+import chisel3.experimental.Direction
import org.chipsalliance.cde.config.{Field, Config, Parameters}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImpLike}
@@ -17,7 +18,7 @@ import testchipip.tsi.{SimTSI, SerialRAM, TSI, TSIIO}
import testchipip.soc.{TestchipSimDTM}
import testchipip.spi.{SimSPIFlashModel}
import testchipip.uart.{UARTAdapter, UARTToSerial}
-import testchipip.serdes.{SerialWidthAdapter}
+import testchipip.serdes._
import testchipip.iceblk.{SimBlockDevice, BlockDeviceModel}
import testchipip.cosim.{SpikeCosim}
import icenet.{NicLoopback, SimNetwork}
@@ -28,8 +29,8 @@ import chipyard.iobinders._
case object HarnessBinders extends Field[HarnessBinderFunction]({case _ => })
object ApplyHarnessBinders {
- def apply(th: HasHarnessInstantiators, ports: Seq[Port[_]])(implicit p: Parameters): Unit = {
- ports.foreach(port => p(HarnessBinders)(th, port))
+ def apply(th: HasHarnessInstantiators, ports: Seq[Port[_]], chipId: Int)(implicit p: Parameters): Unit = {
+ ports.foreach(port => p(HarnessBinders)(th, port, chipId))
}
}
@@ -41,24 +42,22 @@ class HarnessBinder[T <: HasHarnessInstantiators, S <: Port[_]](
class WithGPIOTiedOff extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: GPIOPort) => {
+ case (th: HasHarnessInstantiators, port: GPIOPort, chipId: Int) => {
port.io <> AnalogConst(0)
}
})
// DOC include start: WithUARTAdapter
class WithUARTAdapter extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTPort) => {
+ case (th: HasHarnessInstantiators, port: UARTPort, chipId: Int) => {
val div = (th.getHarnessBinderClockFreqMHz.toDouble * 1000000 / port.io.c.initBaudRate.toDouble).toInt
- val uart_sim = Module(new UARTAdapter(port.uartNo, div, false)).suggestName(s"uart_sim_uartno${port.uartNo}")
- uart_sim.io.uart.txd := port.io.txd
- port.io.rxd := uart_sim.io.uart.rxd
+ UARTAdapter.connect(Seq(port.io), div, false)
}
})
// DOC include end: WithUARTAdapter
class WithSimSPIFlashModel(rdOnly: Boolean = true) extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SPIFlashPort) => {
+ case (th: HasHarnessInstantiators, port: SPIFlashPort, chipId: Int) => {
val spi_mem = Module(new SimSPIFlashModel(port.params.fSize, port.spiId, rdOnly)).suggestName(s"spi_mem${port.spiId}")
spi_mem.io.sck := port.io.sck
require(port.params.csWidth == 1, "I don't know what to do with your extra CS bits. Fix me please.")
@@ -69,7 +68,7 @@ class WithSimSPIFlashModel(rdOnly: Boolean = true) extends HarnessBinder({
})
class WithSimBlockDevice extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: BlockDevicePort) => {
+ case (th: HasHarnessInstantiators, port: BlockDevicePort, chipId: Int) => {
val sim_blkdev = Module(new SimBlockDevice(port.params))
sim_blkdev.io.bdev <> port.io.bits
sim_blkdev.io.clock := port.io.clock
@@ -78,7 +77,7 @@ class WithSimBlockDevice extends HarnessBinder({
})
class WithBlockDeviceModel extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: BlockDevicePort) => {
+ case (th: HasHarnessInstantiators, port: BlockDevicePort, chipId: Int) => {
val blkdev_model = Module(new BlockDeviceModel(16, port.params))
blkdev_model.io <> port.io.bits
blkdev_model.clock := port.io.clock
@@ -87,33 +86,33 @@ class WithBlockDeviceModel extends HarnessBinder({
})
class WithLoopbackNIC extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: NICPort) => {
+ case (th: HasHarnessInstantiators, port: NICPort, chipId: Int) => {
withClock(port.io.clock) { NicLoopback.connect(port.io.bits, port.params) }
}
})
class WithSimNetwork extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: NICPort) => {
+ case (th: HasHarnessInstantiators, port: NICPort, chipId: Int) => {
withClock(port.io.clock) { SimNetwork.connect(Some(port.io.bits), port.io.clock, th.harnessBinderReset.asBool) }
}
})
class WithSimAXIMem extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4MemPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4MemPort, chipId: Int) => {
val mem = LazyModule(new SimAXIMem(port.edge, size=port.params.master.size)(Parameters.empty))
withClock(port.io.clock) { Module(mem.module) }
- mem.io_axi4.head <> port.io
+ mem.io_axi4.head <> port.io.bits
}
})
class WithBlackBoxSimMem(additionalLatency: Int = 0) extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4MemPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4MemPort, chipId: Int) => {
// TODO FIX: This currently makes each SimDRAM contain the entire memory space
val memSize = port.params.master.size
val memBase = port.params.master.base
val lineSize = 64 // cache block size
val clockFreq = port.clockFreqMHz
- val mem = Module(new SimDRAM(memSize, lineSize, clockFreq, memBase, port.edge.bundle)).suggestName("simdram")
+ val mem = Module(new SimDRAM(memSize, lineSize, clockFreq, memBase, port.edge.bundle, chipId)).suggestName("simdram")
mem.io.clock := port.io.clock
mem.io.reset := th.harnessBinderReset.asAsyncReset
@@ -140,7 +139,7 @@ class WithBlackBoxSimMem(additionalLatency: Int = 0) extends HarnessBinder({
})
class WithSimAXIMMIO extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4MMIOPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4MMIOPort, chipId: Int) => {
val mmio_mem = LazyModule(new SimAXIMem(port.edge, size = port.params.size)(Parameters.empty))
withClock(port.io.clock) { Module(mmio_mem.module).suggestName("mmio_mem") }
mmio_mem.io_axi4.head <> port.io.bits
@@ -148,13 +147,13 @@ class WithSimAXIMMIO extends HarnessBinder({
})
class WithTieOffInterrupts extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: ExtIntPort) => {
+ case (th: HasHarnessInstantiators, port: ExtIntPort, chipId: Int) => {
port.io := 0.U
}
})
class WithTieOffL2FBusAXI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: AXI4InPort) => {
+ case (th: HasHarnessInstantiators, port: AXI4InPort, chipId: Int) => {
port.io := DontCare
port.io.bits.aw.valid := false.B
port.io.bits.w.valid := false.B
@@ -165,7 +164,7 @@ class WithTieOffL2FBusAXI extends HarnessBinder({
})
class WithSimJTAGDebug extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: JTAGPort) => {
+ case (th: HasHarnessInstantiators, port: JTAGPort, chipId: Int) => {
val dtm_success = WireInit(false.B)
when (dtm_success) { th.success := true.B }
val jtag_wire = Wire(new JTAGIO)
@@ -180,7 +179,7 @@ class WithSimJTAGDebug extends HarnessBinder({
})
class WithSimDMI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: DMIPort) => {
+ case (th: HasHarnessInstantiators, port: DMIPort, chipId: Int) => {
val dtm_success = WireInit(false.B)
when (dtm_success) { th.success := true.B }
val dtm = Module(new TestchipSimDTM()(Parameters.empty)).connect(th.harnessBinderClock, th.harnessBinderReset.asBool, port.io, dtm_success)
@@ -188,7 +187,7 @@ class WithSimDMI extends HarnessBinder({
})
class WithTiedOffJTAG extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: JTAGPort) => {
+ case (th: HasHarnessInstantiators, port: JTAGPort, chipId: Int) => {
port.io.TCK := true.B.asClock
port.io.TMS := true.B
port.io.TDI := true.B
@@ -196,7 +195,7 @@ class WithTiedOffJTAG extends HarnessBinder({
})
class WithTiedOffDMI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: DMIPort) => {
+ case (th: HasHarnessInstantiators, port: DMIPort, chipId: Int) => {
port.io.dmi.req.valid := false.B
port.io.dmi.req.bits := DontCare
port.io.dmi.resp.ready := true.B
@@ -205,40 +204,65 @@ class WithTiedOffDMI extends HarnessBinder({
}
})
-class WithSerialTLTiedOff extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SerialTLPort) => {
- if (DataMirror.directionOf(port.io.clock) == Direction.Input) {
- port.io.clock := false.B.asClock
+// If tieoffs is specified, a list of serial portIds to tie off
+// If tieoffs is unspecified, ties off all serial ports
+class WithSerialTLTiedOff(tieoffs: Option[Seq[Int]] = None) extends HarnessBinder({
+ case (th: HasHarnessInstantiators, port: SerialTLPort, chipId: Int) if (tieoffs.map(_.contains(port.portId)).getOrElse(true)) => {
+ port.io match {
+ case io: DecoupledPhitIO => io.out.ready := false.B; io.in.valid := false.B; io.in.bits := DontCare;
+ case io: SourceSyncPhitIO => {
+ io.clock_in := false.B.asClock
+ io.reset_in := false.B.asAsyncReset
+ io.in := DontCare
+ }
+ }
+ port.io match {
+ case io: InternalSyncPhitIO =>
+ case io: ExternalSyncPhitIO => io.clock_in := false.B.asClock
+ case io: SourceSyncPhitIO =>
+ case _ =>
}
- port.io.bits.out.ready := false.B
- port.io.bits.in.valid := false.B
- port.io.bits.in.bits := DontCare
}
})
class WithSimTSIOverSerialTL extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SerialTLPort) => {
- val bits = port.io.bits
- if (DataMirror.directionOf(port.io.clock) == Direction.Input) {
- port.io.clock := th.harnessBinderClock
+ case (th: HasHarnessInstantiators, port: SerialTLPort, chipId: Int) if (port.portId == 0) => {
+ port.io match {
+ case io: InternalSyncPhitIO =>
+ case io: ExternalSyncPhitIO => io.clock_in := th.harnessBinderClock
+ case io: SourceSyncPhitIO => io.clock_in := th.harnessBinderClock; io.reset_in := th.harnessBinderReset
}
- val ram = LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p))
- Module(ram.module)
- ram.module.io.ser <> port.io.bits
- val tsi = Module(new SimTSI)
- tsi.io.clock := th.harnessBinderClock
- tsi.io.reset := th.harnessBinderReset
- tsi.io.tsi <> ram.module.io.tsi.get
- val exit = tsi.io.exit
- val success = exit === 1.U
- val error = exit >= 2.U
- assert(!error, "*** FAILED *** (exit code = %d)\n", exit >> 1.U)
- when (success) { th.success := true.B }
+
+ port.io match {
+ case io: DecoupledPhitIO => {
+ // If the port is locally synchronous (provides a clock), drive everything with that clock
+ // Else, drive everything with the harnes clock
+ val clock = port.io match {
+ case io: InternalSyncPhitIO => io.clock_out
+ case io: ExternalSyncPhitIO => th.harnessBinderClock
+ }
+ withClock(clock) {
+ val ram = Module(LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p)).module)
+ ram.io.ser.in <> io.out
+ io.in <> ram.io.ser.out
+
+ val success = SimTSI.connect(ram.io.tsi, clock, th.harnessBinderReset, chipId)
+ when (success) { th.success := true.B }
+ }
+ }
+ }
+ }
+})
+
+class WithDriveChipIdPin extends HarnessBinder({
+ case (th: HasHarnessInstantiators, port: ChipIdPort, chipId: Int) => {
+ require(chipId < math.pow(2, port.io.getWidth), "ID Pin is not wide enough")
+ port.io := chipId.U
}
})
class WithSimUARTToUARTTSI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTPort) => {
+ case (th: HasHarnessInstantiators, port: UARTPort, chipId: Int) => {
UARTAdapter.connect(Seq(port.io),
baudrate=port.io.c.initBaudRate,
clockFrequency=th.getHarnessBinderClockFreqHz.toInt,
@@ -247,7 +271,7 @@ class WithSimUARTToUARTTSI extends HarnessBinder({
})
class WithSimTSIToUARTTSI extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: UARTTSIPort) => {
+ case (th: HasHarnessInstantiators, port: UARTTSIPort, chipId: Int) => {
val freq = th.getHarnessBinderClockFreqHz.toInt
val uart_to_serial = Module(new UARTToSerial(freq, port.io.uart.c))
val serial_width_adapter = Module(new SerialWidthAdapter(8, TSI.WIDTH))
@@ -261,27 +285,27 @@ class WithSimTSIToUARTTSI extends HarnessBinder({
})
class WithTraceGenSuccess extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: SuccessPort) => {
+ case (th: HasHarnessInstantiators, port: SuccessPort, chipId: Int) => {
when (port.io) { th.success := true.B }
}
})
class WithCospike extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: TracePort) => {
+ case (th: HasHarnessInstantiators, port: TracePort, chipId: Int) => {
port.io.traces.zipWithIndex.map(t => SpikeCosim(t._1, t._2, port.cosimCfg))
}
})
class WithCustomBootPinPlusArg extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: CustomBootPort) => {
+ case (th: HasHarnessInstantiators, port: CustomBootPort, chipId: Int) => {
val pin = PlusArg("custom_boot_pin", width=1)
port.io := pin
}
})
class WithClockFromHarness extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: ClockPort) => {
+ case (th: HasHarnessInstantiators, port: ClockPort, chipId: Int) => {
// DOC include start: HarnessClockInstantiatorEx
port.io := th.harnessClockInstantiator.requestClockMHz(s"clock_${port.freqMHz}MHz", port.freqMHz)
// DOC include end: HarnessClockInstantiatorEx
@@ -289,7 +313,7 @@ class WithClockFromHarness extends HarnessBinder({
})
class WithResetFromHarness extends HarnessBinder({
- case (th: HasHarnessInstantiators, port: ResetPort) => {
+ case (th: HasHarnessInstantiators, port: ResetPort, chipId: Int) => {
port.io := th.referenceReset.asAsyncReset
}
})
diff --git a/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala b/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala
index 35331715..b8674623 100644
--- a/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala
+++ b/generators/chipyard/src/main/scala/harness/HasHarnessInstantiators.scala
@@ -89,7 +89,7 @@ trait HasHarnessInstantiators {
withClockAndReset (harnessBinderClock, harnessBinderReset) {
lazyDuts.zipWithIndex.foreach {
case (d: HasChipyardPorts, i: Int) => {
- ApplyHarnessBinders(this, d.ports)(chipParameters(i))
+ ApplyHarnessBinders(this, d.ports, i)(chipParameters(i))
}
case _ =>
}
diff --git a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala
index d3371dfd..55ff4191 100644
--- a/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala
+++ b/generators/chipyard/src/main/scala/harness/MultiHarnessBinders.scala
@@ -2,7 +2,6 @@ package chipyard.harness
import chisel3._
import chisel3.util._
-import chisel3.experimental.{DataMirror, Direction}
import org.chipsalliance.cde.config.{Field, Config, Parameters}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImpLike}
@@ -10,7 +9,7 @@ import freechips.rocketchip.devices.debug._
import freechips.rocketchip.subsystem._
import freechips.rocketchip.util._
-import testchipip._
+import testchipip.serdes._
import chipyard._
import chipyard.iobinders.{GetSystemParameters, JTAGChipIO, HasChipyardPorts, Port, SerialTLPort}
@@ -38,10 +37,10 @@ class MultiHarnessBinder[T <: Port[_], S <: HasHarnessInstantiators](
)(implicit tag0: ClassTag[T], tag1: ClassTag[S]) extends Config((site, here, up) => {
// Override any HarnessBinders for chip0/chip1
case MultiChipParameters(`chip0`) => new Config(
- new HarnessBinder({case (th: S, port: T) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0))
+ new HarnessBinder({case (th: S, port: T, chipId: Int) if chip0portFn(port) => }) ++ up(MultiChipParameters(chip0))
)
case MultiChipParameters(`chip1`) => new Config(
- new HarnessBinder({case (th: S, port: T) if chip1portFn(port) => }) ++ up(MultiChipParameters(chip1))
+ new HarnessBinder({case (th: S, port: T, chipId: Int) if chip1portFn(port) => }) ++ up(MultiChipParameters(chip1))
)
// Set the multiharnessbinder key
case MultiHarnessBinders(`chip0`, `chip1`) => up(MultiHarnessBinders(chip0, chip1)) :+ {
@@ -60,11 +59,23 @@ class WithMultiChipSerialTL(chip0: Int, chip1: Int, chip0portId: Int = 0, chip1p
(p0: SerialTLPort) => p0.portId == chip0portId,
(p1: SerialTLPort) => p1.portId == chip1portId,
(th: HasHarnessInstantiators, p0: SerialTLPort, p1: SerialTLPort) => {
- (DataMirror.directionOf(p0.io.clock), DataMirror.directionOf(p1.io.clock)) match {
- case (Direction.Input, Direction.Output) => p0.io.clock := p1.io.clock
- case (Direction.Output, Direction.Input) => p1.io.clock := p0.io.clock
+ def connectDecoupledSyncPhitIO(clkSource: InternalSyncPhitIO, clkSink: ExternalSyncPhitIO) = {
+ clkSink.clock_in := clkSource.clock_out
+ clkSink.in <> clkSource.out
+ clkSource.in <> clkSink.out
+ }
+ def connectSourceSyncPhitIO(a: SourceSyncPhitIO, b: SourceSyncPhitIO) = {
+ a.clock_in := b.clock_out
+ b.clock_in := a.clock_out
+ a.reset_in := b.reset_out
+ b.reset_in := a.reset_out
+ a.in := b.out
+ b.in := a.out
+ }
+ (p0.io, p1.io) match {
+ case (io0: InternalSyncPhitIO, io1: ExternalSyncPhitIO) => connectDecoupledSyncPhitIO(io0, io1)
+ case (io0: ExternalSyncPhitIO, io1: InternalSyncPhitIO) => connectDecoupledSyncPhitIO(io1, io0)
+ case (io0: SourceSyncPhitIO , io1: SourceSyncPhitIO ) => connectSourceSyncPhitIO (io0, io1)
}
- p0.io.bits.in <> p1.io.bits.out
- p1.io.bits.in <> p0.io.bits.out
}
)
diff --git a/generators/chipyard/src/main/scala/harness/package.scala b/generators/chipyard/src/main/scala/harness/package.scala
index d0366c55..d49c1119 100644
--- a/generators/chipyard/src/main/scala/harness/package.scala
+++ b/generators/chipyard/src/main/scala/harness/package.scala
@@ -6,6 +6,6 @@ import scala.collection.immutable.ListMap
package object harness
{
import chipyard.iobinders.Port
- type HarnessBinderFunction = PartialFunction[(HasHarnessInstantiators, Port[_]), Unit]
+ type HarnessBinderFunction = PartialFunction[(HasHarnessInstantiators, Port[_], Int), Unit]
type MultiHarnessBinderFunction = (HasHarnessInstantiators, Seq[Port[_]], Seq[Port[_]]) => Unit
}
diff --git a/generators/chipyard/src/main/scala/iobinders/IOBinders.scala b/generators/chipyard/src/main/scala/iobinders/IOBinders.scala
index 7695be70..80723b61 100644
--- a/generators/chipyard/src/main/scala/iobinders/IOBinders.scala
+++ b/generators/chipyard/src/main/scala/iobinders/IOBinders.scala
@@ -1,7 +1,8 @@
package chipyard.iobinders
import chisel3._
-import chisel3.experimental.{Analog, IO, DataMirror}
+import chisel3.reflect.DataMirror
+import chisel3.experimental.Analog
import org.chipsalliance.cde.config._
import freechips.rocketchip.diplomacy._
@@ -26,9 +27,10 @@ import barstools.iocell.chisel._
import testchipip.serdes.{CanHavePeripheryTLSerial, SerialTLKey}
import testchipip.spi.{SPIChipIO}
import testchipip.boot.{CanHavePeripheryCustomBootPin}
+import testchipip.soc.{CanHavePeripheryChipIdPin}
import testchipip.util.{ClockedIO}
import testchipip.iceblk.{CanHavePeripheryBlockDevice, BlockDeviceKey, BlockDeviceIO}
-import testchipip.cosim.{CanHaveTraceIOModuleImp, TraceOutputTop, SpikeCosimConfig}
+import testchipip.cosim.{CanHaveTraceIO, TraceOutputTop, SpikeCosimConfig}
import testchipip.tsi.{CanHavePeripheryUARTTSI, UARTTSIIO}
import icenet.{CanHavePeripheryIceNIC, SimNetwork, NicLoopback, NICKey, NICIOvonly}
import chipyard.{CanHaveMasterTLMemPort, ChipyardSystem, ChipyardSystemModule}
@@ -172,6 +174,7 @@ class WithGPIOCells extends OverrideIOBinder({
iocell.io.oe := pin.o.oe
iocell.io.ie := pin.o.ie
pin.i.ival := iocell.io.i
+ pin.i.po.foreach(_ := DontCare)
iocell.io.pad <> g
(GPIOPort(() => g, i, j), iocell)
}).unzip
@@ -284,7 +287,9 @@ class JTAGChipIO extends Bundle {
val TDO = Output(Bool())
}
-class WithDebugIOCells extends OverrideLazyIOBinder({
+// WARNING: Don't disable syncReset unless you are trying to
+// get around bugs in RTL simulators
+class WithDebugIOCells(syncReset: Boolean = true) extends OverrideLazyIOBinder({
(system: HasPeripheryDebug) => {
implicit val p = GetSystemParameters(system)
val tlbus = system.asInstanceOf[BaseSubsystem].locateTLBusWrapper(p(ExportDebug).slaveWhere)
@@ -308,7 +313,7 @@ class WithDebugIOCells extends OverrideLazyIOBinder({
d.disableDebug.foreach { d => d := false.B }
// Drive JTAG on-chip IOs
d.systemjtag.map { j =>
- j.reset := ResetCatchAndSync(j.jtag.TCK, clockBundle.reset.asBool)
+ j.reset := (if (syncReset) ResetCatchAndSync(j.jtag.TCK, clockBundle.reset.asBool) else clockBundle.reset.asBool)
j.mfr_id := p(JtagDTMKey).idcodeManufId.U(11.W)
j.part_number := p(JtagDTMKey).idcodePartNum.U(16.W)
j.version := p(JtagDTMKey).idcodeVersion.U(4.W)
@@ -352,6 +357,14 @@ class WithSerialTLIOCells extends OverrideIOBinder({
}
})
+class WithChipIdIOCells extends OverrideIOBinder({
+ (system: CanHavePeripheryChipIdPin) => system.chip_id_pin.map({ p =>
+ val sys = system.asInstanceOf[BaseSubsystem]
+ val (port, cells) = IOCell.generateIOFromSignal(p.getWrappedValue, s"chip_id", sys.p(IOCellKey), abstractResetAsAsync = true)
+ (Seq(ChipIdPort(() => port)), cells)
+ }).getOrElse(Nil, Nil)
+})
+
class WithSerialTLPunchthrough extends OverrideIOBinder({
(system: CanHavePeripheryTLSerial) => {
val (ports, cells) = system.serial_tls.zipWithIndex.map({ case (s, id) =>
@@ -454,14 +467,14 @@ class WithTraceGenSuccessPunchthrough extends OverrideIOBinder({
}
})
-class WithTraceIOPunchthrough extends OverrideIOBinder({
- (system: CanHaveTraceIOModuleImp) => {
+class WithTraceIOPunchthrough extends OverrideLazyIOBinder({
+ (system: CanHaveTraceIO) => InModuleBody {
val ports: Option[TracePort] = system.traceIO.map { t =>
val trace = IO(DataMirror.internal.chiselTypeClone[TraceOutputTop](t)).suggestName("trace")
trace <> t
val p = GetSystemParameters(system)
- val chipyardSystem = system.asInstanceOf[ChipyardSystemModule[_]].outer.asInstanceOf[ChipyardSystem]
- val tiles = chipyardSystem.tiles
+ val chipyardSystem = system.asInstanceOf[ChipyardSystem]
+ val tiles = chipyardSystem.totalTiles.values
val cfg = SpikeCosimConfig(
isa = tiles.headOption.map(_.isaDTS).getOrElse(""),
vlen = tiles.headOption.map(_.tileParams.core.vLen).getOrElse(0),
@@ -510,8 +523,8 @@ class WithDontTouchPorts extends OverrideIOBinder({
})
class WithNMITiedOff extends ComposeIOBinder({
- (system: HasTilesModuleImp) => {
- system.nmi.flatten.foreach { nmi =>
+ (system: HasHierarchicalElementsRootContextModuleImp) => {
+ system.nmi.foreach { nmi =>
nmi.rnmi := false.B
nmi.rnmi_interrupt_vector := 0.U
nmi.rnmi_exception_vector := 0.U
diff --git a/generators/chipyard/src/main/scala/iobinders/Ports.scala b/generators/chipyard/src/main/scala/iobinders/Ports.scala
index ba14cc39..6b327a18 100644
--- a/generators/chipyard/src/main/scala/iobinders/Ports.scala
+++ b/generators/chipyard/src/main/scala/iobinders/Ports.scala
@@ -72,8 +72,12 @@ case class DMIPort (val getIO: () => ClockedDMIIO)
case class JTAGPort (val getIO: () => JTAGChipIO)
extends Port[JTAGChipIO]
-case class SerialTLPort (val getIO: () => ClockedIO[SerialIO], val params: SerialTLParams, val serdesser: TLSerdesser, val portId: Int)
- extends Port[ClockedIO[SerialIO]]
+// Lack of nice union types in scala-2 means we have to set this type as Data
+case class SerialTLPort (val getIO: () => Data, val params: SerialTLParams, val serdesser: TLSerdesser, val portId: Int)
+ extends Port[Data]
+
+case class ChipIdPort (val getIO: () => UInt)
+ extends Port[UInt]
case class UARTTSIPort (val getIO: () => UARTTSIIO)
extends Port[UARTTSIIO]
@@ -90,6 +94,9 @@ case class CustomBootPort (val getIO: () => Bool)
case class ClockPort (val getIO: () => Clock, val freqMHz: Double)
extends Port[Clock]
+case class ClockTapPort (val getIO: () => Clock)
+ extends Port[Clock]
+
case class ResetPort (val getIO: () => AsyncReset)
extends Port[Reset]
diff --git a/generators/constellation b/generators/constellation
index 3632183f..81f005ff 160000
--- a/generators/constellation
+++ b/generators/constellation
@@ -1 +1 @@
-Subproject commit 3632183fd1171d00c7f78b32c305841d231031b7
+Subproject commit 81f005ffeac998ebf0619e0bd7f0d212d68a82c5
diff --git a/generators/cva6 b/generators/cva6
index 46323fcd..9d1c1068 160000
--- a/generators/cva6
+++ b/generators/cva6
@@ -1 +1 @@
-Subproject commit 46323fcd7407544c751b353f52e356eb8f33e9d1
+Subproject commit 9d1c106834824ddb8052b7f60574b2b544b40395
diff --git a/generators/fft-generator b/generators/fft-generator
index 811951b4..4e7e6cbb 160000
--- a/generators/fft-generator
+++ b/generators/fft-generator
@@ -1 +1 @@
-Subproject commit 811951b44a113f87710a6abaae4582120c1194ba
+Subproject commit 4e7e6cbbbc6ed96d27dbaeb2413764cd446c50b3
diff --git a/generators/firechip/src/main/scala/BridgeBinders.scala b/generators/firechip/src/main/scala/BridgeBinders.scala
index 954c104c..55089358 100644
--- a/generators/firechip/src/main/scala/BridgeBinders.scala
+++ b/generators/firechip/src/main/scala/BridgeBinders.scala
@@ -15,6 +15,7 @@ import freechips.rocketchip.prci.{ClockBundle, ClockBundleParameters}
import freechips.rocketchip.util.{ResetCatchAndSync}
import sifive.blocks.devices.uart._
+import testchipip.serdes.{ExternalSyncPhitIO}
import testchipip.tsi.{SerialRAM}
import icenet.{CanHavePeripheryIceNIC, SimNetwork, NicLoopback, NICKey, NICIOvonly}
@@ -66,43 +67,46 @@ class WithFireSimIOCellModels extends Config((site, here, up) => {
})
class WithTSIBridgeAndHarnessRAMOverSerialTL extends HarnessBinder({
- case (th: FireSim, port: SerialTLPort) => {
- val bits = port.io.bits
- port.io.clock := th.harnessBinderClock
- val ram = LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p))
- Module(ram.module)
- ram.module.io.ser <> port.io.bits
+ case (th: FireSim, port: SerialTLPort, chipId: Int) => {
+ port.io match {
+ case io: ExternalSyncPhitIO => {
+ io.clock_in := th.harnessBinderClock
+ val ram = Module(LazyModule(new SerialRAM(port.serdesser, port.params)(port.serdesser.p)).module)
+ ram.io.ser.in <> io.out
+ io.in <> ram.io.ser.out
- // This assumes that:
- // If ExtMem for the target is defined, then FASED bridge will be attached
- // If FASED bridge is attached, loadmem widget is present
- val hasMainMemory = th.chipParameters(th.p(MultiChipIdx))(ExtMem).isDefined
- val mainMemoryName = Option.when(hasMainMemory)(MainMemoryConsts.globalName(th.p(MultiChipIdx)))
- TSIBridge(th.harnessBinderClock, ram.module.io.tsi.get, mainMemoryName, th.harnessBinderReset.asBool)(th.p)
+ // This assumes that:
+ // If ExtMem for the target is defined, then FASED bridge will be attached
+ // If FASED bridge is attached, loadmem widget is present
+ val hasMainMemory = th.chipParameters(chipId)(ExtMem).isDefined
+ val mainMemoryName = Option.when(hasMainMemory)(MainMemoryConsts.globalName(chipId))
+ TSIBridge(th.harnessBinderClock, ram.io.tsi.get, mainMemoryName, th.harnessBinderReset.asBool)(th.p)
+ }
+ }
}
})
class WithNICBridge extends HarnessBinder({
- case (th: FireSim, port: NICPort) => {
+ case (th: FireSim, port: NICPort, chipId: Int) => {
NICBridge(port.io.clock, port.io.bits)(th.p)
}
})
class WithUARTBridge extends HarnessBinder({
- case (th: FireSim, port: UARTPort) =>
+ case (th: FireSim, port: UARTPort, chipId: Int) =>
val uartSyncClock = th.harnessClockInstantiator.requestClockMHz("uart_clock", port.freqMHz)
UARTBridge(uartSyncClock, port.io, th.harnessBinderReset.asBool, port.freqMHz)(th.p)
})
class WithBlockDeviceBridge extends HarnessBinder({
- case (th: FireSim, port: BlockDevicePort) => {
+ case (th: FireSim, port: BlockDevicePort, chipId: Int) => {
BlockDevBridge(port.io.clock, port.io.bits, th.harnessBinderReset.asBool)
}
})
class WithFASEDBridge extends HarnessBinder({
- case (th: FireSim, port: AXI4MemPort) => {
+ case (th: FireSim, port: AXI4MemPort, chipId: Int) => {
val nastiKey = NastiParameters(port.io.bits.r.bits.data.getWidth,
port.io.bits.ar.bits.addr.getWidth,
port.io.bits.ar.bits.id.getWidth)
@@ -110,24 +114,24 @@ class WithFASEDBridge extends HarnessBinder({
CompleteConfig(th.p(firesim.configs.MemModelKey),
nastiKey,
Some(AXI4EdgeSummary(port.edge)),
- Some(MainMemoryConsts.globalName(th.p(MultiChipIdx)))))(th.p)
+ Some(MainMemoryConsts.globalName(chipId))))(th.p)
}
})
class WithTracerVBridge extends HarnessBinder({
- case (th: FireSim, port: TracePort) => {
+ case (th: FireSim, port: TracePort, chipId: Int) => {
port.io.traces.map(tileTrace => TracerVBridge(tileTrace)(th.p))
}
})
class WithCospikeBridge extends HarnessBinder({
- case (th: FireSim, port: TracePort) => {
+ case (th: FireSim, port: TracePort, chipId: Int) => {
port.io.traces.zipWithIndex.map(t => CospikeBridge(t._1, t._2, port.cosimCfg))
}
})
class WithSuccessBridge extends HarnessBinder({
- case (th: FireSim, port: SuccessPort) => {
+ case (th: FireSim, port: SuccessPort, chipId: Int) => {
GroundTestBridge(th.harnessBinderClock, port.io)(th.p)
}
})
diff --git a/generators/firechip/src/main/scala/FireSim.scala b/generators/firechip/src/main/scala/FireSim.scala
index 4cca7557..599788bc 100644
--- a/generators/firechip/src/main/scala/FireSim.scala
+++ b/generators/firechip/src/main/scala/FireSim.scala
@@ -8,7 +8,7 @@ import chisel3._
import chisel3.experimental.{IO, annotate}
import freechips.rocketchip.prci._
-import freechips.rocketchip.subsystem.{BaseSubsystem, SubsystemDriveAsyncClockGroupsKey, HasTiles}
+import freechips.rocketchip.subsystem._
import org.chipsalliance.cde.config.{Field, Config, Parameters}
import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp, InModuleBody, ValName}
import freechips.rocketchip.util.{ResetCatchAndSync, RecordMap}
@@ -103,8 +103,8 @@ class FireSim(implicit val p: Parameters) extends RawModule with HasHarnessInsta
// FireSim ModelMultithreading
chiptops.foreach {
case c: ChipTop => c.lazySystem match {
- case ls: HasTiles => {
- if (p(FireSimMultiCycleRegFile)) ls.tiles.map {
+ case ls: InstantiatesHierarchicalElements => {
+ if (p(FireSimMultiCycleRegFile)) ls.totalTiles.values.map {
case r: RocketTile => {
annotate(MemModelAnnotation(r.module.core.rocketImpl.rf.rf))
r.module.fpuOpt.foreach(fpu => annotate(MemModelAnnotation(fpu.fpuImpl.regfile)))
@@ -120,7 +120,7 @@ class FireSim(implicit val p: Parameters) extends RawModule with HasHarnessInsta
}
case _ =>
}
- if (p(FireSimFAME5)) ls.tiles.map {
+ if (p(FireSimFAME5)) ls.totalTiles.values.map {
case b: BoomTile =>
annotate(EnableModelMultiThreadingAnnotation(b.module))
case r: RocketTile =>
diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala
index 483afb7b..f15cffae 100644
--- a/generators/firechip/src/main/scala/TargetConfigs.scala
+++ b/generators/firechip/src/main/scala/TargetConfigs.scala
@@ -85,6 +85,7 @@ class WithMinimalFireSimDesignTweaks extends Config(
new chipyard.harness.WithHarnessBinderClockFreqMHz(1000.0) ++
new chipyard.harness.WithClockFromHarness ++
new chipyard.harness.WithResetFromHarness ++
+ new chipyard.config.WithNoClockTap ++
new chipyard.clocking.WithPassthroughClockGenerator ++
// Required*: When using FireSim-as-top to provide a correct path to the target bootrom source
new WithBootROM ++
@@ -99,6 +100,8 @@ class WithMinimalFireSimDesignTweaks extends Config(
// Non-frequency tweaks that are generally applied to all firesim configs
class WithFireSimDesignTweaks extends Config(
new WithMinimalFireSimDesignTweaks ++
+ // Required: Remove the debug clock tap, this breaks compilation of target-level sim in FireSim
+ new chipyard.config.WithNoClockTap ++
// Required: Bake in the default FASED memory model
new WithDefaultMemModel ++
// Optional: reduce the width of the Serial TL interface
@@ -125,6 +128,7 @@ class WithFireSimHighPerfClocking extends Config(
// This frequency selection matches FireSim's legacy selection and is required
// to support 200Gb NIC performance. You may select a smaller value.
new chipyard.config.WithPeripheryBusFrequency(3200.0) ++
+ new chipyard.config.WithControlBusFrequency(3200.0) ++
new chipyard.config.WithSystemBusFrequency(3200.0) ++
new chipyard.config.WithFrontBusFrequency(3200.0) ++
new chipyard.config.WithControlBusFrequency(3200.0) ++
@@ -145,6 +149,7 @@ class WithFireSimConfigTweaks extends Config(
new chipyard.config.WithSystemBusFrequency(1000.0) ++
new chipyard.config.WithControlBusFrequency(1000.0) ++
new chipyard.config.WithPeripheryBusFrequency(1000.0) ++
+ new chipyard.config.WithControlBusFrequency(1000.0) ++
new chipyard.config.WithMemoryBusFrequency(1000.0) ++
new chipyard.config.WithFrontBusFrequency(1000.0) ++
new WithFireSimDesignTweaks
@@ -262,8 +267,8 @@ class FireSimSmallSystemConfig extends Config(
new WithoutTLMonitors ++
new freechips.rocketchip.subsystem.WithExtMemSize(1 << 28) ++
new testchipip.serdes.WithSerialTL(Seq(testchipip.serdes.SerialTLParams(
- client = Some(testchipip.serdes.SerialTLClientParams(idBits = 4)),
- width = 32
+ client = Some(testchipip.serdes.SerialTLClientParams(totalIdBits = 4)),
+ phyParams = testchipip.serdes.ExternalSyncSerialPhyParams(phitWidth=32, flitWidth=32)
))) ++
new testchipip.iceblk.WithBlockDevice ++
new chipyard.config.WithUARTInitBaudRate(BigInt(3686400L)) ++
@@ -358,3 +363,10 @@ class FireSimLeanGemminiRocketMMIOOnlyConfig extends Config(
new WithDefaultMemModel ++
new WithFireSimConfigTweaks ++
new chipyard.LeanGemminiRocketConfig)
+
+class FireSimLargeBoomCospikeConfig extends Config(
+ new firesim.firesim.WithCospikeBridge ++
+ new WithDefaultFireSimBridges ++
+ new WithDefaultMemModel ++
+ new WithFireSimConfigTweaks++
+ new chipyard.LargeBoomConfig)
diff --git a/generators/gemmini b/generators/gemmini
index 8c8b38b9..c16f815a 160000
--- a/generators/gemmini
+++ b/generators/gemmini
@@ -1 +1 @@
-Subproject commit 8c8b38b9dea3e4d6ba9695346a883b2094bd7388
+Subproject commit c16f815a38ae18ab37d835d4d07e78ba27c5f7b8
diff --git a/generators/ibex b/generators/ibex
index 66ec6e56..c2174aba 160000
--- a/generators/ibex
+++ b/generators/ibex
@@ -1 +1 @@
-Subproject commit 66ec6e56ed69df4e4af5383128cf21adf88b08fc
+Subproject commit c2174aba4fb304c7565c248f2a673f7151be896b
diff --git a/generators/icenet b/generators/icenet
index 18e88b57..ab30e23e 160000
--- a/generators/icenet
+++ b/generators/icenet
@@ -1 +1 @@
-Subproject commit 18e88b5779ffdd7d75ca62cf9909f0ffc6fda95b
+Subproject commit ab30e23e8e1fdd0777a7e4eb82bb40e2657cfcd3
diff --git a/generators/mempress b/generators/mempress
index c3d4901a..415f55b5 160000
--- a/generators/mempress
+++ b/generators/mempress
@@ -1 +1 @@
-Subproject commit c3d4901ab0f3c28bfd4101ffd62f707a86fc377e
+Subproject commit 415f55b583f3527500c5cf4e0a7b663982479098
diff --git a/generators/nvdla b/generators/nvdla
index 730fad43..95697452 160000
--- a/generators/nvdla
+++ b/generators/nvdla
@@ -1 +1 @@
-Subproject commit 730fad4360e67b14b1a4656ac58aaa40cfd4fe6b
+Subproject commit 95697452e51ad56230a6e631bb02b3351c4293c6
diff --git a/generators/riscv-sodor b/generators/riscv-sodor
index c1c809eb..bbfc3c35 160000
--- a/generators/riscv-sodor
+++ b/generators/riscv-sodor
@@ -1 +1 @@
-Subproject commit c1c809ebd5c9a76cd60d8c3169cea4bf4b2fa8fd
+Subproject commit bbfc3c35100329386314c49b62b49a7f42f65e87
diff --git a/generators/rocket-chip b/generators/rocket-chip
index 50adbdb3..8026b6bc 160000
--- a/generators/rocket-chip
+++ b/generators/rocket-chip
@@ -1 +1 @@
-Subproject commit 50adbdb3e4e18c2b3de57693323f4174b60f9767
+Subproject commit 8026b6bc9abe7cbfb7d07cecb28ef909c25868c8
diff --git a/generators/rocket-chip-blocks b/generators/rocket-chip-blocks
new file mode 160000
index 00000000..f9263535
--- /dev/null
+++ b/generators/rocket-chip-blocks
@@ -0,0 +1 @@
+Subproject commit f9263535be1988778f1baf98c18221dee1db1a47
diff --git a/generators/rocket-chip-inclusive-cache b/generators/rocket-chip-inclusive-cache
new file mode 160000
index 00000000..1332d226
--- /dev/null
+++ b/generators/rocket-chip-inclusive-cache
@@ -0,0 +1 @@
+Subproject commit 1332d2268ae01b2b311966d53a3ee0d930e83f07
diff --git a/generators/sha3 b/generators/sha3
index 5e49347f..2d38585d 160000
--- a/generators/sha3
+++ b/generators/sha3
@@ -1 +1 @@
-Subproject commit 5e49347f069c72eeb3bf23f1a09170b3cfd3eb2e
+Subproject commit 2d38585d6410ca51ab19040fc23b1f6b3465270c
diff --git a/generators/shuttle b/generators/shuttle
index e628836c..4bc2fa1e 160000
--- a/generators/shuttle
+++ b/generators/shuttle
@@ -1 +1 @@
-Subproject commit e628836c3c4bfe29927cd9e1473801fab33dee6c
+Subproject commit 4bc2fa1e36209beae7323218ec006762ab096ac2
diff --git a/generators/sifive-blocks b/generators/sifive-blocks
deleted file mode 160000
index 5edd72e7..00000000
--- a/generators/sifive-blocks
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 5edd72e793ccb534b1395d0d8c1831754fd72fec
diff --git a/generators/sifive-cache b/generators/sifive-cache
deleted file mode 160000
index 51d400bd..00000000
--- a/generators/sifive-cache
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 51d400bd32131e8914c6713bfb71bef690f2fe70
diff --git a/generators/testchipip b/generators/testchipip
index c13b8f65..5d6ec23c 160000
--- a/generators/testchipip
+++ b/generators/testchipip
@@ -1 +1 @@
-Subproject commit c13b8f658b955f9f61a52caefcd6388e034b0575
+Subproject commit 5d6ec23cd6d60299615700c00021fc5f69f57788
diff --git a/generators/tracegen/src/main/scala/Configs.scala b/generators/tracegen/src/main/scala/Configs.scala
index 5d4f0211..f51052c5 100644
--- a/generators/tracegen/src/main/scala/Configs.scala
+++ b/generators/tracegen/src/main/scala/Configs.scala
@@ -13,19 +13,18 @@ import scala.math.{max, min}
class WithTraceGen(
n: Int = 2,
- overrideIdOffset: Option[Int] = None,
overrideMemOffset: Option[BigInt] = None)(
params: Seq[DCacheParams] = List.fill(n){ DCacheParams(nSets = 16, nWays = 1) },
nReqs: Int = 8192
) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
val memOffset: BigInt = overrideMemOffset.orElse(site(ExtMem).map(_.master.base)).getOrElse(0x0L)
params.zipWithIndex.map { case (dcp, i) =>
TraceGenTileAttachParams(
tileParams = TraceGenParams(
- hartId = i + idOffset,
+ tileId = i + idOffset,
dcache = Some(dcp),
wordBits = site(XLen),
addrBits = 48,
@@ -48,23 +47,23 @@ class WithTraceGen(
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
})
class WithBoomTraceGen(
n: Int = 2,
- overrideIdOffset: Option[Int] = None,
overrideMemOffset: Option[BigInt] = None)(
params: Seq[DCacheParams] = List.fill(n){ DCacheParams(nMSHRs = 4, nSets = 16, nWays = 2) },
nReqs: Int = 8192
) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
val memOffset: BigInt = overrideMemOffset.orElse(site(ExtMem).map(_.master.base)).getOrElse(0x0L)
params.zipWithIndex.map { case (dcp, i) =>
BoomTraceGenTileAttachParams(
tileParams = BoomTraceGenParams(
- hartId = i + idOffset,
+ tileId = i + idOffset,
dcache = Some(dcp),
wordBits = site(XLen),
addrBits = 48,
@@ -84,24 +83,24 @@ class WithBoomTraceGen(
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
})
class WithL2TraceGen(
n: Int = 2,
- overrideIdOffset: Option[Int] = None,
overrideMemOffset: Option[BigInt] = None)(
params: Seq[DCacheParams] = List.fill(n){ DCacheParams(nSets = 16, nWays = 1) },
nReqs: Int = 8192
) extends Config((site, here, up) => {
case TilesLocated(InSubsystem) => {
val prev = up(TilesLocated(InSubsystem), site)
- val idOffset = overrideIdOffset.getOrElse(prev.size)
+ val idOffset = up(NumTiles)
val memOffset: BigInt = overrideMemOffset.orElse(site(ExtMem).map(_.master.base)).getOrElse(0x0L)
params.zipWithIndex.map { case (dcp, i) =>
TraceGenTileAttachParams(
tileParams = TraceGenParams(
- hartId = i + idOffset,
+ tileId = i + idOffset,
dcache = Some(dcp),
wordBits = site(XLen),
addrBits = 48,
@@ -126,4 +125,5 @@ class WithL2TraceGen(
)
} ++ prev
}
+ case NumTiles => up(NumTiles) + n
})
diff --git a/generators/tracegen/src/main/scala/System.scala b/generators/tracegen/src/main/scala/System.scala
index 2a0ba3d5..488054d3 100644
--- a/generators/tracegen/src/main/scala/System.scala
+++ b/generators/tracegen/src/main/scala/System.scala
@@ -9,15 +9,28 @@ import freechips.rocketchip.subsystem._
import boom.lsu.BoomTraceGenTile
class TraceGenSystem(implicit p: Parameters) extends BaseSubsystem
- with HasTiles
+ with InstantiatesHierarchicalElements
+ with HasTileNotificationSinks
+ with HasTileInputConstants
+ with HasHierarchicalElementsRootContext
+ with HasHierarchicalElements
with CanHaveMasterAXI4MemPort {
def coreMonitorBundles = Nil
- val tileStatusNodes = tiles.collect {
+
+ val tileStatusNodes = totalTiles.values.toSeq.collect {
case t: GroundTestTile => t.statusNode.makeSink()
case t: BoomTraceGenTile => t.statusNode.makeSink()
}
- lazy val debugNode = IntSyncXbar() := NullIntSyncSource()
+
+ lazy val fakeClockDomain = sbus.generateSynchronousDomain
+
+ lazy val clintOpt = None
+ lazy val debugOpt = None
+ lazy val plicOpt = None
+ lazy val clintDomainOpt = Some(fakeClockDomain)
+ lazy val plicDomainOpt = Some(fakeClockDomain)
+
override lazy val module = new TraceGenSystemModuleImp(this)
}
diff --git a/scripts/build-circt-from-source.sh b/scripts/build-circt-from-source.sh
new file mode 100755
index 00000000..596e24de
--- /dev/null
+++ b/scripts/build-circt-from-source.sh
@@ -0,0 +1,102 @@
+#!/usr/bin/env bash
+
+# exit script if any command fails
+set -e
+set -o pipefail
+
+RDIR=$(git rev-parse --show-toplevel)
+
+# get helpful utilities
+source $RDIR/scripts/utils.sh
+
+common_setup
+
+# Allow user to override MAKE
+[ -n "${MAKE:+x}" ] || MAKE=$(command -v gnumake || command -v gmake || command -v make)
+readonly MAKE
+
+usage() {
+ echo "usage: ${0}"
+ echo ""
+ echo "Options"
+ echo " --prefix -p PREFIX : Install destination."
+ echo " --help -h : Display this message"
+ exit "$1"
+}
+
+PREFIX=""
+
+# getopts does not support long options, and is inflexible
+while [ "$1" != "" ];
+do
+ case $1 in
+ -h | -H | --help | help )
+ usage 3 ;;
+ -p | --prefix )
+ shift
+ PREFIX=$(realpath $1) ;;
+ * )
+ error "invalid option $1"
+ usage 1 ;;
+ esac
+ shift
+done
+
+if [ -z "$PREFIX" ] ; then
+ error "ERROR: Prefix not given."
+ exit 1
+fi
+
+
+
+echo "Cloning CIRCT"
+(
+ cd $RDIR/tools
+ git submodule update --init --progress circt
+)
+echo "Cloning CIRCT/LLVM"
+(
+ cd $RDIR/tools/circt
+ git submodule init
+ # The settings in circt/.gitmodules don't "stick", so force-set them here
+ git config submodule.llvm.shallow true
+ git config submodule.llvm.branch main
+ git submodule update --recommend-shallow --progress llvm
+)
+
+echo "Building CIRCT's LLVM/MLIR"
+(
+ cd $RDIR/tools/circt
+ rm -rf llvm/build
+ mkdir llvm/build
+ cd llvm/build
+ cmake -G Ninja ../llvm \
+ -DLLVM_ENABLE_PROJECTS="mlir" \
+ -DLLVM_TARGETS_TO_BUILD="host" \
+ -DLLVM_ENABLE_ASSERTIONS=ON \
+ -DCMAKE_BUILD_TYPE=RELEASE \
+ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
+ ninja
+)
+
+echo "Building CIRCT"
+(
+ cd $RDIR/tools/circt
+ rm -rf build
+ mkdir build
+ cd build
+ cmake -G Ninja .. \
+ -DMLIR_DIR=$RDIR/tools/circt/llvm/build/lib/cmake/mlir \
+ -DLLVM_DIR=$RDIR/tools/circt/llvm/build/lib/cmake/llvm \
+ -DLLVM_ENABLE_ASSERTIONS=ON \
+ -DCMAKE_BUILD_TYPE=RELEASE \
+ -DCMAKE_INSTALL_PREFIX=$PREFIX
+ ninja
+)
+
+echo "Installing CIRCT to $PREFIX"
+(
+ cd $RDIR/tools/circt/build
+ ninja install
+)
+
diff --git a/scripts/build-setup.sh b/scripts/build-setup.sh
index d3a66ca6..56f56506 100755
--- a/scripts/build-setup.sh
+++ b/scripts/build-setup.sh
@@ -36,24 +36,32 @@ usage() {
echo ""
echo "Options"
echo " --help -h : Display this message"
-
- echo " --force -f : Skip all prompts and checks"
- echo " --skip-validate : DEPRECATED: Same functionality as --force"
echo " --verbose -v : Verbose printout"
-
echo " --use-unpinned-deps -ud : Use unpinned conda environment"
+ echo " --use-lean-conda : Install a leaner version of the repository (Smaller conda env, no FireSim, no FireMarshal)"
+ echo " --build-circt : Builds CIRCT from source, instead of downloading the precompiled binary"
echo " --skip -s N : Skip step N in the list above. Use multiple times to skip multiple steps ('-s N -s M ...')."
+ echo " --skip-conda : Skip Conda initialization (step 1)"
+ echo " --skip-submodules : Skip submodule initialization (step 2)"
+ echo " --skip-toolchain : Skip toolchain collateral (step 3)"
+ echo " --skip-ctags : Skip ctags (step 4)"
+ echo " --skip-precompile : Skip precompiling sources (steps 5/7)"
+ echo " --skip-firesim : Skip Firesim initialization (steps 6/7)"
+ echo " --skip-marshal : Skip firemarshal initialization (steps 8/9)"
+ echo " --skip-circt : Skip CIRCT install (step 10)"
+ echo " --skip-clean : Skip repository clean-up (step 11)"
exit "$1"
}
TOOLCHAIN_TYPE="riscv-tools"
-FORCE_FLAG=""
VERBOSE=false
VERBOSE_FLAG=""
USE_UNPINNED_DEPS=false
+USE_LEAN_CONDA=false
SKIP_LIST=()
+BUILD_CIRCT=false
# getopts does not support long options, and is inflexible
while [ "$1" != "" ];
@@ -63,16 +71,39 @@ do
usage 3 ;;
riscv-tools | esp-tools)
TOOLCHAIN_TYPE=$1 ;;
- --force | -f | --skip-validate)
- FORCE_FLAG=$1 ;;
--verbose | -v)
VERBOSE_FLAG=$1
set -x ;;
+ --use-lean-conda)
+ USE_LEAN_CONDA=true
+ SKIP_LIST+=(4 6 7 8 9) ;;
+ --build-circt)
+ BUILD_CIRCT=true ;;
-ud | --use-unpinned-deps )
USE_UNPINNED_DEPS=true ;;
--skip | -s)
shift
SKIP_LIST+=(${1}) ;;
+ --skip-conda)
+ SKIP_LIST+=(1) ;;
+ --skip-submodules)
+ SKIP_LIST+=(2) ;;
+ --skip-toolchain)
+ SKIP_LIST+=(3) ;;
+ --skip-ctags)
+ SKIP_LIST+=(4) ;;
+ --skip-precompile)
+ SKIP_LIST+=(5 6) ;;
+ --skip-firesim)
+ SKIP_LIST+=(6 7) ;;
+ --skip-marshal)
+ SKIP_LIST+=(8 9) ;;
+ --skip-circt)
+ SKIP_LIST+=(10) ;;
+ --skip-clean)
+ SKIP_LIST+=(11) ;;
+ --force | -f | --skip-validate) # Deprecated flags
+ ;;
* )
error "invalid option $1"
usage 1 ;;
@@ -139,17 +170,22 @@ if run_step "1"; then
CONDA_REQS=$CYDIR/conda-reqs
CONDA_LOCK_REQS=$CONDA_REQS/conda-lock-reqs
# must match with the file generated by generate-conda-lockfile.sh
- LOCKFILE=$CONDA_LOCK_REQS/conda-requirements-$TOOLCHAIN_TYPE-linux-64.conda-lock.yml
+ if [ "$USE_LEAN_CONDA" = false ]; then
+ LOCKFILE=$CONDA_LOCK_REQS/conda-requirements-$TOOLCHAIN_TYPE-linux-64.conda-lock.yml
+ else
+ LOCKFILE=$CONDA_LOCK_REQS/conda-requirements-$TOOLCHAIN_TYPE-linux-64-lean.conda-lock.yml
+ fi
if [ "$USE_UNPINNED_DEPS" = true ]; then
# auto-gen the lockfiles
$CYDIR/scripts/generate-conda-lockfiles.sh
exit_if_last_command_failed
fi
+ echo "Using lockfile: $LOCKFILE"
# use conda-lock to create env
conda-lock install --conda $(which conda) -p $CYDIR/.conda-env $LOCKFILE &&
- source $CYDIR/.conda-env/etc/profile.d/conda.sh &&
+ source $(conda info --base)/etc/profile.d/conda.sh &&
conda activate $CYDIR/.conda-env
exit_if_last_command_failed
@@ -175,17 +211,14 @@ source $CYDIR/scripts/fix-open-files.sh"
fi
-if [ -z "$FORCE_FLAG" ]; then
- if [ -z ${CONDA_DEFAULT_ENV+x} ]; then
- error "ERROR: No conda environment detected. Did you activate the conda environment (e.x. 'conda activate base')?"
- exit 1
- fi
+if [ -z ${CONDA_DEFAULT_ENV+x} ]; then
+ echo "!!!!! WARNING: No conda environment detected. Did you activate the conda environment (e.x. 'conda activate base')?"
fi
# initialize all submodules (without the toolchain submodules)
if run_step "2"; then
begin_step "2" "Initializing Chipyard submodules"
- $CYDIR/scripts/init-submodules-no-riscv-tools.sh $FORCE_FLAG
+ $CYDIR/scripts/init-submodules-no-riscv-tools.sh
exit_if_last_command_failed
fi
@@ -265,6 +298,7 @@ if run_step "8"; then
fi
if run_step "10"; then
+ begin_step "10" "Installing CIRCT"
# install circt into conda
if run_step "1"; then
PREFIX=$CONDA_PREFIX/$TOOLCHAIN_TYPE
@@ -276,20 +310,27 @@ if run_step "10"; then
PREFIX=$RISCV
fi
- git submodule update --init $CYDIR/tools/install-circt &&
- $CYDIR/tools/install-circt/bin/download-release-or-nightly-circt.sh \
- -f circt-full-shared-linux-x64.tar.gz \
- -i $PREFIX \
- -v version-file \
- -x $CYDIR/conda-reqs/circt.json \
- -g null
+ if [ "$BUILD_CIRCT" = true ] ; then
+ echo "Building CIRCT from source, and installing to $PREFIX"
+ $CYDIR/scripts/build-circt-from-source.sh --prefix $PREFIX
+ else
+ echo "Downloading CIRCT from nightly build"
+
+ git submodule update --init $CYDIR/tools/install-circt &&
+ $CYDIR/tools/install-circt/bin/download-release-or-nightly-circt.sh \
+ -f circt-full-static-linux-x64.tar.gz \
+ -i $PREFIX \
+ -v version-file \
+ -x $CYDIR/conda-reqs/circt.json \
+ -g null
+ fi
exit_if_last_command_failed
fi
# do misc. cleanup for a "clean" git status
if run_step "11"; then
- begin_step "10" "Cleaning up repository"
+ begin_step "11" "Cleaning up repository"
$CYDIR/scripts/repo-clean.sh
exit_if_last_command_failed
fi
diff --git a/scripts/generate-conda-lockfiles.sh b/scripts/generate-conda-lockfiles.sh
index 544a8281..b0a8983f 100755
--- a/scripts/generate-conda-lockfiles.sh
+++ b/scripts/generate-conda-lockfiles.sh
@@ -16,10 +16,24 @@ for TOOLCHAIN_TYPE in riscv-tools esp-tools; do
rm -rf $LOCKFILE
conda-lock \
- --no-mamba \
- --no-micromamba \
- -f "$REQS_DIR/chipyard.yaml" \
- -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" \
- -p linux-64 \
- --lockfile $LOCKFILE
+ --no-mamba \
+ --no-micromamba \
+ -f "$REQS_DIR/chipyard-base.yaml" \
+ -f "$REQS_DIR/chipyard-extended.yaml" \
+ -f "$REQS_DIR/docs.yaml" \
+ -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" \
+ -p linux-64 \
+ --lockfile $LOCKFILE
+
+ LOCKFILE=$REQS_DIR/conda-lock-reqs/conda-requirements-$TOOLCHAIN_TYPE-linux-64-lean.conda-lock.yml
+ rm -rf $LOCKFILE
+
+ conda-lock \
+ --no-mamba \
+ --no-micromamba \
+ -f "$REQS_DIR/chipyard-base.yaml" \
+ -f "$REQS_DIR/docs.yaml" \
+ -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" \
+ -p linux-64 \
+ --lockfile $LOCKFILE
done
diff --git a/scripts/init-submodules-no-riscv-tools-nolog.sh b/scripts/init-submodules-no-riscv-tools-nolog.sh
index aa921f0d..e46af0ca 100755
--- a/scripts/init-submodules-no-riscv-tools-nolog.sh
+++ b/scripts/init-submodules-no-riscv-tools-nolog.sh
@@ -13,24 +13,20 @@ common_setup
function usage
{
- echo "Usage: $0 [--force]"
+ echo "Usage: $0"
echo "Initialize Chipyard submodules and setup initial env.sh script."
echo ""
- echo " --force -f : Skip prompt checking for tagged release"
- echo " --skip-validate : DEPRECATED: Same functionality as --force"
}
-FORCE=false
while test $# -gt 0
do
case "$1" in
- --force | -f | --skip-validate)
- FORCE=true;
- ;;
-h | -H | --help | help)
usage
exit 1
;;
+ --force | -f | --skip-validate) # Deprecated flags
+ ;;
*)
echo "ERROR: bad argument $1"
usage
@@ -59,32 +55,6 @@ fi
# before doing anything verify that you are on a release branch/tag
save_bash_options
set +e
-git_tag=$(git describe --exact-match --tags)
-git_tag_rc=$?
-restore_bash_options
-if [ "$git_tag_rc" -ne 0 ]; then
- if [ "$FORCE" == false ]; then
- while true; do
- printf '\033[2J'
- read -p "WARNING: You are not on an official release of Chipyard."$'\n'"Type \"y\" to continue if this is intended or \"n\" if not: " validate
- case "$validate" in
- y | Y)
- echo "Continuing on to setting up non-official Chipyard release repository"
- break
- ;;
- n | N)
- error "See https://chipyard.readthedocs.io/en/stable/Chipyard-Basics/Initial-Repo-Setup.html#setting-up-the-chipyard-repo for setting up an official release of Chipyard. "
- exit 3
- ;;
- *)
- error "Invalid response. Please type \"y\" or \"n\""
- ;;
- esac
- done
- fi
-else
- echo "Setting up official Chipyard release: $git_tag"
-fi
cd "$RDIR"
@@ -99,6 +69,8 @@ cd "$RDIR"
# path to temporarily exclude during the recursive update
for name in \
toolchains/*-tools/* \
+ generators/cva6 \
+ generators/nvdla \
toolchains/libgloss \
generators/sha3 \
generators/gemmini \
@@ -110,6 +82,7 @@ cd "$RDIR"
software/spec2017 \
tools/dsptools \
tools/rocket-dsp-utils \
+ tools/circt \
vlsi/hammer-mentor-plugins
do
"$1" "${name%/}"
@@ -131,6 +104,20 @@ cd "$RDIR"
# Non-recursive clone to exclude riscv-linux
git submodule update --init generators/sha3
+ # Non-recursive clone to exclude cva6 submods
+ git submodule update --init generators/cva6
+ git -C generators/cva6 submodule update --init src/main/resources/cva6/vsrc/cva6
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/axi
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/axi_riscv_atomics
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/common_cells
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/fpga-support
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/riscv-dbg
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init src/register_interface
+ git -C generators/cva6/src/main/resources/cva6/vsrc/cva6 submodule update --init --recursive src/fpu
+ # Non-recursive clone to exclude nvdla submods
+ git submodule update --init generators/nvdla
+ git -C generators/nvdla submodule update --init src/main/resources/hw
+
# Non-recursive clone to exclude gemmini-software
git submodule update --init generators/gemmini
git -C generators/gemmini/ submodule update --init --recursive software/gemmini-rocc-tests
diff --git a/scripts/split-mems-conf.py b/scripts/split-mems-conf.py
index f772060e..351bb7b2 100755
--- a/scripts/split-mems-conf.py
+++ b/scripts/split-mems-conf.py
@@ -77,6 +77,8 @@ if __name__ == "__main__":
with open(args.out_dut_smems_conf, "w") as odsc, \
open(args.out_model_smems_conf, "w") as otsc:
+ os.utime(args.out_dut_smems_conf)
+ os.utime(args.out_model_smems_conf)
for l in isc:
sl = l.split()
diff --git a/scripts/tutorial-patches/build.sbt.patch b/scripts/tutorial-patches/build.sbt.patch
index e47fbbf6..b64d7a43 100644
--- a/scripts/tutorial-patches/build.sbt.patch
+++ b/scripts/tutorial-patches/build.sbt.patch
@@ -5,7 +5,7 @@ index c3be6161..2a6d7160 100644
@@ -147,7 +147,7 @@ lazy val testchipip = (project in file("generators/testchipip"))
lazy val chipyard = (project in file("generators/chipyard"))
- .dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
+ .dependsOn(testchipip, rocketchip, boom, hwacha, rocketchip_blocks, rocketchip_inclusive_cache, iocell,
- sha3, // On separate line to allow for cleaner tutorial-setup patches
+ //sha3, // On separate line to allow for cleaner tutorial-setup patches
dsptools, rocket_dsp_utils,
diff --git a/scripts/uniquify-module-names.py b/scripts/uniquify-module-names.py
index 237054f2..d2131c33 100755
--- a/scripts/uniquify-module-names.py
+++ b/scripts/uniquify-module-names.py
@@ -21,6 +21,7 @@ parser.add_argument("--gcpath", type=str, required=True, help="Path to gen-colla
args = parser.parse_args()
MODEL_SFX=args.model + "_UNIQUIFIED"
+SED=os.environ.get("SED", "sed")
def bash(cmd):
@@ -109,7 +110,7 @@ def generate_copy(c, sfx):
new_file = os.path.join(args.gcpath, new_file)
shutil.copy(cur_file, new_file)
- bash(f"sed -i 's/module\( \+\){cur_name}/module\\1{new_name}/' {new_file}")
+ bash(rf"{SED} -i 's/module\( \+\){cur_name}/module\1{new_name}/' {new_file}")
return new_file
def bfs_uniquify_modules(tree, common_fnames, verilog_module_filename):
@@ -136,7 +137,7 @@ def bfs_uniquify_modules(tree, common_fnames, verilog_module_filename):
new_file = generate_copy(cur_file, MODEL_SFX)
if parent is not None and ((parent, mod) not in updated_submodule):
parent_file = os.path.join(args.gcpath, verilog_module_filename[parent])
- bash(f"sed -i 's/\( \*\){mod}\( \+\)/\\1{mod}_{MODEL_SFX}\\2/' {parent_file}")
+ bash(rf"{SED} -i 's/\( \*\){mod}\( \+\)/\1{mod}_{MODEL_SFX}\2/' {parent_file}")
updated_submodule.add((parent, mod))
# add the uniquified module to the verilog_modul_filename dict
diff --git a/sims/firesim b/sims/firesim
index e9758935..ef894e0b 160000
--- a/sims/firesim
+++ b/sims/firesim
@@ -1 +1 @@
-Subproject commit e975893595129c2682a72fb7e5898273fcc2d071
+Subproject commit ef894e0bac0095f741fccf4576cc33d750b3cb24
diff --git a/sims/verilator/Makefile b/sims/verilator/Makefile
index 0341ff7d..86463fa1 100644
--- a/sims/verilator/Makefile
+++ b/sims/verilator/Makefile
@@ -162,8 +162,7 @@ VERILATOR_NONCC_OPTS = \
VERILATOR_CXXFLAGS = \
$(SIM_CXXFLAGS) \
$(RUNTIME_PROFILING_CFLAGS) \
- -DVERILATOR \
- -include $(build_dir)/$(long_name).plusArgs
+ -DVERILATOR
VERILATOR_LDFLAGS = $(SIM_LDFLAGS)
@@ -194,13 +193,13 @@ model_mk_debug = $(model_dir_debug)/V$(TB).mk
$(model_mk): $(sim_common_files) $(EXTRA_SIM_REQS)
rm -rf $(model_dir)
mkdir -p $(model_dir)
- $(VERILATOR) $(VERILATOR_OPTS) $(EXTRA_SIM_SOURCES) -o $(sim) -Mdir $(model_dir) -CFLAGS "-include $(model_header)"
+ $(VERILATOR) $(VERILATOR_OPTS) $(EXTRA_SIM_SOURCES) -o $(sim) -Mdir $(model_dir)
touch $@
$(model_mk_debug): $(sim_common_files) $(EXTRA_SIM_REQS)
rm -rf $(model_dir_debug)
mkdir -p $(model_dir_debug)
- $(VERILATOR) $(VERILATOR_OPTS) +define+DEBUG $(EXTRA_SIM_SOURCES) -o $(sim_debug) $(TRACING_OPTS) -Mdir $(model_dir_debug) -CFLAGS "-include $(model_header_debug)"
+ $(VERILATOR) $(VERILATOR_OPTS) +define+DEBUG $(EXTRA_SIM_SOURCES) -o $(sim_debug) $(TRACING_OPTS) -Mdir $(model_dir_debug)
touch $@
#########################################################################################
diff --git a/software/baremetal-ide b/software/baremetal-ide
new file mode 160000
index 00000000..f488090a
--- /dev/null
+++ b/software/baremetal-ide
@@ -0,0 +1 @@
+Subproject commit f488090a7f37da43610bd5017ee401526bf40fb2
diff --git a/software/embench/.gitignore b/software/embench/.gitignore
new file mode 100644
index 00000000..378eac25
--- /dev/null
+++ b/software/embench/.gitignore
@@ -0,0 +1 @@
+build
diff --git a/software/firemarshal b/software/firemarshal
index 97826983..95cf53a6 160000
--- a/software/firemarshal
+++ b/software/firemarshal
@@ -1 +1 @@
-Subproject commit 97826983438427b8fc40d9b66af2674ce7046bac
+Subproject commit 95cf53a6f5bf800fcbb2fab2061f9b27df74d5dd
diff --git a/tests/Makefile b/tests/Makefile
index 670b49ea..1c6df31b 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -29,7 +29,7 @@ include libgloss.mk
PROGRAMS = pwm blkdev accum charcount nic-loopback big-blkdev pingd \
streaming-passthrough streaming-fir nvdla spiflashread spiflashwrite fft gcd \
- hello mt-hello
+ hello mt-hello symmetric
.DEFAULT_GOAL := default
diff --git a/tests/symmetric.c b/tests/symmetric.c
new file mode 100644
index 00000000..d9f2917f
--- /dev/null
+++ b/tests/symmetric.c
@@ -0,0 +1,34 @@
+#include
+#include
+#include
+#include
+#include "marchid.h"
+
+#define OBUS_OFFSET (0x1L << 32)
+
+char src[] = "This is a test string. It will be written into the off-chip memory address, then copied back.";
+char dest[4096];
+char test[4096];
+
+int main(void) {
+ size_t write_start = rdcycle();
+ memcpy(dest + OBUS_OFFSET, src, sizeof(src));
+ size_t write_end = rdcycle();
+
+ printf("Wrote %ld bytes in %ld cycles\n", sizeof(src), write_end - write_start);
+
+ size_t read_start = rdcycle();
+ memcpy(test, dest + OBUS_OFFSET, sizeof(src));
+ size_t read_end = rdcycle();
+
+ for (int i = 0; i < sizeof(src); i++) {
+ if (src[i] != test[i]) {
+ printf("Remote write/read failed at %p %p %p %x %x\n", src+i, test+i, dest + OBUS_OFFSET + i, src[i], test[i]);
+ exit(1);
+ }
+ }
+
+ printf("Read %ld bytes in %ld cycles\n", sizeof(src), read_end - read_start);
+
+ return 0;
+}
diff --git a/tools/circt b/tools/circt
new file mode 160000
index 00000000..9e0c1696
--- /dev/null
+++ b/tools/circt
@@ -0,0 +1 @@
+Subproject commit 9e0c1696f3caef4059c65774ad6b8efee91d9d9e
diff --git a/tools/rocket-dsp-utils b/tools/rocket-dsp-utils
index 19445522..272cee3c 160000
--- a/tools/rocket-dsp-utils
+++ b/tools/rocket-dsp-utils
@@ -1 +1 @@
-Subproject commit 194455223aa75f400d2ac76bfd71e61e3c2a9533
+Subproject commit 272cee3c83a31a7496b8f2e933290798e2fb5cac
diff --git a/variables.mk b/variables.mk
index 65f493d2..20154c24 100644
--- a/variables.mk
+++ b/variables.mk
@@ -26,11 +26,12 @@ HELP_PROJECT_VARIABLES = \
HELP_SIMULATION_VARIABLES = \
" BINARY = riscv elf binary that the simulator will run when using the run-binary* targets" \
" BINARIES = list of riscv elf binary that the simulator will run when using the run-binaries* targets" \
+" BINARIES_DIR = directory of riscv elf binaries that the simulator will run when using the run-binaries* targets" \
+" BINARY_ARGS = arguments to pass to each binary in run-binary targets (primarily meant for pk arguments)" \
" LOADMEM = riscv elf binary that should be loaded directly into simulated DRAM. LOADMEM=1 will load the BINARY elf" \
" LOADARCH = path to a architectural checkpoint directory that should end in .loadarch/, for restoring from a checkpoint" \
" VERBOSE_FLAGS = flags used when doing verbose simulation [$(VERBOSE_FLAGS)]" \
-" timeout_cycles = number of clock cycles before simulator times out, defaults to 10000000" \
-" bmark_timeout_cycles = number of clock cycles before benchmark simulator times out, defaults to 100000000"
+" TIMEOUT_CYCLES = number of clock cycles before simulator times out, defaults to 10000000"
# include default simulation rules
HELP_COMMANDS = \
@@ -275,7 +276,8 @@ PERMISSIVE_ON=+permissive
PERMISSIVE_OFF=+permissive-off
BINARY ?=
BINARIES ?=
-override SIM_FLAGS += +dramsim +dramsim_ini_dir=$(TESTCHIP_DIR)/src/main/resources/dramsim2_ini +max-cycles=$(timeout_cycles)
+BINARY_ARGS ?=
+override SIM_FLAGS += +dramsim +dramsim_ini_dir=$(TESTCHIP_DIR)/src/main/resources/dramsim2_ini +max-cycles=$(TIMEOUT_CYCLES)
VERBOSE_FLAGS ?= +verbose
# get_out_name is a function, 1st argument is the binary
get_out_name = $(subst $() $(),_,$(notdir $(basename $(1))))
@@ -289,6 +291,10 @@ override get_out_name = $(shell basename $(dir $(1)))
override LOADMEM = 1
endif
+ifneq ($(BINARIES_DIR),)
+override BINARIES = $(shell find -L $(BINARIES_DIR) -type f -print 2> /dev/null)
+endif
+
#########################################################################################
# build output directory for compilation
#########################################################################################
@@ -301,7 +307,12 @@ build_dir =$(gen_dir)/$(long_name)
GEN_COLLATERAL_DIR ?=$(build_dir)/gen-collateral
#########################################################################################
-# assembly/benchmark variables
+# simulation variables
#########################################################################################
-timeout_cycles = 10000000
-bmark_timeout_cycles = 100000000
+TIMEOUT_CYCLES = 10000000
+
+# legacy timeout_cycles handling
+timeout_cycles ?=
+ifneq ($(timeout_cycles),)
+TIMEOUT_CYCLES=$(timeout_cycles)
+endif
diff --git a/vlsi/Makefile b/vlsi/Makefile
index 074ec66a..14feb6fb 100644
--- a/vlsi/Makefile
+++ b/vlsi/Makefile
@@ -100,8 +100,8 @@ $(SMEMS_HAMMER): $(TOP_SMEMS_FILE)
$(SRAM_GENERATOR_CONF): $(SMEMS_HAMMER)
mkdir -p $(dir $@)
- echo "vlsi.inputs.sram_parameters: '$(SMEMS_HAMMER)'" >> $@
- echo "vlsi.inputs.sram_parameters_meta: [\"transclude\", \"json2list\"]">> $@
+ echo "vlsi.inputs.sram_parameters: '$(SMEMS_HAMMER)'" > $@
+ echo "vlsi.inputs.sram_parameters_meta: [\"transclude\", \"json2list\"]" >> $@
$(SRAM_CONF): $(SRAM_GENERATOR_CONF)
cd $(vlsi_dir) && $(HAMMER_EXEC) -e $(ENV_YML) $(foreach x,$(INPUT_CONFS) $(SRAM_GENERATOR_CONF), -p $(x)) --obj_dir $(build_dir) sram_generator
diff --git a/vlsi/power.mk b/vlsi/power.mk
index ff1c1729..c006d338 100644
--- a/vlsi/power.mk
+++ b/vlsi/power.mk
@@ -23,7 +23,7 @@ endif
endif
echo " start_times: ['0ns']" >> $@
echo " end_times: [" >> $@
- echo " '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@
+ echo " '`bc <<< $(TIMEOUT_CYCLES)*$(CLOCK_PERIOD)`ns'" >> $@
echo " ]" >> $@
$(POWER_RTL_CONF): $(VLSI_RTL)
diff --git a/vlsi/sim.mk b/vlsi/sim.mk
index 1da6f0bc..f5ff85ff 100644
--- a/vlsi/sim.mk
+++ b/vlsi/sim.mk
@@ -64,7 +64,7 @@ endif
echo " execution_flags_meta: 'append'" >> $@
echo " saif.mode: 'time'" >> $@
echo " saif.start_time: '0ns'" >> $@
- echo " saif.end_time: '`bc <<< $(timeout_cycles)*$(CLOCK_PERIOD)`ns'" >> $@
+ echo " saif.end_time: '`bc <<< $(TIMEOUT_CYCLES)*$(CLOCK_PERIOD)`ns'" >> $@
ifndef USE_VPD
echo " options:" >> $@
echo ' - "-kdb"' >> $@